@flogeez/angular-tiptap-editor 3.4.6 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/README.md +36 -1
- package/THIRD_PARTY_LICENSES +220 -0
- package/esm2022/lib/ate-editor.provider.mjs +32 -1
- package/esm2022/lib/components/bubble-menus/color/ate-color-bubble-menu.component.mjs +7 -7
- package/esm2022/lib/components/bubble-menus/image/ate-image-bubble-menu.component.mjs +21 -21
- package/esm2022/lib/components/bubble-menus/link/ate-link-bubble-menu.component.mjs +12 -11
- package/esm2022/lib/components/bubble-menus/table/ate-cell-bubble-menu.component.mjs +5 -5
- package/esm2022/lib/components/bubble-menus/table/ate-table-bubble-menu.component.mjs +19 -19
- package/esm2022/lib/components/bubble-menus/text/ate-bubble-menu.component.mjs +9 -9
- package/esm2022/lib/components/color-picker/ate-color-picker.component.mjs +8 -7
- package/esm2022/lib/components/edit-toggle/ate-edit-toggle.component.mjs +3 -3
- package/esm2022/lib/components/editor/angular-tiptap-editor.component.mjs +42 -15
- package/esm2022/lib/components/editor/ate-block-controls.component.mjs +9 -8
- package/esm2022/lib/components/slash-commands/ate-slash-commands.component.mjs +7 -6
- package/esm2022/lib/components/toolbar/ate-toolbar.component.mjs +37 -37
- package/esm2022/lib/components/ui/ate-button.component.mjs +11 -14
- package/esm2022/lib/components/ui/ate-icon.component.mjs +31 -0
- package/esm2022/lib/config/ate-slash-commands.config.mjs +11 -11
- package/esm2022/lib/extensions/ate-upload-progress.extension.mjs +12 -4
- package/esm2022/lib/i18n/ateTranslationsModel.mjs +1 -1
- package/esm2022/lib/i18n/de_ateTranslations.mjs +1 -1
- package/esm2022/lib/i18n/en_ateTranslations.mjs +1 -1
- package/esm2022/lib/i18n/fr_ateTranslations.mjs +1 -1
- package/esm2022/lib/icons/ate-default-icons.mjs +117 -0
- package/esm2022/lib/icons/ate-stroke-icons.mjs +61 -0
- package/esm2022/lib/models/ate-bubble-menu.model.mjs +1 -1
- package/esm2022/lib/models/ate-slash-command.model.mjs +1 -1
- package/esm2022/lib/models/ate-toolbar.model.mjs +1 -1
- package/esm2022/lib/services/ate-i18n.service.mjs +1 -1
- package/esm2022/lib/services/ate-icon-registry.service.mjs +63 -0
- package/esm2022/public-api.mjs +7 -2
- package/fesm2022/flogeez-angular-tiptap-editor.mjs +490 -164
- package/fesm2022/flogeez-angular-tiptap-editor.mjs.map +1 -1
- package/lib/ate-editor.provider.d.ts +29 -0
- package/lib/components/bubble-menus/image/ate-image-bubble-menu.component.d.ts +2 -2
- package/lib/components/bubble-menus/text/ate-bubble-menu.component.d.ts +1 -1
- package/lib/components/color-picker/ate-color-picker.component.d.ts +1 -1
- package/lib/components/editor/angular-tiptap-editor.component.d.ts +4 -3
- package/lib/components/ui/ate-button.component.d.ts +3 -2
- package/lib/components/ui/ate-icon.component.d.ts +17 -0
- package/lib/extensions/ate-upload-progress.extension.d.ts +2 -0
- package/lib/icons/ate-default-icons.d.ts +65 -0
- package/lib/icons/ate-stroke-icons.d.ts +2 -0
- package/lib/models/ate-bubble-menu.model.d.ts +2 -1
- package/lib/models/ate-slash-command.model.d.ts +2 -1
- package/lib/models/ate-toolbar.model.d.ts +2 -1
- package/lib/services/ate-i18n.service.d.ts +1 -2
- package/lib/services/ate-icon-registry.service.d.ts +52 -0
- package/package.json +6 -1
- package/public-api.d.ts +5 -1
- package/src/lib/styles/material-symbols.css +10 -0
- package/styles/material-symbols.css +10 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { InjectionToken, signal, inject, Injectable, computed, Directive, ApplicationRef, EnvironmentInjector, createComponent, input, booleanAttribute, effect, untracked, Component, ChangeDetectionStrategy, HostListener, ElementRef, ViewEncapsulation, output, viewChild, DestroyRef, Injector, makeEnvironmentProviders, APP_INITIALIZER } from '@angular/core';
|
|
3
3
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { Node as Node$1, mergeAttributes, nodeInputRule, Extension, getAttributes, Editor } from '@tiptap/core';
|
|
5
5
|
import StarterKit from '@tiptap/starter-kit';
|
|
@@ -16,6 +16,7 @@ import { DecorationSet, Decoration } from '@tiptap/pm/view';
|
|
|
16
16
|
import { Table, TableRow, TableHeader, TableCell } from '@tiptap/extension-table';
|
|
17
17
|
import { Subscription, isObservable, firstValueFrom, concat, defer, of, tap } from 'rxjs';
|
|
18
18
|
import tippy, { sticky } from 'tippy.js';
|
|
19
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
19
20
|
import { CommonModule } from '@angular/common';
|
|
20
21
|
import * as i1 from '@angular/forms';
|
|
21
22
|
import { FormsModule, NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
|
|
@@ -303,6 +304,183 @@ const AteResizableImage = Node$1.create({
|
|
|
303
304
|
},
|
|
304
305
|
});
|
|
305
306
|
|
|
307
|
+
// Generated by scripts/generate-ate-icons.mjs, do not edit by hand.
|
|
308
|
+
// Material Symbols Outlined (weight 400) by Google, Apache License 2.0 (see THIRD_PARTY_LICENSES).
|
|
309
|
+
/** ViewBox shared by every Material Symbols SVG */
|
|
310
|
+
const ATE_MATERIAL_SYMBOLS_VIEWBOX = "0 -960 960 960";
|
|
311
|
+
const ADD = "<path d=\"M440-440H200v-80h240v-240h80v240h240v80H520v240h-80v-240Z\"/>";
|
|
312
|
+
const ADD_COLUMN_LEFT = "<path d=\"M800-200v-560H560v560h240Zm-640 80v-160h80v80h240v-560H240v80h-80v-160h720v720H160Zm320-360Zm80 0h-80 80Zm0 0ZM160-360v-80H80v-80h80v-80h80v80h80v80h-80v80h-80Z\"/>";
|
|
313
|
+
const ADD_COLUMN_RIGHT = "<path d=\"M160-760v560h240v-560H160ZM80-120v-720h720v160h-80v-80H480v560h240v-80h80v160H80Zm400-360Zm-80 0h80-80Zm0 0Zm320 120v-80h-80v-80h80v-80h80v80h80v80h-80v80h-80Z\"/>";
|
|
314
|
+
const ADD_ROW_ABOVE = "<path d=\"M200-160h560v-240H200v240Zm640 80H120v-720h160v80h-80v240h560v-240h-80v-80h160v720ZM480-480Zm0 80v-80 80Zm0 0Zm-40-240v-80h-80v-80h80v-80h80v80h80v80h-80v80h-80Z\"/>";
|
|
315
|
+
const ADD_ROW_BELOW = "<path d=\"M200-560h560v-240H200v240Zm-80 400v-720h720v720H680v-80h80v-240H200v240h80v80H120Zm360-320Zm0-80v80-80Zm0 0ZM440-80v-80h-80v-80h80v-80h80v80h80v80h-80v80h-80Z\"/>";
|
|
316
|
+
const CELL_MERGE = "<path d=\"M120-120v-240h80v160h160v80H120Zm480 0v-80h160v-160h80v240H600ZM287-327l-57-56 57-57H80v-80h207l-57-57 57-56 153 153-153 153Zm386 0L520-480l153-153 57 56-57 57h207v80H673l57 57-57 56ZM120-600v-240h240v80H200v160h-80Zm640 0v-160H600v-80h240v240h-80Z\"/>";
|
|
317
|
+
const CHECK = "<path d=\"M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z\"/>";
|
|
318
|
+
const CLOSE = "<path d=\"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z\"/>";
|
|
319
|
+
const CODE = "<path d=\"M320-240 80-480l240-240 57 57-184 184 183 183-56 56Zm320 0-57-57 184-184-183-183 56-56 240 240-240 240Z\"/>";
|
|
320
|
+
const COLORIZE = "<path d=\"M120-120v-190l358-358-58-56 58-56 76 76 124-124q5-5 12.5-8t15.5-3q8 0 15 3t13 8l94 94q5 6 8 13t3 15q0 8-3 15.5t-8 12.5L705-555l76 78-57 57-56-58-358 358H120Zm80-80h78l332-334-76-76-334 332v78Zm447-410 96-96-37-37-96 96 37 37Zm0 0-37-37 37 37Z\"/>";
|
|
321
|
+
const CROP_SQUARE = "<path d=\"M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0 0v-560 560Z\"/>";
|
|
322
|
+
const DELETE = "<path d=\"M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z\"/>";
|
|
323
|
+
const DELETE_FOREVER = "<path d=\"m376-300 104-104 104 104 56-56-104-104 104-104-56-56-104 104-104-104-56 56 104 104-104 104 56 56Zm-96 180q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520Zm-400 0v520-520Z\"/>";
|
|
324
|
+
const DOCK_TO_RIGHT = "<path d=\"M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm120-80v-560H200v560h120Zm80 0h360v-560H400v560Zm-80 0H200h120Z\"/>";
|
|
325
|
+
const DOWNLOAD = "<path d=\"M480-320 280-520l56-58 104 104v-326h80v326l104-104 56 58-200 200ZM240-160q-33 0-56.5-23.5T160-240v-120h80v120h480v-120h80v120q0 33-23.5 56.5T720-160H240Z\"/>";
|
|
326
|
+
const DRAG_INDICATOR = "<path d=\"M360-160q-33 0-56.5-23.5T280-240q0-33 23.5-56.5T360-320q33 0 56.5 23.5T440-240q0 33-23.5 56.5T360-160Zm240 0q-33 0-56.5-23.5T520-240q0-33 23.5-56.5T600-320q33 0 56.5 23.5T680-240q0 33-23.5 56.5T600-160ZM360-400q-33 0-56.5-23.5T280-480q0-33 23.5-56.5T360-560q33 0 56.5 23.5T440-480q0 33-23.5 56.5T360-400Zm240 0q-33 0-56.5-23.5T520-480q0-33 23.5-56.5T600-560q33 0 56.5 23.5T680-480q0 33-23.5 56.5T600-400ZM360-640q-33 0-56.5-23.5T280-720q0-33 23.5-56.5T360-800q33 0 56.5 23.5T440-720q0 33-23.5 56.5T360-640Zm240 0q-33 0-56.5-23.5T520-720q0-33 23.5-56.5T600-800q33 0 56.5 23.5T680-720q0 33-23.5 56.5T600-640Z\"/>";
|
|
327
|
+
const DRIVE_FILE_RENAME_OUTLINE = "<path d=\"m400-120 160-160h320v160H400Zm-240-80h57l391-391-57-57-391 391v57Zm-80 80v-170l528-527q12-11 26.5-17t30.5-6q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T777-647L250-120H80Zm640-584-56-56 56 56Zm-141 85-28-29 57 57-29-28Z\"/>";
|
|
328
|
+
const EDIT = "<path d=\"M200-200h57l391-391-57-57-391 391v57Zm-80 80v-170l528-527q12-11 26.5-17t30.5-6q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L290-120H120Zm640-584-56-56 56 56Zm-141 85-28-29 57 57-29-28Z\"/>";
|
|
329
|
+
const FORMAT_ALIGN_CENTER = "<path d=\"M120-120v-80h720v80H120Zm160-160v-80h400v80H280ZM120-440v-80h720v80H120Zm160-160v-80h400v80H280ZM120-760v-80h720v80H120Z\"/>";
|
|
330
|
+
const FORMAT_ALIGN_JUSTIFY = "<path d=\"M120-120v-80h720v80H120Zm0-160v-80h720v80H120Zm0-160v-80h720v80H120Zm0-160v-80h720v80H120Zm0-160v-80h720v80H120Z\"/>";
|
|
331
|
+
const FORMAT_ALIGN_LEFT = "<path d=\"M120-120v-80h720v80H120Zm0-160v-80h480v80H120Zm0-160v-80h720v80H120Zm0-160v-80h480v80H120Zm0-160v-80h720v80H120Z\"/>";
|
|
332
|
+
const FORMAT_ALIGN_RIGHT = "<path d=\"M120-760v-80h720v80H120Zm240 160v-80h480v80H360ZM120-440v-80h720v80H120Zm240 160v-80h480v80H360ZM120-120v-80h720v80H120Z\"/>";
|
|
333
|
+
const FORMAT_BOLD = "<path d=\"M272-200v-560h221q65 0 120 40t55 111q0 51-23 78.5T602-491q25 11 55.5 41t30.5 90q0 89-65 124.5T501-200H272Zm121-112h104q48 0 58.5-24.5T566-372q0-11-10.5-35.5T494-432H393v120Zm0-228h93q33 0 48-17t15-38q0-24-17-39t-44-15h-95v109Z\"/>";
|
|
334
|
+
const FORMAT_COLOR_FILL = "<path d=\"m247-904 57-56 343 343q23 23 23 57t-23 57L457-313q-23 23-57 23t-57-23L153-503q-23-23-23-57t23-57l190-191-96-96Zm153 153L209-560h382L400-751Zm303.5 447.5Q680-327 680-360q0-21 12.5-45t27.5-45q9-12 19-25t21-25q11 12 21 25t19 25q15 21 27.5 45t12.5 45q0 33-23.5 56.5T760-280q-33 0-56.5-23.5ZM80 0v-160h800V0H80Z\"/>";
|
|
335
|
+
const FORMAT_COLOR_RESET = "<path d=\"M800-436q0 36-8 69t-22 63l-62-60q6-17 9-34.5t3-37.5q0-47-17.5-89T650-600L480-768l-88 86-56-56 144-142 226 222q44 42 69 99.5T800-436Zm-8 380L668-180q-41 29-88 44.5T480-120q-133 0-226.5-92.5T160-436q0-51 16-98t48-90L56-792l56-56 736 736-56 56ZM480-200q36 0 68.5-10t61.5-28L280-566q-21 32-30.5 64t-9.5 66q0 98 70 167t170 69Zm-37-204Zm110-116Z\"/>";
|
|
336
|
+
const FORMAT_COLOR_TEXT = "<path d=\"M80 0v-160h800V0H80Zm140-280 210-560h100l210 560h-96l-50-144H368l-52 144h-96Zm176-224h168l-82-232h-4l-82 232Z\"/>";
|
|
337
|
+
const FORMAT_H1 = "<path d=\"M200-280v-400h80v160h160v-160h80v400h-80v-160H280v160h-80Zm480 0v-320h-80v-80h160v400h-80Z\"/>";
|
|
338
|
+
const FORMAT_H2 = "<path d=\"M120-280v-400h80v160h160v-160h80v400h-80v-160H200v160h-80Zm400 0v-160q0-33 23.5-56.5T600-520h160v-80H520v-80h240q33 0 56.5 23.5T840-600v80q0 33-23.5 56.5T760-440H600v80h240v80H520Z\"/>";
|
|
339
|
+
const FORMAT_H3 = "<path d=\"M120-280v-400h80v160h160v-160h80v400h-80v-160H200v160h-80Zm400 0v-80h240v-80H600v-80h160v-80H520v-80h240q33 0 56.5 23.5T840-600v240q0 33-23.5 56.5T760-280H520Z\"/>";
|
|
340
|
+
const FORMAT_ITALIC = "<path d=\"M200-200v-100h160l120-360H320v-100h400v100H580L460-300h140v100H200Z\"/>";
|
|
341
|
+
const FORMAT_LIST_BULLETED = "<path d=\"M360-200v-80h480v80H360Zm0-240v-80h480v80H360Zm0-240v-80h480v80H360ZM200-160q-33 0-56.5-23.5T120-240q0-33 23.5-56.5T200-320q33 0 56.5 23.5T280-240q0 33-23.5 56.5T200-160Zm0-240q-33 0-56.5-23.5T120-480q0-33 23.5-56.5T200-560q33 0 56.5 23.5T280-480q0 33-23.5 56.5T200-400Zm-56.5-263.5Q120-687 120-720t23.5-56.5Q167-800 200-800t56.5 23.5Q280-753 280-720t-23.5 56.5Q233-640 200-640t-56.5-23.5Z\"/>";
|
|
342
|
+
const FORMAT_LIST_NUMBERED = "<path d=\"M120-80v-60h100v-30h-60v-60h60v-30H120v-60h120q17 0 28.5 11.5T280-280v40q0 17-11.5 28.5T240-200q17 0 28.5 11.5T280-160v40q0 17-11.5 28.5T240-80H120Zm0-280v-110q0-17 11.5-28.5T160-510h60v-30H120v-60h120q17 0 28.5 11.5T280-560v70q0 17-11.5 28.5T240-450h-60v30h100v60H120Zm60-280v-180h-60v-60h120v240h-60Zm180 440v-80h480v80H360Zm0-240v-80h480v80H360Zm0-240v-80h480v80H360Z\"/>";
|
|
343
|
+
const FORMAT_QUOTE = "<path d=\"m228-240 92-160q-66 0-113-47t-47-113q0-66 47-113t113-47q66 0 113 47t47 113q0 23-5.5 42.5T458-480L320-240h-92Zm360 0 92-160q-66 0-113-47t-47-113q0-66 47-113t113-47q66 0 113 47t47 113q0 23-5.5 42.5T818-480L680-240h-92ZM362.5-517.5Q380-535 380-560t-17.5-42.5Q345-620 320-620t-42.5 17.5Q260-585 260-560t17.5 42.5Q295-500 320-500t42.5-17.5Zm360 0Q740-535 740-560t-17.5-42.5Q705-620 680-620t-42.5 17.5Q620-585 620-560t17.5 42.5Q655-500 680-500t42.5-17.5ZM680-560Zm-360 0Z\"/>";
|
|
344
|
+
const FORMAT_UNDERLINED = "<path d=\"M200-120v-80h560v80H200Zm123-223q-56-63-56-167v-330h103v336q0 56 28 91t82 35q54 0 82-35t28-91v-336h103v330q0 104-56 167t-157 63q-101 0-157-63Z\"/>";
|
|
345
|
+
const HIGHLIGHT = "<path d=\"m226-640-86-84 56-58 86 86-56 56Zm214-120v-120h80v120h-80Zm296 120-58-56 86-84 56 56-84 84ZM360-80v-200L240-400v-200h480v200L600-280v200H360Zm80-80h80v-153l120-120v-87H320v87l120 120v153Zm40-180Z\"/>";
|
|
346
|
+
const HORIZONTAL_RULE = "<path d=\"M160-440v-80h640v80H160Z\"/>";
|
|
347
|
+
const IMAGE = "<path d=\"M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm40-80h480L570-480 450-320l-90-120-120 160Zm-40 80v-560 560Z\"/>";
|
|
348
|
+
const LINK = "<path d=\"M440-280H280q-83 0-141.5-58.5T80-480q0-83 58.5-141.5T280-680h160v80H280q-50 0-85 35t-35 85q0 50 35 85t85 35h160v80ZM320-440v-80h320v80H320Zm200 160v-80h160q50 0 85-35t35-85q0-50-35-85t-85-35H520v-80h160q83 0 141.5 58.5T880-480q0 83-58.5 141.5T680-280H520Z\"/>";
|
|
349
|
+
const LINK_OFF = "<path d=\"m770-302-60-62q40-11 65-42.5t25-73.5q0-50-35-85t-85-35H520v-80h160q83 0 141.5 58.5T880-480q0 57-29.5 105T770-302ZM634-440l-80-80h86v80h-6ZM792-56 56-792l56-56 736 736-56 56ZM440-280H280q-83 0-141.5-58.5T80-480q0-69 42-123t108-71l74 74h-24q-50 0-85 35t-35 85q0 50 35 85t85 35h160v80ZM320-440v-80h65l79 80H320Z\"/>";
|
|
350
|
+
const OPEN_IN_NEW = "<path d=\"M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h280v80H200v560h560v-280h80v280q0 33-23.5 56.5T760-120H200Zm188-212-56-56 372-372H560v-80h280v280h-80v-144L388-332Z\"/>";
|
|
351
|
+
const PHOTO = "<path d=\"M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm40-80h480L570-480 450-320l-90-120-120 160Zm-40 80v-560 560Z\"/>";
|
|
352
|
+
const REDO = "<path d=\"M396-200q-97 0-166.5-63T160-420q0-94 69.5-157T396-640h252L544-744l56-56 200 200-200 200-56-56 104-104H396q-63 0-109.5 40T240-420q0 60 46.5 100T396-280h284v80H396Z\"/>";
|
|
353
|
+
const SPLIT_SCENE = "<path d=\"M200-160q-33 0-56.5-23.5T120-240v-480q0-33 23.5-56.5T200-800h160v80H200v480h160v80H200Zm240 80v-800h80v80h240q33 0 56.5 23.5T840-720v480q0 33-23.5 56.5T760-160H520v80h-80Zm80-160h240v-480H520v480Zm-320 0v-480 480Zm560 0v-480 480Z\"/>";
|
|
354
|
+
const STRIKETHROUGH_S = "<path d=\"M486-160q-76 0-135-45t-85-123l88-38q14 48 48.5 79t85.5 31q42 0 76-20t34-64q0-18-7-33t-19-27h112q5 14 7.5 28.5T694-340q0 86-61.5 133T486-160ZM80-480v-80h800v80H80Zm402-326q66 0 115.5 32.5T674-674l-88 39q-9-29-33.5-52T484-710q-41 0-68 18.5T386-640h-96q2-69 54.5-117.5T482-806Z\"/>";
|
|
355
|
+
const SUBSCRIPT = "<path d=\"M760-160v-80q0-17 11.5-28.5T800-280h80v-40H760v-40h120q17 0 28.5 11.5T920-320v40q0 17-11.5 28.5T880-240h-80v40h120v40H760Zm-525-80 185-291-172-269h106l124 200h4l123-200h107L539-531l186 291H618L482-457h-4L342-240H235Z\"/>";
|
|
356
|
+
const SUPERSCRIPT = "<path d=\"M760-600v-80q0-17 11.5-28.5T800-720h80v-40H760v-40h120q17 0 28.5 11.5T920-760v40q0 17-11.5 28.5T880-680h-80v40h120v40H760ZM235-160l185-291-172-269h106l124 200h4l123-200h107L539-451l186 291H618L482-377h-4L342-160H235Z\"/>";
|
|
357
|
+
const TABLE_VIEW = "<path d=\"M320-80q-33 0-56.5-23.5T240-160v-480q0-33 23.5-56.5T320-720h480q33 0 56.5 23.5T880-640v480q0 33-23.5 56.5T800-80H320Zm0-80h200v-120H320v120Zm280 0h200v-120H600v120ZM80-240v-560q0-33 23.5-56.5T160-880h560v80H160v560H80Zm240-120h200v-120H320v120Zm280 0h200v-120H600v120ZM320-560h480v-80H320v80Z\"/>";
|
|
358
|
+
const TERMINAL = "<path d=\"M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm0-80h640v-400H160v400Zm140-40-56-56 103-104-104-104 57-56 160 160-160 160Zm180 0v-80h240v80H480Z\"/>";
|
|
359
|
+
const TOOLBAR = "<path d=\"M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-520h560v-120H200v120Zm560 80H200v360h560v-360Zm-560-80v80-80Zm0 0v-120 120Zm0 80v360-360Z\"/>";
|
|
360
|
+
const UNDO = "<path d=\"M280-200v-80h284q63 0 109.5-40T720-420q0-60-46.5-100T564-560H312l104 104-56 56-200-200 200-200 56 56-104 104h252q97 0 166.5 63T800-420q0 94-69.5 157T564-200H280Z\"/>";
|
|
361
|
+
const VISIBILITY = "<path d=\"M607.5-372.5Q660-425 660-500t-52.5-127.5Q555-680 480-680t-127.5 52.5Q300-575 300-500t52.5 127.5Q405-320 480-320t127.5-52.5Zm-204-51Q372-455 372-500t31.5-76.5Q435-608 480-608t76.5 31.5Q588-545 588-500t-31.5 76.5Q525-392 480-392t-76.5-31.5ZM214-281.5Q94-363 40-500q54-137 174-218.5T480-800q146 0 266 81.5T920-500q-54 137-174 218.5T480-200q-146 0-266-81.5ZM480-500Zm207.5 160.5Q782-399 832-500q-50-101-144.5-160.5T480-720q-113 0-207.5 59.5T128-500q50 101 144.5 160.5T480-280q113 0 207.5-59.5Z\"/>";
|
|
362
|
+
/** Inner SVG markup of the library icons, keyed by what they do */
|
|
363
|
+
const ATE_DEFAULT_ICONS = {
|
|
364
|
+
bold: FORMAT_BOLD,
|
|
365
|
+
italic: FORMAT_ITALIC,
|
|
366
|
+
underline: FORMAT_UNDERLINED,
|
|
367
|
+
strike: STRIKETHROUGH_S,
|
|
368
|
+
code: CODE,
|
|
369
|
+
superscript: SUPERSCRIPT,
|
|
370
|
+
subscript: SUBSCRIPT,
|
|
371
|
+
highlight: HIGHLIGHT,
|
|
372
|
+
link: LINK,
|
|
373
|
+
heading1: FORMAT_H1,
|
|
374
|
+
heading2: FORMAT_H2,
|
|
375
|
+
heading3: FORMAT_H3,
|
|
376
|
+
bulletList: FORMAT_LIST_BULLETED,
|
|
377
|
+
orderedList: FORMAT_LIST_NUMBERED,
|
|
378
|
+
blockquote: FORMAT_QUOTE,
|
|
379
|
+
codeBlock: TERMINAL,
|
|
380
|
+
horizontalRule: HORIZONTAL_RULE,
|
|
381
|
+
image: IMAGE,
|
|
382
|
+
table: TABLE_VIEW,
|
|
383
|
+
tableOfContents: FORMAT_LIST_BULLETED,
|
|
384
|
+
alignLeft: FORMAT_ALIGN_LEFT,
|
|
385
|
+
alignCenter: FORMAT_ALIGN_CENTER,
|
|
386
|
+
alignRight: FORMAT_ALIGN_RIGHT,
|
|
387
|
+
alignJustify: FORMAT_ALIGN_JUSTIFY,
|
|
388
|
+
textColor: FORMAT_COLOR_TEXT,
|
|
389
|
+
highlightColor: FORMAT_COLOR_FILL,
|
|
390
|
+
customColor: COLORIZE,
|
|
391
|
+
unsetColor: FORMAT_COLOR_RESET,
|
|
392
|
+
openLink: OPEN_IN_NEW,
|
|
393
|
+
unsetLink: LINK_OFF,
|
|
394
|
+
changeImage: DRIVE_FILE_RENAME_OUTLINE,
|
|
395
|
+
downloadImage: DOWNLOAD,
|
|
396
|
+
resizeSmall: CROP_SQUARE,
|
|
397
|
+
resizeMedium: CROP_SQUARE,
|
|
398
|
+
resizeLarge: CROP_SQUARE,
|
|
399
|
+
resizeOriginal: PHOTO,
|
|
400
|
+
deleteImage: DELETE,
|
|
401
|
+
imageUpload: IMAGE,
|
|
402
|
+
addRowBefore: ADD_ROW_ABOVE,
|
|
403
|
+
addRowAfter: ADD_ROW_BELOW,
|
|
404
|
+
deleteRow: DELETE,
|
|
405
|
+
addColumnBefore: ADD_COLUMN_LEFT,
|
|
406
|
+
addColumnAfter: ADD_COLUMN_RIGHT,
|
|
407
|
+
deleteColumn: DELETE,
|
|
408
|
+
toggleHeaderRow: TOOLBAR,
|
|
409
|
+
toggleHeaderColumn: DOCK_TO_RIGHT,
|
|
410
|
+
deleteTable: DELETE_FOREVER,
|
|
411
|
+
mergeCells: CELL_MERGE,
|
|
412
|
+
splitCell: SPLIT_SCENE,
|
|
413
|
+
undo: UNDO,
|
|
414
|
+
redo: REDO,
|
|
415
|
+
clearContent: DELETE,
|
|
416
|
+
blockAdd: ADD,
|
|
417
|
+
blockDrag: DRAG_INDICATOR,
|
|
418
|
+
edit: EDIT,
|
|
419
|
+
preview: VISIBILITY,
|
|
420
|
+
apply: CHECK,
|
|
421
|
+
clear: CLOSE,
|
|
422
|
+
};
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* Injection Token for the icons registered with `provideAteIcons()`.
|
|
426
|
+
*/
|
|
427
|
+
const ATE_ICONS = new InjectionToken("ATE_ICONS");
|
|
428
|
+
/**
|
|
429
|
+
* A root-level registry resolving icon names to SVG markup.
|
|
430
|
+
*
|
|
431
|
+
* The library ships the SVG of every icon it uses, so the Material Symbols font is not required.
|
|
432
|
+
* Names that are not registered fall back to the Material Symbols font ligature: load the font
|
|
433
|
+
* to use any Material Symbols name in custom toolbar items, bubble menus or slash commands.
|
|
434
|
+
*/
|
|
435
|
+
class AteIconRegistry {
|
|
436
|
+
constructor() {
|
|
437
|
+
this._icons = signal(Object.assign({}, ATE_DEFAULT_ICONS, ...(inject(ATE_ICONS, { optional: true }) ?? [])));
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* Register or override icons at runtime.
|
|
441
|
+
*/
|
|
442
|
+
register(icons) {
|
|
443
|
+
this._icons.update(current => ({ ...current, ...icons }));
|
|
444
|
+
}
|
|
445
|
+
/**
|
|
446
|
+
* Full SVG markup of an icon, or null when it is not registered.
|
|
447
|
+
* Reactive when called inside a computed or an effect.
|
|
448
|
+
*/
|
|
449
|
+
svg(name) {
|
|
450
|
+
const icon = this._icons()[name];
|
|
451
|
+
if (!icon) {
|
|
452
|
+
return null;
|
|
453
|
+
}
|
|
454
|
+
return icon.trimStart().startsWith("<svg")
|
|
455
|
+
? icon
|
|
456
|
+
: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${ATE_MATERIAL_SYMBOLS_VIEWBOX}" fill="currentColor">${icon}</svg>`;
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* Markup drawing an icon: its SVG, or the Material Symbols font ligature when it is not registered.
|
|
460
|
+
*/
|
|
461
|
+
markup(name) {
|
|
462
|
+
return this.svg(name) ?? `<span class="material-symbols-outlined">${escapeHtml(name)}</span>`;
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* HTML of an icon for contexts outside Angular templates (ProseMirror widgets, raw HTML).
|
|
466
|
+
*/
|
|
467
|
+
html(name, className = "") {
|
|
468
|
+
const classes = escapeHtml(`ate-icon ${className}`.trim());
|
|
469
|
+
return `<span class="${classes}" aria-hidden="true">${this.markup(name)}</span>`;
|
|
470
|
+
}
|
|
471
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteIconRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
472
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteIconRegistry, providedIn: "root" }); }
|
|
473
|
+
}
|
|
474
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteIconRegistry, decorators: [{
|
|
475
|
+
type: Injectable,
|
|
476
|
+
args: [{
|
|
477
|
+
providedIn: "root",
|
|
478
|
+
}]
|
|
479
|
+
}] });
|
|
480
|
+
function escapeHtml(value) {
|
|
481
|
+
return value.replace(/[&<>"']/g, char => ({ "&": "&", "<": "<", ">": ">", '"': """, "'": "'" })[char]);
|
|
482
|
+
}
|
|
483
|
+
|
|
306
484
|
const AteUploadProgress = Extension.create({
|
|
307
485
|
name: "uploadProgress",
|
|
308
486
|
addOptions() {
|
|
@@ -310,6 +488,7 @@ const AteUploadProgress = Extension.create({
|
|
|
310
488
|
isUploading: () => false,
|
|
311
489
|
uploadProgress: () => 0,
|
|
312
490
|
uploadMessage: () => "",
|
|
491
|
+
iconHtml: () => "",
|
|
313
492
|
};
|
|
314
493
|
},
|
|
315
494
|
addProseMirrorPlugins() {
|
|
@@ -339,7 +518,7 @@ const AteUploadProgress = Extension.create({
|
|
|
339
518
|
<div class="upload-skeleton">
|
|
340
519
|
<div class="upload-content">
|
|
341
520
|
<div class="upload-icon">
|
|
342
|
-
|
|
521
|
+
${options.iconHtml()}
|
|
343
522
|
</div>
|
|
344
523
|
<div class="upload-info">
|
|
345
524
|
<div class="upload-message">${uploadMessage}</div>
|
|
@@ -393,9 +572,16 @@ const AteUploadProgress = Extension.create({
|
|
|
393
572
|
border-radius: 50%;
|
|
394
573
|
color: var(--ate-primary);
|
|
395
574
|
}
|
|
396
|
-
.upload-icon .
|
|
575
|
+
.upload-icon .ate-icon {
|
|
576
|
+
display: inline-flex;
|
|
577
|
+
width: 1em;
|
|
578
|
+
height: 1em;
|
|
397
579
|
font-size: 24px;
|
|
398
580
|
}
|
|
581
|
+
.upload-icon .ate-icon > svg {
|
|
582
|
+
width: 100%;
|
|
583
|
+
height: 100%;
|
|
584
|
+
}
|
|
399
585
|
.spinning {
|
|
400
586
|
animation: spin 1s linear infinite;
|
|
401
587
|
}
|
|
@@ -458,7 +644,7 @@ const AteUploadProgress = Extension.create({
|
|
|
458
644
|
<div class="upload-skeleton">
|
|
459
645
|
<div class="upload-content">
|
|
460
646
|
<div class="upload-icon">
|
|
461
|
-
|
|
647
|
+
${options.iconHtml()}
|
|
462
648
|
</div>
|
|
463
649
|
<div class="upload-info">
|
|
464
650
|
<div class="upload-message">${uploadMessage}</div>
|
|
@@ -2782,6 +2968,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2782
2968
|
}]
|
|
2783
2969
|
}], ctorParameters: () => [] });
|
|
2784
2970
|
|
|
2971
|
+
/**
|
|
2972
|
+
* Renders an icon from the AteIconRegistry as inline SVG,
|
|
2973
|
+
* or with the Material Symbols font when the name is not registered.
|
|
2974
|
+
* Its size follows the `font-size` (1em). Library icons are filled with `currentColor`;
|
|
2975
|
+
* a full custom `<svg>` keeps its own `fill` and `stroke` attributes.
|
|
2976
|
+
*/
|
|
2977
|
+
class AteIconComponent {
|
|
2978
|
+
constructor() {
|
|
2979
|
+
this.registry = inject(AteIconRegistry);
|
|
2980
|
+
this.sanitizer = inject(DomSanitizer);
|
|
2981
|
+
/** Library icon, icon registered with provideAteIcons, or Material Symbols name (font) */
|
|
2982
|
+
this.name = input.required();
|
|
2983
|
+
// Icons come from the library or from the developer, never from user content
|
|
2984
|
+
this.content = computed(() => this.sanitizer.bypassSecurityTrustHtml(this.registry.markup(this.name())));
|
|
2985
|
+
}
|
|
2986
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2987
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: AteIconComponent, isStandalone: true, selector: "ate-icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "aria-hidden": "true" }, properties: { "innerHTML": "content()" }, classAttribute: "ate-icon" }, ngImport: i0, template: "", isInline: true, styles: [".ate-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1em;height:1em;font-size:24px;line-height:1}.ate-icon>svg{display:block;width:100%;height:100%}.ate-icon>.material-symbols-outlined{font-size:inherit}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2988
|
+
}
|
|
2989
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteIconComponent, decorators: [{
|
|
2990
|
+
type: Component,
|
|
2991
|
+
args: [{ selector: "ate-icon", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
2992
|
+
class: "ate-icon",
|
|
2993
|
+
"aria-hidden": "true",
|
|
2994
|
+
"[innerHTML]": "content()",
|
|
2995
|
+
}, template: "", styles: [".ate-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1em;height:1em;font-size:24px;line-height:1}.ate-icon>svg{display:block;width:100%;height:100%}.ate-icon>.material-symbols-outlined{font-size:inherit}\n"] }]
|
|
2996
|
+
}] });
|
|
2997
|
+
|
|
2785
2998
|
class AteButtonComponent {
|
|
2786
2999
|
constructor() {
|
|
2787
3000
|
// Inputs
|
|
@@ -2822,21 +3035,19 @@ class AteButtonComponent {
|
|
|
2822
3035
|
(click)="buttonClick.emit($event)"
|
|
2823
3036
|
type="button">
|
|
2824
3037
|
@if (icon()) {
|
|
2825
|
-
<
|
|
2826
|
-
|
|
3038
|
+
<ate-icon
|
|
3039
|
+
[name]="icon()"
|
|
2827
3040
|
[class.icon-small]="iconSize() === 'small'"
|
|
2828
3041
|
[class.icon-medium]="iconSize() === 'medium'"
|
|
2829
|
-
[class.icon-large]="iconSize() === 'large'"
|
|
2830
|
-
>{{ icon() }}</span
|
|
2831
|
-
>
|
|
3042
|
+
[class.icon-large]="iconSize() === 'large'" />
|
|
2832
3043
|
}
|
|
2833
3044
|
<ng-content></ng-content>
|
|
2834
3045
|
</button>
|
|
2835
|
-
`, isInline: true, styles: [".ate-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--ate-sub-border-radius, 8px);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);color:var(--ate-toolbar-button-color, var(--ate-text-secondary));position:relative;overflow:hidden}.ate-button:before{content:\"\";position:absolute;inset:0;background:var(--ate-primary);opacity:0;transition:opacity .2s ease;border-radius:var(--ate-sub-border-radius, 8px)}.ate-button:hover:not(.has-custom-color){color:var(--ate-toolbar-button-active-color, var(--ate-primary));background:var(--ate-toolbar-button-hover-background, transparent);transform:translateY(-1px)}.ate-button.has-custom-color:hover:not(.has-custom-bg){background:var(--ate-toolbar-button-hover-background, transparent);transform:translateY(-1px)}.ate-button.has-custom-bg:hover{transform:translateY(-1px);filter:brightness(.9)}.ate-button:hover:before{opacity:.1}.ate-button:active{transform:translateY(0)}.ate-button.is-active:not(.has-custom-color){color:var(--ate-toolbar-button-active-color, var(--ate-primary));background:var(--ate-toolbar-button-active-background, var(--ate-primary-light))}.ate-button.is-active.has-custom-color{background:var(--ate-toolbar-button-active-background, var(--ate-primary-light))}.ate-button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.ate-button .
|
|
3046
|
+
`, isInline: true, styles: [".ate-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--ate-sub-border-radius, 8px);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);color:var(--ate-toolbar-button-color, var(--ate-text-secondary));position:relative;overflow:hidden}.ate-button:before{content:\"\";position:absolute;inset:0;background:var(--ate-primary);opacity:0;transition:opacity .2s ease;border-radius:var(--ate-sub-border-radius, 8px)}.ate-button:hover:not(.has-custom-color){color:var(--ate-toolbar-button-active-color, var(--ate-primary));background:var(--ate-toolbar-button-hover-background, transparent);transform:translateY(-1px)}.ate-button.has-custom-color:hover:not(.has-custom-bg){background:var(--ate-toolbar-button-hover-background, transparent);transform:translateY(-1px)}.ate-button.has-custom-bg:hover{transform:translateY(-1px);filter:brightness(.9)}.ate-button:hover:before{opacity:.1}.ate-button:active{transform:translateY(0)}.ate-button.is-active:not(.has-custom-color){color:var(--ate-toolbar-button-active-color, var(--ate-primary));background:var(--ate-toolbar-button-active-background, var(--ate-primary-light))}.ate-button.is-active.has-custom-color{background:var(--ate-toolbar-button-active-background, var(--ate-primary-light))}.ate-button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.ate-button .ate-icon{font-size:20px;position:relative;z-index:1}.ate-button .ate-icon.icon-small{font-size:16px}.ate-button .ate-icon.icon-medium{font-size:20px}.ate-button .ate-icon.icon-large{font-size:24px}.ate-button.text-button{width:auto;padding:0 12px;font-size:14px;font-weight:500;gap:8px}.ate-button.color-button{width:28px;height:28px;border-radius:50%;border:2px solid transparent;transition:all .2s ease}.ate-button.color-button:hover{border-color:var(--ate-border);transform:scale(1.1)}.ate-button.color-button.is-active{border-color:var(--ate-primary);box-shadow:0 0 0 2px var(--ate-primary-light)}.ate-button.danger{color:var(--ate-error-color, #ef4444)}.ate-button.danger:hover{color:var(--ate-error-color, #ef4444);background:var(--ate-error-bg, rgba(239, 68, 68, .1))}.ate-button.danger:before{background:var(--ate-error-color, #ef4444)}.ate-button.small{width:24px;height:24px}.ate-button.medium{width:32px;height:32px}.ate-button.large{width:40px;height:40px}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--ate-primary-light-alpha)}50%{box-shadow:0 0 0 4px transparent}}.ate-button.is-active.pulse{animation:pulse 2s infinite}@media (max-width: 768px){.ate-button{width:32px;height:32px}.ate-button .ate-icon{font-size:18px}.ate-button.text-button{padding:0 8px;font-size:13px}}\n"], dependencies: [{ kind: "directive", type: AteTooltipDirective, selector: "[ateTooltip]", inputs: ["ateTooltip", "ateTooltipPlacement", "ateTooltipDelay", "ateTooltipDisabled"] }, { kind: "component", type: AteIconComponent, selector: "ate-icon", inputs: ["name"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2836
3047
|
}
|
|
2837
3048
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteButtonComponent, decorators: [{
|
|
2838
3049
|
type: Component,
|
|
2839
|
-
args: [{ selector: "ate-button", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AteTooltipDirective], template: `
|
|
3050
|
+
args: [{ selector: "ate-button", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AteTooltipDirective, AteIconComponent], template: `
|
|
2840
3051
|
<button
|
|
2841
3052
|
class="ate-button"
|
|
2842
3053
|
[class.is-active]="active()"
|
|
@@ -2857,17 +3068,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2857
3068
|
(click)="buttonClick.emit($event)"
|
|
2858
3069
|
type="button">
|
|
2859
3070
|
@if (icon()) {
|
|
2860
|
-
<
|
|
2861
|
-
|
|
3071
|
+
<ate-icon
|
|
3072
|
+
[name]="icon()"
|
|
2862
3073
|
[class.icon-small]="iconSize() === 'small'"
|
|
2863
3074
|
[class.icon-medium]="iconSize() === 'medium'"
|
|
2864
|
-
[class.icon-large]="iconSize() === 'large'"
|
|
2865
|
-
>{{ icon() }}</span
|
|
2866
|
-
>
|
|
3075
|
+
[class.icon-large]="iconSize() === 'large'" />
|
|
2867
3076
|
}
|
|
2868
3077
|
<ng-content></ng-content>
|
|
2869
3078
|
</button>
|
|
2870
|
-
`, styles: [".ate-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--ate-sub-border-radius, 8px);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);color:var(--ate-toolbar-button-color, var(--ate-text-secondary));position:relative;overflow:hidden}.ate-button:before{content:\"\";position:absolute;inset:0;background:var(--ate-primary);opacity:0;transition:opacity .2s ease;border-radius:var(--ate-sub-border-radius, 8px)}.ate-button:hover:not(.has-custom-color){color:var(--ate-toolbar-button-active-color, var(--ate-primary));background:var(--ate-toolbar-button-hover-background, transparent);transform:translateY(-1px)}.ate-button.has-custom-color:hover:not(.has-custom-bg){background:var(--ate-toolbar-button-hover-background, transparent);transform:translateY(-1px)}.ate-button.has-custom-bg:hover{transform:translateY(-1px);filter:brightness(.9)}.ate-button:hover:before{opacity:.1}.ate-button:active{transform:translateY(0)}.ate-button.is-active:not(.has-custom-color){color:var(--ate-toolbar-button-active-color, var(--ate-primary));background:var(--ate-toolbar-button-active-background, var(--ate-primary-light))}.ate-button.is-active.has-custom-color{background:var(--ate-toolbar-button-active-background, var(--ate-primary-light))}.ate-button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.ate-button .
|
|
3079
|
+
`, styles: [".ate-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--ate-sub-border-radius, 8px);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);color:var(--ate-toolbar-button-color, var(--ate-text-secondary));position:relative;overflow:hidden}.ate-button:before{content:\"\";position:absolute;inset:0;background:var(--ate-primary);opacity:0;transition:opacity .2s ease;border-radius:var(--ate-sub-border-radius, 8px)}.ate-button:hover:not(.has-custom-color){color:var(--ate-toolbar-button-active-color, var(--ate-primary));background:var(--ate-toolbar-button-hover-background, transparent);transform:translateY(-1px)}.ate-button.has-custom-color:hover:not(.has-custom-bg){background:var(--ate-toolbar-button-hover-background, transparent);transform:translateY(-1px)}.ate-button.has-custom-bg:hover{transform:translateY(-1px);filter:brightness(.9)}.ate-button:hover:before{opacity:.1}.ate-button:active{transform:translateY(0)}.ate-button.is-active:not(.has-custom-color){color:var(--ate-toolbar-button-active-color, var(--ate-primary));background:var(--ate-toolbar-button-active-background, var(--ate-primary-light))}.ate-button.is-active.has-custom-color{background:var(--ate-toolbar-button-active-background, var(--ate-primary-light))}.ate-button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.ate-button .ate-icon{font-size:20px;position:relative;z-index:1}.ate-button .ate-icon.icon-small{font-size:16px}.ate-button .ate-icon.icon-medium{font-size:20px}.ate-button .ate-icon.icon-large{font-size:24px}.ate-button.text-button{width:auto;padding:0 12px;font-size:14px;font-weight:500;gap:8px}.ate-button.color-button{width:28px;height:28px;border-radius:50%;border:2px solid transparent;transition:all .2s ease}.ate-button.color-button:hover{border-color:var(--ate-border);transform:scale(1.1)}.ate-button.color-button.is-active{border-color:var(--ate-primary);box-shadow:0 0 0 2px var(--ate-primary-light)}.ate-button.danger{color:var(--ate-error-color, #ef4444)}.ate-button.danger:hover{color:var(--ate-error-color, #ef4444);background:var(--ate-error-bg, rgba(239, 68, 68, .1))}.ate-button.danger:before{background:var(--ate-error-color, #ef4444)}.ate-button.small{width:24px;height:24px}.ate-button.medium{width:32px;height:32px}.ate-button.large{width:40px;height:40px}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--ate-primary-light-alpha)}50%{box-shadow:0 0 0 4px transparent}}.ate-button.is-active.pulse{animation:pulse 2s infinite}@media (max-width: 768px){.ate-button{width:32px;height:32px}.ate-button .ate-icon{font-size:18px}.ate-button.text-button{padding:0 8px;font-size:13px}}\n"] }]
|
|
2871
3080
|
}] });
|
|
2872
3081
|
|
|
2873
3082
|
class AteSeparatorComponent {
|
|
@@ -4454,7 +4663,7 @@ class AteColorPickerComponent {
|
|
|
4454
4663
|
return (this.mode() === "text" ? marks.color : marks.background) !== null;
|
|
4455
4664
|
});
|
|
4456
4665
|
this.buttonIcon = computed(() => {
|
|
4457
|
-
return this.mode() === "text" ? "
|
|
4666
|
+
return this.mode() === "text" ? "textColor" : "highlightColor";
|
|
4458
4667
|
});
|
|
4459
4668
|
this.buttonBgColor = computed(() => {
|
|
4460
4669
|
const color = this.currentColor();
|
|
@@ -4513,16 +4722,16 @@ class AteColorPickerComponent {
|
|
|
4513
4722
|
[ateTooltip]="t().clear"
|
|
4514
4723
|
[attr.aria-label]="t().clear"
|
|
4515
4724
|
(click)="onClear($event)">
|
|
4516
|
-
<
|
|
4725
|
+
<ate-icon name="clear" />
|
|
4517
4726
|
</button>
|
|
4518
4727
|
}
|
|
4519
4728
|
</div>
|
|
4520
4729
|
</div>
|
|
4521
|
-
`, isInline: true, styles: [".color-picker-wrapper{position:relative;display:inline-block}.color-picker-container{position:relative;display:inline-flex;align-items:center}.btn-clear-badge{position:absolute;top:-4px;right:-4px;width:14px;height:14px;padding:0;border:none;border-radius:999px;background:#0f172abf;color:#fff;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;pointer-events:none;transition:opacity .12s ease}.color-picker-container:hover .btn-clear-badge{opacity:1;pointer-events:auto}.btn-clear-badge .
|
|
4730
|
+
`, isInline: true, styles: [".color-picker-wrapper{position:relative;display:inline-block}.color-picker-container{position:relative;display:inline-flex;align-items:center}.btn-clear-badge{position:absolute;top:-4px;right:-4px;width:14px;height:14px;padding:0;border:none;border-radius:999px;background:#0f172abf;color:#fff;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;pointer-events:none;transition:opacity .12s ease}.color-picker-container:hover .btn-clear-badge{opacity:1;pointer-events:auto}.btn-clear-badge .ate-icon{font-size:10px;line-height:1}\n"], dependencies: [{ kind: "component", type: AteButtonComponent, selector: "ate-button", inputs: ["icon", "title", "active", "disabled", "color", "backgroundColor", "variant", "size", "iconSize"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: AteTooltipDirective, selector: "[ateTooltip]", inputs: ["ateTooltip", "ateTooltipPlacement", "ateTooltipDelay", "ateTooltipDisabled"] }, { kind: "component", type: AteIconComponent, selector: "ate-icon", inputs: ["name"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4522
4731
|
}
|
|
4523
4732
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteColorPickerComponent, decorators: [{
|
|
4524
4733
|
type: Component,
|
|
4525
|
-
args: [{ selector: "ate-color-picker", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AteButtonComponent, CommonModule, AteTooltipDirective], template: `
|
|
4734
|
+
args: [{ selector: "ate-color-picker", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AteButtonComponent, CommonModule, AteTooltipDirective, AteIconComponent], template: `
|
|
4526
4735
|
<div class="color-picker-wrapper">
|
|
4527
4736
|
<div class="color-picker-container" [class.is-highlight]="mode() === 'highlight'">
|
|
4528
4737
|
<ate-button
|
|
@@ -4540,12 +4749,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4540
4749
|
[ateTooltip]="t().clear"
|
|
4541
4750
|
[attr.aria-label]="t().clear"
|
|
4542
4751
|
(click)="onClear($event)">
|
|
4543
|
-
<
|
|
4752
|
+
<ate-icon name="clear" />
|
|
4544
4753
|
</button>
|
|
4545
4754
|
}
|
|
4546
4755
|
</div>
|
|
4547
4756
|
</div>
|
|
4548
|
-
`, styles: [".color-picker-wrapper{position:relative;display:inline-block}.color-picker-container{position:relative;display:inline-flex;align-items:center}.btn-clear-badge{position:absolute;top:-4px;right:-4px;width:14px;height:14px;padding:0;border:none;border-radius:999px;background:#0f172abf;color:#fff;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;pointer-events:none;transition:opacity .12s ease}.color-picker-container:hover .btn-clear-badge{opacity:1;pointer-events:auto}.btn-clear-badge .
|
|
4757
|
+
`, styles: [".color-picker-wrapper{position:relative;display:inline-block}.color-picker-container{position:relative;display:inline-flex;align-items:center}.btn-clear-badge{position:absolute;top:-4px;right:-4px;width:14px;height:14px;padding:0;border:none;border-radius:999px;background:#0f172abf;color:#fff;display:flex;align-items:center;justify-content:center;z-index:10;opacity:0;pointer-events:none;transition:opacity .12s ease}.color-picker-container:hover .btn-clear-badge{opacity:1;pointer-events:auto}.btn-clear-badge .ate-icon{font-size:10px;line-height:1}\n"] }]
|
|
4549
4758
|
}] });
|
|
4550
4759
|
|
|
4551
4760
|
class AteToolbarComponent {
|
|
@@ -4571,7 +4780,7 @@ class AteToolbarComponent {
|
|
|
4571
4780
|
<div class="ate-toolbar" [class.floating]="floating()">
|
|
4572
4781
|
@if (config().bold) {
|
|
4573
4782
|
<ate-button
|
|
4574
|
-
icon="
|
|
4783
|
+
icon="bold"
|
|
4575
4784
|
[title]="t().bold"
|
|
4576
4785
|
[active]="state().marks.bold"
|
|
4577
4786
|
[disabled]="!state().can.toggleBold"
|
|
@@ -4579,7 +4788,7 @@ class AteToolbarComponent {
|
|
|
4579
4788
|
}
|
|
4580
4789
|
@if (config().italic) {
|
|
4581
4790
|
<ate-button
|
|
4582
|
-
icon="
|
|
4791
|
+
icon="italic"
|
|
4583
4792
|
[title]="t().italic"
|
|
4584
4793
|
[active]="state().marks.italic"
|
|
4585
4794
|
[disabled]="!state().can.toggleItalic"
|
|
@@ -4587,7 +4796,7 @@ class AteToolbarComponent {
|
|
|
4587
4796
|
}
|
|
4588
4797
|
@if (config().underline) {
|
|
4589
4798
|
<ate-button
|
|
4590
|
-
icon="
|
|
4799
|
+
icon="underline"
|
|
4591
4800
|
[title]="t().underline"
|
|
4592
4801
|
[active]="state().marks.underline"
|
|
4593
4802
|
[disabled]="!state().can.toggleUnderline"
|
|
@@ -4595,7 +4804,7 @@ class AteToolbarComponent {
|
|
|
4595
4804
|
}
|
|
4596
4805
|
@if (config().strike) {
|
|
4597
4806
|
<ate-button
|
|
4598
|
-
icon="
|
|
4807
|
+
icon="strike"
|
|
4599
4808
|
[title]="t().strike"
|
|
4600
4809
|
[active]="state().marks.strike"
|
|
4601
4810
|
[disabled]="!state().can.toggleStrike"
|
|
@@ -4611,7 +4820,7 @@ class AteToolbarComponent {
|
|
|
4611
4820
|
}
|
|
4612
4821
|
@if (config().codeBlock) {
|
|
4613
4822
|
<ate-button
|
|
4614
|
-
icon="
|
|
4823
|
+
icon="codeBlock"
|
|
4615
4824
|
[title]="t().codeBlock"
|
|
4616
4825
|
[active]="state().nodes.isCodeBlock"
|
|
4617
4826
|
[disabled]="!state().can.toggleCodeBlock"
|
|
@@ -4656,7 +4865,7 @@ class AteToolbarComponent {
|
|
|
4656
4865
|
}
|
|
4657
4866
|
@if (config().heading1) {
|
|
4658
4867
|
<ate-button
|
|
4659
|
-
icon="
|
|
4868
|
+
icon="heading1"
|
|
4660
4869
|
[title]="t().heading1"
|
|
4661
4870
|
[active]="state().nodes.h1"
|
|
4662
4871
|
[disabled]="!state().can.toggleHeading1"
|
|
@@ -4664,7 +4873,7 @@ class AteToolbarComponent {
|
|
|
4664
4873
|
}
|
|
4665
4874
|
@if (config().heading2) {
|
|
4666
4875
|
<ate-button
|
|
4667
|
-
icon="
|
|
4876
|
+
icon="heading2"
|
|
4668
4877
|
[title]="t().heading2"
|
|
4669
4878
|
[active]="state().nodes.h2"
|
|
4670
4879
|
[disabled]="!state().can.toggleHeading2"
|
|
@@ -4672,7 +4881,7 @@ class AteToolbarComponent {
|
|
|
4672
4881
|
}
|
|
4673
4882
|
@if (config().heading3) {
|
|
4674
4883
|
<ate-button
|
|
4675
|
-
icon="
|
|
4884
|
+
icon="heading3"
|
|
4676
4885
|
[title]="t().heading3"
|
|
4677
4886
|
[active]="state().nodes.h3"
|
|
4678
4887
|
[disabled]="!state().can.toggleHeading3"
|
|
@@ -4685,7 +4894,7 @@ class AteToolbarComponent {
|
|
|
4685
4894
|
}
|
|
4686
4895
|
@if (config().bulletList) {
|
|
4687
4896
|
<ate-button
|
|
4688
|
-
icon="
|
|
4897
|
+
icon="bulletList"
|
|
4689
4898
|
[title]="t().bulletList"
|
|
4690
4899
|
[active]="state().nodes.isBulletList"
|
|
4691
4900
|
[disabled]="!state().can.toggleBulletList"
|
|
@@ -4693,7 +4902,7 @@ class AteToolbarComponent {
|
|
|
4693
4902
|
}
|
|
4694
4903
|
@if (config().orderedList) {
|
|
4695
4904
|
<ate-button
|
|
4696
|
-
icon="
|
|
4905
|
+
icon="orderedList"
|
|
4697
4906
|
[title]="t().orderedList"
|
|
4698
4907
|
[active]="state().nodes.isOrderedList"
|
|
4699
4908
|
[disabled]="!state().can.toggleOrderedList"
|
|
@@ -4701,7 +4910,7 @@ class AteToolbarComponent {
|
|
|
4701
4910
|
}
|
|
4702
4911
|
@if (config().blockquote) {
|
|
4703
4912
|
<ate-button
|
|
4704
|
-
icon="
|
|
4913
|
+
icon="blockquote"
|
|
4705
4914
|
[title]="t().blockquote"
|
|
4706
4915
|
[active]="state().nodes.isBlockquote"
|
|
4707
4916
|
[disabled]="!state().can.toggleBlockquote"
|
|
@@ -4715,7 +4924,7 @@ class AteToolbarComponent {
|
|
|
4715
4924
|
}
|
|
4716
4925
|
@if (config().alignLeft) {
|
|
4717
4926
|
<ate-button
|
|
4718
|
-
icon="
|
|
4927
|
+
icon="alignLeft"
|
|
4719
4928
|
[title]="t().alignLeft"
|
|
4720
4929
|
[active]="state().nodes.alignLeft"
|
|
4721
4930
|
[disabled]="!state().can.setTextAlignLeft"
|
|
@@ -4723,7 +4932,7 @@ class AteToolbarComponent {
|
|
|
4723
4932
|
}
|
|
4724
4933
|
@if (config().alignCenter) {
|
|
4725
4934
|
<ate-button
|
|
4726
|
-
icon="
|
|
4935
|
+
icon="alignCenter"
|
|
4727
4936
|
[title]="t().alignCenter"
|
|
4728
4937
|
[active]="state().nodes.alignCenter"
|
|
4729
4938
|
[disabled]="!state().can.setTextAlignCenter"
|
|
@@ -4731,7 +4940,7 @@ class AteToolbarComponent {
|
|
|
4731
4940
|
}
|
|
4732
4941
|
@if (config().alignRight) {
|
|
4733
4942
|
<ate-button
|
|
4734
|
-
icon="
|
|
4943
|
+
icon="alignRight"
|
|
4735
4944
|
[title]="t().alignRight"
|
|
4736
4945
|
[active]="state().nodes.alignRight"
|
|
4737
4946
|
[disabled]="!state().can.setTextAlignRight"
|
|
@@ -4739,7 +4948,7 @@ class AteToolbarComponent {
|
|
|
4739
4948
|
}
|
|
4740
4949
|
@if (config().alignJustify) {
|
|
4741
4950
|
<ate-button
|
|
4742
|
-
icon="
|
|
4951
|
+
icon="alignJustify"
|
|
4743
4952
|
[title]="t().alignJustify"
|
|
4744
4953
|
[active]="state().nodes.alignJustify"
|
|
4745
4954
|
[disabled]="!state().can.setTextAlignJustify"
|
|
@@ -4758,14 +4967,14 @@ class AteToolbarComponent {
|
|
|
4758
4967
|
}
|
|
4759
4968
|
@if (config().horizontalRule) {
|
|
4760
4969
|
<ate-button
|
|
4761
|
-
icon="
|
|
4970
|
+
icon="horizontalRule"
|
|
4762
4971
|
[title]="t().horizontalRule"
|
|
4763
4972
|
[disabled]="!state().can.insertHorizontalRule"
|
|
4764
4973
|
(buttonClick)="onCommand('insertHorizontalRule')" />
|
|
4765
4974
|
}
|
|
4766
4975
|
@if (config().table) {
|
|
4767
4976
|
<ate-button
|
|
4768
|
-
icon="
|
|
4977
|
+
icon="table"
|
|
4769
4978
|
[title]="t().table"
|
|
4770
4979
|
[disabled]="!state().can.insertTable"
|
|
4771
4980
|
(buttonClick)="onCommand('insertTable')" />
|
|
@@ -4802,7 +5011,7 @@ class AteToolbarComponent {
|
|
|
4802
5011
|
}
|
|
4803
5012
|
@if (config().clear) {
|
|
4804
5013
|
<ate-button
|
|
4805
|
-
icon="
|
|
5014
|
+
icon="clearContent"
|
|
4806
5015
|
[title]="t().clear"
|
|
4807
5016
|
[disabled]="!state().isEditable"
|
|
4808
5017
|
(buttonClick)="onCommand('clearContent')" />
|
|
@@ -4824,7 +5033,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4824
5033
|
<div class="ate-toolbar" [class.floating]="floating()">
|
|
4825
5034
|
@if (config().bold) {
|
|
4826
5035
|
<ate-button
|
|
4827
|
-
icon="
|
|
5036
|
+
icon="bold"
|
|
4828
5037
|
[title]="t().bold"
|
|
4829
5038
|
[active]="state().marks.bold"
|
|
4830
5039
|
[disabled]="!state().can.toggleBold"
|
|
@@ -4832,7 +5041,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4832
5041
|
}
|
|
4833
5042
|
@if (config().italic) {
|
|
4834
5043
|
<ate-button
|
|
4835
|
-
icon="
|
|
5044
|
+
icon="italic"
|
|
4836
5045
|
[title]="t().italic"
|
|
4837
5046
|
[active]="state().marks.italic"
|
|
4838
5047
|
[disabled]="!state().can.toggleItalic"
|
|
@@ -4840,7 +5049,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4840
5049
|
}
|
|
4841
5050
|
@if (config().underline) {
|
|
4842
5051
|
<ate-button
|
|
4843
|
-
icon="
|
|
5052
|
+
icon="underline"
|
|
4844
5053
|
[title]="t().underline"
|
|
4845
5054
|
[active]="state().marks.underline"
|
|
4846
5055
|
[disabled]="!state().can.toggleUnderline"
|
|
@@ -4848,7 +5057,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4848
5057
|
}
|
|
4849
5058
|
@if (config().strike) {
|
|
4850
5059
|
<ate-button
|
|
4851
|
-
icon="
|
|
5060
|
+
icon="strike"
|
|
4852
5061
|
[title]="t().strike"
|
|
4853
5062
|
[active]="state().marks.strike"
|
|
4854
5063
|
[disabled]="!state().can.toggleStrike"
|
|
@@ -4864,7 +5073,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4864
5073
|
}
|
|
4865
5074
|
@if (config().codeBlock) {
|
|
4866
5075
|
<ate-button
|
|
4867
|
-
icon="
|
|
5076
|
+
icon="codeBlock"
|
|
4868
5077
|
[title]="t().codeBlock"
|
|
4869
5078
|
[active]="state().nodes.isCodeBlock"
|
|
4870
5079
|
[disabled]="!state().can.toggleCodeBlock"
|
|
@@ -4909,7 +5118,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4909
5118
|
}
|
|
4910
5119
|
@if (config().heading1) {
|
|
4911
5120
|
<ate-button
|
|
4912
|
-
icon="
|
|
5121
|
+
icon="heading1"
|
|
4913
5122
|
[title]="t().heading1"
|
|
4914
5123
|
[active]="state().nodes.h1"
|
|
4915
5124
|
[disabled]="!state().can.toggleHeading1"
|
|
@@ -4917,7 +5126,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4917
5126
|
}
|
|
4918
5127
|
@if (config().heading2) {
|
|
4919
5128
|
<ate-button
|
|
4920
|
-
icon="
|
|
5129
|
+
icon="heading2"
|
|
4921
5130
|
[title]="t().heading2"
|
|
4922
5131
|
[active]="state().nodes.h2"
|
|
4923
5132
|
[disabled]="!state().can.toggleHeading2"
|
|
@@ -4925,7 +5134,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4925
5134
|
}
|
|
4926
5135
|
@if (config().heading3) {
|
|
4927
5136
|
<ate-button
|
|
4928
|
-
icon="
|
|
5137
|
+
icon="heading3"
|
|
4929
5138
|
[title]="t().heading3"
|
|
4930
5139
|
[active]="state().nodes.h3"
|
|
4931
5140
|
[disabled]="!state().can.toggleHeading3"
|
|
@@ -4938,7 +5147,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4938
5147
|
}
|
|
4939
5148
|
@if (config().bulletList) {
|
|
4940
5149
|
<ate-button
|
|
4941
|
-
icon="
|
|
5150
|
+
icon="bulletList"
|
|
4942
5151
|
[title]="t().bulletList"
|
|
4943
5152
|
[active]="state().nodes.isBulletList"
|
|
4944
5153
|
[disabled]="!state().can.toggleBulletList"
|
|
@@ -4946,7 +5155,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4946
5155
|
}
|
|
4947
5156
|
@if (config().orderedList) {
|
|
4948
5157
|
<ate-button
|
|
4949
|
-
icon="
|
|
5158
|
+
icon="orderedList"
|
|
4950
5159
|
[title]="t().orderedList"
|
|
4951
5160
|
[active]="state().nodes.isOrderedList"
|
|
4952
5161
|
[disabled]="!state().can.toggleOrderedList"
|
|
@@ -4954,7 +5163,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4954
5163
|
}
|
|
4955
5164
|
@if (config().blockquote) {
|
|
4956
5165
|
<ate-button
|
|
4957
|
-
icon="
|
|
5166
|
+
icon="blockquote"
|
|
4958
5167
|
[title]="t().blockquote"
|
|
4959
5168
|
[active]="state().nodes.isBlockquote"
|
|
4960
5169
|
[disabled]="!state().can.toggleBlockquote"
|
|
@@ -4968,7 +5177,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4968
5177
|
}
|
|
4969
5178
|
@if (config().alignLeft) {
|
|
4970
5179
|
<ate-button
|
|
4971
|
-
icon="
|
|
5180
|
+
icon="alignLeft"
|
|
4972
5181
|
[title]="t().alignLeft"
|
|
4973
5182
|
[active]="state().nodes.alignLeft"
|
|
4974
5183
|
[disabled]="!state().can.setTextAlignLeft"
|
|
@@ -4976,7 +5185,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4976
5185
|
}
|
|
4977
5186
|
@if (config().alignCenter) {
|
|
4978
5187
|
<ate-button
|
|
4979
|
-
icon="
|
|
5188
|
+
icon="alignCenter"
|
|
4980
5189
|
[title]="t().alignCenter"
|
|
4981
5190
|
[active]="state().nodes.alignCenter"
|
|
4982
5191
|
[disabled]="!state().can.setTextAlignCenter"
|
|
@@ -4984,7 +5193,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4984
5193
|
}
|
|
4985
5194
|
@if (config().alignRight) {
|
|
4986
5195
|
<ate-button
|
|
4987
|
-
icon="
|
|
5196
|
+
icon="alignRight"
|
|
4988
5197
|
[title]="t().alignRight"
|
|
4989
5198
|
[active]="state().nodes.alignRight"
|
|
4990
5199
|
[disabled]="!state().can.setTextAlignRight"
|
|
@@ -4992,7 +5201,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4992
5201
|
}
|
|
4993
5202
|
@if (config().alignJustify) {
|
|
4994
5203
|
<ate-button
|
|
4995
|
-
icon="
|
|
5204
|
+
icon="alignJustify"
|
|
4996
5205
|
[title]="t().alignJustify"
|
|
4997
5206
|
[active]="state().nodes.alignJustify"
|
|
4998
5207
|
[disabled]="!state().can.setTextAlignJustify"
|
|
@@ -5011,14 +5220,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
5011
5220
|
}
|
|
5012
5221
|
@if (config().horizontalRule) {
|
|
5013
5222
|
<ate-button
|
|
5014
|
-
icon="
|
|
5223
|
+
icon="horizontalRule"
|
|
5015
5224
|
[title]="t().horizontalRule"
|
|
5016
5225
|
[disabled]="!state().can.insertHorizontalRule"
|
|
5017
5226
|
(buttonClick)="onCommand('insertHorizontalRule')" />
|
|
5018
5227
|
}
|
|
5019
5228
|
@if (config().table) {
|
|
5020
5229
|
<ate-button
|
|
5021
|
-
icon="
|
|
5230
|
+
icon="table"
|
|
5022
5231
|
[title]="t().table"
|
|
5023
5232
|
[disabled]="!state().can.insertTable"
|
|
5024
5233
|
(buttonClick)="onCommand('insertTable')" />
|
|
@@ -5055,7 +5264,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
5055
5264
|
}
|
|
5056
5265
|
@if (config().clear) {
|
|
5057
5266
|
<ate-button
|
|
5058
|
-
icon="
|
|
5267
|
+
icon="clearContent"
|
|
5059
5268
|
[title]="t().clear"
|
|
5060
5269
|
[disabled]="!state().isEditable"
|
|
5061
5270
|
(buttonClick)="onCommand('clearContent')" />
|
|
@@ -5470,7 +5679,7 @@ class AteBubbleMenuComponent extends AteBaseBubbleMenu {
|
|
|
5470
5679
|
<div #menuRef class="bubble-menu" (mousedown)="$event.preventDefault()">
|
|
5471
5680
|
@if (bubbleMenuConfig().bold) {
|
|
5472
5681
|
<ate-button
|
|
5473
|
-
icon="
|
|
5682
|
+
icon="bold"
|
|
5474
5683
|
[title]="t().bold"
|
|
5475
5684
|
[active]="state().marks.bold"
|
|
5476
5685
|
[disabled]="!state().can.toggleBold"
|
|
@@ -5478,7 +5687,7 @@ class AteBubbleMenuComponent extends AteBaseBubbleMenu {
|
|
|
5478
5687
|
}
|
|
5479
5688
|
@if (bubbleMenuConfig().italic) {
|
|
5480
5689
|
<ate-button
|
|
5481
|
-
icon="
|
|
5690
|
+
icon="italic"
|
|
5482
5691
|
[title]="t().italic"
|
|
5483
5692
|
[active]="state().marks.italic"
|
|
5484
5693
|
[disabled]="!state().can.toggleItalic"
|
|
@@ -5486,7 +5695,7 @@ class AteBubbleMenuComponent extends AteBaseBubbleMenu {
|
|
|
5486
5695
|
}
|
|
5487
5696
|
@if (bubbleMenuConfig().underline) {
|
|
5488
5697
|
<ate-button
|
|
5489
|
-
icon="
|
|
5698
|
+
icon="underline"
|
|
5490
5699
|
[title]="t().underline"
|
|
5491
5700
|
[active]="state().marks.underline"
|
|
5492
5701
|
[disabled]="!state().can.toggleUnderline"
|
|
@@ -5494,7 +5703,7 @@ class AteBubbleMenuComponent extends AteBaseBubbleMenu {
|
|
|
5494
5703
|
}
|
|
5495
5704
|
@if (bubbleMenuConfig().strike) {
|
|
5496
5705
|
<ate-button
|
|
5497
|
-
icon="
|
|
5706
|
+
icon="strike"
|
|
5498
5707
|
[title]="t().strike"
|
|
5499
5708
|
[active]="state().marks.strike"
|
|
5500
5709
|
[disabled]="!state().can.toggleStrike"
|
|
@@ -5576,7 +5785,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
5576
5785
|
<div #menuRef class="bubble-menu" (mousedown)="$event.preventDefault()">
|
|
5577
5786
|
@if (bubbleMenuConfig().bold) {
|
|
5578
5787
|
<ate-button
|
|
5579
|
-
icon="
|
|
5788
|
+
icon="bold"
|
|
5580
5789
|
[title]="t().bold"
|
|
5581
5790
|
[active]="state().marks.bold"
|
|
5582
5791
|
[disabled]="!state().can.toggleBold"
|
|
@@ -5584,7 +5793,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
5584
5793
|
}
|
|
5585
5794
|
@if (bubbleMenuConfig().italic) {
|
|
5586
5795
|
<ate-button
|
|
5587
|
-
icon="
|
|
5796
|
+
icon="italic"
|
|
5588
5797
|
[title]="t().italic"
|
|
5589
5798
|
[active]="state().marks.italic"
|
|
5590
5799
|
[disabled]="!state().can.toggleItalic"
|
|
@@ -5592,7 +5801,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
5592
5801
|
}
|
|
5593
5802
|
@if (bubbleMenuConfig().underline) {
|
|
5594
5803
|
<ate-button
|
|
5595
|
-
icon="
|
|
5804
|
+
icon="underline"
|
|
5596
5805
|
[title]="t().underline"
|
|
5597
5806
|
[active]="state().marks.underline"
|
|
5598
5807
|
[disabled]="!state().can.toggleUnderline"
|
|
@@ -5600,7 +5809,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
5600
5809
|
}
|
|
5601
5810
|
@if (bubbleMenuConfig().strike) {
|
|
5602
5811
|
<ate-button
|
|
5603
|
-
icon="
|
|
5812
|
+
icon="strike"
|
|
5604
5813
|
[title]="t().strike"
|
|
5605
5814
|
[active]="state().marks.strike"
|
|
5606
5815
|
[disabled]="!state().can.toggleStrike"
|
|
@@ -5850,13 +6059,13 @@ class AteImageBubbleMenuComponent extends AteBaseBubbleMenu {
|
|
|
5850
6059
|
<div #menuRef class="bubble-menu" (mousedown)="$event.preventDefault()">
|
|
5851
6060
|
@if (imageBubbleMenuConfig().changeImage && editor().isEditable) {
|
|
5852
6061
|
<ate-button
|
|
5853
|
-
icon="
|
|
6062
|
+
icon="changeImage"
|
|
5854
6063
|
[title]="t().changeImage"
|
|
5855
6064
|
(buttonClick)="onCommand('changeImage', $event)"></ate-button>
|
|
5856
6065
|
}
|
|
5857
6066
|
@if (imageBubbleMenuConfig().downloadImage) {
|
|
5858
6067
|
<ate-button
|
|
5859
|
-
icon="
|
|
6068
|
+
icon="downloadImage"
|
|
5860
6069
|
[title]="t().downloadImage"
|
|
5861
6070
|
(buttonClick)="onCommand('downloadImage', $event)"></ate-button>
|
|
5862
6071
|
}
|
|
@@ -5865,28 +6074,28 @@ class AteImageBubbleMenuComponent extends AteBaseBubbleMenu {
|
|
|
5865
6074
|
}
|
|
5866
6075
|
@if (imageBubbleMenuConfig().resizeSmall && editor().isEditable) {
|
|
5867
6076
|
<ate-button
|
|
5868
|
-
icon="
|
|
6077
|
+
icon="resizeSmall"
|
|
5869
6078
|
iconSize="small"
|
|
5870
6079
|
[title]="t().resizeSmall"
|
|
5871
6080
|
(buttonClick)="onCommand('resizeSmall', $event)"></ate-button>
|
|
5872
6081
|
}
|
|
5873
6082
|
@if (imageBubbleMenuConfig().resizeMedium && editor().isEditable) {
|
|
5874
6083
|
<ate-button
|
|
5875
|
-
icon="
|
|
6084
|
+
icon="resizeMedium"
|
|
5876
6085
|
iconSize="medium"
|
|
5877
6086
|
[title]="t().resizeMedium"
|
|
5878
6087
|
(buttonClick)="onCommand('resizeMedium', $event)"></ate-button>
|
|
5879
6088
|
}
|
|
5880
6089
|
@if (imageBubbleMenuConfig().resizeLarge && editor().isEditable) {
|
|
5881
6090
|
<ate-button
|
|
5882
|
-
icon="
|
|
6091
|
+
icon="resizeLarge"
|
|
5883
6092
|
iconSize="large"
|
|
5884
6093
|
[title]="t().resizeLarge"
|
|
5885
6094
|
(buttonClick)="onCommand('resizeLarge', $event)"></ate-button>
|
|
5886
6095
|
}
|
|
5887
6096
|
@if (imageBubbleMenuConfig().resizeOriginal && editor().isEditable) {
|
|
5888
6097
|
<ate-button
|
|
5889
|
-
icon="
|
|
6098
|
+
icon="resizeOriginal"
|
|
5890
6099
|
[title]="t().resizeOriginal"
|
|
5891
6100
|
(buttonClick)="onCommand('resizeOriginal', $event)"></ate-button>
|
|
5892
6101
|
}
|
|
@@ -5895,21 +6104,21 @@ class AteImageBubbleMenuComponent extends AteBaseBubbleMenu {
|
|
|
5895
6104
|
}
|
|
5896
6105
|
@if (imageBubbleMenuConfig().alignLeft && editor().isEditable) {
|
|
5897
6106
|
<ate-button
|
|
5898
|
-
icon="
|
|
6107
|
+
icon="alignLeft"
|
|
5899
6108
|
[title]="t().alignLeft"
|
|
5900
6109
|
[active]="editor().isActive({ textAlign: 'left' })"
|
|
5901
6110
|
(buttonClick)="onCommand('alignLeft', $event)"></ate-button>
|
|
5902
6111
|
}
|
|
5903
6112
|
@if (imageBubbleMenuConfig().alignCenter && editor().isEditable) {
|
|
5904
6113
|
<ate-button
|
|
5905
|
-
icon="
|
|
6114
|
+
icon="alignCenter"
|
|
5906
6115
|
[title]="t().alignCenter"
|
|
5907
6116
|
[active]="editor().isActive({ textAlign: 'center' })"
|
|
5908
6117
|
(buttonClick)="onCommand('alignCenter', $event)"></ate-button>
|
|
5909
6118
|
}
|
|
5910
6119
|
@if (imageBubbleMenuConfig().alignRight && editor().isEditable) {
|
|
5911
6120
|
<ate-button
|
|
5912
|
-
icon="
|
|
6121
|
+
icon="alignRight"
|
|
5913
6122
|
[title]="t().alignRight"
|
|
5914
6123
|
[active]="editor().isActive({ textAlign: 'right' })"
|
|
5915
6124
|
(buttonClick)="onCommand('alignRight', $event)"></ate-button>
|
|
@@ -5924,7 +6133,7 @@ class AteImageBubbleMenuComponent extends AteBaseBubbleMenu {
|
|
|
5924
6133
|
}
|
|
5925
6134
|
@if (imageBubbleMenuConfig().deleteImage && editor().isEditable) {
|
|
5926
6135
|
<ate-button
|
|
5927
|
-
icon="
|
|
6136
|
+
icon="deleteImage"
|
|
5928
6137
|
[title]="t().deleteImage"
|
|
5929
6138
|
variant="danger"
|
|
5930
6139
|
(buttonClick)="onCommand('deleteImage', $event)"></ate-button>
|
|
@@ -5943,13 +6152,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
5943
6152
|
<div #menuRef class="bubble-menu" (mousedown)="$event.preventDefault()">
|
|
5944
6153
|
@if (imageBubbleMenuConfig().changeImage && editor().isEditable) {
|
|
5945
6154
|
<ate-button
|
|
5946
|
-
icon="
|
|
6155
|
+
icon="changeImage"
|
|
5947
6156
|
[title]="t().changeImage"
|
|
5948
6157
|
(buttonClick)="onCommand('changeImage', $event)"></ate-button>
|
|
5949
6158
|
}
|
|
5950
6159
|
@if (imageBubbleMenuConfig().downloadImage) {
|
|
5951
6160
|
<ate-button
|
|
5952
|
-
icon="
|
|
6161
|
+
icon="downloadImage"
|
|
5953
6162
|
[title]="t().downloadImage"
|
|
5954
6163
|
(buttonClick)="onCommand('downloadImage', $event)"></ate-button>
|
|
5955
6164
|
}
|
|
@@ -5958,28 +6167,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
5958
6167
|
}
|
|
5959
6168
|
@if (imageBubbleMenuConfig().resizeSmall && editor().isEditable) {
|
|
5960
6169
|
<ate-button
|
|
5961
|
-
icon="
|
|
6170
|
+
icon="resizeSmall"
|
|
5962
6171
|
iconSize="small"
|
|
5963
6172
|
[title]="t().resizeSmall"
|
|
5964
6173
|
(buttonClick)="onCommand('resizeSmall', $event)"></ate-button>
|
|
5965
6174
|
}
|
|
5966
6175
|
@if (imageBubbleMenuConfig().resizeMedium && editor().isEditable) {
|
|
5967
6176
|
<ate-button
|
|
5968
|
-
icon="
|
|
6177
|
+
icon="resizeMedium"
|
|
5969
6178
|
iconSize="medium"
|
|
5970
6179
|
[title]="t().resizeMedium"
|
|
5971
6180
|
(buttonClick)="onCommand('resizeMedium', $event)"></ate-button>
|
|
5972
6181
|
}
|
|
5973
6182
|
@if (imageBubbleMenuConfig().resizeLarge && editor().isEditable) {
|
|
5974
6183
|
<ate-button
|
|
5975
|
-
icon="
|
|
6184
|
+
icon="resizeLarge"
|
|
5976
6185
|
iconSize="large"
|
|
5977
6186
|
[title]="t().resizeLarge"
|
|
5978
6187
|
(buttonClick)="onCommand('resizeLarge', $event)"></ate-button>
|
|
5979
6188
|
}
|
|
5980
6189
|
@if (imageBubbleMenuConfig().resizeOriginal && editor().isEditable) {
|
|
5981
6190
|
<ate-button
|
|
5982
|
-
icon="
|
|
6191
|
+
icon="resizeOriginal"
|
|
5983
6192
|
[title]="t().resizeOriginal"
|
|
5984
6193
|
(buttonClick)="onCommand('resizeOriginal', $event)"></ate-button>
|
|
5985
6194
|
}
|
|
@@ -5988,21 +6197,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
5988
6197
|
}
|
|
5989
6198
|
@if (imageBubbleMenuConfig().alignLeft && editor().isEditable) {
|
|
5990
6199
|
<ate-button
|
|
5991
|
-
icon="
|
|
6200
|
+
icon="alignLeft"
|
|
5992
6201
|
[title]="t().alignLeft"
|
|
5993
6202
|
[active]="editor().isActive({ textAlign: 'left' })"
|
|
5994
6203
|
(buttonClick)="onCommand('alignLeft', $event)"></ate-button>
|
|
5995
6204
|
}
|
|
5996
6205
|
@if (imageBubbleMenuConfig().alignCenter && editor().isEditable) {
|
|
5997
6206
|
<ate-button
|
|
5998
|
-
icon="
|
|
6207
|
+
icon="alignCenter"
|
|
5999
6208
|
[title]="t().alignCenter"
|
|
6000
6209
|
[active]="editor().isActive({ textAlign: 'center' })"
|
|
6001
6210
|
(buttonClick)="onCommand('alignCenter', $event)"></ate-button>
|
|
6002
6211
|
}
|
|
6003
6212
|
@if (imageBubbleMenuConfig().alignRight && editor().isEditable) {
|
|
6004
6213
|
<ate-button
|
|
6005
|
-
icon="
|
|
6214
|
+
icon="alignRight"
|
|
6006
6215
|
[title]="t().alignRight"
|
|
6007
6216
|
[active]="editor().isActive({ textAlign: 'right' })"
|
|
6008
6217
|
(buttonClick)="onCommand('alignRight', $event)"></ate-button>
|
|
@@ -6017,7 +6226,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
6017
6226
|
}
|
|
6018
6227
|
@if (imageBubbleMenuConfig().deleteImage && editor().isEditable) {
|
|
6019
6228
|
<ate-button
|
|
6020
|
-
icon="
|
|
6229
|
+
icon="deleteImage"
|
|
6021
6230
|
[title]="t().deleteImage"
|
|
6022
6231
|
variant="danger"
|
|
6023
6232
|
(buttonClick)="onCommand('deleteImage', $event)"></ate-button>
|
|
@@ -6104,21 +6313,21 @@ class AteTableBubbleMenuComponent extends AteBaseBubbleMenu {
|
|
|
6104
6313
|
<!-- Row actions -->
|
|
6105
6314
|
@if (tableBubbleMenuConfig().addRowBefore !== false) {
|
|
6106
6315
|
<ate-button
|
|
6107
|
-
icon="
|
|
6316
|
+
icon="addRowBefore"
|
|
6108
6317
|
[title]="t().addRowBefore"
|
|
6109
6318
|
[disabled]="!state().can.addRowBefore"
|
|
6110
6319
|
(buttonClick)="onCommand('addRowBefore', $event)"></ate-button>
|
|
6111
6320
|
}
|
|
6112
6321
|
@if (tableBubbleMenuConfig().addRowAfter !== false) {
|
|
6113
6322
|
<ate-button
|
|
6114
|
-
icon="
|
|
6323
|
+
icon="addRowAfter"
|
|
6115
6324
|
[title]="t().addRowAfter"
|
|
6116
6325
|
[disabled]="!state().can.addRowAfter"
|
|
6117
6326
|
(buttonClick)="onCommand('addRowAfter', $event)"></ate-button>
|
|
6118
6327
|
}
|
|
6119
6328
|
@if (tableBubbleMenuConfig().deleteRow !== false) {
|
|
6120
6329
|
<ate-button
|
|
6121
|
-
icon="
|
|
6330
|
+
icon="deleteRow"
|
|
6122
6331
|
[title]="t().deleteRow"
|
|
6123
6332
|
variant="danger"
|
|
6124
6333
|
[disabled]="!state().can.deleteRow"
|
|
@@ -6131,21 +6340,21 @@ class AteTableBubbleMenuComponent extends AteBaseBubbleMenu {
|
|
|
6131
6340
|
<!-- Column actions -->
|
|
6132
6341
|
@if (tableBubbleMenuConfig().addColumnBefore !== false) {
|
|
6133
6342
|
<ate-button
|
|
6134
|
-
icon="
|
|
6343
|
+
icon="addColumnBefore"
|
|
6135
6344
|
[title]="t().addColumnBefore"
|
|
6136
6345
|
[disabled]="!state().can.addColumnBefore"
|
|
6137
6346
|
(buttonClick)="onCommand('addColumnBefore', $event)"></ate-button>
|
|
6138
6347
|
}
|
|
6139
6348
|
@if (tableBubbleMenuConfig().addColumnAfter !== false) {
|
|
6140
6349
|
<ate-button
|
|
6141
|
-
icon="
|
|
6350
|
+
icon="addColumnAfter"
|
|
6142
6351
|
[title]="t().addColumnAfter"
|
|
6143
6352
|
[disabled]="!state().can.addColumnAfter"
|
|
6144
6353
|
(buttonClick)="onCommand('addColumnAfter', $event)"></ate-button>
|
|
6145
6354
|
}
|
|
6146
6355
|
@if (tableBubbleMenuConfig().deleteColumn !== false) {
|
|
6147
6356
|
<ate-button
|
|
6148
|
-
icon="
|
|
6357
|
+
icon="deleteColumn"
|
|
6149
6358
|
[title]="t().deleteColumn"
|
|
6150
6359
|
variant="danger"
|
|
6151
6360
|
[disabled]="!state().can.deleteColumn"
|
|
@@ -6158,7 +6367,7 @@ class AteTableBubbleMenuComponent extends AteBaseBubbleMenu {
|
|
|
6158
6367
|
<!-- Cell actions -->
|
|
6159
6368
|
@if (tableBubbleMenuConfig().toggleHeaderRow !== false) {
|
|
6160
6369
|
<ate-button
|
|
6161
|
-
icon="
|
|
6370
|
+
icon="toggleHeaderRow"
|
|
6162
6371
|
[title]="t().toggleHeaderRow"
|
|
6163
6372
|
[active]="state().nodes.isTableHeaderRow"
|
|
6164
6373
|
[disabled]="!state().can.toggleHeaderRow"
|
|
@@ -6166,7 +6375,7 @@ class AteTableBubbleMenuComponent extends AteBaseBubbleMenu {
|
|
|
6166
6375
|
}
|
|
6167
6376
|
@if (tableBubbleMenuConfig().toggleHeaderColumn !== false) {
|
|
6168
6377
|
<ate-button
|
|
6169
|
-
icon="
|
|
6378
|
+
icon="toggleHeaderColumn"
|
|
6170
6379
|
[title]="t().toggleHeaderColumn"
|
|
6171
6380
|
[active]="state().nodes.isTableHeaderColumn"
|
|
6172
6381
|
[disabled]="!state().can.toggleHeaderColumn"
|
|
@@ -6181,7 +6390,7 @@ class AteTableBubbleMenuComponent extends AteBaseBubbleMenu {
|
|
|
6181
6390
|
<!-- Table actions -->
|
|
6182
6391
|
@if (tableBubbleMenuConfig().deleteTable !== false) {
|
|
6183
6392
|
<ate-button
|
|
6184
|
-
icon="
|
|
6393
|
+
icon="deleteTable"
|
|
6185
6394
|
[title]="t().deleteTable"
|
|
6186
6395
|
variant="danger"
|
|
6187
6396
|
[disabled]="!state().can.deleteTable"
|
|
@@ -6202,21 +6411,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
6202
6411
|
<!-- Row actions -->
|
|
6203
6412
|
@if (tableBubbleMenuConfig().addRowBefore !== false) {
|
|
6204
6413
|
<ate-button
|
|
6205
|
-
icon="
|
|
6414
|
+
icon="addRowBefore"
|
|
6206
6415
|
[title]="t().addRowBefore"
|
|
6207
6416
|
[disabled]="!state().can.addRowBefore"
|
|
6208
6417
|
(buttonClick)="onCommand('addRowBefore', $event)"></ate-button>
|
|
6209
6418
|
}
|
|
6210
6419
|
@if (tableBubbleMenuConfig().addRowAfter !== false) {
|
|
6211
6420
|
<ate-button
|
|
6212
|
-
icon="
|
|
6421
|
+
icon="addRowAfter"
|
|
6213
6422
|
[title]="t().addRowAfter"
|
|
6214
6423
|
[disabled]="!state().can.addRowAfter"
|
|
6215
6424
|
(buttonClick)="onCommand('addRowAfter', $event)"></ate-button>
|
|
6216
6425
|
}
|
|
6217
6426
|
@if (tableBubbleMenuConfig().deleteRow !== false) {
|
|
6218
6427
|
<ate-button
|
|
6219
|
-
icon="
|
|
6428
|
+
icon="deleteRow"
|
|
6220
6429
|
[title]="t().deleteRow"
|
|
6221
6430
|
variant="danger"
|
|
6222
6431
|
[disabled]="!state().can.deleteRow"
|
|
@@ -6229,21 +6438,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
6229
6438
|
<!-- Column actions -->
|
|
6230
6439
|
@if (tableBubbleMenuConfig().addColumnBefore !== false) {
|
|
6231
6440
|
<ate-button
|
|
6232
|
-
icon="
|
|
6441
|
+
icon="addColumnBefore"
|
|
6233
6442
|
[title]="t().addColumnBefore"
|
|
6234
6443
|
[disabled]="!state().can.addColumnBefore"
|
|
6235
6444
|
(buttonClick)="onCommand('addColumnBefore', $event)"></ate-button>
|
|
6236
6445
|
}
|
|
6237
6446
|
@if (tableBubbleMenuConfig().addColumnAfter !== false) {
|
|
6238
6447
|
<ate-button
|
|
6239
|
-
icon="
|
|
6448
|
+
icon="addColumnAfter"
|
|
6240
6449
|
[title]="t().addColumnAfter"
|
|
6241
6450
|
[disabled]="!state().can.addColumnAfter"
|
|
6242
6451
|
(buttonClick)="onCommand('addColumnAfter', $event)"></ate-button>
|
|
6243
6452
|
}
|
|
6244
6453
|
@if (tableBubbleMenuConfig().deleteColumn !== false) {
|
|
6245
6454
|
<ate-button
|
|
6246
|
-
icon="
|
|
6455
|
+
icon="deleteColumn"
|
|
6247
6456
|
[title]="t().deleteColumn"
|
|
6248
6457
|
variant="danger"
|
|
6249
6458
|
[disabled]="!state().can.deleteColumn"
|
|
@@ -6256,7 +6465,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
6256
6465
|
<!-- Cell actions -->
|
|
6257
6466
|
@if (tableBubbleMenuConfig().toggleHeaderRow !== false) {
|
|
6258
6467
|
<ate-button
|
|
6259
|
-
icon="
|
|
6468
|
+
icon="toggleHeaderRow"
|
|
6260
6469
|
[title]="t().toggleHeaderRow"
|
|
6261
6470
|
[active]="state().nodes.isTableHeaderRow"
|
|
6262
6471
|
[disabled]="!state().can.toggleHeaderRow"
|
|
@@ -6264,7 +6473,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
6264
6473
|
}
|
|
6265
6474
|
@if (tableBubbleMenuConfig().toggleHeaderColumn !== false) {
|
|
6266
6475
|
<ate-button
|
|
6267
|
-
icon="
|
|
6476
|
+
icon="toggleHeaderColumn"
|
|
6268
6477
|
[title]="t().toggleHeaderColumn"
|
|
6269
6478
|
[active]="state().nodes.isTableHeaderColumn"
|
|
6270
6479
|
[disabled]="!state().can.toggleHeaderColumn"
|
|
@@ -6279,7 +6488,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
6279
6488
|
<!-- Table actions -->
|
|
6280
6489
|
@if (tableBubbleMenuConfig().deleteTable !== false) {
|
|
6281
6490
|
<ate-button
|
|
6282
|
-
icon="
|
|
6491
|
+
icon="deleteTable"
|
|
6283
6492
|
[title]="t().deleteTable"
|
|
6284
6493
|
variant="danger"
|
|
6285
6494
|
[disabled]="!state().can.deleteTable"
|
|
@@ -6366,14 +6575,14 @@ class AteCellBubbleMenuComponent extends AteBaseBubbleMenu {
|
|
|
6366
6575
|
<!-- Cell specific actions -->
|
|
6367
6576
|
@if (cellBubbleMenuConfig().mergeCells !== false && !state().selection.isSingleCell) {
|
|
6368
6577
|
<ate-button
|
|
6369
|
-
icon="
|
|
6578
|
+
icon="mergeCells"
|
|
6370
6579
|
[title]="i18n().table().mergeCells"
|
|
6371
6580
|
[disabled]="!state().can.mergeCells"
|
|
6372
6581
|
(buttonClick)="onCommand('mergeCells', $event)"></ate-button>
|
|
6373
6582
|
}
|
|
6374
6583
|
@if (cellBubbleMenuConfig().splitCell !== false && state().selection.isSingleCell) {
|
|
6375
6584
|
<ate-button
|
|
6376
|
-
icon="
|
|
6585
|
+
icon="splitCell"
|
|
6377
6586
|
[title]="i18n().table().splitCell"
|
|
6378
6587
|
[disabled]="!state().can.splitCell"
|
|
6379
6588
|
(buttonClick)="onCommand('splitCell', $event)"></ate-button>
|
|
@@ -6393,14 +6602,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
6393
6602
|
<!-- Cell specific actions -->
|
|
6394
6603
|
@if (cellBubbleMenuConfig().mergeCells !== false && !state().selection.isSingleCell) {
|
|
6395
6604
|
<ate-button
|
|
6396
|
-
icon="
|
|
6605
|
+
icon="mergeCells"
|
|
6397
6606
|
[title]="i18n().table().mergeCells"
|
|
6398
6607
|
[disabled]="!state().can.mergeCells"
|
|
6399
6608
|
(buttonClick)="onCommand('mergeCells', $event)"></ate-button>
|
|
6400
6609
|
}
|
|
6401
6610
|
@if (cellBubbleMenuConfig().splitCell !== false && state().selection.isSingleCell) {
|
|
6402
6611
|
<ate-button
|
|
6403
|
-
icon="
|
|
6612
|
+
icon="splitCell"
|
|
6404
6613
|
[title]="i18n().table().splitCell"
|
|
6405
6614
|
[disabled]="!state().can.splitCell"
|
|
6406
6615
|
(buttonClick)="onCommand('splitCell', $event)"></ate-button>
|
|
@@ -6690,7 +6899,7 @@ class AteLinkBubbleMenuComponent extends AteBaseSubBubbleMenu {
|
|
|
6690
6899
|
role="dialog">
|
|
6691
6900
|
<div class="link-input-row">
|
|
6692
6901
|
<div class="url-input-container">
|
|
6693
|
-
<
|
|
6902
|
+
<ate-icon class="icon-link" name="link" />
|
|
6694
6903
|
<input
|
|
6695
6904
|
#linkInput
|
|
6696
6905
|
type="text"
|
|
@@ -6706,19 +6915,19 @@ class AteLinkBubbleMenuComponent extends AteBaseSubBubbleMenu {
|
|
|
6706
6915
|
|
|
6707
6916
|
<div class="action-buttons">
|
|
6708
6917
|
<ate-button
|
|
6709
|
-
icon="
|
|
6918
|
+
icon="apply"
|
|
6710
6919
|
[title]="common().apply"
|
|
6711
6920
|
color="var(--ate-primary)"
|
|
6712
6921
|
[disabled]="!editUrl().trim()"
|
|
6713
6922
|
(buttonClick)="onApply($event)"></ate-button>
|
|
6714
6923
|
<ate-button
|
|
6715
|
-
icon="
|
|
6924
|
+
icon="openLink"
|
|
6716
6925
|
[title]="t().openLink"
|
|
6717
6926
|
[disabled]="!currentUrl()"
|
|
6718
6927
|
(buttonClick)="onOpenLink($event)"></ate-button>
|
|
6719
6928
|
<ate-separator />
|
|
6720
6929
|
<ate-button
|
|
6721
|
-
icon="
|
|
6930
|
+
icon="unsetLink"
|
|
6722
6931
|
[title]="t().removeLink"
|
|
6723
6932
|
variant="danger"
|
|
6724
6933
|
[disabled]="!currentUrl()"
|
|
@@ -6726,11 +6935,11 @@ class AteLinkBubbleMenuComponent extends AteBaseSubBubbleMenu {
|
|
|
6726
6935
|
</div>
|
|
6727
6936
|
</div>
|
|
6728
6937
|
</div>
|
|
6729
|
-
`, isInline: true, styles: [".link-input-row{display:flex;align-items:center;gap:6px}.url-input-container{flex:1;display:flex;align-items:center;background:var(--ate-surface-secondary, #f8fafc);border:1px solid var(--ate-border, #e2e8f0);border-radius:8px;padding:0 10px;height:32px;transition:all .15s ease}.url-input-container:focus-within{border-color:var(--ate-primary, #3b82f6);background:var(--ate-surface, #ffffff);box-shadow:0 0 0 2px var(--ate-primary-light, rgba(59, 130, 246, .1))}.icon-link{font-size:16px;color:var(--ate-text-muted, #94a3b8);margin-right:6px}.url-field{background:transparent;border:none;outline:none;color:var(--ate-text, #1e293b);font-size:13px;width:100%;font-family:inherit}.action-buttons{display:flex;align-items:center;gap:2px}\n"], dependencies: [{ kind: "component", type: AteButtonComponent, selector: "ate-button", inputs: ["icon", "title", "active", "disabled", "color", "backgroundColor", "variant", "size", "iconSize"], outputs: ["buttonClick"] }, { kind: "component", type: AteSeparatorComponent, selector: "ate-separator" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6938
|
+
`, isInline: true, styles: [".link-input-row{display:flex;align-items:center;gap:6px}.url-input-container{flex:1;display:flex;align-items:center;background:var(--ate-surface-secondary, #f8fafc);border:1px solid var(--ate-border, #e2e8f0);border-radius:8px;padding:0 10px;height:32px;transition:all .15s ease}.url-input-container:focus-within{border-color:var(--ate-primary, #3b82f6);background:var(--ate-surface, #ffffff);box-shadow:0 0 0 2px var(--ate-primary-light, rgba(59, 130, 246, .1))}.icon-link{font-size:16px;color:var(--ate-text-muted, #94a3b8);margin-right:6px}.url-field{background:transparent;border:none;outline:none;color:var(--ate-text, #1e293b);font-size:13px;width:100%;font-family:inherit}.action-buttons{display:flex;align-items:center;gap:2px}\n"], dependencies: [{ kind: "component", type: AteButtonComponent, selector: "ate-button", inputs: ["icon", "title", "active", "disabled", "color", "backgroundColor", "variant", "size", "iconSize"], outputs: ["buttonClick"] }, { kind: "component", type: AteSeparatorComponent, selector: "ate-separator" }, { kind: "component", type: AteIconComponent, selector: "ate-icon", inputs: ["name"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6730
6939
|
}
|
|
6731
6940
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteLinkBubbleMenuComponent, decorators: [{
|
|
6732
6941
|
type: Component,
|
|
6733
|
-
args: [{ selector: "ate-link-bubble-menu", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AteButtonComponent, AteSeparatorComponent, FormsModule], template: `
|
|
6942
|
+
args: [{ selector: "ate-link-bubble-menu", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AteButtonComponent, AteSeparatorComponent, AteIconComponent, FormsModule], template: `
|
|
6734
6943
|
<div
|
|
6735
6944
|
#menuRef
|
|
6736
6945
|
class="bubble-menu"
|
|
@@ -6742,7 +6951,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
6742
6951
|
role="dialog">
|
|
6743
6952
|
<div class="link-input-row">
|
|
6744
6953
|
<div class="url-input-container">
|
|
6745
|
-
<
|
|
6954
|
+
<ate-icon class="icon-link" name="link" />
|
|
6746
6955
|
<input
|
|
6747
6956
|
#linkInput
|
|
6748
6957
|
type="text"
|
|
@@ -6758,19 +6967,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
6758
6967
|
|
|
6759
6968
|
<div class="action-buttons">
|
|
6760
6969
|
<ate-button
|
|
6761
|
-
icon="
|
|
6970
|
+
icon="apply"
|
|
6762
6971
|
[title]="common().apply"
|
|
6763
6972
|
color="var(--ate-primary)"
|
|
6764
6973
|
[disabled]="!editUrl().trim()"
|
|
6765
6974
|
(buttonClick)="onApply($event)"></ate-button>
|
|
6766
6975
|
<ate-button
|
|
6767
|
-
icon="
|
|
6976
|
+
icon="openLink"
|
|
6768
6977
|
[title]="t().openLink"
|
|
6769
6978
|
[disabled]="!currentUrl()"
|
|
6770
6979
|
(buttonClick)="onOpenLink($event)"></ate-button>
|
|
6771
6980
|
<ate-separator />
|
|
6772
6981
|
<ate-button
|
|
6773
|
-
icon="
|
|
6982
|
+
icon="unsetLink"
|
|
6774
6983
|
[title]="t().removeLink"
|
|
6775
6984
|
variant="danger"
|
|
6776
6985
|
[disabled]="!currentUrl()"
|
|
@@ -7021,7 +7230,7 @@ class AteColorBubbleMenuComponent extends AteBaseSubBubbleMenu {
|
|
|
7021
7230
|
<div class="native-trigger-wrapper">
|
|
7022
7231
|
<ate-button
|
|
7023
7232
|
class="btn-native-picker-trigger"
|
|
7024
|
-
icon="
|
|
7233
|
+
icon="customColor"
|
|
7025
7234
|
[title]="t().customColor"
|
|
7026
7235
|
[backgroundColor]="currentColor()"
|
|
7027
7236
|
(buttonClick)="triggerNativePicker($event)"></ate-button>
|
|
@@ -7038,7 +7247,7 @@ class AteColorBubbleMenuComponent extends AteBaseSubBubbleMenu {
|
|
|
7038
7247
|
</div>
|
|
7039
7248
|
|
|
7040
7249
|
<ate-button
|
|
7041
|
-
icon="
|
|
7250
|
+
icon="apply"
|
|
7042
7251
|
[title]="common().apply"
|
|
7043
7252
|
color="var(--ate-primary)"
|
|
7044
7253
|
(buttonClick)="onApply($event)"></ate-button>
|
|
@@ -7046,7 +7255,7 @@ class AteColorBubbleMenuComponent extends AteBaseSubBubbleMenu {
|
|
|
7046
7255
|
<ate-separator />
|
|
7047
7256
|
|
|
7048
7257
|
<ate-button
|
|
7049
|
-
icon="
|
|
7258
|
+
icon="unsetColor"
|
|
7050
7259
|
[title]="t().clear"
|
|
7051
7260
|
variant="danger"
|
|
7052
7261
|
(buttonClick)="onClearColor($event)"></ate-button>
|
|
@@ -7103,7 +7312,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
7103
7312
|
<div class="native-trigger-wrapper">
|
|
7104
7313
|
<ate-button
|
|
7105
7314
|
class="btn-native-picker-trigger"
|
|
7106
|
-
icon="
|
|
7315
|
+
icon="customColor"
|
|
7107
7316
|
[title]="t().customColor"
|
|
7108
7317
|
[backgroundColor]="currentColor()"
|
|
7109
7318
|
(buttonClick)="triggerNativePicker($event)"></ate-button>
|
|
@@ -7120,7 +7329,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
7120
7329
|
</div>
|
|
7121
7330
|
|
|
7122
7331
|
<ate-button
|
|
7123
|
-
icon="
|
|
7332
|
+
icon="apply"
|
|
7124
7333
|
[title]="common().apply"
|
|
7125
7334
|
color="var(--ate-primary)"
|
|
7126
7335
|
(buttonClick)="onApply($event)"></ate-button>
|
|
@@ -7128,7 +7337,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
7128
7337
|
<ate-separator />
|
|
7129
7338
|
|
|
7130
7339
|
<ate-button
|
|
7131
|
-
icon="
|
|
7340
|
+
icon="unsetColor"
|
|
7132
7341
|
[title]="t().clear"
|
|
7133
7342
|
variant="danger"
|
|
7134
7343
|
(buttonClick)="onClearColor($event)"></ate-button>
|
|
@@ -7180,49 +7389,49 @@ function createDefaultSlashCommands(i18n, commands, imageOptions) {
|
|
|
7180
7389
|
{
|
|
7181
7390
|
title: t.heading1.title,
|
|
7182
7391
|
description: t.heading1.description,
|
|
7183
|
-
icon: "
|
|
7392
|
+
icon: "heading1",
|
|
7184
7393
|
keywords: t.heading1.keywords,
|
|
7185
7394
|
command: (editor) => commands.toggleHeading(editor, 1),
|
|
7186
7395
|
},
|
|
7187
7396
|
{
|
|
7188
7397
|
title: t.heading2.title,
|
|
7189
7398
|
description: t.heading2.description,
|
|
7190
|
-
icon: "
|
|
7399
|
+
icon: "heading2",
|
|
7191
7400
|
keywords: t.heading2.keywords,
|
|
7192
7401
|
command: (editor) => commands.toggleHeading(editor, 2),
|
|
7193
7402
|
},
|
|
7194
7403
|
{
|
|
7195
7404
|
title: t.heading3.title,
|
|
7196
7405
|
description: t.heading3.description,
|
|
7197
|
-
icon: "
|
|
7406
|
+
icon: "heading3",
|
|
7198
7407
|
keywords: t.heading3.keywords,
|
|
7199
7408
|
command: (editor) => commands.toggleHeading(editor, 3),
|
|
7200
7409
|
},
|
|
7201
7410
|
{
|
|
7202
7411
|
title: t.bulletList.title,
|
|
7203
7412
|
description: t.bulletList.description,
|
|
7204
|
-
icon: "
|
|
7413
|
+
icon: "bulletList",
|
|
7205
7414
|
keywords: t.bulletList.keywords,
|
|
7206
7415
|
command: (editor) => commands.toggleBulletList(editor),
|
|
7207
7416
|
},
|
|
7208
7417
|
{
|
|
7209
7418
|
title: t.orderedList.title,
|
|
7210
7419
|
description: t.orderedList.description,
|
|
7211
|
-
icon: "
|
|
7420
|
+
icon: "orderedList",
|
|
7212
7421
|
keywords: t.orderedList.keywords,
|
|
7213
7422
|
command: (editor) => commands.toggleOrderedList(editor),
|
|
7214
7423
|
},
|
|
7215
7424
|
{
|
|
7216
7425
|
title: t.blockquote.title,
|
|
7217
7426
|
description: t.blockquote.description,
|
|
7218
|
-
icon: "
|
|
7427
|
+
icon: "blockquote",
|
|
7219
7428
|
keywords: t.blockquote.keywords,
|
|
7220
7429
|
command: (editor) => commands.toggleBlockquote(editor),
|
|
7221
7430
|
},
|
|
7222
7431
|
{
|
|
7223
7432
|
title: t.code.title,
|
|
7224
7433
|
description: t.code.description,
|
|
7225
|
-
icon: "
|
|
7434
|
+
icon: "codeBlock",
|
|
7226
7435
|
keywords: t.code.keywords,
|
|
7227
7436
|
command: (editor) => commands.toggleCodeBlock(editor),
|
|
7228
7437
|
},
|
|
@@ -7241,21 +7450,21 @@ function createDefaultSlashCommands(i18n, commands, imageOptions) {
|
|
|
7241
7450
|
{
|
|
7242
7451
|
title: t.horizontalRule.title,
|
|
7243
7452
|
description: t.horizontalRule.description,
|
|
7244
|
-
icon: "
|
|
7453
|
+
icon: "horizontalRule",
|
|
7245
7454
|
keywords: t.horizontalRule.keywords,
|
|
7246
7455
|
command: (editor) => commands.insertHorizontalRule(editor),
|
|
7247
7456
|
},
|
|
7248
7457
|
{
|
|
7249
7458
|
title: t.table.title,
|
|
7250
7459
|
description: t.table.description,
|
|
7251
|
-
icon: "
|
|
7460
|
+
icon: "table",
|
|
7252
7461
|
keywords: t.table.keywords,
|
|
7253
7462
|
command: (editor) => commands.insertTable(editor),
|
|
7254
7463
|
},
|
|
7255
7464
|
{
|
|
7256
7465
|
title: t.tableOfContents.title,
|
|
7257
7466
|
description: t.tableOfContents.description,
|
|
7258
|
-
icon: "
|
|
7467
|
+
icon: "tableOfContents",
|
|
7259
7468
|
keywords: t.tableOfContents.keywords,
|
|
7260
7469
|
command: (editor) => editor.chain().focus().insertContent({ type: "tableOfContents" }).run(),
|
|
7261
7470
|
},
|
|
@@ -7587,7 +7796,7 @@ class AteSlashCommandsComponent {
|
|
|
7587
7796
|
(mousedown)="executeCommand(command); $event.preventDefault(); $event.stopPropagation()"
|
|
7588
7797
|
(mouseenter)="selectedIndex.set($index)">
|
|
7589
7798
|
<div class="slash-command-icon">
|
|
7590
|
-
<
|
|
7799
|
+
<ate-icon [name]="command.icon" />
|
|
7591
7800
|
</div>
|
|
7592
7801
|
<div class="slash-command-content">
|
|
7593
7802
|
<div class="slash-command-title">{{ command.title }}</div>
|
|
@@ -7596,11 +7805,11 @@ class AteSlashCommandsComponent {
|
|
|
7596
7805
|
</div>
|
|
7597
7806
|
}
|
|
7598
7807
|
</div>
|
|
7599
|
-
`, isInline: true, styles: [".slash-commands-menu{background:var(--ate-menu-bg);border:1px solid var(--ate-menu-border);border-radius:var(--ate-menu-border-radius, 12px);box-shadow:var(--ate-menu-shadow);padding:var(--ate-menu-padding);max-height:320px;overflow-y:auto;min-width:280px;outline:none;animation:slashMenuFadeIn .2s cubic-bezier(0,0,.2,1);scrollbar-width:thin;scrollbar-color:var(--ate-scrollbar-thumb) var(--ate-scrollbar-track)}.slash-commands-menu::-webkit-scrollbar{width:var(--ate-scrollbar-width)}.slash-commands-menu::-webkit-scrollbar-track{background:var(--ate-scrollbar-track)}.slash-commands-menu::-webkit-scrollbar-thumb{background:var(--ate-scrollbar-thumb);border:3px solid transparent;background-clip:content-box;border-radius:10px}.slash-commands-menu::-webkit-scrollbar-thumb:hover{background:var(--ate-scrollbar-thumb-hover);background-clip:content-box}@keyframes slashMenuFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.slash-command-item{display:flex;align-items:center;gap:12px;padding:var(--ate-menu-padding);border-radius:var(--ate-menu-border-radius, 8px);cursor:pointer;transition:all .15s ease;border:var(--ate-border-width, 1px) solid transparent;outline:none;margin-bottom:2px}.slash-command-item:last-child{margin-bottom:0}.slash-command-item:hover{background:var(--ate-surface-secondary)}.slash-command-item.selected{background:var(--ate-primary-light);border-color:var(--ate-primary-light-alpha)}.slash-command-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--ate-surface-tertiary);border-radius:var(--ate-sub-border-radius, 8px);color:var(--ate-primary);flex-shrink:0;transition:all .15s ease}.slash-command-item.selected .slash-command-icon{background:var(--ate-primary);color:var(--ate-primary-contrast, #ffffff)}.slash-command-icon .
|
|
7808
|
+
`, isInline: true, styles: [".slash-commands-menu{background:var(--ate-menu-bg);border:1px solid var(--ate-menu-border);border-radius:var(--ate-menu-border-radius, 12px);box-shadow:var(--ate-menu-shadow);padding:var(--ate-menu-padding);max-height:320px;overflow-y:auto;min-width:280px;outline:none;animation:slashMenuFadeIn .2s cubic-bezier(0,0,.2,1);scrollbar-width:thin;scrollbar-color:var(--ate-scrollbar-thumb) var(--ate-scrollbar-track)}.slash-commands-menu::-webkit-scrollbar{width:var(--ate-scrollbar-width)}.slash-commands-menu::-webkit-scrollbar-track{background:var(--ate-scrollbar-track)}.slash-commands-menu::-webkit-scrollbar-thumb{background:var(--ate-scrollbar-thumb);border:3px solid transparent;background-clip:content-box;border-radius:10px}.slash-commands-menu::-webkit-scrollbar-thumb:hover{background:var(--ate-scrollbar-thumb-hover);background-clip:content-box}@keyframes slashMenuFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.slash-command-item{display:flex;align-items:center;gap:12px;padding:var(--ate-menu-padding);border-radius:var(--ate-menu-border-radius, 8px);cursor:pointer;transition:all .15s ease;border:var(--ate-border-width, 1px) solid transparent;outline:none;margin-bottom:2px}.slash-command-item:last-child{margin-bottom:0}.slash-command-item:hover{background:var(--ate-surface-secondary)}.slash-command-item.selected{background:var(--ate-primary-light);border-color:var(--ate-primary-light-alpha)}.slash-command-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--ate-surface-tertiary);border-radius:var(--ate-sub-border-radius, 8px);color:var(--ate-primary);flex-shrink:0;transition:all .15s ease}.slash-command-item.selected .slash-command-icon{background:var(--ate-primary);color:var(--ate-primary-contrast, #ffffff)}.slash-command-icon .ate-icon{font-size:18px}.slash-command-content{flex:1;min-width:0}.slash-command-title{font-weight:500;color:var(--ate-text);font-size:14px;margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slash-command-description{color:var(--ate-text-secondary);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "component", type: AteIconComponent, selector: "ate-icon", inputs: ["name"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7600
7809
|
}
|
|
7601
7810
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteSlashCommandsComponent, decorators: [{
|
|
7602
7811
|
type: Component,
|
|
7603
|
-
args: [{ selector: "ate-slash-commands", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
7812
|
+
args: [{ selector: "ate-slash-commands", imports: [AteIconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
7604
7813
|
<div #menuRef class="slash-commands-menu">
|
|
7605
7814
|
@for (command of filteredCommands(); track command.title) {
|
|
7606
7815
|
<div
|
|
@@ -7609,7 +7818,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
7609
7818
|
(mousedown)="executeCommand(command); $event.preventDefault(); $event.stopPropagation()"
|
|
7610
7819
|
(mouseenter)="selectedIndex.set($index)">
|
|
7611
7820
|
<div class="slash-command-icon">
|
|
7612
|
-
<
|
|
7821
|
+
<ate-icon [name]="command.icon" />
|
|
7613
7822
|
</div>
|
|
7614
7823
|
<div class="slash-command-content">
|
|
7615
7824
|
<div class="slash-command-title">{{ command.title }}</div>
|
|
@@ -7618,7 +7827,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
7618
7827
|
</div>
|
|
7619
7828
|
}
|
|
7620
7829
|
</div>
|
|
7621
|
-
`, styles: [".slash-commands-menu{background:var(--ate-menu-bg);border:1px solid var(--ate-menu-border);border-radius:var(--ate-menu-border-radius, 12px);box-shadow:var(--ate-menu-shadow);padding:var(--ate-menu-padding);max-height:320px;overflow-y:auto;min-width:280px;outline:none;animation:slashMenuFadeIn .2s cubic-bezier(0,0,.2,1);scrollbar-width:thin;scrollbar-color:var(--ate-scrollbar-thumb) var(--ate-scrollbar-track)}.slash-commands-menu::-webkit-scrollbar{width:var(--ate-scrollbar-width)}.slash-commands-menu::-webkit-scrollbar-track{background:var(--ate-scrollbar-track)}.slash-commands-menu::-webkit-scrollbar-thumb{background:var(--ate-scrollbar-thumb);border:3px solid transparent;background-clip:content-box;border-radius:10px}.slash-commands-menu::-webkit-scrollbar-thumb:hover{background:var(--ate-scrollbar-thumb-hover);background-clip:content-box}@keyframes slashMenuFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.slash-command-item{display:flex;align-items:center;gap:12px;padding:var(--ate-menu-padding);border-radius:var(--ate-menu-border-radius, 8px);cursor:pointer;transition:all .15s ease;border:var(--ate-border-width, 1px) solid transparent;outline:none;margin-bottom:2px}.slash-command-item:last-child{margin-bottom:0}.slash-command-item:hover{background:var(--ate-surface-secondary)}.slash-command-item.selected{background:var(--ate-primary-light);border-color:var(--ate-primary-light-alpha)}.slash-command-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--ate-surface-tertiary);border-radius:var(--ate-sub-border-radius, 8px);color:var(--ate-primary);flex-shrink:0;transition:all .15s ease}.slash-command-item.selected .slash-command-icon{background:var(--ate-primary);color:var(--ate-primary-contrast, #ffffff)}.slash-command-icon .
|
|
7830
|
+
`, styles: [".slash-commands-menu{background:var(--ate-menu-bg);border:1px solid var(--ate-menu-border);border-radius:var(--ate-menu-border-radius, 12px);box-shadow:var(--ate-menu-shadow);padding:var(--ate-menu-padding);max-height:320px;overflow-y:auto;min-width:280px;outline:none;animation:slashMenuFadeIn .2s cubic-bezier(0,0,.2,1);scrollbar-width:thin;scrollbar-color:var(--ate-scrollbar-thumb) var(--ate-scrollbar-track)}.slash-commands-menu::-webkit-scrollbar{width:var(--ate-scrollbar-width)}.slash-commands-menu::-webkit-scrollbar-track{background:var(--ate-scrollbar-track)}.slash-commands-menu::-webkit-scrollbar-thumb{background:var(--ate-scrollbar-thumb);border:3px solid transparent;background-clip:content-box;border-radius:10px}.slash-commands-menu::-webkit-scrollbar-thumb:hover{background:var(--ate-scrollbar-thumb-hover);background-clip:content-box}@keyframes slashMenuFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.slash-command-item{display:flex;align-items:center;gap:12px;padding:var(--ate-menu-padding);border-radius:var(--ate-menu-border-radius, 8px);cursor:pointer;transition:all .15s ease;border:var(--ate-border-width, 1px) solid transparent;outline:none;margin-bottom:2px}.slash-command-item:last-child{margin-bottom:0}.slash-command-item:hover{background:var(--ate-surface-secondary)}.slash-command-item.selected{background:var(--ate-primary-light);border-color:var(--ate-primary-light-alpha)}.slash-command-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--ate-surface-tertiary);border-radius:var(--ate-sub-border-radius, 8px);color:var(--ate-primary);flex-shrink:0;transition:all .15s ease}.slash-command-item.selected .slash-command-icon{background:var(--ate-primary);color:var(--ate-primary-contrast, #ffffff)}.slash-command-icon .ate-icon{font-size:18px}.slash-command-content{flex:1;min-width:0}.slash-command-title{font-weight:500;color:var(--ate-text);font-size:14px;margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slash-command-description{color:var(--ate-text-secondary);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
|
|
7622
7831
|
}], ctorParameters: () => [] });
|
|
7623
7832
|
|
|
7624
7833
|
/**
|
|
@@ -7826,7 +8035,7 @@ class AteBlockControlsComponent {
|
|
|
7826
8035
|
(click)="addBlock($event)"
|
|
7827
8036
|
[ateTooltip]="i18n.editor().blockAdd"
|
|
7828
8037
|
ateTooltipPlacement="top">
|
|
7829
|
-
<
|
|
8038
|
+
<ate-icon name="blockAdd" />
|
|
7830
8039
|
</button>
|
|
7831
8040
|
<div
|
|
7832
8041
|
class="ate-control-btn ate-block-drag"
|
|
@@ -7836,14 +8045,14 @@ class AteBlockControlsComponent {
|
|
|
7836
8045
|
(dragend)="onDragEnd()"
|
|
7837
8046
|
[ateTooltip]="i18n.editor().blockDrag"
|
|
7838
8047
|
ateTooltipPlacement="top">
|
|
7839
|
-
<
|
|
8048
|
+
<ate-icon name="blockDrag" />
|
|
7840
8049
|
</div>
|
|
7841
8050
|
</div>
|
|
7842
|
-
`, isInline: true, styles: [".ate-block-controls{display:flex;align-items:center;gap:2px;padding:4px;pointer-events:auto;will-change:transform}.ate-control-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;border:none;background:transparent;color:var(--ate-text-secondary);cursor:pointer;transition:all .15s ease}.ate-control-btn:hover{background:var(--ate-surface-tertiary);color:var(--ate-text)}.ate-control-btn .
|
|
8051
|
+
`, isInline: true, styles: [".ate-block-controls{display:flex;align-items:center;gap:2px;padding:4px;pointer-events:auto;will-change:transform}.ate-control-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;border:none;background:transparent;color:var(--ate-text-secondary);cursor:pointer;transition:all .15s ease}.ate-control-btn:hover{background:var(--ate-surface-tertiary);color:var(--ate-text)}.ate-control-btn .ate-icon{font-size:18px}@media (max-width: 768px){:host{display:none!important}}\n"], dependencies: [{ kind: "directive", type: AteTooltipDirective, selector: "[ateTooltip]", inputs: ["ateTooltip", "ateTooltipPlacement", "ateTooltipDelay", "ateTooltipDisabled"] }, { kind: "component", type: AteIconComponent, selector: "ate-icon", inputs: ["name"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7843
8052
|
}
|
|
7844
8053
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteBlockControlsComponent, decorators: [{
|
|
7845
8054
|
type: Component,
|
|
7846
|
-
args: [{ selector: "ate-block-controls", standalone: true, imports: [AteTooltipDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
8055
|
+
args: [{ selector: "ate-block-controls", standalone: true, imports: [AteTooltipDirective, AteIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
7847
8056
|
<div
|
|
7848
8057
|
#menuRef
|
|
7849
8058
|
class="ate-block-controls"
|
|
@@ -7856,7 +8065,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
7856
8065
|
(click)="addBlock($event)"
|
|
7857
8066
|
[ateTooltip]="i18n.editor().blockAdd"
|
|
7858
8067
|
ateTooltipPlacement="top">
|
|
7859
|
-
<
|
|
8068
|
+
<ate-icon name="blockAdd" />
|
|
7860
8069
|
</button>
|
|
7861
8070
|
<div
|
|
7862
8071
|
class="ate-control-btn ate-block-drag"
|
|
@@ -7866,10 +8075,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
7866
8075
|
(dragend)="onDragEnd()"
|
|
7867
8076
|
[ateTooltip]="i18n.editor().blockDrag"
|
|
7868
8077
|
ateTooltipPlacement="top">
|
|
7869
|
-
<
|
|
8078
|
+
<ate-icon name="blockDrag" />
|
|
7870
8079
|
</div>
|
|
7871
8080
|
</div>
|
|
7872
|
-
`, styles: [".ate-block-controls{display:flex;align-items:center;gap:2px;padding:4px;pointer-events:auto;will-change:transform}.ate-control-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;border:none;background:transparent;color:var(--ate-text-secondary);cursor:pointer;transition:all .15s ease}.ate-control-btn:hover{background:var(--ate-surface-tertiary);color:var(--ate-text)}.ate-control-btn .
|
|
8081
|
+
`, styles: [".ate-block-controls{display:flex;align-items:center;gap:2px;padding:4px;pointer-events:auto;will-change:transform}.ate-control-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;border:none;background:transparent;color:var(--ate-text-secondary);cursor:pointer;transition:all .15s ease}.ate-control-btn:hover{background:var(--ate-surface-tertiary);color:var(--ate-text)}.ate-control-btn .ate-icon{font-size:18px}@media (max-width: 768px){:host{display:none!important}}\n"] }]
|
|
7873
8082
|
}], ctorParameters: () => [] });
|
|
7874
8083
|
|
|
7875
8084
|
/**
|
|
@@ -7886,7 +8095,7 @@ class AteEditToggleComponent {
|
|
|
7886
8095
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: AteEditToggleComponent, isStandalone: true, selector: "ate-edit-toggle", inputs: { editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: true, transformFunction: null }, translations: { classPropertyName: "translations", publicName: "translations", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { editToggle: "editToggle" }, ngImport: i0, template: `
|
|
7887
8096
|
<div class="ate-edit-toggle-container" [class.is-editable]="editable()">
|
|
7888
8097
|
<ate-button
|
|
7889
|
-
[icon]="editable() ? '
|
|
8098
|
+
[icon]="editable() ? 'preview' : 'edit'"
|
|
7890
8099
|
[title]="editable() ? translations().editor.viewMode : translations().editor.toggleEdit"
|
|
7891
8100
|
(buttonClick)="editToggle.emit($event)"
|
|
7892
8101
|
size="medium"
|
|
@@ -7900,7 +8109,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
7900
8109
|
args: [{ selector: "ate-edit-toggle", standalone: true, imports: [CommonModule, AteButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
7901
8110
|
<div class="ate-edit-toggle-container" [class.is-editable]="editable()">
|
|
7902
8111
|
<ate-button
|
|
7903
|
-
[icon]="editable() ? '
|
|
8112
|
+
[icon]="editable() ? 'preview' : 'edit'"
|
|
7904
8113
|
[title]="editable() ? translations().editor.viewMode : translations().editor.toggleEdit"
|
|
7905
8114
|
(buttonClick)="editToggle.emit($event)"
|
|
7906
8115
|
size="medium"
|
|
@@ -8419,14 +8628,26 @@ class AngularTiptapEditorComponent {
|
|
|
8419
8628
|
this.minHeight = input(undefined);
|
|
8420
8629
|
this.height = input(undefined);
|
|
8421
8630
|
this.maxHeight = input(undefined);
|
|
8422
|
-
this.fillContainer = input(undefined, {
|
|
8423
|
-
|
|
8631
|
+
this.fillContainer = input(undefined, {
|
|
8632
|
+
transform: transformBooleanInput,
|
|
8633
|
+
});
|
|
8634
|
+
this.showToolbar = input(undefined, {
|
|
8635
|
+
transform: transformBooleanInput,
|
|
8636
|
+
});
|
|
8424
8637
|
this.showFooter = input(undefined, { transform: transformBooleanInput });
|
|
8425
|
-
this.showCharacterCount = input(undefined, {
|
|
8426
|
-
|
|
8638
|
+
this.showCharacterCount = input(undefined, {
|
|
8639
|
+
transform: transformBooleanInput,
|
|
8640
|
+
});
|
|
8641
|
+
this.showWordCount = input(undefined, {
|
|
8642
|
+
transform: transformBooleanInput,
|
|
8643
|
+
});
|
|
8427
8644
|
this.maxCharacters = input(undefined);
|
|
8428
|
-
this.enableOfficePaste = input(undefined, {
|
|
8429
|
-
|
|
8645
|
+
this.enableOfficePaste = input(undefined, {
|
|
8646
|
+
transform: transformBooleanInput,
|
|
8647
|
+
});
|
|
8648
|
+
this.enableSlashCommands = input(undefined, {
|
|
8649
|
+
transform: transformBooleanInput,
|
|
8650
|
+
});
|
|
8430
8651
|
this.slashCommands = input(undefined);
|
|
8431
8652
|
this.customSlashCommands = input(undefined);
|
|
8432
8653
|
this.blockControls = input();
|
|
@@ -8434,22 +8655,34 @@ class AngularTiptapEditorComponent {
|
|
|
8434
8655
|
this.autofocus = input(undefined);
|
|
8435
8656
|
this.mode = input(undefined);
|
|
8436
8657
|
this.seamless = input(undefined, { transform: transformBooleanInput });
|
|
8437
|
-
this.floatingToolbar = input(undefined, {
|
|
8438
|
-
|
|
8658
|
+
this.floatingToolbar = input(undefined, {
|
|
8659
|
+
transform: transformBooleanInput,
|
|
8660
|
+
});
|
|
8661
|
+
this.showEditToggle = input(undefined, {
|
|
8662
|
+
transform: transformBooleanInput,
|
|
8663
|
+
});
|
|
8439
8664
|
this.spellcheck = input(undefined, { transform: transformBooleanInput });
|
|
8440
8665
|
this.tiptapExtensions = input(undefined);
|
|
8441
8666
|
this.tiptapOptions = input(undefined);
|
|
8442
8667
|
// Nouveaux inputs pour les bubble menus
|
|
8443
|
-
this.showBubbleMenu = input(undefined, {
|
|
8668
|
+
this.showBubbleMenu = input(undefined, {
|
|
8669
|
+
transform: transformBooleanInput,
|
|
8670
|
+
});
|
|
8444
8671
|
this.bubbleMenu = input(undefined);
|
|
8445
|
-
this.showImageBubbleMenu = input(undefined, {
|
|
8672
|
+
this.showImageBubbleMenu = input(undefined, {
|
|
8673
|
+
transform: transformBooleanInput,
|
|
8674
|
+
});
|
|
8446
8675
|
this.imageBubbleMenu = input(undefined);
|
|
8447
8676
|
// Configuration de la toolbar
|
|
8448
8677
|
this.toolbar = input(undefined);
|
|
8449
8678
|
// Configuration des menus de table
|
|
8450
|
-
this.showTableBubbleMenu = input(undefined, {
|
|
8679
|
+
this.showTableBubbleMenu = input(undefined, {
|
|
8680
|
+
transform: transformBooleanInput,
|
|
8681
|
+
});
|
|
8451
8682
|
this.tableBubbleMenu = input(undefined);
|
|
8452
|
-
this.showCellBubbleMenu = input(undefined, {
|
|
8683
|
+
this.showCellBubbleMenu = input(undefined, {
|
|
8684
|
+
transform: transformBooleanInput,
|
|
8685
|
+
});
|
|
8453
8686
|
this.cellBubbleMenu = input(undefined);
|
|
8454
8687
|
/**
|
|
8455
8688
|
* Additionnal state calculators to extend the reactive editor state.
|
|
@@ -8680,6 +8913,7 @@ class AngularTiptapEditorComponent {
|
|
|
8680
8913
|
// Access editor state via service
|
|
8681
8914
|
this.editorState = this.editorCommandsService.editorState;
|
|
8682
8915
|
this.editorRegistry = inject(AteEditorRegistry);
|
|
8916
|
+
this.iconRegistry = inject(AteIconRegistry);
|
|
8683
8917
|
this._registeredId = signal(null);
|
|
8684
8918
|
this.registeredId = this._registeredId.asReadonly();
|
|
8685
8919
|
this.injector = inject(Injector);
|
|
@@ -8841,6 +9075,7 @@ class AngularTiptapEditorComponent {
|
|
|
8841
9075
|
isUploading: () => this.editorCommandsService.isUploading(),
|
|
8842
9076
|
uploadProgress: () => this.editorCommandsService.uploadProgress(),
|
|
8843
9077
|
uploadMessage: () => this.editorCommandsService.uploadMessage(),
|
|
9078
|
+
iconHtml: () => this.iconRegistry.html("imageUpload", "spinning"),
|
|
8844
9079
|
}),
|
|
8845
9080
|
AteTableExtension,
|
|
8846
9081
|
registerAngularComponent(this.injector, AteTocNodeOptions),
|
|
@@ -9258,7 +9493,7 @@ class AngularTiptapEditorComponent {
|
|
|
9258
9493
|
</div>
|
|
9259
9494
|
}
|
|
9260
9495
|
</div>
|
|
9261
|
-
`, isInline: true, styles: [":host{--ate-primary: #2563eb;--ate-primary-hover: #153ca9;--ate-primary-contrast: #ffffff;--ate-primary-light: color-mix(in srgb, var(--ate-primary), transparent 90%);--ate-primary-lighter: color-mix(in srgb, var(--ate-primary), transparent 95%);--ate-primary-light-alpha: color-mix(in srgb, var(--ate-primary), transparent 85%);--ate-surface: #ffffff;--ate-surface-secondary: #f8f9fa;--ate-surface-tertiary: #f1f5f9;--ate-text: #2d3748;--ate-text-secondary: #64748b;--ate-text-muted: #a0aec0;--ate-border: #e2e8f0;--ate-highlight-bg: #fef08a;--ate-highlight-color: #854d0e;--ate-button-hover: #f1f5f9;--ate-button-active: #e2e8f0;--ate-selection-bg: var(--ate-primary-light-alpha);--ate-error-color: #c53030;--ate-error-bg: #fed7d7;--ate-error-border: #feb2b2;--ate-border-color: var(--ate-border);--ate-border-width: 2px;--ate-border-radius: 12px;--ate-sub-border-radius: 8px;--ate-focus-color: var(--ate-primary);--ate-background: var(--ate-surface);--ate-text-color: var(--ate-text, #2d3748);--ate-placeholder-color: var(--ate-text-muted, #a0aec0);--ate-line-height: 1.6;--ate-content-padding-block: 16px;--ate-content-padding-inline: 16px;--ate-content-gutter: 0px;--ate-menu-bg: var(--ate-surface, #ffffff);--ate-menu-border-radius: var(--ate-border-radius, 12px);--ate-menu-border: var(--ate-border, #e2e8f0);--ate-menu-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--ate-menu-padding: 4px;--ate-menu-gap: 2px;--ate-toolbar-padding: var(--ate-menu-padding);--ate-toolbar-gap: var(--ate-menu-gap);--ate-toolbar-background: var(--ate-surface-secondary, #f8f9fa);--ate-toolbar-border-color: var(--ate-border, #e2e8f0);--ate-toolbar-button-color: var(--ate-text-secondary, #64748b);--ate-toolbar-button-hover-background: transparent;--ate-toolbar-button-active-background: color-mix( in srgb, var(--ate-primary, #2563eb), transparent 90% );--ate-toolbar-button-active-color: var(--ate-primary, #2563eb);--ate-counter-color: var(--ate-text-secondary, #64748b);--ate-counter-background: var(--ate-surface-secondary, #f8f9fa);--ate-counter-border-color: var(--ate-border, #e2e8f0);--ate-drag-background: #f0f8ff;--ate-drag-border-color: var(--ate-primary, #2563eb);--ate-blockquote-border-color: var(--ate-border, #e2e8f0);--ate-blockquote-background: var(--ate-surface-secondary, #f8f9fa);--ate-code-background: var(--ate-surface-secondary, #f8f9fa);--ate-code-color: var(--ate-text, #2d3748);--ate-code-border-color: var(--ate-border, #e2e8f0);--ate-code-block-background: #0f172a;--ate-code-block-color: #e2e8f0;--ate-code-block-border-color: var(--ate-border, #e2e8f0);--ate-image-border-radius: 16px;--ate-image-selected-color: var(--ate-primary, #2563eb);--ate-scrollbar-width: 10px;--ate-scrollbar-thumb: var(--ate-border, #e2e8f0);--ate-scrollbar-thumb-hover: var(--ate-text-muted, #a0aec0);--ate-scrollbar-track: transparent;--ate-table-border-color: var(--ate-border, #e2e8f0);--ate-table-header-background: var(--ate-surface-secondary, #f8f9fa);--ate-table-header-color: var(--ate-text, #2d3748);--ate-table-cell-background: var(--ate-surface, #ffffff);--ate-table-cell-selected-background: color-mix( in srgb, var(--ate-primary, #2563eb), transparent 90% );--ate-table-resize-handle-color: var(--ate-primary, #2563eb);--ate-table-row-hover-background: color-mix( in srgb, var(--ate-primary, #2563eb), transparent 95% );--ate-tooltip-bg: var(--ate-code-block-background, #0f172a);--ate-tooltip-color: var(--ate-code-block-color, #e2e8f0)}:host(.dark),:host([data-theme=\"dark\"]){--ate-primary: #3b82f6;--ate-primary-contrast: #ffffff;--ate-primary-light: color-mix(in srgb, var(--ate-primary), transparent 85%);--ate-primary-lighter: color-mix(in srgb, var(--ate-primary), transparent 92%);--ate-primary-light-alpha: color-mix(in srgb, var(--ate-primary), transparent 80%);--ate-surface: #020617;--ate-surface-secondary: #0f172a;--ate-surface-tertiary: #1e293b;--ate-text: #f8fafc;--ate-text-secondary: #94a3b8;--ate-text-muted: #64748b;--ate-border: #1e293b;--ate-highlight-bg: #854d0e;--ate-highlight-color: #fef08a;--ate-button-hover: #1e293b;--ate-button-active: #0f172a;--ate-menu-border: rgba(255, 255, 255, .1);--ate-menu-shadow: 0 20px 25px -5px rgba(0, 0, 0, .3), 0 10px 10px -5px rgba(0, 0, 0, .2);--ate-error-color: #f87171;--ate-error-bg: #450a0a;--ate-error-border: #7f1d1d;--ate-drag-background: var(--ate-surface-tertiary);--ate-drag-border-color: var(--ate-primary);--ate-blockquote-border-color: var(--ate-primary);--ate-toolbar-button-active-background: var(--ate-primary-light);--ate-toolbar-button-active-color: var(--ate-primary);--ate-button-hover: var(--ate-surface-tertiary);--ate-button-active: var(--ate-surface-secondary);--ate-scrollbar-thumb: var(--ate-surface-tertiary);--ate-scrollbar-thumb-hover: var(--ate-text-muted)}:host(.fill-container){display:block;height:100%}.ate-editor{border:var(--ate-border-width) solid var(--ate-border-color);border-radius:var(--ate-border-radius);background:var(--ate-background);overflow:visible;transition:border-color .2s ease;position:relative}:host(.floating-toolbar) .ate-editor{overflow:visible}:host(.fill-container) .ate-editor{display:flex;flex-direction:column;height:100%}:host(.fill-container) .ate-content-wrapper{flex:1;min-height:0}:host(.fill-container) .ate-content{flex:1;min-height:0;overflow-y:auto}.ate-editor:focus-within{border-color:var(--ate-focus-color)}.ate-content{min-height:var(--editor-min-height, 200px);height:var(--editor-height, auto);max-height:var(--editor-max-height, none);overflow-y:var(--editor-overflow, visible);outline:none;position:relative;scrollbar-width:thin;scrollbar-color:var(--ate-scrollbar-thumb) var(--ate-scrollbar-track)}:host(.is-disabled) .ate-content{cursor:not-allowed;opacity:.7;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:var(--ate-surface-tertiary)}:host(.is-readonly) .ate-content{cursor:default;-webkit-user-select:text;user-select:text}:host(.is-readonly) .ate-content ::ng-deep .ate-link{cursor:pointer;pointer-events:auto}.ate-content::-webkit-scrollbar{width:var(--ate-scrollbar-width)}.ate-content-wrapper{position:relative;display:flex;flex-direction:column;min-height:0}.ate-content-wrapper .ate-content{flex:1}.ate-content::-webkit-scrollbar-track{background:var(--ate-scrollbar-track)}.ate-content::-webkit-scrollbar-thumb{background:var(--ate-scrollbar-thumb);border:3px solid transparent;background-clip:content-box;border-radius:10px}.ate-content::-webkit-scrollbar-thumb:hover{background:var(--ate-scrollbar-thumb-hover);background-clip:content-box}.ate-content.drag-over{background:var(--ate-drag-background);border:2px dashed var(--ate-drag-border-color)}.character-count{padding:6px 8px;font-size:12px;color:var(--ate-counter-color);text-align:right;border-top:1px solid var(--ate-counter-border-color);background:var(--ate-counter-background);transition:color .2s ease;border-bottom-left-radius:calc(var(--ate-border-radius) - var(--ate-border-width));border-bottom-right-radius:calc(var(--ate-border-radius) - var(--ate-border-width))}.character-count.limit-reached{color:var(--ate-error-color, #ef4444);font-weight:600}:host.ate-blocks-inside{--ate-content-gutter: 54px}@media (max-width: 768px){:host.ate-blocks-inside{--ate-content-gutter: 0px}ate-block-controls{display:none!important}}:host ::ng-deep .ProseMirror{padding-inline:calc(var(--ate-content-padding-inline) + var(--ate-content-gutter));padding-block:var(--ate-content-padding-block);outline:none;line-height:var(--ate-line-height);color:var(--ate-text-color);min-height:100%;height:100%;word-wrap:break-word;overflow-wrap:break-word}:host ::ng-deep .ProseMirror ::selection{background-color:var(--ate-selection-bg);color:inherit}:host ::ng-deep .ProseMirror ::-moz-selection{background-color:var(--ate-selection-bg);color:inherit}:host ::ng-deep .ProseMirror h1{font-size:2em;font-weight:700;margin-top:0;margin-bottom:.5em}:host ::ng-deep .ProseMirror h2{font-size:1.5em;font-weight:700;margin-top:1em;margin-bottom:.5em}:host ::ng-deep .ProseMirror h3{font-size:1.25em;font-weight:700;margin-top:1em;margin-bottom:.5em}:host ::ng-deep .ProseMirror p{margin:.5em 0}:host ::ng-deep .ProseMirror ul,:host ::ng-deep .ProseMirror ol{padding-left:2em;margin:.5em 0}:host ::ng-deep .ProseMirror blockquote{border-left:4px solid var(--ate-blockquote-border-color);margin:1em 0;background:var(--ate-blockquote-background);padding:.5em 1em;border-radius:0 4px 4px 0}:host ::ng-deep .ProseMirror code{background:var(--ate-code-background);color:var(--ate-code-color);border:1px solid var(--ate-code-border-color);padding:.15em .4em;border-radius:4px;font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;font-size:.85em;font-weight:500}:host ::ng-deep .ProseMirror pre{background:var(--ate-code-block-background);color:var(--ate-code-block-color);border:1px solid var(--ate-code-block-border-color);padding:1em;border-radius:var(--ate-border-radius);overflow-x:auto;margin:1em 0}:host ::ng-deep .ProseMirror pre code{background:none;color:inherit;border:none;padding:0}:host ::ng-deep .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--ate-placeholder-color);pointer-events:none;float:left;height:0}:host ::ng-deep .ProseMirror[contenteditable=false] img{cursor:pointer}:host ::ng-deep .ProseMirror[contenteditable=false] a{cursor:pointer}:host ::ng-deep .ProseMirror[contenteditable=false] img:hover{transform:none;box-shadow:0 2px 8px #0000001a}:host ::ng-deep .ProseMirror[contenteditable=false] img.ProseMirror-selectednode{outline:none}:host ::ng-deep .ProseMirror img{position:relative;display:inline-block;max-width:100%;height:auto;cursor:pointer;transition:all .2s ease;border:2px solid transparent;border-radius:var(--ate-image-border-radius)}:host ::ng-deep .ProseMirror img:hover{border-color:var(--ate-border-color);box-shadow:0 2px 4px #0000001a}:host ::ng-deep .ProseMirror img.ProseMirror-selectednode,:host ::ng-deep .resizable-image-container.selected img{border-color:var(--ate-image-selected-color);transition:all .2s ease}:host ::ng-deep .ProseMirror [data-text-align=center],:host ::ng-deep .ProseMirror [data-align=center]{text-align:center}:host ::ng-deep .ProseMirror [data-text-align=right],:host ::ng-deep .ProseMirror [data-align=right]{text-align:right}:host ::ng-deep .ProseMirror [data-text-align=left],:host ::ng-deep .ProseMirror [data-align=left]{text-align:left}:host ::ng-deep .resizable-image-wrapper{display:block;width:100%;margin:.5em 0}:host ::ng-deep .resizable-image-container{position:relative;display:inline-block;max-width:100%}:host ::ng-deep .resize-controls{position:absolute;inset:0;pointer-events:none;z-index:1000;opacity:0;transition:opacity .2s ease}::ng-deep .ate-slash-decoration{background:var( --ate-primary-light, color-mix(in srgb, var(--ate-primary, #2563eb), transparent 90%) );padding:4px 8px;border-radius:var(--ate-sub-border-radius, 8px)}::ng-deep .ate-slash-decoration.is-empty:after{content:attr(data-decoration-content);color:var(--ate-text-secondary);font-weight:400;opacity:.7}:host:not(.is-readonly):not(.is-disabled) ::ng-deep .resizable-image-container:hover .resize-controls,:host:not(.is-readonly):not(.is-disabled) ::ng-deep body.resizing .resize-controls{opacity:1}:host ::ng-deep .resize-handle{position:absolute;width:.35rem;height:2rem;background:var(--ate-primary);border:2px solid var(--ate-surface);border-radius:var(--ate-border-radius);pointer-events:all;cursor:pointer;z-index:1001;transition:all .15s ease;box-shadow:0 2px 6px #0003}:host ::ng-deep .resize-handle:hover{background:var(--ate-primary);box-shadow:0 3px 8px #0000004d}:host ::ng-deep .resize-handle:active{background:var(--ate-primary)}:host ::ng-deep .resize-handle-w:hover,:host ::ng-deep .resize-handle-e:hover{background:var(--ate-primary-hover)}:host ::ng-deep .resize-handle-w:active,:host ::ng-deep .resize-handle-e:active{transform:translateY(-50%) scale(.9);background:var(--ate-primary-hover)}:host ::ng-deep .resize-handle-w{top:50%;left:.35rem;transform:translateY(-50%);cursor:w-resize}:host ::ng-deep .resize-handle-e{top:50%;right:.35rem;transform:translateY(-50%);cursor:e-resize}:host ::ng-deep body.resizing{-webkit-user-select:none;user-select:none;cursor:crosshair}:host ::ng-deep body.resizing .ProseMirror{pointer-events:none}:host ::ng-deep body.resizing .ProseMirror .resizable-image-container{pointer-events:none}:host ::ng-deep .image-size-info{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:2px 6px;border-radius:3px;font-size:11px;white-space:nowrap;opacity:0;transition:opacity .2s ease}:host ::ng-deep .resizable-image-container:hover .image-size-info{opacity:1}:host ::ng-deep .ProseMirror table{border-collapse:separate;border-spacing:0;margin:0;table-layout:fixed;width:100%;border-radius:8px;overflow:hidden}:host ::ng-deep .ProseMirror table td,:host ::ng-deep .ProseMirror table th{border:none;border-right:1px solid var(--ate-table-border-color);border-bottom:1px solid var(--ate-table-border-color);box-sizing:border-box;min-width:1em;padding:8px 12px;position:relative;vertical-align:top;text-align:left}:host ::ng-deep .ProseMirror table td{background:var(--ate-table-cell-background)}:host ::ng-deep .ProseMirror table td:first-child,:host ::ng-deep .ProseMirror table th:first-child{border-left:1px solid var(--ate-table-border-color)}:host ::ng-deep .ProseMirror table tr:first-child td,:host ::ng-deep .ProseMirror table tr:first-child th{border-top:1px solid var(--ate-table-border-color)}:host ::ng-deep .ProseMirror table tr:first-child th:first-child{border-top-left-radius:8px}:host ::ng-deep .ProseMirror table tr:first-child th:last-child{border-top-right-radius:8px}:host ::ng-deep .ProseMirror table tr:last-child td:first-child{border-bottom-left-radius:8px}:host ::ng-deep .ProseMirror table tr:last-child td:last-child{border-bottom-right-radius:8px}:host ::ng-deep .ProseMirror table th{background:var(--ate-table-header-background);font-weight:600;color:var(--ate-table-header-color)}:host ::ng-deep .ProseMirror table .selectedCell:after{background:var(--ate-table-cell-selected-background);content:\"\";inset:0;pointer-events:none;position:absolute;z-index:2}:host ::ng-deep .ProseMirror table .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background-color:var(--ate-table-resize-handle-color);opacity:0;transition:opacity .2s ease}:host ::ng-deep .ProseMirror table:hover .column-resize-handle{opacity:1}:host ::ng-deep .ProseMirror table .column-resize-handle:hover{background-color:var(--ate-focus-color)}:host ::ng-deep .ProseMirror .tableWrapper{overflow-x:auto;margin:1em 0;border-radius:8px}:host ::ng-deep .ProseMirror .tableWrapper table{margin:0;border-radius:8px;min-width:600px;overflow:hidden}:host ::ng-deep .ProseMirror table p{margin:0}:host ::ng-deep .ProseMirror table tbody tr:hover td{background-color:var(--ate-table-row-hover-background)}\n"], dependencies: [{ kind: "component", type: AteToolbarComponent, selector: "ate-toolbar", inputs: ["editor", "config", "imageUpload", "floating"] }, { kind: "component", type: AteBubbleMenuComponent, selector: "ate-bubble-menu", inputs: ["config"] }, { kind: "component", type: AteImageBubbleMenuComponent, selector: "ate-image-bubble-menu", inputs: ["config", "imageUpload"] }, { kind: "component", type: AteTableBubbleMenuComponent, selector: "ate-table-bubble-menu", inputs: ["config"] }, { kind: "component", type: AteCellBubbleMenuComponent, selector: "ate-cell-bubble-menu", inputs: ["config"] }, { kind: "component", type: AteSlashCommandsComponent, selector: "ate-slash-commands", inputs: ["editor", "config"] }, { kind: "component", type: AteLinkBubbleMenuComponent, selector: "ate-link-bubble-menu" }, { kind: "component", type: AteColorBubbleMenuComponent, selector: "ate-color-bubble-menu" }, { kind: "component", type: AteEditToggleComponent, selector: "ate-edit-toggle", inputs: ["editable", "translations"], outputs: ["editToggle"] }, { kind: "component", type: AteBlockControlsComponent, selector: "ate-block-controls", inputs: ["editor", "hoveredData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9496
|
+
`, isInline: true, styles: [":host{--ate-primary: #2563eb;--ate-primary-hover: #153ca9;--ate-primary-contrast: #ffffff;--ate-primary-light: color-mix(in srgb, var(--ate-primary), transparent 90%);--ate-primary-lighter: color-mix(in srgb, var(--ate-primary), transparent 95%);--ate-primary-light-alpha: color-mix(in srgb, var(--ate-primary), transparent 85%);--ate-surface: #ffffff;--ate-surface-secondary: #f8f9fa;--ate-surface-tertiary: #f1f5f9;--ate-text: #2d3748;--ate-text-secondary: #64748b;--ate-text-muted: #a0aec0;--ate-border: #e2e8f0;--ate-highlight-bg: #fef08a;--ate-highlight-color: #854d0e;--ate-button-hover: #f1f5f9;--ate-button-active: #e2e8f0;--ate-selection-bg: var(--ate-primary-light-alpha);--ate-error-color: #c53030;--ate-error-bg: #fed7d7;--ate-error-border: #feb2b2;--ate-border-color: var(--ate-border);--ate-border-width: 2px;--ate-border-radius: 12px;--ate-sub-border-radius: 8px;--ate-focus-color: var(--ate-primary);--ate-background: var(--ate-surface);--ate-text-color: var(--ate-text, #2d3748);--ate-placeholder-color: var(--ate-text-muted, #a0aec0);--ate-line-height: 1.6;--ate-content-padding-block: 16px;--ate-content-padding-inline: 16px;--ate-content-gutter: 0px;--ate-menu-bg: var(--ate-surface, #ffffff);--ate-menu-border-radius: var(--ate-border-radius, 12px);--ate-menu-border: var(--ate-border, #e2e8f0);--ate-menu-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--ate-menu-padding: 4px;--ate-menu-gap: 2px;--ate-toolbar-padding: var(--ate-menu-padding);--ate-toolbar-gap: var(--ate-menu-gap);--ate-toolbar-background: var(--ate-surface-secondary, #f8f9fa);--ate-toolbar-border-color: var(--ate-border, #e2e8f0);--ate-toolbar-button-color: var(--ate-text-secondary, #64748b);--ate-toolbar-button-hover-background: transparent;--ate-toolbar-button-active-background: color-mix( in srgb, var(--ate-primary, #2563eb), transparent 90% );--ate-toolbar-button-active-color: var(--ate-primary, #2563eb);--ate-counter-color: var(--ate-text-secondary, #64748b);--ate-counter-background: var(--ate-surface-secondary, #f8f9fa);--ate-counter-border-color: var(--ate-border, #e2e8f0);--ate-drag-background: #f0f8ff;--ate-drag-border-color: var(--ate-primary, #2563eb);--ate-blockquote-border-color: var(--ate-border, #e2e8f0);--ate-blockquote-background: var(--ate-surface-secondary, #f8f9fa);--ate-code-background: var(--ate-surface-secondary, #f8f9fa);--ate-code-color: var(--ate-text, #2d3748);--ate-code-border-color: var(--ate-border, #e2e8f0);--ate-code-block-background: #0f172a;--ate-code-block-color: #e2e8f0;--ate-code-block-border-color: var(--ate-border, #e2e8f0);--ate-image-border-radius: 16px;--ate-image-selected-color: var(--ate-primary, #2563eb);--ate-scrollbar-width: 10px;--ate-scrollbar-thumb: var(--ate-border, #e2e8f0);--ate-scrollbar-thumb-hover: var(--ate-text-muted, #a0aec0);--ate-scrollbar-track: transparent;--ate-table-border-color: var(--ate-border, #e2e8f0);--ate-table-header-background: var(--ate-surface-secondary, #f8f9fa);--ate-table-header-color: var(--ate-text, #2d3748);--ate-table-cell-background: var(--ate-surface, #ffffff);--ate-table-cell-selected-background: color-mix( in srgb, var(--ate-primary, #2563eb), transparent 90% );--ate-table-resize-handle-color: var(--ate-primary, #2563eb);--ate-table-row-hover-background: color-mix( in srgb, var(--ate-primary, #2563eb), transparent 95% );--ate-tooltip-bg: var(--ate-code-block-background, #0f172a);--ate-tooltip-color: var(--ate-code-block-color, #e2e8f0)}:host(.dark),:host([data-theme=\"dark\"]){--ate-primary: #3b82f6;--ate-primary-contrast: #ffffff;--ate-primary-light: color-mix(in srgb, var(--ate-primary), transparent 85%);--ate-primary-lighter: color-mix(in srgb, var(--ate-primary), transparent 92%);--ate-primary-light-alpha: color-mix(in srgb, var(--ate-primary), transparent 80%);--ate-surface: #020617;--ate-surface-secondary: #0f172a;--ate-surface-tertiary: #1e293b;--ate-text: #f8fafc;--ate-text-secondary: #94a3b8;--ate-text-muted: #64748b;--ate-border: #1e293b;--ate-highlight-bg: #854d0e;--ate-highlight-color: #fef08a;--ate-button-hover: #1e293b;--ate-button-active: #0f172a;--ate-menu-border: rgba(255, 255, 255, .1);--ate-menu-shadow: 0 20px 25px -5px rgba(0, 0, 0, .3), 0 10px 10px -5px rgba(0, 0, 0, .2);--ate-error-color: #f87171;--ate-error-bg: #450a0a;--ate-error-border: #7f1d1d;--ate-drag-background: var(--ate-surface-tertiary);--ate-drag-border-color: var(--ate-primary);--ate-blockquote-border-color: var(--ate-primary);--ate-toolbar-button-active-background: var(--ate-primary-light);--ate-toolbar-button-active-color: var(--ate-primary);--ate-button-hover: var(--ate-surface-tertiary);--ate-button-active: var(--ate-surface-secondary);--ate-scrollbar-thumb: var(--ate-surface-tertiary);--ate-scrollbar-thumb-hover: var(--ate-text-muted)}:host(.fill-container){display:block;height:100%}.ate-editor{border:var(--ate-border-width) solid var(--ate-border-color);border-radius:var(--ate-border-radius);background:var(--ate-background);overflow:visible;transition:border-color .2s ease;position:relative}:host(.floating-toolbar) .ate-editor{overflow:visible}:host(.fill-container) .ate-editor{display:flex;flex-direction:column;height:100%}:host(.fill-container) .ate-content-wrapper{flex:1;min-height:0}:host(.fill-container) .ate-content{flex:1;min-height:0;overflow-y:auto}.ate-editor:focus-within{border-color:var(--ate-focus-color)}.ate-content{min-height:var(--editor-min-height, 200px);height:var(--editor-height, auto);max-height:var(--editor-max-height, none);overflow-y:var(--editor-overflow, visible);outline:none;position:relative;scrollbar-width:thin;scrollbar-color:var(--ate-scrollbar-thumb) var(--ate-scrollbar-track)}:host(.is-disabled) .ate-content{cursor:not-allowed;opacity:.7;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:var(--ate-surface-tertiary)}:host(.is-readonly) .ate-content{cursor:default;-webkit-user-select:text;user-select:text}:host(.is-readonly) .ate-content ::ng-deep .ate-link{cursor:pointer;pointer-events:auto}.ate-content::-webkit-scrollbar{width:var(--ate-scrollbar-width)}.ate-content-wrapper{position:relative;display:flex;flex-direction:column;min-height:0}.ate-content-wrapper .ate-content{flex:1}.ate-content::-webkit-scrollbar-track{background:var(--ate-scrollbar-track)}.ate-content::-webkit-scrollbar-thumb{background:var(--ate-scrollbar-thumb);border:3px solid transparent;background-clip:content-box;border-radius:10px}.ate-content::-webkit-scrollbar-thumb:hover{background:var(--ate-scrollbar-thumb-hover);background-clip:content-box}.ate-content.drag-over{background:var(--ate-drag-background);border:2px dashed var(--ate-drag-border-color)}.character-count{padding:6px 8px;font-size:12px;color:var(--ate-counter-color);text-align:right;border-top:1px solid var(--ate-counter-border-color);background:var(--ate-counter-background);transition:color .2s ease;border-bottom-left-radius:calc(var(--ate-border-radius) - var(--ate-border-width));border-bottom-right-radius:calc(var(--ate-border-radius) - var(--ate-border-width))}.character-count.limit-reached{color:var(--ate-error-color, #ef4444);font-weight:600}:host.ate-blocks-inside{--ate-content-gutter: 54px}@media (max-width: 768px){:host.ate-blocks-inside{--ate-content-gutter: 0px}ate-block-controls{display:none!important}}:host ::ng-deep .ProseMirror{padding-inline:calc(var(--ate-content-padding-inline) + var(--ate-content-gutter));padding-block:var(--ate-content-padding-block);outline:none;line-height:var(--ate-line-height);color:var(--ate-text-color);min-height:100%;height:100%;word-wrap:break-word;overflow-wrap:break-word}:host ::ng-deep .ProseMirror ::selection{background-color:var(--ate-selection-bg);color:inherit}:host ::ng-deep .ProseMirror ::-moz-selection{background-color:var(--ate-selection-bg);color:inherit}:host ::ng-deep .ProseMirror h1{font-size:2em;font-weight:700;margin-top:0;margin-bottom:.5em}:host ::ng-deep .ProseMirror h2{font-size:1.5em;font-weight:700;margin-top:1em;margin-bottom:.5em}:host ::ng-deep .ProseMirror h3{font-size:1.25em;font-weight:700;margin-top:1em;margin-bottom:.5em}:host ::ng-deep .ProseMirror h4{font-size:1.1em;font-weight:700;margin-top:1em;margin-bottom:.5em}:host ::ng-deep .ProseMirror h5,:host ::ng-deep .ProseMirror h6{font-size:1em;font-weight:700;margin-top:1em;margin-bottom:.5em}:host ::ng-deep .ProseMirror p{margin:.5em 0}:host ::ng-deep .ProseMirror ul{list-style-type:disc;list-style-position:outside;padding-left:2em;margin:.5em 0}:host ::ng-deep .ProseMirror ol{list-style-type:decimal;list-style-position:outside;padding-left:2em;margin:.5em 0}:host ::ng-deep .ProseMirror ul ul{list-style-type:circle}:host ::ng-deep .ProseMirror ul ul ul{list-style-type:square}:host ::ng-deep .ProseMirror hr{border:none;border-top:1px solid var(--ate-border);margin:1.5em 0}:host ::ng-deep .ProseMirror blockquote{border-left:4px solid var(--ate-blockquote-border-color);margin:1em 0;background:var(--ate-blockquote-background);padding:.5em 1em;border-radius:0 4px 4px 0}:host ::ng-deep .ProseMirror code{background:var(--ate-code-background);color:var(--ate-code-color);border:1px solid var(--ate-code-border-color);padding:.15em .4em;border-radius:4px;font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;font-size:.85em;font-weight:500}:host ::ng-deep .ProseMirror pre{background:var(--ate-code-block-background);color:var(--ate-code-block-color);border:1px solid var(--ate-code-block-border-color);padding:1em;border-radius:var(--ate-border-radius);overflow-x:auto;margin:1em 0}:host ::ng-deep .ProseMirror pre code{background:none;color:inherit;border:none;padding:0}:host ::ng-deep .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--ate-placeholder-color);pointer-events:none;float:left;height:0}:host ::ng-deep .ProseMirror[contenteditable=false] img{cursor:pointer}:host ::ng-deep .ProseMirror[contenteditable=false] a{cursor:pointer}:host ::ng-deep .ProseMirror[contenteditable=false] img:hover{transform:none;box-shadow:0 2px 8px #0000001a}:host ::ng-deep .ProseMirror[contenteditable=false] img.ProseMirror-selectednode{outline:none}:host ::ng-deep .ProseMirror img{position:relative;display:inline-block;max-width:100%;height:auto;cursor:pointer;transition:all .2s ease;border:2px solid transparent;border-radius:var(--ate-image-border-radius)}:host ::ng-deep .ProseMirror img:hover{border-color:var(--ate-border-color);box-shadow:0 2px 4px #0000001a}:host ::ng-deep .ProseMirror img.ProseMirror-selectednode,:host ::ng-deep .resizable-image-container.selected img{border-color:var(--ate-image-selected-color);transition:all .2s ease}:host ::ng-deep .ProseMirror [data-text-align=center],:host ::ng-deep .ProseMirror [data-align=center]{text-align:center}:host ::ng-deep .ProseMirror [data-text-align=right],:host ::ng-deep .ProseMirror [data-align=right]{text-align:right}:host ::ng-deep .ProseMirror [data-text-align=left],:host ::ng-deep .ProseMirror [data-align=left]{text-align:left}:host ::ng-deep .resizable-image-wrapper{display:block;width:100%;margin:.5em 0}:host ::ng-deep .resizable-image-container{position:relative;display:inline-block;max-width:100%}:host ::ng-deep .resize-controls{position:absolute;inset:0;pointer-events:none;z-index:1000;opacity:0;transition:opacity .2s ease}::ng-deep .ate-slash-decoration{background:var( --ate-primary-light, color-mix(in srgb, var(--ate-primary, #2563eb), transparent 90%) );padding:4px 8px;border-radius:var(--ate-sub-border-radius, 8px)}::ng-deep .ate-slash-decoration.is-empty:after{content:attr(data-decoration-content);color:var(--ate-text-secondary);font-weight:400;opacity:.7}:host:not(.is-readonly):not(.is-disabled) ::ng-deep .resizable-image-container:hover .resize-controls,:host:not(.is-readonly):not(.is-disabled) ::ng-deep body.resizing .resize-controls{opacity:1}:host ::ng-deep .resize-handle{position:absolute;width:.35rem;height:2rem;background:var(--ate-primary);border:2px solid var(--ate-surface);border-radius:var(--ate-border-radius);pointer-events:all;cursor:pointer;z-index:1001;transition:all .15s ease;box-shadow:0 2px 6px #0003}:host ::ng-deep .resize-handle:hover{background:var(--ate-primary);box-shadow:0 3px 8px #0000004d}:host ::ng-deep .resize-handle:active{background:var(--ate-primary)}:host ::ng-deep .resize-handle-w:hover,:host ::ng-deep .resize-handle-e:hover{background:var(--ate-primary-hover)}:host ::ng-deep .resize-handle-w:active,:host ::ng-deep .resize-handle-e:active{transform:translateY(-50%) scale(.9);background:var(--ate-primary-hover)}:host ::ng-deep .resize-handle-w{top:50%;left:.35rem;transform:translateY(-50%);cursor:w-resize}:host ::ng-deep .resize-handle-e{top:50%;right:.35rem;transform:translateY(-50%);cursor:e-resize}:host ::ng-deep body.resizing{-webkit-user-select:none;user-select:none;cursor:crosshair}:host ::ng-deep body.resizing .ProseMirror{pointer-events:none}:host ::ng-deep body.resizing .ProseMirror .resizable-image-container{pointer-events:none}:host ::ng-deep .image-size-info{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:2px 6px;border-radius:3px;font-size:11px;white-space:nowrap;opacity:0;transition:opacity .2s ease}:host ::ng-deep .resizable-image-container:hover .image-size-info{opacity:1}:host ::ng-deep .ProseMirror table{border-collapse:separate;border-spacing:0;margin:0;table-layout:fixed;width:100%;border-radius:8px;overflow:hidden}:host ::ng-deep .ProseMirror table td,:host ::ng-deep .ProseMirror table th{border:none;border-right:1px solid var(--ate-table-border-color);border-bottom:1px solid var(--ate-table-border-color);box-sizing:border-box;min-width:1em;padding:8px 12px;position:relative;vertical-align:top;text-align:left}:host ::ng-deep .ProseMirror table td{background:var(--ate-table-cell-background)}:host ::ng-deep .ProseMirror table td:first-child,:host ::ng-deep .ProseMirror table th:first-child{border-left:1px solid var(--ate-table-border-color)}:host ::ng-deep .ProseMirror table tr:first-child td,:host ::ng-deep .ProseMirror table tr:first-child th{border-top:1px solid var(--ate-table-border-color)}:host ::ng-deep .ProseMirror table tr:first-child th:first-child{border-top-left-radius:8px}:host ::ng-deep .ProseMirror table tr:first-child th:last-child{border-top-right-radius:8px}:host ::ng-deep .ProseMirror table tr:last-child td:first-child{border-bottom-left-radius:8px}:host ::ng-deep .ProseMirror table tr:last-child td:last-child{border-bottom-right-radius:8px}:host ::ng-deep .ProseMirror table th{background:var(--ate-table-header-background);font-weight:600;color:var(--ate-table-header-color)}:host ::ng-deep .ProseMirror table .selectedCell:after{background:var(--ate-table-cell-selected-background);content:\"\";inset:0;pointer-events:none;position:absolute;z-index:2}:host ::ng-deep .ProseMirror table .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background-color:var(--ate-table-resize-handle-color);opacity:0;transition:opacity .2s ease}:host ::ng-deep .ProseMirror table:hover .column-resize-handle{opacity:1}:host ::ng-deep .ProseMirror table .column-resize-handle:hover{background-color:var(--ate-focus-color)}:host ::ng-deep .ProseMirror .tableWrapper{overflow-x:auto;margin:1em 0;border-radius:8px}:host ::ng-deep .ProseMirror .tableWrapper table{margin:0;border-radius:8px;min-width:600px;overflow:hidden}:host ::ng-deep .ProseMirror table p{margin:0}:host ::ng-deep .ProseMirror table tbody tr:hover td{background-color:var(--ate-table-row-hover-background)}\n"], dependencies: [{ kind: "component", type: AteToolbarComponent, selector: "ate-toolbar", inputs: ["editor", "config", "imageUpload", "floating"] }, { kind: "component", type: AteBubbleMenuComponent, selector: "ate-bubble-menu", inputs: ["config"] }, { kind: "component", type: AteImageBubbleMenuComponent, selector: "ate-image-bubble-menu", inputs: ["config", "imageUpload"] }, { kind: "component", type: AteTableBubbleMenuComponent, selector: "ate-table-bubble-menu", inputs: ["config"] }, { kind: "component", type: AteCellBubbleMenuComponent, selector: "ate-cell-bubble-menu", inputs: ["config"] }, { kind: "component", type: AteSlashCommandsComponent, selector: "ate-slash-commands", inputs: ["editor", "config"] }, { kind: "component", type: AteLinkBubbleMenuComponent, selector: "ate-link-bubble-menu" }, { kind: "component", type: AteColorBubbleMenuComponent, selector: "ate-color-bubble-menu" }, { kind: "component", type: AteEditToggleComponent, selector: "ate-edit-toggle", inputs: ["editable", "translations"], outputs: ["editToggle"] }, { kind: "component", type: AteBlockControlsComponent, selector: "ate-block-controls", inputs: ["editor", "hoveredData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9262
9497
|
}
|
|
9263
9498
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AngularTiptapEditorComponent, decorators: [{
|
|
9264
9499
|
type: Component,
|
|
@@ -9427,7 +9662,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
9427
9662
|
</div>
|
|
9428
9663
|
}
|
|
9429
9664
|
</div>
|
|
9430
|
-
`, styles: [":host{--ate-primary: #2563eb;--ate-primary-hover: #153ca9;--ate-primary-contrast: #ffffff;--ate-primary-light: color-mix(in srgb, var(--ate-primary), transparent 90%);--ate-primary-lighter: color-mix(in srgb, var(--ate-primary), transparent 95%);--ate-primary-light-alpha: color-mix(in srgb, var(--ate-primary), transparent 85%);--ate-surface: #ffffff;--ate-surface-secondary: #f8f9fa;--ate-surface-tertiary: #f1f5f9;--ate-text: #2d3748;--ate-text-secondary: #64748b;--ate-text-muted: #a0aec0;--ate-border: #e2e8f0;--ate-highlight-bg: #fef08a;--ate-highlight-color: #854d0e;--ate-button-hover: #f1f5f9;--ate-button-active: #e2e8f0;--ate-selection-bg: var(--ate-primary-light-alpha);--ate-error-color: #c53030;--ate-error-bg: #fed7d7;--ate-error-border: #feb2b2;--ate-border-color: var(--ate-border);--ate-border-width: 2px;--ate-border-radius: 12px;--ate-sub-border-radius: 8px;--ate-focus-color: var(--ate-primary);--ate-background: var(--ate-surface);--ate-text-color: var(--ate-text, #2d3748);--ate-placeholder-color: var(--ate-text-muted, #a0aec0);--ate-line-height: 1.6;--ate-content-padding-block: 16px;--ate-content-padding-inline: 16px;--ate-content-gutter: 0px;--ate-menu-bg: var(--ate-surface, #ffffff);--ate-menu-border-radius: var(--ate-border-radius, 12px);--ate-menu-border: var(--ate-border, #e2e8f0);--ate-menu-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--ate-menu-padding: 4px;--ate-menu-gap: 2px;--ate-toolbar-padding: var(--ate-menu-padding);--ate-toolbar-gap: var(--ate-menu-gap);--ate-toolbar-background: var(--ate-surface-secondary, #f8f9fa);--ate-toolbar-border-color: var(--ate-border, #e2e8f0);--ate-toolbar-button-color: var(--ate-text-secondary, #64748b);--ate-toolbar-button-hover-background: transparent;--ate-toolbar-button-active-background: color-mix( in srgb, var(--ate-primary, #2563eb), transparent 90% );--ate-toolbar-button-active-color: var(--ate-primary, #2563eb);--ate-counter-color: var(--ate-text-secondary, #64748b);--ate-counter-background: var(--ate-surface-secondary, #f8f9fa);--ate-counter-border-color: var(--ate-border, #e2e8f0);--ate-drag-background: #f0f8ff;--ate-drag-border-color: var(--ate-primary, #2563eb);--ate-blockquote-border-color: var(--ate-border, #e2e8f0);--ate-blockquote-background: var(--ate-surface-secondary, #f8f9fa);--ate-code-background: var(--ate-surface-secondary, #f8f9fa);--ate-code-color: var(--ate-text, #2d3748);--ate-code-border-color: var(--ate-border, #e2e8f0);--ate-code-block-background: #0f172a;--ate-code-block-color: #e2e8f0;--ate-code-block-border-color: var(--ate-border, #e2e8f0);--ate-image-border-radius: 16px;--ate-image-selected-color: var(--ate-primary, #2563eb);--ate-scrollbar-width: 10px;--ate-scrollbar-thumb: var(--ate-border, #e2e8f0);--ate-scrollbar-thumb-hover: var(--ate-text-muted, #a0aec0);--ate-scrollbar-track: transparent;--ate-table-border-color: var(--ate-border, #e2e8f0);--ate-table-header-background: var(--ate-surface-secondary, #f8f9fa);--ate-table-header-color: var(--ate-text, #2d3748);--ate-table-cell-background: var(--ate-surface, #ffffff);--ate-table-cell-selected-background: color-mix( in srgb, var(--ate-primary, #2563eb), transparent 90% );--ate-table-resize-handle-color: var(--ate-primary, #2563eb);--ate-table-row-hover-background: color-mix( in srgb, var(--ate-primary, #2563eb), transparent 95% );--ate-tooltip-bg: var(--ate-code-block-background, #0f172a);--ate-tooltip-color: var(--ate-code-block-color, #e2e8f0)}:host(.dark),:host([data-theme=\"dark\"]){--ate-primary: #3b82f6;--ate-primary-contrast: #ffffff;--ate-primary-light: color-mix(in srgb, var(--ate-primary), transparent 85%);--ate-primary-lighter: color-mix(in srgb, var(--ate-primary), transparent 92%);--ate-primary-light-alpha: color-mix(in srgb, var(--ate-primary), transparent 80%);--ate-surface: #020617;--ate-surface-secondary: #0f172a;--ate-surface-tertiary: #1e293b;--ate-text: #f8fafc;--ate-text-secondary: #94a3b8;--ate-text-muted: #64748b;--ate-border: #1e293b;--ate-highlight-bg: #854d0e;--ate-highlight-color: #fef08a;--ate-button-hover: #1e293b;--ate-button-active: #0f172a;--ate-menu-border: rgba(255, 255, 255, .1);--ate-menu-shadow: 0 20px 25px -5px rgba(0, 0, 0, .3), 0 10px 10px -5px rgba(0, 0, 0, .2);--ate-error-color: #f87171;--ate-error-bg: #450a0a;--ate-error-border: #7f1d1d;--ate-drag-background: var(--ate-surface-tertiary);--ate-drag-border-color: var(--ate-primary);--ate-blockquote-border-color: var(--ate-primary);--ate-toolbar-button-active-background: var(--ate-primary-light);--ate-toolbar-button-active-color: var(--ate-primary);--ate-button-hover: var(--ate-surface-tertiary);--ate-button-active: var(--ate-surface-secondary);--ate-scrollbar-thumb: var(--ate-surface-tertiary);--ate-scrollbar-thumb-hover: var(--ate-text-muted)}:host(.fill-container){display:block;height:100%}.ate-editor{border:var(--ate-border-width) solid var(--ate-border-color);border-radius:var(--ate-border-radius);background:var(--ate-background);overflow:visible;transition:border-color .2s ease;position:relative}:host(.floating-toolbar) .ate-editor{overflow:visible}:host(.fill-container) .ate-editor{display:flex;flex-direction:column;height:100%}:host(.fill-container) .ate-content-wrapper{flex:1;min-height:0}:host(.fill-container) .ate-content{flex:1;min-height:0;overflow-y:auto}.ate-editor:focus-within{border-color:var(--ate-focus-color)}.ate-content{min-height:var(--editor-min-height, 200px);height:var(--editor-height, auto);max-height:var(--editor-max-height, none);overflow-y:var(--editor-overflow, visible);outline:none;position:relative;scrollbar-width:thin;scrollbar-color:var(--ate-scrollbar-thumb) var(--ate-scrollbar-track)}:host(.is-disabled) .ate-content{cursor:not-allowed;opacity:.7;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:var(--ate-surface-tertiary)}:host(.is-readonly) .ate-content{cursor:default;-webkit-user-select:text;user-select:text}:host(.is-readonly) .ate-content ::ng-deep .ate-link{cursor:pointer;pointer-events:auto}.ate-content::-webkit-scrollbar{width:var(--ate-scrollbar-width)}.ate-content-wrapper{position:relative;display:flex;flex-direction:column;min-height:0}.ate-content-wrapper .ate-content{flex:1}.ate-content::-webkit-scrollbar-track{background:var(--ate-scrollbar-track)}.ate-content::-webkit-scrollbar-thumb{background:var(--ate-scrollbar-thumb);border:3px solid transparent;background-clip:content-box;border-radius:10px}.ate-content::-webkit-scrollbar-thumb:hover{background:var(--ate-scrollbar-thumb-hover);background-clip:content-box}.ate-content.drag-over{background:var(--ate-drag-background);border:2px dashed var(--ate-drag-border-color)}.character-count{padding:6px 8px;font-size:12px;color:var(--ate-counter-color);text-align:right;border-top:1px solid var(--ate-counter-border-color);background:var(--ate-counter-background);transition:color .2s ease;border-bottom-left-radius:calc(var(--ate-border-radius) - var(--ate-border-width));border-bottom-right-radius:calc(var(--ate-border-radius) - var(--ate-border-width))}.character-count.limit-reached{color:var(--ate-error-color, #ef4444);font-weight:600}:host.ate-blocks-inside{--ate-content-gutter: 54px}@media (max-width: 768px){:host.ate-blocks-inside{--ate-content-gutter: 0px}ate-block-controls{display:none!important}}:host ::ng-deep .ProseMirror{padding-inline:calc(var(--ate-content-padding-inline) + var(--ate-content-gutter));padding-block:var(--ate-content-padding-block);outline:none;line-height:var(--ate-line-height);color:var(--ate-text-color);min-height:100%;height:100%;word-wrap:break-word;overflow-wrap:break-word}:host ::ng-deep .ProseMirror ::selection{background-color:var(--ate-selection-bg);color:inherit}:host ::ng-deep .ProseMirror ::-moz-selection{background-color:var(--ate-selection-bg);color:inherit}:host ::ng-deep .ProseMirror h1{font-size:2em;font-weight:700;margin-top:0;margin-bottom:.5em}:host ::ng-deep .ProseMirror h2{font-size:1.5em;font-weight:700;margin-top:1em;margin-bottom:.5em}:host ::ng-deep .ProseMirror h3{font-size:1.25em;font-weight:700;margin-top:1em;margin-bottom:.5em}:host ::ng-deep .ProseMirror p{margin:.5em 0}:host ::ng-deep .ProseMirror ul,:host ::ng-deep .ProseMirror ol{padding-left:2em;margin:.5em 0}:host ::ng-deep .ProseMirror blockquote{border-left:4px solid var(--ate-blockquote-border-color);margin:1em 0;background:var(--ate-blockquote-background);padding:.5em 1em;border-radius:0 4px 4px 0}:host ::ng-deep .ProseMirror code{background:var(--ate-code-background);color:var(--ate-code-color);border:1px solid var(--ate-code-border-color);padding:.15em .4em;border-radius:4px;font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;font-size:.85em;font-weight:500}:host ::ng-deep .ProseMirror pre{background:var(--ate-code-block-background);color:var(--ate-code-block-color);border:1px solid var(--ate-code-block-border-color);padding:1em;border-radius:var(--ate-border-radius);overflow-x:auto;margin:1em 0}:host ::ng-deep .ProseMirror pre code{background:none;color:inherit;border:none;padding:0}:host ::ng-deep .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--ate-placeholder-color);pointer-events:none;float:left;height:0}:host ::ng-deep .ProseMirror[contenteditable=false] img{cursor:pointer}:host ::ng-deep .ProseMirror[contenteditable=false] a{cursor:pointer}:host ::ng-deep .ProseMirror[contenteditable=false] img:hover{transform:none;box-shadow:0 2px 8px #0000001a}:host ::ng-deep .ProseMirror[contenteditable=false] img.ProseMirror-selectednode{outline:none}:host ::ng-deep .ProseMirror img{position:relative;display:inline-block;max-width:100%;height:auto;cursor:pointer;transition:all .2s ease;border:2px solid transparent;border-radius:var(--ate-image-border-radius)}:host ::ng-deep .ProseMirror img:hover{border-color:var(--ate-border-color);box-shadow:0 2px 4px #0000001a}:host ::ng-deep .ProseMirror img.ProseMirror-selectednode,:host ::ng-deep .resizable-image-container.selected img{border-color:var(--ate-image-selected-color);transition:all .2s ease}:host ::ng-deep .ProseMirror [data-text-align=center],:host ::ng-deep .ProseMirror [data-align=center]{text-align:center}:host ::ng-deep .ProseMirror [data-text-align=right],:host ::ng-deep .ProseMirror [data-align=right]{text-align:right}:host ::ng-deep .ProseMirror [data-text-align=left],:host ::ng-deep .ProseMirror [data-align=left]{text-align:left}:host ::ng-deep .resizable-image-wrapper{display:block;width:100%;margin:.5em 0}:host ::ng-deep .resizable-image-container{position:relative;display:inline-block;max-width:100%}:host ::ng-deep .resize-controls{position:absolute;inset:0;pointer-events:none;z-index:1000;opacity:0;transition:opacity .2s ease}::ng-deep .ate-slash-decoration{background:var( --ate-primary-light, color-mix(in srgb, var(--ate-primary, #2563eb), transparent 90%) );padding:4px 8px;border-radius:var(--ate-sub-border-radius, 8px)}::ng-deep .ate-slash-decoration.is-empty:after{content:attr(data-decoration-content);color:var(--ate-text-secondary);font-weight:400;opacity:.7}:host:not(.is-readonly):not(.is-disabled) ::ng-deep .resizable-image-container:hover .resize-controls,:host:not(.is-readonly):not(.is-disabled) ::ng-deep body.resizing .resize-controls{opacity:1}:host ::ng-deep .resize-handle{position:absolute;width:.35rem;height:2rem;background:var(--ate-primary);border:2px solid var(--ate-surface);border-radius:var(--ate-border-radius);pointer-events:all;cursor:pointer;z-index:1001;transition:all .15s ease;box-shadow:0 2px 6px #0003}:host ::ng-deep .resize-handle:hover{background:var(--ate-primary);box-shadow:0 3px 8px #0000004d}:host ::ng-deep .resize-handle:active{background:var(--ate-primary)}:host ::ng-deep .resize-handle-w:hover,:host ::ng-deep .resize-handle-e:hover{background:var(--ate-primary-hover)}:host ::ng-deep .resize-handle-w:active,:host ::ng-deep .resize-handle-e:active{transform:translateY(-50%) scale(.9);background:var(--ate-primary-hover)}:host ::ng-deep .resize-handle-w{top:50%;left:.35rem;transform:translateY(-50%);cursor:w-resize}:host ::ng-deep .resize-handle-e{top:50%;right:.35rem;transform:translateY(-50%);cursor:e-resize}:host ::ng-deep body.resizing{-webkit-user-select:none;user-select:none;cursor:crosshair}:host ::ng-deep body.resizing .ProseMirror{pointer-events:none}:host ::ng-deep body.resizing .ProseMirror .resizable-image-container{pointer-events:none}:host ::ng-deep .image-size-info{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:2px 6px;border-radius:3px;font-size:11px;white-space:nowrap;opacity:0;transition:opacity .2s ease}:host ::ng-deep .resizable-image-container:hover .image-size-info{opacity:1}:host ::ng-deep .ProseMirror table{border-collapse:separate;border-spacing:0;margin:0;table-layout:fixed;width:100%;border-radius:8px;overflow:hidden}:host ::ng-deep .ProseMirror table td,:host ::ng-deep .ProseMirror table th{border:none;border-right:1px solid var(--ate-table-border-color);border-bottom:1px solid var(--ate-table-border-color);box-sizing:border-box;min-width:1em;padding:8px 12px;position:relative;vertical-align:top;text-align:left}:host ::ng-deep .ProseMirror table td{background:var(--ate-table-cell-background)}:host ::ng-deep .ProseMirror table td:first-child,:host ::ng-deep .ProseMirror table th:first-child{border-left:1px solid var(--ate-table-border-color)}:host ::ng-deep .ProseMirror table tr:first-child td,:host ::ng-deep .ProseMirror table tr:first-child th{border-top:1px solid var(--ate-table-border-color)}:host ::ng-deep .ProseMirror table tr:first-child th:first-child{border-top-left-radius:8px}:host ::ng-deep .ProseMirror table tr:first-child th:last-child{border-top-right-radius:8px}:host ::ng-deep .ProseMirror table tr:last-child td:first-child{border-bottom-left-radius:8px}:host ::ng-deep .ProseMirror table tr:last-child td:last-child{border-bottom-right-radius:8px}:host ::ng-deep .ProseMirror table th{background:var(--ate-table-header-background);font-weight:600;color:var(--ate-table-header-color)}:host ::ng-deep .ProseMirror table .selectedCell:after{background:var(--ate-table-cell-selected-background);content:\"\";inset:0;pointer-events:none;position:absolute;z-index:2}:host ::ng-deep .ProseMirror table .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background-color:var(--ate-table-resize-handle-color);opacity:0;transition:opacity .2s ease}:host ::ng-deep .ProseMirror table:hover .column-resize-handle{opacity:1}:host ::ng-deep .ProseMirror table .column-resize-handle:hover{background-color:var(--ate-focus-color)}:host ::ng-deep .ProseMirror .tableWrapper{overflow-x:auto;margin:1em 0;border-radius:8px}:host ::ng-deep .ProseMirror .tableWrapper table{margin:0;border-radius:8px;min-width:600px;overflow:hidden}:host ::ng-deep .ProseMirror table p{margin:0}:host ::ng-deep .ProseMirror table tbody tr:hover td{background-color:var(--ate-table-row-hover-background)}\n"] }]
|
|
9665
|
+
`, styles: [":host{--ate-primary: #2563eb;--ate-primary-hover: #153ca9;--ate-primary-contrast: #ffffff;--ate-primary-light: color-mix(in srgb, var(--ate-primary), transparent 90%);--ate-primary-lighter: color-mix(in srgb, var(--ate-primary), transparent 95%);--ate-primary-light-alpha: color-mix(in srgb, var(--ate-primary), transparent 85%);--ate-surface: #ffffff;--ate-surface-secondary: #f8f9fa;--ate-surface-tertiary: #f1f5f9;--ate-text: #2d3748;--ate-text-secondary: #64748b;--ate-text-muted: #a0aec0;--ate-border: #e2e8f0;--ate-highlight-bg: #fef08a;--ate-highlight-color: #854d0e;--ate-button-hover: #f1f5f9;--ate-button-active: #e2e8f0;--ate-selection-bg: var(--ate-primary-light-alpha);--ate-error-color: #c53030;--ate-error-bg: #fed7d7;--ate-error-border: #feb2b2;--ate-border-color: var(--ate-border);--ate-border-width: 2px;--ate-border-radius: 12px;--ate-sub-border-radius: 8px;--ate-focus-color: var(--ate-primary);--ate-background: var(--ate-surface);--ate-text-color: var(--ate-text, #2d3748);--ate-placeholder-color: var(--ate-text-muted, #a0aec0);--ate-line-height: 1.6;--ate-content-padding-block: 16px;--ate-content-padding-inline: 16px;--ate-content-gutter: 0px;--ate-menu-bg: var(--ate-surface, #ffffff);--ate-menu-border-radius: var(--ate-border-radius, 12px);--ate-menu-border: var(--ate-border, #e2e8f0);--ate-menu-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--ate-menu-padding: 4px;--ate-menu-gap: 2px;--ate-toolbar-padding: var(--ate-menu-padding);--ate-toolbar-gap: var(--ate-menu-gap);--ate-toolbar-background: var(--ate-surface-secondary, #f8f9fa);--ate-toolbar-border-color: var(--ate-border, #e2e8f0);--ate-toolbar-button-color: var(--ate-text-secondary, #64748b);--ate-toolbar-button-hover-background: transparent;--ate-toolbar-button-active-background: color-mix( in srgb, var(--ate-primary, #2563eb), transparent 90% );--ate-toolbar-button-active-color: var(--ate-primary, #2563eb);--ate-counter-color: var(--ate-text-secondary, #64748b);--ate-counter-background: var(--ate-surface-secondary, #f8f9fa);--ate-counter-border-color: var(--ate-border, #e2e8f0);--ate-drag-background: #f0f8ff;--ate-drag-border-color: var(--ate-primary, #2563eb);--ate-blockquote-border-color: var(--ate-border, #e2e8f0);--ate-blockquote-background: var(--ate-surface-secondary, #f8f9fa);--ate-code-background: var(--ate-surface-secondary, #f8f9fa);--ate-code-color: var(--ate-text, #2d3748);--ate-code-border-color: var(--ate-border, #e2e8f0);--ate-code-block-background: #0f172a;--ate-code-block-color: #e2e8f0;--ate-code-block-border-color: var(--ate-border, #e2e8f0);--ate-image-border-radius: 16px;--ate-image-selected-color: var(--ate-primary, #2563eb);--ate-scrollbar-width: 10px;--ate-scrollbar-thumb: var(--ate-border, #e2e8f0);--ate-scrollbar-thumb-hover: var(--ate-text-muted, #a0aec0);--ate-scrollbar-track: transparent;--ate-table-border-color: var(--ate-border, #e2e8f0);--ate-table-header-background: var(--ate-surface-secondary, #f8f9fa);--ate-table-header-color: var(--ate-text, #2d3748);--ate-table-cell-background: var(--ate-surface, #ffffff);--ate-table-cell-selected-background: color-mix( in srgb, var(--ate-primary, #2563eb), transparent 90% );--ate-table-resize-handle-color: var(--ate-primary, #2563eb);--ate-table-row-hover-background: color-mix( in srgb, var(--ate-primary, #2563eb), transparent 95% );--ate-tooltip-bg: var(--ate-code-block-background, #0f172a);--ate-tooltip-color: var(--ate-code-block-color, #e2e8f0)}:host(.dark),:host([data-theme=\"dark\"]){--ate-primary: #3b82f6;--ate-primary-contrast: #ffffff;--ate-primary-light: color-mix(in srgb, var(--ate-primary), transparent 85%);--ate-primary-lighter: color-mix(in srgb, var(--ate-primary), transparent 92%);--ate-primary-light-alpha: color-mix(in srgb, var(--ate-primary), transparent 80%);--ate-surface: #020617;--ate-surface-secondary: #0f172a;--ate-surface-tertiary: #1e293b;--ate-text: #f8fafc;--ate-text-secondary: #94a3b8;--ate-text-muted: #64748b;--ate-border: #1e293b;--ate-highlight-bg: #854d0e;--ate-highlight-color: #fef08a;--ate-button-hover: #1e293b;--ate-button-active: #0f172a;--ate-menu-border: rgba(255, 255, 255, .1);--ate-menu-shadow: 0 20px 25px -5px rgba(0, 0, 0, .3), 0 10px 10px -5px rgba(0, 0, 0, .2);--ate-error-color: #f87171;--ate-error-bg: #450a0a;--ate-error-border: #7f1d1d;--ate-drag-background: var(--ate-surface-tertiary);--ate-drag-border-color: var(--ate-primary);--ate-blockquote-border-color: var(--ate-primary);--ate-toolbar-button-active-background: var(--ate-primary-light);--ate-toolbar-button-active-color: var(--ate-primary);--ate-button-hover: var(--ate-surface-tertiary);--ate-button-active: var(--ate-surface-secondary);--ate-scrollbar-thumb: var(--ate-surface-tertiary);--ate-scrollbar-thumb-hover: var(--ate-text-muted)}:host(.fill-container){display:block;height:100%}.ate-editor{border:var(--ate-border-width) solid var(--ate-border-color);border-radius:var(--ate-border-radius);background:var(--ate-background);overflow:visible;transition:border-color .2s ease;position:relative}:host(.floating-toolbar) .ate-editor{overflow:visible}:host(.fill-container) .ate-editor{display:flex;flex-direction:column;height:100%}:host(.fill-container) .ate-content-wrapper{flex:1;min-height:0}:host(.fill-container) .ate-content{flex:1;min-height:0;overflow-y:auto}.ate-editor:focus-within{border-color:var(--ate-focus-color)}.ate-content{min-height:var(--editor-min-height, 200px);height:var(--editor-height, auto);max-height:var(--editor-max-height, none);overflow-y:var(--editor-overflow, visible);outline:none;position:relative;scrollbar-width:thin;scrollbar-color:var(--ate-scrollbar-thumb) var(--ate-scrollbar-track)}:host(.is-disabled) .ate-content{cursor:not-allowed;opacity:.7;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:var(--ate-surface-tertiary)}:host(.is-readonly) .ate-content{cursor:default;-webkit-user-select:text;user-select:text}:host(.is-readonly) .ate-content ::ng-deep .ate-link{cursor:pointer;pointer-events:auto}.ate-content::-webkit-scrollbar{width:var(--ate-scrollbar-width)}.ate-content-wrapper{position:relative;display:flex;flex-direction:column;min-height:0}.ate-content-wrapper .ate-content{flex:1}.ate-content::-webkit-scrollbar-track{background:var(--ate-scrollbar-track)}.ate-content::-webkit-scrollbar-thumb{background:var(--ate-scrollbar-thumb);border:3px solid transparent;background-clip:content-box;border-radius:10px}.ate-content::-webkit-scrollbar-thumb:hover{background:var(--ate-scrollbar-thumb-hover);background-clip:content-box}.ate-content.drag-over{background:var(--ate-drag-background);border:2px dashed var(--ate-drag-border-color)}.character-count{padding:6px 8px;font-size:12px;color:var(--ate-counter-color);text-align:right;border-top:1px solid var(--ate-counter-border-color);background:var(--ate-counter-background);transition:color .2s ease;border-bottom-left-radius:calc(var(--ate-border-radius) - var(--ate-border-width));border-bottom-right-radius:calc(var(--ate-border-radius) - var(--ate-border-width))}.character-count.limit-reached{color:var(--ate-error-color, #ef4444);font-weight:600}:host.ate-blocks-inside{--ate-content-gutter: 54px}@media (max-width: 768px){:host.ate-blocks-inside{--ate-content-gutter: 0px}ate-block-controls{display:none!important}}:host ::ng-deep .ProseMirror{padding-inline:calc(var(--ate-content-padding-inline) + var(--ate-content-gutter));padding-block:var(--ate-content-padding-block);outline:none;line-height:var(--ate-line-height);color:var(--ate-text-color);min-height:100%;height:100%;word-wrap:break-word;overflow-wrap:break-word}:host ::ng-deep .ProseMirror ::selection{background-color:var(--ate-selection-bg);color:inherit}:host ::ng-deep .ProseMirror ::-moz-selection{background-color:var(--ate-selection-bg);color:inherit}:host ::ng-deep .ProseMirror h1{font-size:2em;font-weight:700;margin-top:0;margin-bottom:.5em}:host ::ng-deep .ProseMirror h2{font-size:1.5em;font-weight:700;margin-top:1em;margin-bottom:.5em}:host ::ng-deep .ProseMirror h3{font-size:1.25em;font-weight:700;margin-top:1em;margin-bottom:.5em}:host ::ng-deep .ProseMirror h4{font-size:1.1em;font-weight:700;margin-top:1em;margin-bottom:.5em}:host ::ng-deep .ProseMirror h5,:host ::ng-deep .ProseMirror h6{font-size:1em;font-weight:700;margin-top:1em;margin-bottom:.5em}:host ::ng-deep .ProseMirror p{margin:.5em 0}:host ::ng-deep .ProseMirror ul{list-style-type:disc;list-style-position:outside;padding-left:2em;margin:.5em 0}:host ::ng-deep .ProseMirror ol{list-style-type:decimal;list-style-position:outside;padding-left:2em;margin:.5em 0}:host ::ng-deep .ProseMirror ul ul{list-style-type:circle}:host ::ng-deep .ProseMirror ul ul ul{list-style-type:square}:host ::ng-deep .ProseMirror hr{border:none;border-top:1px solid var(--ate-border);margin:1.5em 0}:host ::ng-deep .ProseMirror blockquote{border-left:4px solid var(--ate-blockquote-border-color);margin:1em 0;background:var(--ate-blockquote-background);padding:.5em 1em;border-radius:0 4px 4px 0}:host ::ng-deep .ProseMirror code{background:var(--ate-code-background);color:var(--ate-code-color);border:1px solid var(--ate-code-border-color);padding:.15em .4em;border-radius:4px;font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;font-size:.85em;font-weight:500}:host ::ng-deep .ProseMirror pre{background:var(--ate-code-block-background);color:var(--ate-code-block-color);border:1px solid var(--ate-code-block-border-color);padding:1em;border-radius:var(--ate-border-radius);overflow-x:auto;margin:1em 0}:host ::ng-deep .ProseMirror pre code{background:none;color:inherit;border:none;padding:0}:host ::ng-deep .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--ate-placeholder-color);pointer-events:none;float:left;height:0}:host ::ng-deep .ProseMirror[contenteditable=false] img{cursor:pointer}:host ::ng-deep .ProseMirror[contenteditable=false] a{cursor:pointer}:host ::ng-deep .ProseMirror[contenteditable=false] img:hover{transform:none;box-shadow:0 2px 8px #0000001a}:host ::ng-deep .ProseMirror[contenteditable=false] img.ProseMirror-selectednode{outline:none}:host ::ng-deep .ProseMirror img{position:relative;display:inline-block;max-width:100%;height:auto;cursor:pointer;transition:all .2s ease;border:2px solid transparent;border-radius:var(--ate-image-border-radius)}:host ::ng-deep .ProseMirror img:hover{border-color:var(--ate-border-color);box-shadow:0 2px 4px #0000001a}:host ::ng-deep .ProseMirror img.ProseMirror-selectednode,:host ::ng-deep .resizable-image-container.selected img{border-color:var(--ate-image-selected-color);transition:all .2s ease}:host ::ng-deep .ProseMirror [data-text-align=center],:host ::ng-deep .ProseMirror [data-align=center]{text-align:center}:host ::ng-deep .ProseMirror [data-text-align=right],:host ::ng-deep .ProseMirror [data-align=right]{text-align:right}:host ::ng-deep .ProseMirror [data-text-align=left],:host ::ng-deep .ProseMirror [data-align=left]{text-align:left}:host ::ng-deep .resizable-image-wrapper{display:block;width:100%;margin:.5em 0}:host ::ng-deep .resizable-image-container{position:relative;display:inline-block;max-width:100%}:host ::ng-deep .resize-controls{position:absolute;inset:0;pointer-events:none;z-index:1000;opacity:0;transition:opacity .2s ease}::ng-deep .ate-slash-decoration{background:var( --ate-primary-light, color-mix(in srgb, var(--ate-primary, #2563eb), transparent 90%) );padding:4px 8px;border-radius:var(--ate-sub-border-radius, 8px)}::ng-deep .ate-slash-decoration.is-empty:after{content:attr(data-decoration-content);color:var(--ate-text-secondary);font-weight:400;opacity:.7}:host:not(.is-readonly):not(.is-disabled) ::ng-deep .resizable-image-container:hover .resize-controls,:host:not(.is-readonly):not(.is-disabled) ::ng-deep body.resizing .resize-controls{opacity:1}:host ::ng-deep .resize-handle{position:absolute;width:.35rem;height:2rem;background:var(--ate-primary);border:2px solid var(--ate-surface);border-radius:var(--ate-border-radius);pointer-events:all;cursor:pointer;z-index:1001;transition:all .15s ease;box-shadow:0 2px 6px #0003}:host ::ng-deep .resize-handle:hover{background:var(--ate-primary);box-shadow:0 3px 8px #0000004d}:host ::ng-deep .resize-handle:active{background:var(--ate-primary)}:host ::ng-deep .resize-handle-w:hover,:host ::ng-deep .resize-handle-e:hover{background:var(--ate-primary-hover)}:host ::ng-deep .resize-handle-w:active,:host ::ng-deep .resize-handle-e:active{transform:translateY(-50%) scale(.9);background:var(--ate-primary-hover)}:host ::ng-deep .resize-handle-w{top:50%;left:.35rem;transform:translateY(-50%);cursor:w-resize}:host ::ng-deep .resize-handle-e{top:50%;right:.35rem;transform:translateY(-50%);cursor:e-resize}:host ::ng-deep body.resizing{-webkit-user-select:none;user-select:none;cursor:crosshair}:host ::ng-deep body.resizing .ProseMirror{pointer-events:none}:host ::ng-deep body.resizing .ProseMirror .resizable-image-container{pointer-events:none}:host ::ng-deep .image-size-info{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:2px 6px;border-radius:3px;font-size:11px;white-space:nowrap;opacity:0;transition:opacity .2s ease}:host ::ng-deep .resizable-image-container:hover .image-size-info{opacity:1}:host ::ng-deep .ProseMirror table{border-collapse:separate;border-spacing:0;margin:0;table-layout:fixed;width:100%;border-radius:8px;overflow:hidden}:host ::ng-deep .ProseMirror table td,:host ::ng-deep .ProseMirror table th{border:none;border-right:1px solid var(--ate-table-border-color);border-bottom:1px solid var(--ate-table-border-color);box-sizing:border-box;min-width:1em;padding:8px 12px;position:relative;vertical-align:top;text-align:left}:host ::ng-deep .ProseMirror table td{background:var(--ate-table-cell-background)}:host ::ng-deep .ProseMirror table td:first-child,:host ::ng-deep .ProseMirror table th:first-child{border-left:1px solid var(--ate-table-border-color)}:host ::ng-deep .ProseMirror table tr:first-child td,:host ::ng-deep .ProseMirror table tr:first-child th{border-top:1px solid var(--ate-table-border-color)}:host ::ng-deep .ProseMirror table tr:first-child th:first-child{border-top-left-radius:8px}:host ::ng-deep .ProseMirror table tr:first-child th:last-child{border-top-right-radius:8px}:host ::ng-deep .ProseMirror table tr:last-child td:first-child{border-bottom-left-radius:8px}:host ::ng-deep .ProseMirror table tr:last-child td:last-child{border-bottom-right-radius:8px}:host ::ng-deep .ProseMirror table th{background:var(--ate-table-header-background);font-weight:600;color:var(--ate-table-header-color)}:host ::ng-deep .ProseMirror table .selectedCell:after{background:var(--ate-table-cell-selected-background);content:\"\";inset:0;pointer-events:none;position:absolute;z-index:2}:host ::ng-deep .ProseMirror table .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background-color:var(--ate-table-resize-handle-color);opacity:0;transition:opacity .2s ease}:host ::ng-deep .ProseMirror table:hover .column-resize-handle{opacity:1}:host ::ng-deep .ProseMirror table .column-resize-handle:hover{background-color:var(--ate-focus-color)}:host ::ng-deep .ProseMirror .tableWrapper{overflow-x:auto;margin:1em 0;border-radius:8px}:host ::ng-deep .ProseMirror .tableWrapper table{margin:0;border-radius:8px;min-width:600px;overflow:hidden}:host ::ng-deep .ProseMirror table p{margin:0}:host ::ng-deep .ProseMirror table tbody tr:hover td{background-color:var(--ate-table-row-hover-background)}\n"] }]
|
|
9431
9666
|
}], ctorParameters: () => [] });
|
|
9432
9667
|
|
|
9433
9668
|
/**
|
|
@@ -9464,6 +9699,97 @@ function provideAteEditor(config) {
|
|
|
9464
9699
|
},
|
|
9465
9700
|
]);
|
|
9466
9701
|
}
|
|
9702
|
+
/**
|
|
9703
|
+
* Registers SVG icons, to override the library icons or to add icons for custom
|
|
9704
|
+
* toolbar items, bubble menus and slash commands. Can be called several times.
|
|
9705
|
+
*
|
|
9706
|
+
* Must be provided at application bootstrap (`app.config.ts` or `main.ts`) because
|
|
9707
|
+
* `AteIconRegistry` is root-scoped (`providedIn: 'root'`); for lazy routes or
|
|
9708
|
+
* runtime changes, inject `AteIconRegistry` and call `register()`.
|
|
9709
|
+
*
|
|
9710
|
+
* Values are a full `<svg>` element, used as-is with its own `fill` and `stroke`,
|
|
9711
|
+
* or only its inner markup, drawn in the Material Symbols viewBox (`0 -960 960 960`)
|
|
9712
|
+
* and filled with `currentColor`. Unregistered names fall back to
|
|
9713
|
+
* the Material Symbols font, when it is loaded.
|
|
9714
|
+
* @example
|
|
9715
|
+
* ```ts
|
|
9716
|
+
* bootstrapApplication(AppComponent, {
|
|
9717
|
+
* providers: [
|
|
9718
|
+
* provideAteEditor(),
|
|
9719
|
+
* provideAteIcons({
|
|
9720
|
+
* // full <svg>: keeps its own fill and stroke (here a stroke icon, Lucide style)
|
|
9721
|
+
* bold: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="…"/></svg>',
|
|
9722
|
+
* // inner markup: Material Symbols viewBox, filled with currentColor
|
|
9723
|
+
* rocket: '<path d="…"/>',
|
|
9724
|
+
* })
|
|
9725
|
+
* ]
|
|
9726
|
+
* });
|
|
9727
|
+
* ```
|
|
9728
|
+
*/
|
|
9729
|
+
function provideAteIcons(icons) {
|
|
9730
|
+
return makeEnvironmentProviders([{ provide: ATE_ICONS, useValue: icons, multi: true }]);
|
|
9731
|
+
}
|
|
9732
|
+
|
|
9733
|
+
const ATE_STROKE_ICONS = {
|
|
9734
|
+
addColumnAfter: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"4\" y=\"3\" width=\"10\" height=\"18\" rx=\"3\"/><path d=\"M9 3v18M4 9.5h10M16.5 12h5M19 9.5v5\"/></svg>",
|
|
9735
|
+
addColumnBefore: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"10\" y=\"3\" width=\"10\" height=\"18\" rx=\"3\"/><path d=\"M15 3v18M10 9.5h10M2.5 12h5M5 9.5v5\"/></svg>",
|
|
9736
|
+
addRowAfter: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"10\" rx=\"3\"/><path d=\"M3 9h18M9.5 4v10M12 16.5v5M9.5 19h5\"/></svg>",
|
|
9737
|
+
addRowBefore: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"10\" width=\"18\" height=\"10\" rx=\"3\"/><path d=\"M3 15h18M9.5 10v10M12 2.5v5M9.5 5h5\"/></svg>",
|
|
9738
|
+
alignCenter: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 6h16M7 10h10M4 14h16M7 18h10\"/></svg>",
|
|
9739
|
+
alignJustify: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 6h16M4 10h16M4 14h16M4 18h16\"/></svg>",
|
|
9740
|
+
alignLeft: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 6h16M4 10h10M4 14h16M4 18h10\"/></svg>",
|
|
9741
|
+
alignRight: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 6h16M10 10h10M4 14h16M10 18h10\"/></svg>",
|
|
9742
|
+
apply: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m5 12.5 4.5 4.5L19 7.5\"/></svg>",
|
|
9743
|
+
blockAdd: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3.5\" y=\"3.5\" width=\"17\" height=\"17\" rx=\"5\"/><path d=\"M12 8.5v7M8.5 12h7\"/></svg>",
|
|
9744
|
+
blockDrag: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><g fill=\"currentColor\" stroke=\"none\"><circle cx=\"9\" cy=\"6\" r=\"1.5\"/><circle cx=\"15\" cy=\"6\" r=\"1.5\"/><circle cx=\"9\" cy=\"12\" r=\"1.5\"/><circle cx=\"15\" cy=\"12\" r=\"1.5\"/><circle cx=\"9\" cy=\"18\" r=\"1.5\"/><circle cx=\"15\" cy=\"18\" r=\"1.5\"/></g></svg>",
|
|
9745
|
+
blockquote: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 5v14M9 7.5h11M9 12h11M9 16.5h7\"/></svg>",
|
|
9746
|
+
bold: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 5h5.5a3.5 3.5 0 0 1 0 7H7zM7 12h6.5a3.5 3.5 0 0 1 0 7H7z\" stroke-width=\"2.6\"/></svg>",
|
|
9747
|
+
bulletList: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10 6h10M10 12h10M10 18h10\"/><circle cx=\"5\" cy=\"6\" r=\"1.4\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"5\" cy=\"12\" r=\"1.4\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"5\" cy=\"18\" r=\"1.4\" fill=\"currentColor\" stroke=\"none\"/></svg>",
|
|
9748
|
+
changeImage: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M11 20H6.5A3.5 3.5 0 0 1 3 16.5v-9A3.5 3.5 0 0 1 6.5 4h11A3.5 3.5 0 0 1 21 7.5V11M3 16l5-5 3.5 3.5\"/><circle cx=\"15.5\" cy=\"8.5\" r=\"1.4\"/><path d=\"m18.5 13.5 2 2-4.5 4.5h-2v-2z\"/></svg>",
|
|
9749
|
+
clear: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M6 6l12 12M18 6 6 18\"/></svg>",
|
|
9750
|
+
clearContent: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 20.5h11M4.8 14.8 13.6 6a2 2 0 0 1 2.8 0l3.2 3.2a2 2 0 0 1 0 2.8L11.1 20.5H9.3l-4.5-4.5a.9.9 0 0 1 0-1.2zM9.5 10.2l5.8 5.8\"/></svg>",
|
|
9751
|
+
code: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M8.5 7 3.5 12l5 5M15.5 7l5 5-5 5\"/></svg>",
|
|
9752
|
+
codeBlock: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"3.5\"/><path d=\"m7.5 10 2.5 2-2.5 2M12.5 15h4\"/></svg>",
|
|
9753
|
+
customColor: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m13 7 4 4M14.5 5.5l1.2-1.2a2.3 2.3 0 0 1 3.3 3.3l-1.2 1.2M14 8l-8.3 8.3-.9 3 3-.9L16.1 10\"/></svg>",
|
|
9754
|
+
deleteColumn: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"3.5\"/><path d=\"M8.5 4v16M15.5 4v16\"/><path d=\"M10.4 10.4l3.2 3.2M13.6 10.4l-3.2 3.2\"/></svg>",
|
|
9755
|
+
deleteImage: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 7h16M6.5 7l.9 11.6A2 2 0 0 0 9.4 20.5h5.2a2 2 0 0 0 2-1.9L17.5 7M9.5 7V5a1.5 1.5 0 0 1 1.5-1.5h2A1.5 1.5 0 0 1 14.5 5v2M10.5 11v5.5M13.5 11v5.5\"/></svg>",
|
|
9756
|
+
deleteRow: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"3.5\"/><path d=\"M3 9.2h18M3 14.8h18\"/><path d=\"M10.4 10.4l3.2 3.2M13.6 10.4l-3.2 3.2\"/></svg>",
|
|
9757
|
+
deleteTable: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"13.5\" height=\"13.5\" rx=\"3\"/><path d=\"M3 8h13.5M8 8v8.5\"/><path d=\"M16.5 16.5l4 4M20.5 16.5l-4 4\"/></svg>",
|
|
9758
|
+
downloadImage: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 4v11M7.5 10.5 12 15l4.5-4.5M4 15.5v2.5A2 2 0 0 0 6 20h12a2 2 0 0 0 2-2v-2.5\"/></svg>",
|
|
9759
|
+
edit: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 20h4L18.3 9.7a2.8 2.8 0 0 0-4-4L4 16zM13 7l4 4\"/></svg>",
|
|
9760
|
+
heading1: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3.5 6v12M11.5 6v12M3.5 12h8M16 9.5 19 7.5V18\"/></svg>",
|
|
9761
|
+
heading2: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3.5 6v12M11.5 6v12M3.5 12h8M15.5 9.5a2.6 2.6 0 0 1 5 .9c0 .8-.4 1.5-1 2.1L15.5 18h5\"/></svg>",
|
|
9762
|
+
heading3: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3.5 6v12M11.5 6v12M3.5 12h8M15.5 7.5h4.8l-2.8 3.6a3.4 3.4 0 1 1-2.3 5.6\"/></svg>",
|
|
9763
|
+
highlight: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 16.5 5.5 13 14.8 3.7a2.5 2.5 0 0 1 3.5 3.5z M5.5 13 3.5 18.5h4L9 16.5 M13 20.5h7.5\"/></svg>",
|
|
9764
|
+
highlightColor: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m14.5 4.5 5 5-7.8 7.8H6.7v-5z M4 20h16\"/></svg>",
|
|
9765
|
+
horizontalRule: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 12h18\"/><path d=\"M7 6.5h10M7 17.5h10\" stroke-opacity=\".35\"/></svg>",
|
|
9766
|
+
image: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"3.5\"/><circle cx=\"8.5\" cy=\"9.5\" r=\"1.6\"/><path d=\"m21 15.5-4.8-4.8L6 20\"/></svg>",
|
|
9767
|
+
imageUpload: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 15V4M7.5 8.5 12 4l4.5 4.5M4 15.5v2.5A2 2 0 0 0 6 20h12a2 2 0 0 0 2-2v-2.5\"/></svg>",
|
|
9768
|
+
italic: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10 5h8M6 19h8M14.5 5l-5 14\"/></svg>",
|
|
9769
|
+
link: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10 14a4 4 0 0 0 5.66 0l3.17-3.17a4 4 0 0 0-5.66-5.66L12 6.34M14 10a4 4 0 0 0-5.66 0l-3.17 3.17a4 4 0 0 0 5.66 5.66L12 17.66\"/></svg>",
|
|
9770
|
+
mergeCells: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 4v16M3.5 12H9M6.5 9.5 9 12l-2.5 2.5M20.5 12H15M17.5 9.5 15 12l2.5 2.5\"/></svg>",
|
|
9771
|
+
openLink: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M14 4h6v6M20 4l-8.5 8.5M18 14v3.5A2.5 2.5 0 0 1 15.5 20h-9A2.5 2.5 0 0 1 4 17.5v-9A2.5 2.5 0 0 1 6.5 6H10\"/></svg>",
|
|
9772
|
+
orderedList: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10.5 6H20M10.5 12H20M10.5 18H20M4 4.5 5.5 3.8V9M3.8 13.4a1.3 1.3 0 0 1 2.5.4c0 .4-.2.7-.5 1L3.8 17h2.6\" stroke-width=\"1.8\"/></svg>",
|
|
9773
|
+
preview: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/></svg>",
|
|
9774
|
+
redo: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 13.5 19.5 9 15 4.5M19.5 9H9a5 5 0 0 0 0 10h4\"/></svg>",
|
|
9775
|
+
resizeLarge: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"3.5\" stroke-opacity=\".35\" stroke-dasharray=\"3 3\"/><rect x=\"5.5\" y=\"5.5\" width=\"13\" height=\"13\" rx=\"2.5\"/></svg>",
|
|
9776
|
+
resizeMedium: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"3.5\" stroke-opacity=\".35\" stroke-dasharray=\"3 3\"/><rect x=\"7\" y=\"7\" width=\"10\" height=\"10\" rx=\"2\"/></svg>",
|
|
9777
|
+
resizeOriginal: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 9V4h5M4 4l5.5 5.5M20 15v5h-5M20 20l-5.5-5.5\"/></svg>",
|
|
9778
|
+
resizeSmall: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"3.5\" stroke-opacity=\".35\" stroke-dasharray=\"3 3\"/><rect x=\"9\" y=\"9\" width=\"6\" height=\"6\" rx=\"1.5\"/></svg>",
|
|
9779
|
+
splitCell: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 4v16M9 12H3.5M6 9.5 3.5 12 6 14.5M15 12h5.5M18 9.5l2.5 2.5-2.5 2.5\"/></svg>",
|
|
9780
|
+
strike: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16.5 7.2C15.8 5.8 14.2 5 12.2 5 9.7 5 8 6.3 8 8.1c0 1.4.9 2.3 2.4 2.9M4 12h16M7.6 16.8c.7 1.4 2.3 2.2 4.4 2.2 2.6 0 4.5-1.3 4.5-3.3 0-.7-.2-1.3-.6-1.7\"/></svg>",
|
|
9781
|
+
subscript: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 5.5l8 10M12 5.5l-8 10\"/><path d=\"M15.5 14.7a1.7 1.7 0 0 1 3.2.8c0 .5-.3 1-.7 1.4l-2.5 2.6h3.5\" stroke-width=\"1.7\"/></svg>",
|
|
9782
|
+
superscript: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 8.5l8 10M12 8.5l-8 10\"/><path d=\"M15.5 5.2a1.7 1.7 0 0 1 3.2.8c0 .5-.3 1-.7 1.4L15.5 10h3.5\" stroke-width=\"1.7\"/></svg>",
|
|
9783
|
+
table: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"3.5\"/><path d=\"M3 9.5h18M3 14.8h18M9.5 9.5V20\"/></svg>",
|
|
9784
|
+
tableOfContents: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 5h11M8 10h12M8 15h12M4 20h11\"/></svg>",
|
|
9785
|
+
textColor: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M6.5 16 12 4l5.5 12M8.4 12h7.2M4 20h16\"/></svg>",
|
|
9786
|
+
toggleHeaderColumn: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"3.5\"/><path d=\"M9.5 4H6.5A3.5 3.5 0 0 0 3 7.5v9A3.5 3.5 0 0 0 6.5 20h3z\" fill=\"currentColor\"/><path d=\"M9.5 12H21M15.2 4v16\"/></svg>",
|
|
9787
|
+
toggleHeaderRow: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"3.5\"/><path d=\"M3 9.5V7.5A3.5 3.5 0 0 1 6.5 4h11A3.5 3.5 0 0 1 21 7.5v2z\" fill=\"currentColor\"/><path d=\"M9.5 9.5V20M3 14.8h18\"/></svg>",
|
|
9788
|
+
underline: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 4v6.5a5 5 0 0 0 10 0V4M5 20h14\"/></svg>",
|
|
9789
|
+
undo: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 13.5 4.5 9 9 4.5M4.5 9H15a5 5 0 0 1 0 10h-4\"/></svg>",
|
|
9790
|
+
unsetColor: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M8 5.8C9.2 4.4 10.5 3.5 12 3.5c1.9 2 5.5 5.7 5.5 9.7 0 .8-.1 1.5-.4 2.2M15.8 17.2A5.5 5.5 0 0 1 6.5 13.2c0-1.8.8-3.6 1.8-5.2M4 4l16 16\"/></svg>",
|
|
9791
|
+
unsetLink: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m13.5 6.5.8-.8a4 4 0 0 1 5.66 5.66l-.8.8M10.5 17.5l-.8.8a4 4 0 0 1-5.66-5.66l.8-.8M4 4l16 16\"/></svg>",
|
|
9792
|
+
};
|
|
9467
9793
|
|
|
9468
9794
|
/**
|
|
9469
9795
|
* Clés des boutons de la barre d'outils native
|
|
@@ -9523,5 +9849,5 @@ const ATE_DEFAULT_TOC_CONFIG = {
|
|
|
9523
9849
|
* Generated bundle index. Do not edit.
|
|
9524
9850
|
*/
|
|
9525
9851
|
|
|
9526
|
-
export { ATE_BUBBLE_MENU_KEYS, ATE_CELL_BUBBLE_MENU_KEYS, ATE_DEFAULT_BUBBLE_MENU_CONFIG, ATE_DEFAULT_CELL_MENU_CONFIG, ATE_DEFAULT_CONFIG, ATE_DEFAULT_IMAGE_BUBBLE_MENU_CONFIG, ATE_DEFAULT_IMAGE_UPLOAD_CONFIG, ATE_DEFAULT_SLASH_COMMANDS_CONFIG, ATE_DEFAULT_TABLE_MENU_CONFIG, ATE_DEFAULT_TOC_CONFIG, ATE_DEFAULT_TOOLBAR_CONFIG, ATE_GLOBAL_CONFIG, ATE_IMAGE_BUBBLE_MENU_KEYS, ATE_INITIAL_EDITOR_STATE, ATE_SLASH_COMMAND_KEYS, ATE_TABLE_BUBBLE_MENU_KEYS, ATE_TOOLBAR_KEYS, AngularTiptapEditorComponent, AteAngularNodeView, AteColorPickerService, AteDiscoveryCalculator, AteEditorCommandsService, AteEditorRef, AteEditorRegistry, AteExportService, AteI18nService, AteImageCalculator, AteImageService, AteLinkService, AteMarksCalculator, AteNodeViewRenderer, AteNoopValueAccessorDirective, AteSelectionCalculator, AteStructureCalculator, AteTableCalculator, AteTableOfContentsComponent, AteTocNodeComponent, AteTocNodeOptions, AteTooltipDirective, createAngularComponentExtension, createDefaultSlashCommands, filterSlashCommands, getAteTocNodeExtension, provideAteEditor, registerAngularComponent };
|
|
9852
|
+
export { ATE_BUBBLE_MENU_KEYS, ATE_CELL_BUBBLE_MENU_KEYS, ATE_DEFAULT_BUBBLE_MENU_CONFIG, ATE_DEFAULT_CELL_MENU_CONFIG, ATE_DEFAULT_CONFIG, ATE_DEFAULT_ICONS, ATE_DEFAULT_IMAGE_BUBBLE_MENU_CONFIG, ATE_DEFAULT_IMAGE_UPLOAD_CONFIG, ATE_DEFAULT_SLASH_COMMANDS_CONFIG, ATE_DEFAULT_TABLE_MENU_CONFIG, ATE_DEFAULT_TOC_CONFIG, ATE_DEFAULT_TOOLBAR_CONFIG, ATE_GLOBAL_CONFIG, ATE_ICONS, ATE_IMAGE_BUBBLE_MENU_KEYS, ATE_INITIAL_EDITOR_STATE, ATE_MATERIAL_SYMBOLS_VIEWBOX, ATE_SLASH_COMMAND_KEYS, ATE_STROKE_ICONS, ATE_TABLE_BUBBLE_MENU_KEYS, ATE_TOOLBAR_KEYS, AngularTiptapEditorComponent, AteAngularNodeView, AteColorPickerService, AteDiscoveryCalculator, AteEditorCommandsService, AteEditorRef, AteEditorRegistry, AteExportService, AteI18nService, AteIconComponent, AteIconRegistry, AteImageCalculator, AteImageService, AteLinkService, AteMarksCalculator, AteNodeViewRenderer, AteNoopValueAccessorDirective, AteSelectionCalculator, AteStructureCalculator, AteTableCalculator, AteTableOfContentsComponent, AteTocNodeComponent, AteTocNodeOptions, AteTooltipDirective, createAngularComponentExtension, createDefaultSlashCommands, filterSlashCommands, getAteTocNodeExtension, provideAteEditor, provideAteIcons, registerAngularComponent };
|
|
9527
9853
|
//# sourceMappingURL=flogeez-angular-tiptap-editor.mjs.map
|