@flogeez/angular-tiptap-editor 2.4.0 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/esm2022/flogeez-angular-tiptap-editor.mjs +5 -0
  3. package/esm2022/lib/ate-editor.provider.mjs +38 -0
  4. package/esm2022/lib/components/bubble-menus/base/ate-base-bubble-menu.mjs +207 -0
  5. package/esm2022/lib/components/bubble-menus/base/ate-base-sub-bubble-menu.mjs +133 -0
  6. package/esm2022/lib/components/bubble-menus/color/ate-color-bubble-menu.component.mjs +365 -0
  7. package/esm2022/lib/components/bubble-menus/image/ate-image-bubble-menu.component.mjs +226 -0
  8. package/esm2022/lib/components/bubble-menus/link/ate-link-bubble-menu.component.mjs +247 -0
  9. package/esm2022/lib/components/bubble-menus/table/ate-cell-bubble-menu.component.mjs +121 -0
  10. package/esm2022/lib/components/bubble-menus/table/ate-table-bubble-menu.component.mjs +266 -0
  11. package/esm2022/lib/components/bubble-menus/text/ate-bubble-menu.component.mjs +294 -0
  12. package/esm2022/lib/components/color-picker/ate-color-picker.component.mjs +122 -0
  13. package/esm2022/lib/components/edit-toggle/ate-edit-toggle.component.mjs +42 -0
  14. package/esm2022/lib/components/editor/angular-tiptap-editor.component.mjs +953 -0
  15. package/esm2022/lib/components/slash-commands/ate-slash-commands.component.mjs +329 -0
  16. package/esm2022/lib/components/toolbar/ate-toolbar.component.mjs +531 -0
  17. package/esm2022/lib/components/ui/ate-button.component.mjs +90 -0
  18. package/esm2022/lib/components/ui/ate-separator.component.mjs +31 -0
  19. package/esm2022/lib/config/ate-editor.config.mjs +76 -0
  20. package/esm2022/lib/config/ate-global-config.token.mjs +6 -0
  21. package/esm2022/lib/config/ate-slash-commands.config.mjs +130 -0
  22. package/esm2022/lib/directives/ate-noop-value-accessor.directive.mjs +40 -0
  23. package/esm2022/lib/extensions/ate-link-click-behavior.extension.mjs +32 -0
  24. package/esm2022/lib/extensions/ate-resizable-image.extension.mjs +270 -0
  25. package/esm2022/lib/extensions/ate-table.extension.mjs +29 -0
  26. package/esm2022/lib/extensions/ate-tiptap-state.extension.mjs +85 -0
  27. package/esm2022/lib/extensions/ate-upload-progress.extension.mjs +195 -0
  28. package/esm2022/lib/extensions/calculators/ate-discovery.calculator.mjs +62 -0
  29. package/esm2022/lib/extensions/calculators/ate-image.calculator.mjs +8 -0
  30. package/esm2022/lib/extensions/calculators/ate-marks.calculator.mjs +75 -0
  31. package/esm2022/lib/extensions/calculators/ate-selection.calculator.mjs +35 -0
  32. package/esm2022/lib/extensions/calculators/ate-structure.calculator.mjs +34 -0
  33. package/esm2022/lib/extensions/calculators/ate-table.calculator.mjs +38 -0
  34. package/esm2022/lib/models/ate-bubble-menu.model.mjs +49 -0
  35. package/esm2022/lib/models/ate-editor-config.model.mjs +2 -0
  36. package/esm2022/lib/models/ate-editor-state.model.mjs +90 -0
  37. package/esm2022/lib/models/ate-image.model.mjs +2 -0
  38. package/esm2022/lib/models/ate-toolbar.model.mjs +35 -0
  39. package/esm2022/lib/node-view/ate-angular-node-view.mjs +97 -0
  40. package/esm2022/lib/node-view/ate-injector.registry.mjs +16 -0
  41. package/esm2022/lib/node-view/ate-node-view.factory.mjs +125 -0
  42. package/esm2022/lib/node-view/ate-node-view.models.mjs +2 -0
  43. package/esm2022/lib/node-view/ate-node-view.renderer.mjs +154 -0
  44. package/esm2022/lib/node-view/ate-register-angular-component.mjs +49 -0
  45. package/esm2022/lib/services/ate-color-picker.service.mjs +193 -0
  46. package/esm2022/lib/services/ate-editor-commands.service.mjs +465 -0
  47. package/esm2022/lib/services/ate-i18n.service.mjs +410 -0
  48. package/esm2022/lib/services/ate-image.service.mjs +368 -0
  49. package/esm2022/lib/services/ate-link.service.mjs +97 -0
  50. package/esm2022/lib/utils/ate-color.utils.mjs +60 -0
  51. package/esm2022/public-api.mjs +93 -0
  52. package/fesm2022/flogeez-angular-tiptap-editor.mjs +313 -346
  53. package/fesm2022/flogeez-angular-tiptap-editor.mjs.map +1 -1
  54. package/index.d.ts +3 -1673
  55. package/lib/ate-editor.provider.d.ts +21 -0
  56. package/lib/components/bubble-menus/base/ate-base-bubble-menu.d.ts +71 -0
  57. package/lib/components/bubble-menus/base/ate-base-sub-bubble-menu.d.ts +60 -0
  58. package/lib/components/bubble-menus/color/ate-color-bubble-menu.component.d.ts +77 -0
  59. package/lib/components/bubble-menus/image/ate-image-bubble-menu.component.d.ts +52 -0
  60. package/lib/components/bubble-menus/link/ate-link-bubble-menu.component.d.ts +55 -0
  61. package/lib/components/bubble-menus/table/ate-cell-bubble-menu.component.d.ts +12 -0
  62. package/lib/components/bubble-menus/table/ate-table-bubble-menu.component.d.ts +24 -0
  63. package/lib/components/bubble-menus/text/ate-bubble-menu.component.d.ts +53 -0
  64. package/lib/components/color-picker/ate-color-picker.component.d.ts +54 -0
  65. package/lib/components/edit-toggle/ate-edit-toggle.component.d.ts +13 -0
  66. package/lib/components/editor/angular-tiptap-editor.component.d.ts +235 -0
  67. package/lib/components/slash-commands/ate-slash-commands.component.d.ts +43 -0
  68. package/lib/components/toolbar/ate-toolbar.component.d.ts +47 -0
  69. package/lib/components/ui/ate-button.component.d.ts +25 -0
  70. package/lib/components/ui/ate-separator.component.d.ts +7 -0
  71. package/lib/config/ate-editor.config.d.ts +7 -0
  72. package/lib/config/ate-global-config.token.d.ts +6 -0
  73. package/lib/config/ate-slash-commands.config.d.ts +41 -0
  74. package/lib/directives/ate-noop-value-accessor.directive.d.ts +13 -0
  75. package/lib/extensions/ate-link-click-behavior.extension.d.ts +2 -0
  76. package/lib/extensions/ate-resizable-image.extension.d.ts +27 -0
  77. package/lib/extensions/ate-table.extension.d.ts +2 -0
  78. package/lib/extensions/ate-tiptap-state.extension.d.ts +7 -0
  79. package/lib/extensions/ate-upload-progress.extension.d.ts +7 -0
  80. package/lib/extensions/calculators/ate-discovery.calculator.d.ts +7 -0
  81. package/lib/extensions/calculators/ate-image.calculator.d.ts +2 -0
  82. package/lib/extensions/calculators/ate-marks.calculator.d.ts +2 -0
  83. package/lib/extensions/calculators/ate-selection.calculator.d.ts +2 -0
  84. package/lib/extensions/calculators/ate-structure.calculator.d.ts +2 -0
  85. package/lib/extensions/calculators/ate-table.calculator.d.ts +2 -0
  86. package/lib/models/ate-bubble-menu.model.d.ts +33 -0
  87. package/lib/models/ate-editor-config.model.d.ts +100 -0
  88. package/lib/models/ate-editor-state.model.d.ts +109 -0
  89. package/lib/models/ate-image.model.d.ts +104 -0
  90. package/lib/models/ate-toolbar.model.d.ts +18 -0
  91. package/lib/node-view/ate-angular-node-view.d.ts +115 -0
  92. package/lib/node-view/ate-injector.registry.d.ts +3 -0
  93. package/lib/node-view/ate-node-view.factory.d.ts +10 -0
  94. package/lib/node-view/ate-node-view.models.d.ts +138 -0
  95. package/lib/node-view/ate-node-view.renderer.d.ts +23 -0
  96. package/lib/node-view/ate-register-angular-component.d.ts +35 -0
  97. package/lib/services/ate-color-picker.service.d.ts +65 -0
  98. package/lib/services/ate-editor-commands.service.d.ts +72 -0
  99. package/lib/services/ate-i18n.service.d.ts +394 -0
  100. package/lib/services/ate-image.service.d.ts +71 -0
  101. package/lib/services/ate-link.service.d.ts +42 -0
  102. package/lib/utils/ate-color.utils.d.ts +12 -0
  103. package/package.json +3 -1
  104. package/public-api.d.ts +112 -0
@@ -0,0 +1,90 @@
1
+ import { Component, input, output, ChangeDetectionStrategy } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class AteButtonComponent {
4
+ constructor() {
5
+ // Inputs
6
+ this.icon = input("");
7
+ this.title = input.required();
8
+ this.active = input(false);
9
+ this.disabled = input(false);
10
+ this.color = input();
11
+ this.backgroundColor = input();
12
+ this.variant = input("default");
13
+ this.size = input("medium");
14
+ this.iconSize = input("medium");
15
+ // Outputs
16
+ this.buttonClick = output();
17
+ }
18
+ onMouseDown(event) {
19
+ event.preventDefault();
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AteButtonComponent, isStandalone: true, selector: "ate-button", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, backgroundColor: { classPropertyName: "backgroundColor", publicName: "backgroundColor", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, iconSize: { classPropertyName: "iconSize", publicName: "iconSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { buttonClick: "buttonClick" }, ngImport: i0, template: `
23
+ <button
24
+ class="ate-button"
25
+ [class.is-active]="active()"
26
+ [class.is-disabled]="disabled()"
27
+ [class.text-button]="variant() === 'text'"
28
+ [class.danger]="variant() === 'danger'"
29
+ [class.small]="size() === 'small'"
30
+ [class.medium]="size() === 'medium'"
31
+ [class.large]="size() === 'large'"
32
+ [class.has-custom-color]="!!color()"
33
+ [class.has-custom-bg]="!!backgroundColor()"
34
+ [disabled]="disabled()"
35
+ [style.color]="color()"
36
+ [style.background-color]="backgroundColor()"
37
+ [attr.title]="title()"
38
+ [attr.aria-label]="title()"
39
+ (mousedown)="onMouseDown($event)"
40
+ (click)="buttonClick.emit($event)"
41
+ type="button">
42
+ @if (icon()) {
43
+ <span
44
+ class="material-symbols-outlined"
45
+ [class.icon-small]="iconSize() === 'small'"
46
+ [class.icon-medium]="iconSize() === 'medium'"
47
+ [class.icon-large]="iconSize() === 'large'"
48
+ >{{ icon() }}</span
49
+ >
50
+ }
51
+ <ng-content></ng-content>
52
+ </button>
53
+ `, 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 .material-symbols-outlined{font-size:20px;position:relative;z-index:1}.ate-button .material-symbols-outlined.icon-small{font-size:16px}.ate-button .material-symbols-outlined.icon-medium{font-size:20px}.ate-button .material-symbols-outlined.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 .material-symbols-outlined{font-size:18px}.ate-button.text-button{padding:0 8px;font-size:13px}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteButtonComponent, decorators: [{
56
+ type: Component,
57
+ args: [{ selector: "ate-button", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: `
58
+ <button
59
+ class="ate-button"
60
+ [class.is-active]="active()"
61
+ [class.is-disabled]="disabled()"
62
+ [class.text-button]="variant() === 'text'"
63
+ [class.danger]="variant() === 'danger'"
64
+ [class.small]="size() === 'small'"
65
+ [class.medium]="size() === 'medium'"
66
+ [class.large]="size() === 'large'"
67
+ [class.has-custom-color]="!!color()"
68
+ [class.has-custom-bg]="!!backgroundColor()"
69
+ [disabled]="disabled()"
70
+ [style.color]="color()"
71
+ [style.background-color]="backgroundColor()"
72
+ [attr.title]="title()"
73
+ [attr.aria-label]="title()"
74
+ (mousedown)="onMouseDown($event)"
75
+ (click)="buttonClick.emit($event)"
76
+ type="button">
77
+ @if (icon()) {
78
+ <span
79
+ class="material-symbols-outlined"
80
+ [class.icon-small]="iconSize() === 'small'"
81
+ [class.icon-medium]="iconSize() === 'medium'"
82
+ [class.icon-large]="iconSize() === 'large'"
83
+ >{{ icon() }}</span
84
+ >
85
+ }
86
+ <ng-content></ng-content>
87
+ </button>
88
+ `, 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 .material-symbols-outlined{font-size:20px;position:relative;z-index:1}.ate-button .material-symbols-outlined.icon-small{font-size:16px}.ate-button .material-symbols-outlined.icon-medium{font-size:20px}.ate-button .material-symbols-outlined.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 .material-symbols-outlined{font-size:18px}.ate-button.text-button{padding:0 8px;font-size:13px}}\n"] }]
89
+ }] });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRpcHRhcC1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3VpL2F0ZS1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUF3T2xGLE1BQU0sT0FBTyxrQkFBa0I7SUE1Ti9CO1FBNk5FLFNBQVM7UUFDVCxTQUFJLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDakMsV0FBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLFVBQUssR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUN4QixvQkFBZSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ2xDLFlBQU8sR0FBRyxLQUFLLENBQWdDLFNBQVMsQ0FBQyxDQUFDO1FBQzFELFNBQUksR0FBRyxLQUFLLENBQStCLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELGFBQVEsR0FBRyxLQUFLLENBQStCLFFBQVEsQ0FBQyxDQUFDO1FBRXpELFVBQVU7UUFDVixnQkFBVyxHQUFHLE1BQU0sRUFBUyxDQUFDO0tBSy9CO0lBSEMsV0FBVyxDQUFDLEtBQWlCO1FBQzNCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDOytHQWpCVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixxdUNBeE5uQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCVDs7NEZBeUxVLGtCQUFrQjtrQkE1TjlCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxZQUNyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIG91dHB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF0ZUJ1dHRvbkNvbmZpZyB7XG4gIGljb246IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgYWN0aXZlPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICB2YXJpYW50PzogXCJkZWZhdWx0XCIgfCBcInRleHRcIiB8IFwiZGFuZ2VyXCI7XG4gIHNpemU/OiBcInNtYWxsXCIgfCBcIm1lZGl1bVwiIHwgXCJsYXJnZVwiO1xuICBpY29uU2l6ZT86IFwic21hbGxcIiB8IFwibWVkaXVtXCIgfCBcImxhcmdlXCI7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhdGUtYnV0dG9uXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYXRlLWJ1dHRvblwiXG4gICAgICBbY2xhc3MuaXMtYWN0aXZlXT1cImFjdGl2ZSgpXCJcbiAgICAgIFtjbGFzcy5pcy1kaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgIFtjbGFzcy50ZXh0LWJ1dHRvbl09XCJ2YXJpYW50KCkgPT09ICd0ZXh0J1wiXG4gICAgICBbY2xhc3MuZGFuZ2VyXT1cInZhcmlhbnQoKSA9PT0gJ2RhbmdlcidcIlxuICAgICAgW2NsYXNzLnNtYWxsXT1cInNpemUoKSA9PT0gJ3NtYWxsJ1wiXG4gICAgICBbY2xhc3MubWVkaXVtXT1cInNpemUoKSA9PT0gJ21lZGl1bSdcIlxuICAgICAgW2NsYXNzLmxhcmdlXT1cInNpemUoKSA9PT0gJ2xhcmdlJ1wiXG4gICAgICBbY2xhc3MuaGFzLWN1c3RvbS1jb2xvcl09XCIhIWNvbG9yKClcIlxuICAgICAgW2NsYXNzLmhhcy1jdXN0b20tYmddPVwiISFiYWNrZ3JvdW5kQ29sb3IoKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICBbc3R5bGUuY29sb3JdPVwiY29sb3IoKVwiXG4gICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3IoKVwiXG4gICAgICBbYXR0ci50aXRsZV09XCJ0aXRsZSgpXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGl0bGUoKVwiXG4gICAgICAobW91c2Vkb3duKT1cIm9uTW91c2VEb3duKCRldmVudClcIlxuICAgICAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICBAaWYgKGljb24oKSkge1xuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiXG4gICAgICAgICAgW2NsYXNzLmljb24tc21hbGxdPVwiaWNvblNpemUoKSA9PT0gJ3NtYWxsJ1wiXG4gICAgICAgICAgW2NsYXNzLmljb24tbWVkaXVtXT1cImljb25TaXplKCkgPT09ICdtZWRpdW0nXCJcbiAgICAgICAgICBbY2xhc3MuaWNvbi1sYXJnZV09XCJpY29uU2l6ZSgpID09PSAnbGFyZ2UnXCJcbiAgICAgICAgICA+e3sgaWNvbigpIH19PC9zcGFuXG4gICAgICAgID5cbiAgICAgIH1cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2J1dHRvbj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLyogU3R5bGVzIGRlIGJhc2UgcG91ciBsZXMgYm91dG9ucyBUaXB0YXAgKi9cbiAgICAgIC5hdGUtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWF0ZS1zdWItYm9yZGVyLXJhZGl1cywgOHB4KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgICAgICBjb2xvcjogdmFyKC0tYXRlLXRvb2xiYXItYnV0dG9uLWNvbG9yLCB2YXIoLS1hdGUtdGV4dC1zZWNvbmRhcnkpKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICAuYXRlLWJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWF0ZS1wcmltYXJ5KTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWF0ZS1zdWItYm9yZGVyLXJhZGl1cywgOHB4KTtcbiAgICAgIH1cblxuICAgICAgLmF0ZS1idXR0b246aG92ZXI6bm90KC5oYXMtY3VzdG9tLWNvbG9yKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1hdGUtdG9vbGJhci1idXR0b24tYWN0aXZlLWNvbG9yLCB2YXIoLS1hdGUtcHJpbWFyeSkpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hdGUtdG9vbGJhci1idXR0b24taG92ZXItYmFja2dyb3VuZCwgdHJhbnNwYXJlbnQpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICB9XG5cbiAgICAgIC8qIElmIGhhcyBjdXN0b20gY29sb3IsIHdlIHN0aWxsIHdhbnQgdGhlIGhvdmVyIGJhY2tncm91bmQgYnV0IG5vdCB0aGUgY29sb3IgY2hhbmdlICovXG4gICAgICAuYXRlLWJ1dHRvbi5oYXMtY3VzdG9tLWNvbG9yOmhvdmVyOm5vdCguaGFzLWN1c3RvbS1iZykge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hdGUtdG9vbGJhci1idXR0b24taG92ZXItYmFja2dyb3VuZCwgdHJhbnNwYXJlbnQpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICB9XG5cbiAgICAgIC5hdGUtYnV0dG9uLmhhcy1jdXN0b20tYmc6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwLjkpO1xuICAgICAgfVxuXG4gICAgICAuYXRlLWJ1dHRvbjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgfVxuXG4gICAgICAuYXRlLWJ1dHRvbjphY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICB9XG5cbiAgICAgIC5hdGUtYnV0dG9uLmlzLWFjdGl2ZTpub3QoLmhhcy1jdXN0b20tY29sb3IpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWF0ZS10b29sYmFyLWJ1dHRvbi1hY3RpdmUtY29sb3IsIHZhcigtLWF0ZS1wcmltYXJ5KSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWF0ZS10b29sYmFyLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZCwgdmFyKC0tYXRlLXByaW1hcnktbGlnaHQpKTtcbiAgICAgIH1cblxuICAgICAgLyogSWYgaGFzIGN1c3RvbSBjb2xvciBhbmQgYWN0aXZlLCBwcmlvcml0aXplIHRoZSBjdXN0b20gY29sb3IgKi9cbiAgICAgIC5hdGUtYnV0dG9uLmlzLWFjdGl2ZS5oYXMtY3VzdG9tLWNvbG9yIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYXRlLXRvb2xiYXItYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kLCB2YXIoLS1hdGUtcHJpbWFyeS1saWdodCkpO1xuICAgICAgfVxuXG4gICAgICAuYXRlLWJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC8qIEljw7RuZXMgTWF0ZXJpYWwgU3ltYm9scyAqL1xuICAgICAgLmF0ZS1idXR0b24gLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cblxuICAgICAgLmF0ZS1idXR0b24gLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQuaWNvbi1zbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cblxuICAgICAgLmF0ZS1idXR0b24gLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQuaWNvbi1tZWRpdW0ge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIC5hdGUtYnV0dG9uIC5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkLmljb24tbGFyZ2Uge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICB9XG5cbiAgICAgIC8qIEJvdXRvbnMgYXZlYyB0ZXh0ZSAqL1xuICAgICAgLmF0ZS1idXR0b24udGV4dC1idXR0b24ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuXG4gICAgICAvKiBCb3V0b25zIGRlIGNvdWxldXIgKi9cbiAgICAgIC5hdGUtYnV0dG9uLmNvbG9yLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgIC5hdGUtYnV0dG9uLmNvbG9yLWJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYXRlLWJvcmRlcik7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgIH1cblxuICAgICAgLmF0ZS1idXR0b24uY29sb3ItYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYXRlLXByaW1hcnkpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tYXRlLXByaW1hcnktbGlnaHQpO1xuICAgICAgfVxuXG4gICAgICAvKiBCb3V0b25zIGF2ZWMgdmFyaWFudGVzICovXG4gICAgICAuYXRlLWJ1dHRvbi5kYW5nZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tYXRlLWVycm9yLWNvbG9yLCAjZWY0NDQ0KTtcbiAgICAgIH1cblxuICAgICAgLmF0ZS1idXR0b24uZGFuZ2VyOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWF0ZS1lcnJvci1jb2xvciwgI2VmNDQ0NCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWF0ZS1lcnJvci1iZywgcmdiYSgyMzksIDY4LCA2OCwgMC4xKSk7XG4gICAgICB9XG5cbiAgICAgIC5hdGUtYnV0dG9uLmRhbmdlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYXRlLWVycm9yLWNvbG9yLCAjZWY0NDQ0KTtcbiAgICAgIH1cblxuICAgICAgLyogQm91dG9ucyBkZSB0YWlsbGUgZGlmZsOpcmVudGUgKi9cbiAgICAgIC5hdGUtYnV0dG9uLnNtYWxsIHtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIH1cblxuICAgICAgLmF0ZS1idXR0b24ubWVkaXVtIHtcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIH1cblxuICAgICAgLmF0ZS1idXR0b24ubGFyZ2Uge1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgfVxuXG4gICAgICAvKiBBbmltYXRpb24gZGUgcHVsc2F0aW9uIHBvdXIgbGVzIGJvdXRvbnMgYWN0aWZzICovXG4gICAgICBAa2V5ZnJhbWVzIHB1bHNlIHtcbiAgICAgICAgMCUsXG4gICAgICAgIDEwMCUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgdmFyKC0tYXRlLXByaW1hcnktbGlnaHQtYWxwaGEpO1xuICAgICAgICB9XG4gICAgICAgIDUwJSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hdGUtYnV0dG9uLmlzLWFjdGl2ZS5wdWxzZSB7XG4gICAgICAgIGFuaW1hdGlvbjogcHVsc2UgMnMgaW5maW5pdGU7XG4gICAgICB9XG5cbiAgICAgIC8qIFJlc3BvbnNpdmUgKi9cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuYXRlLWJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmF0ZS1idXR0b24gLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hdGUtYnV0dG9uLnRleHQtYnV0dG9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBdGVCdXR0b25Db21wb25lbnQge1xuICAvLyBJbnB1dHNcbiAgaWNvbiA9IGlucHV0PHN0cmluZz4oXCJcIik7XG4gIHRpdGxlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICBhY3RpdmUgPSBpbnB1dChmYWxzZSk7XG4gIGRpc2FibGVkID0gaW5wdXQoZmFsc2UpO1xuICBjb2xvciA9IGlucHV0PHN0cmluZz4oKTtcbiAgYmFja2dyb3VuZENvbG9yID0gaW5wdXQ8c3RyaW5nPigpO1xuICB2YXJpYW50ID0gaW5wdXQ8XCJkZWZhdWx0XCIgfCBcInRleHRcIiB8IFwiZGFuZ2VyXCI+KFwiZGVmYXVsdFwiKTtcbiAgc2l6ZSA9IGlucHV0PFwic21hbGxcIiB8IFwibWVkaXVtXCIgfCBcImxhcmdlXCI+KFwibWVkaXVtXCIpO1xuICBpY29uU2l6ZSA9IGlucHV0PFwic21hbGxcIiB8IFwibWVkaXVtXCIgfCBcImxhcmdlXCI+KFwibWVkaXVtXCIpO1xuXG4gIC8vIE91dHB1dHNcbiAgYnV0dG9uQ2xpY2sgPSBvdXRwdXQ8RXZlbnQ+KCk7XG5cbiAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { Component, input, ChangeDetectionStrategy } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class AteSeparatorComponent {
4
+ constructor() {
5
+ this.orientation = input("vertical");
6
+ this.size = input("medium");
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: AteSeparatorComponent, isStandalone: true, selector: "ate-separator", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
10
+ <div
11
+ class="ate-separator"
12
+ [class.vertical]="orientation() === 'vertical'"
13
+ [class.horizontal]="orientation() === 'horizontal'"
14
+ [class.small]="size() === 'small'"
15
+ [class.medium]="size() === 'medium'"
16
+ [class.large]="size() === 'large'"></div>
17
+ `, isInline: true, styles: [".ate-separator{background-color:var(--ate-border, #e2e8f0);margin:0}.ate-separator.vertical{width:1px;height:24px;margin:0 8px}.ate-separator.horizontal{height:1px;width:100%;margin:8px 0}.ate-separator.small.vertical{height:16px;margin:0 4px}.ate-separator.small.horizontal{margin:4px 0}.ate-separator.medium.vertical{height:24px;margin:0 8px}.ate-separator.medium.horizontal{margin:8px 0}.ate-separator.large.vertical{height:32px;margin:0 12px}.ate-separator.large.horizontal{margin:12px 0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteSeparatorComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: "ate-separator", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: `
22
+ <div
23
+ class="ate-separator"
24
+ [class.vertical]="orientation() === 'vertical'"
25
+ [class.horizontal]="orientation() === 'horizontal'"
26
+ [class.small]="size() === 'small'"
27
+ [class.medium]="size() === 'medium'"
28
+ [class.large]="size() === 'large'"></div>
29
+ `, styles: [".ate-separator{background-color:var(--ate-border, #e2e8f0);margin:0}.ate-separator.vertical{width:1px;height:24px;margin:0 8px}.ate-separator.horizontal{height:1px;width:100%;margin:8px 0}.ate-separator.small.vertical{height:16px;margin:0 4px}.ate-separator.small.horizontal{margin:4px 0}.ate-separator.medium.vertical{height:24px;margin:0 8px}.ate-separator.medium.horizontal{margin:8px 0}.ate-separator.large.vertical{height:32px;margin:0 12px}.ate-separator.large.horizontal{margin:12px 0}\n"] }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLXNlcGFyYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRpcHRhcC1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3VpL2F0ZS1zZXBhcmF0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQStEMUUsTUFBTSxPQUFPLHFCQUFxQjtJQTdEbEM7UUE4REUsZ0JBQVcsR0FBRyxLQUFLLENBQTRCLFVBQVUsQ0FBQyxDQUFDO1FBQzNELFNBQUksR0FBRyxLQUFLLENBQStCLFFBQVEsQ0FBQyxDQUFDO0tBQ3REOytHQUhZLHFCQUFxQjttR0FBckIscUJBQXFCLG9WQXpEdEI7Ozs7Ozs7O0dBUVQ7OzRGQWlEVSxxQkFBcUI7a0JBN0RqQyxTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sWUFDckM7Ozs7Ozs7O0dBUVQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhdGUtc2VwYXJhdG9yXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiYXRlLXNlcGFyYXRvclwiXG4gICAgICBbY2xhc3MudmVydGljYWxdPVwib3JpZW50YXRpb24oKSA9PT0gJ3ZlcnRpY2FsJ1wiXG4gICAgICBbY2xhc3MuaG9yaXpvbnRhbF09XCJvcmllbnRhdGlvbigpID09PSAnaG9yaXpvbnRhbCdcIlxuICAgICAgW2NsYXNzLnNtYWxsXT1cInNpemUoKSA9PT0gJ3NtYWxsJ1wiXG4gICAgICBbY2xhc3MubWVkaXVtXT1cInNpemUoKSA9PT0gJ21lZGl1bSdcIlxuICAgICAgW2NsYXNzLmxhcmdlXT1cInNpemUoKSA9PT0gJ2xhcmdlJ1wiPjwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuYXRlLXNlcGFyYXRvciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWF0ZS1ib3JkZXIsICNlMmU4ZjApO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIC5hdGUtc2VwYXJhdG9yLnZlcnRpY2FsIHtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBtYXJnaW46IDAgOHB4O1xuICAgICAgfVxuXG4gICAgICAuYXRlLXNlcGFyYXRvci5ob3Jpem9udGFsIHtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDhweCAwO1xuICAgICAgfVxuXG4gICAgICAuYXRlLXNlcGFyYXRvci5zbWFsbC52ZXJ0aWNhbCB7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgbWFyZ2luOiAwIDRweDtcbiAgICAgIH1cblxuICAgICAgLmF0ZS1zZXBhcmF0b3Iuc21hbGwuaG9yaXpvbnRhbCB7XG4gICAgICAgIG1hcmdpbjogNHB4IDA7XG4gICAgICB9XG5cbiAgICAgIC5hdGUtc2VwYXJhdG9yLm1lZGl1bS52ZXJ0aWNhbCB7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgbWFyZ2luOiAwIDhweDtcbiAgICAgIH1cblxuICAgICAgLmF0ZS1zZXBhcmF0b3IubWVkaXVtLmhvcml6b250YWwge1xuICAgICAgICBtYXJnaW46IDhweCAwO1xuICAgICAgfVxuXG4gICAgICAuYXRlLXNlcGFyYXRvci5sYXJnZS52ZXJ0aWNhbCB7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgbWFyZ2luOiAwIDEycHg7XG4gICAgICB9XG5cbiAgICAgIC5hdGUtc2VwYXJhdG9yLmxhcmdlLmhvcml6b250YWwge1xuICAgICAgICBtYXJnaW46IDEycHggMDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBdGVTZXBhcmF0b3JDb21wb25lbnQge1xuICBvcmllbnRhdGlvbiA9IGlucHV0PFwidmVydGljYWxcIiB8IFwiaG9yaXpvbnRhbFwiPihcInZlcnRpY2FsXCIpO1xuICBzaXplID0gaW5wdXQ8XCJzbWFsbFwiIHwgXCJtZWRpdW1cIiB8IFwibGFyZ2VcIj4oXCJtZWRpdW1cIik7XG59XG4iXX0=
@@ -0,0 +1,76 @@
1
+ // Default toolbar configuration
2
+ export const ATE_DEFAULT_TOOLBAR_CONFIG = {
3
+ bold: true,
4
+ italic: true,
5
+ underline: true,
6
+ strike: true,
7
+ code: true,
8
+ codeBlock: true,
9
+ superscript: false, // Disabled by default (opt-in)
10
+ subscript: false, // Disabled by default (opt-in)
11
+ highlight: false, // Disabled by default (opt-in)
12
+ highlightPicker: true,
13
+ heading1: true,
14
+ heading2: true,
15
+ heading3: true,
16
+ bulletList: true,
17
+ orderedList: true,
18
+ blockquote: true,
19
+ alignLeft: false, // Disabled by default (opt-in)
20
+ alignCenter: false, // Disabled by default (opt-in)
21
+ alignRight: false, // Disabled by default (opt-in)
22
+ alignJustify: false, // Disabled by default (opt-in)
23
+ link: true,
24
+ image: true,
25
+ horizontalRule: false, // Disabled by default (opt-in)
26
+ table: true,
27
+ undo: true,
28
+ redo: true,
29
+ clear: false, // Disabled by default (opt-in)
30
+ textColor: true,
31
+ separator: true,
32
+ };
33
+ // Default bubble menu configuration
34
+ export const ATE_DEFAULT_BUBBLE_MENU_CONFIG = {
35
+ bold: true,
36
+ italic: true,
37
+ underline: true,
38
+ strike: true,
39
+ code: true,
40
+ superscript: false,
41
+ subscript: false,
42
+ highlight: false,
43
+ highlightPicker: true,
44
+ textColor: true,
45
+ link: true,
46
+ separator: true,
47
+ };
48
+ // Default image bubble menu configuration
49
+ export const ATE_DEFAULT_IMAGE_BUBBLE_MENU_CONFIG = {
50
+ changeImage: true,
51
+ resizeSmall: true,
52
+ resizeMedium: true,
53
+ resizeLarge: true,
54
+ resizeOriginal: true,
55
+ deleteImage: true,
56
+ separator: true,
57
+ };
58
+ // Default table bubble menu configuration
59
+ export const ATE_DEFAULT_TABLE_MENU_CONFIG = {
60
+ addRowBefore: true,
61
+ addRowAfter: true,
62
+ deleteRow: true,
63
+ addColumnBefore: true,
64
+ addColumnAfter: true,
65
+ deleteColumn: true,
66
+ toggleHeaderRow: true,
67
+ toggleHeaderColumn: true,
68
+ deleteTable: true,
69
+ separator: true,
70
+ };
71
+ // Default cell bubble menu configuration
72
+ export const ATE_DEFAULT_CELL_MENU_CONFIG = {
73
+ mergeCells: true,
74
+ splitCell: true,
75
+ };
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLWVkaXRvci5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRpcHRhcC1lZGl0b3Ivc3JjL2xpYi9jb25maWcvYXRlLWVkaXRvci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsZ0NBQWdDO0FBQ2hDLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFxQjtJQUMxRCxJQUFJLEVBQUUsSUFBSTtJQUNWLE1BQU0sRUFBRSxJQUFJO0lBQ1osU0FBUyxFQUFFLElBQUk7SUFDZixNQUFNLEVBQUUsSUFBSTtJQUNaLElBQUksRUFBRSxJQUFJO0lBQ1YsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsS0FBSyxFQUFFLCtCQUErQjtJQUNuRCxTQUFTLEVBQUUsS0FBSyxFQUFFLCtCQUErQjtJQUNqRCxTQUFTLEVBQUUsS0FBSyxFQUFFLCtCQUErQjtJQUNqRCxlQUFlLEVBQUUsSUFBSTtJQUNyQixRQUFRLEVBQUUsSUFBSTtJQUNkLFFBQVEsRUFBRSxJQUFJO0lBQ2QsUUFBUSxFQUFFLElBQUk7SUFDZCxVQUFVLEVBQUUsSUFBSTtJQUNoQixXQUFXLEVBQUUsSUFBSTtJQUNqQixVQUFVLEVBQUUsSUFBSTtJQUNoQixTQUFTLEVBQUUsS0FBSyxFQUFFLCtCQUErQjtJQUNqRCxXQUFXLEVBQUUsS0FBSyxFQUFFLCtCQUErQjtJQUNuRCxVQUFVLEVBQUUsS0FBSyxFQUFFLCtCQUErQjtJQUNsRCxZQUFZLEVBQUUsS0FBSyxFQUFFLCtCQUErQjtJQUNwRCxJQUFJLEVBQUUsSUFBSTtJQUNWLEtBQUssRUFBRSxJQUFJO0lBQ1gsY0FBYyxFQUFFLEtBQUssRUFBRSwrQkFBK0I7SUFDdEQsS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsSUFBSTtJQUNWLElBQUksRUFBRSxJQUFJO0lBQ1YsS0FBSyxFQUFFLEtBQUssRUFBRSwrQkFBK0I7SUFDN0MsU0FBUyxFQUFFLElBQUk7SUFDZixTQUFTLEVBQUUsSUFBSTtDQUNoQixDQUFDO0FBRUYsb0NBQW9DO0FBQ3BDLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUF3QjtJQUNqRSxJQUFJLEVBQUUsSUFBSTtJQUNWLE1BQU0sRUFBRSxJQUFJO0lBQ1osU0FBUyxFQUFFLElBQUk7SUFDZixNQUFNLEVBQUUsSUFBSTtJQUNaLElBQUksRUFBRSxJQUFJO0lBQ1YsV0FBVyxFQUFFLEtBQUs7SUFDbEIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsZUFBZSxFQUFFLElBQUk7SUFDckIsU0FBUyxFQUFFLElBQUk7SUFDZixJQUFJLEVBQUUsSUFBSTtJQUNWLFNBQVMsRUFBRSxJQUFJO0NBQ2hCLENBQUM7QUFFRiwwQ0FBMEM7QUFDMUMsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQTZCO0lBQzVFLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxJQUFJO0NBQ2hCLENBQUM7QUFFRiwwQ0FBMEM7QUFDMUMsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQTZCO0lBQ3JFLFlBQVksRUFBRSxJQUFJO0lBQ2xCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsZUFBZSxFQUFFLElBQUk7SUFDckIsY0FBYyxFQUFFLElBQUk7SUFDcEIsWUFBWSxFQUFFLElBQUk7SUFDbEIsZUFBZSxFQUFFLElBQUk7SUFDckIsa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixXQUFXLEVBQUUsSUFBSTtJQUNqQixTQUFTLEVBQUUsSUFBSTtDQUNoQixDQUFDO0FBRUYseUNBQXlDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUE0QjtJQUNuRSxVQUFVLEVBQUUsSUFBSTtJQUNoQixTQUFTLEVBQUUsSUFBSTtDQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXRlVG9vbGJhckNvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHMvYXRlLXRvb2xiYXIubW9kZWxcIjtcbmltcG9ydCB7XG4gIEF0ZUJ1YmJsZU1lbnVDb25maWcsXG4gIEF0ZUltYWdlQnViYmxlTWVudUNvbmZpZyxcbiAgQXRlVGFibGVCdWJibGVNZW51Q29uZmlnLFxuICBBdGVDZWxsQnViYmxlTWVudUNvbmZpZyxcbn0gZnJvbSBcIi4uL21vZGVscy9hdGUtYnViYmxlLW1lbnUubW9kZWxcIjtcblxuLy8gRGVmYXVsdCB0b29sYmFyIGNvbmZpZ3VyYXRpb25cbmV4cG9ydCBjb25zdCBBVEVfREVGQVVMVF9UT09MQkFSX0NPTkZJRzogQXRlVG9vbGJhckNvbmZpZyA9IHtcbiAgYm9sZDogdHJ1ZSxcbiAgaXRhbGljOiB0cnVlLFxuICB1bmRlcmxpbmU6IHRydWUsXG4gIHN0cmlrZTogdHJ1ZSxcbiAgY29kZTogdHJ1ZSxcbiAgY29kZUJsb2NrOiB0cnVlLFxuICBzdXBlcnNjcmlwdDogZmFsc2UsIC8vIERpc2FibGVkIGJ5IGRlZmF1bHQgKG9wdC1pbilcbiAgc3Vic2NyaXB0OiBmYWxzZSwgLy8gRGlzYWJsZWQgYnkgZGVmYXVsdCAob3B0LWluKVxuICBoaWdobGlnaHQ6IGZhbHNlLCAvLyBEaXNhYmxlZCBieSBkZWZhdWx0IChvcHQtaW4pXG4gIGhpZ2hsaWdodFBpY2tlcjogdHJ1ZSxcbiAgaGVhZGluZzE6IHRydWUsXG4gIGhlYWRpbmcyOiB0cnVlLFxuICBoZWFkaW5nMzogdHJ1ZSxcbiAgYnVsbGV0TGlzdDogdHJ1ZSxcbiAgb3JkZXJlZExpc3Q6IHRydWUsXG4gIGJsb2NrcXVvdGU6IHRydWUsXG4gIGFsaWduTGVmdDogZmFsc2UsIC8vIERpc2FibGVkIGJ5IGRlZmF1bHQgKG9wdC1pbilcbiAgYWxpZ25DZW50ZXI6IGZhbHNlLCAvLyBEaXNhYmxlZCBieSBkZWZhdWx0IChvcHQtaW4pXG4gIGFsaWduUmlnaHQ6IGZhbHNlLCAvLyBEaXNhYmxlZCBieSBkZWZhdWx0IChvcHQtaW4pXG4gIGFsaWduSnVzdGlmeTogZmFsc2UsIC8vIERpc2FibGVkIGJ5IGRlZmF1bHQgKG9wdC1pbilcbiAgbGluazogdHJ1ZSxcbiAgaW1hZ2U6IHRydWUsXG4gIGhvcml6b250YWxSdWxlOiBmYWxzZSwgLy8gRGlzYWJsZWQgYnkgZGVmYXVsdCAob3B0LWluKVxuICB0YWJsZTogdHJ1ZSxcbiAgdW5kbzogdHJ1ZSxcbiAgcmVkbzogdHJ1ZSxcbiAgY2xlYXI6IGZhbHNlLCAvLyBEaXNhYmxlZCBieSBkZWZhdWx0IChvcHQtaW4pXG4gIHRleHRDb2xvcjogdHJ1ZSxcbiAgc2VwYXJhdG9yOiB0cnVlLFxufTtcblxuLy8gRGVmYXVsdCBidWJibGUgbWVudSBjb25maWd1cmF0aW9uXG5leHBvcnQgY29uc3QgQVRFX0RFRkFVTFRfQlVCQkxFX01FTlVfQ09ORklHOiBBdGVCdWJibGVNZW51Q29uZmlnID0ge1xuICBib2xkOiB0cnVlLFxuICBpdGFsaWM6IHRydWUsXG4gIHVuZGVybGluZTogdHJ1ZSxcbiAgc3RyaWtlOiB0cnVlLFxuICBjb2RlOiB0cnVlLFxuICBzdXBlcnNjcmlwdDogZmFsc2UsXG4gIHN1YnNjcmlwdDogZmFsc2UsXG4gIGhpZ2hsaWdodDogZmFsc2UsXG4gIGhpZ2hsaWdodFBpY2tlcjogdHJ1ZSxcbiAgdGV4dENvbG9yOiB0cnVlLFxuICBsaW5rOiB0cnVlLFxuICBzZXBhcmF0b3I6IHRydWUsXG59O1xuXG4vLyBEZWZhdWx0IGltYWdlIGJ1YmJsZSBtZW51IGNvbmZpZ3VyYXRpb25cbmV4cG9ydCBjb25zdCBBVEVfREVGQVVMVF9JTUFHRV9CVUJCTEVfTUVOVV9DT05GSUc6IEF0ZUltYWdlQnViYmxlTWVudUNvbmZpZyA9IHtcbiAgY2hhbmdlSW1hZ2U6IHRydWUsXG4gIHJlc2l6ZVNtYWxsOiB0cnVlLFxuICByZXNpemVNZWRpdW06IHRydWUsXG4gIHJlc2l6ZUxhcmdlOiB0cnVlLFxuICByZXNpemVPcmlnaW5hbDogdHJ1ZSxcbiAgZGVsZXRlSW1hZ2U6IHRydWUsXG4gIHNlcGFyYXRvcjogdHJ1ZSxcbn07XG5cbi8vIERlZmF1bHQgdGFibGUgYnViYmxlIG1lbnUgY29uZmlndXJhdGlvblxuZXhwb3J0IGNvbnN0IEFURV9ERUZBVUxUX1RBQkxFX01FTlVfQ09ORklHOiBBdGVUYWJsZUJ1YmJsZU1lbnVDb25maWcgPSB7XG4gIGFkZFJvd0JlZm9yZTogdHJ1ZSxcbiAgYWRkUm93QWZ0ZXI6IHRydWUsXG4gIGRlbGV0ZVJvdzogdHJ1ZSxcbiAgYWRkQ29sdW1uQmVmb3JlOiB0cnVlLFxuICBhZGRDb2x1bW5BZnRlcjogdHJ1ZSxcbiAgZGVsZXRlQ29sdW1uOiB0cnVlLFxuICB0b2dnbGVIZWFkZXJSb3c6IHRydWUsXG4gIHRvZ2dsZUhlYWRlckNvbHVtbjogdHJ1ZSxcbiAgZGVsZXRlVGFibGU6IHRydWUsXG4gIHNlcGFyYXRvcjogdHJ1ZSxcbn07XG5cbi8vIERlZmF1bHQgY2VsbCBidWJibGUgbWVudSBjb25maWd1cmF0aW9uXG5leHBvcnQgY29uc3QgQVRFX0RFRkFVTFRfQ0VMTF9NRU5VX0NPTkZJRzogQXRlQ2VsbEJ1YmJsZU1lbnVDb25maWcgPSB7XG4gIG1lcmdlQ2VsbHM6IHRydWUsXG4gIHNwbGl0Q2VsbDogdHJ1ZSxcbn07XG4iXX0=
@@ -0,0 +1,6 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ /**
3
+ * Injection Token for global editor configuration.
4
+ */
5
+ export const ATE_GLOBAL_CONFIG = new InjectionToken("ATE_GLOBAL_CONFIG");
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLWdsb2JhbC1jb25maWcudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRpcHRhcC1lZGl0b3Ivc3JjL2xpYi9jb25maWcvYXRlLWdsb2JhbC1jb25maWcudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFrQixtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQXRlRWRpdG9yQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy9hdGUtZWRpdG9yLWNvbmZpZy5tb2RlbFwiO1xuXG4vKipcbiAqIEluamVjdGlvbiBUb2tlbiBmb3IgZ2xvYmFsIGVkaXRvciBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgY29uc3QgQVRFX0dMT0JBTF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48QXRlRWRpdG9yQ29uZmlnPihcIkFURV9HTE9CQUxfQ09ORklHXCIpO1xuIl19
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Clés des commandes natives dans l'ordre d'affichage
3
+ */
4
+ export const ATE_SLASH_COMMAND_KEYS = [
5
+ "heading1",
6
+ "heading2",
7
+ "heading3",
8
+ "bulletList",
9
+ "orderedList",
10
+ "blockquote",
11
+ "code",
12
+ "image",
13
+ "horizontalRule",
14
+ "table",
15
+ ];
16
+ /**
17
+ * Configuration par défaut : toutes les commandes natives sont activées
18
+ */
19
+ export const ATE_DEFAULT_SLASH_COMMANDS_CONFIG = {
20
+ heading1: true,
21
+ heading2: true,
22
+ heading3: true,
23
+ bulletList: true,
24
+ orderedList: true,
25
+ blockquote: true,
26
+ code: true,
27
+ image: true,
28
+ horizontalRule: true,
29
+ table: true,
30
+ };
31
+ /**
32
+ * Factory pour créer les commandes natives avec leurs traductions et leur logique d'exécution.
33
+ * Utilise les services de l'éditeur pour garantir une cohérence de comportement.
34
+ */
35
+ export function createDefaultSlashCommands(i18n, commands, imageOptions) {
36
+ const t = i18n.slashCommands();
37
+ return [
38
+ {
39
+ title: t.heading1.title,
40
+ description: t.heading1.description,
41
+ icon: "format_h1",
42
+ keywords: t.heading1.keywords,
43
+ command: (editor) => commands.toggleHeading(editor, 1),
44
+ },
45
+ {
46
+ title: t.heading2.title,
47
+ description: t.heading2.description,
48
+ icon: "format_h2",
49
+ keywords: t.heading2.keywords,
50
+ command: (editor) => commands.toggleHeading(editor, 2),
51
+ },
52
+ {
53
+ title: t.heading3.title,
54
+ description: t.heading3.description,
55
+ icon: "format_h3",
56
+ keywords: t.heading3.keywords,
57
+ command: (editor) => commands.toggleHeading(editor, 3),
58
+ },
59
+ {
60
+ title: t.bulletList.title,
61
+ description: t.bulletList.description,
62
+ icon: "format_list_bulleted",
63
+ keywords: t.bulletList.keywords,
64
+ command: (editor) => commands.toggleBulletList(editor),
65
+ },
66
+ {
67
+ title: t.orderedList.title,
68
+ description: t.orderedList.description,
69
+ icon: "format_list_numbered",
70
+ keywords: t.orderedList.keywords,
71
+ command: (editor) => commands.toggleOrderedList(editor),
72
+ },
73
+ {
74
+ title: t.blockquote.title,
75
+ description: t.blockquote.description,
76
+ icon: "format_quote",
77
+ keywords: t.blockquote.keywords,
78
+ command: (editor) => commands.toggleBlockquote(editor),
79
+ },
80
+ {
81
+ title: t.code.title,
82
+ description: t.code.description,
83
+ icon: "code",
84
+ keywords: t.code.keywords,
85
+ command: (editor) => commands.toggleCodeBlock(editor),
86
+ },
87
+ {
88
+ title: t.image.title,
89
+ description: t.image.description,
90
+ icon: "image",
91
+ keywords: t.image.keywords,
92
+ command: (editor) => commands.execute(editor, "insertImage", {
93
+ quality: imageOptions?.quality,
94
+ maxWidth: imageOptions?.maxWidth,
95
+ maxHeight: imageOptions?.maxHeight,
96
+ allowedTypes: imageOptions?.allowedTypes,
97
+ }),
98
+ },
99
+ {
100
+ title: t.horizontalRule.title,
101
+ description: t.horizontalRule.description,
102
+ icon: "horizontal_rule",
103
+ keywords: t.horizontalRule.keywords,
104
+ command: (editor) => commands.insertHorizontalRule(editor),
105
+ },
106
+ {
107
+ title: t.table.title,
108
+ description: t.table.description,
109
+ icon: "table_view",
110
+ keywords: t.table.keywords,
111
+ command: (editor) => commands.insertTable(editor),
112
+ },
113
+ ];
114
+ }
115
+ /**
116
+ * Filtre et assemble les commandes selon la configuration fournie.
117
+ */
118
+ export function filterSlashCommands(config, i18n, commands, imageOptions) {
119
+ const allNatives = createDefaultSlashCommands(i18n, commands, imageOptions);
120
+ const activeConfig = { ...ATE_DEFAULT_SLASH_COMMANDS_CONFIG, ...config };
121
+ const filtered = allNatives.filter((_, index) => {
122
+ const key = ATE_SLASH_COMMAND_KEYS[index];
123
+ return key && activeConfig[key] !== false;
124
+ });
125
+ if (config.custom && Array.isArray(config.custom)) {
126
+ return [...filtered, ...config.custom];
127
+ }
128
+ return filtered;
129
+ }
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLXNsYXNoLWNvbW1hbmRzLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdGlwdGFwLWVkaXRvci9zcmMvbGliL2NvbmZpZy9hdGUtc2xhc2gtY29tbWFuZHMuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDcEMsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsWUFBWTtJQUNaLGFBQWE7SUFDYixZQUFZO0lBQ1osTUFBTTtJQUNOLE9BQU87SUFDUCxnQkFBZ0I7SUFDaEIsT0FBTztDQUNDLENBQUM7QUFlWDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUEyQjtJQUN2RSxRQUFRLEVBQUUsSUFBSTtJQUNkLFFBQVEsRUFBRSxJQUFJO0lBQ2QsUUFBUSxFQUFFLElBQUk7SUFDZCxVQUFVLEVBQUUsSUFBSTtJQUNoQixXQUFXLEVBQUUsSUFBSTtJQUNqQixVQUFVLEVBQUUsSUFBSTtJQUNoQixJQUFJLEVBQUUsSUFBSTtJQUNWLEtBQUssRUFBRSxJQUFJO0lBQ1gsY0FBYyxFQUFFLElBQUk7SUFDcEIsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxJQUFvQixFQUNwQixRQUFrQyxFQUNsQyxZQUtDO0lBRUQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBRS9CLE9BQU87UUFDTDtZQUNFLEtBQUssRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUs7WUFDdkIsV0FBVyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVztZQUNuQyxJQUFJLEVBQUUsV0FBVztZQUNqQixRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRO1lBQzdCLE9BQU8sRUFBRSxD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QztJQUVILElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ2xELE9BQU8sQ0FBQyxHQUFHLFFBQVEsRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciB9IGZyb20gXCJAdGlwdGFwL2NvcmVcIjtcbmltcG9ydCB7IEF0ZVNsYXNoQ29tbWFuZEl0ZW0gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9zbGFzaC1jb21tYW5kcy9hdGUtc2xhc2gtY29tbWFuZHMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBBdGVJMThuU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9hdGUtaTE4bi5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBBdGVFZGl0b3JDb21tYW5kc1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvYXRlLWVkaXRvci1jb21tYW5kcy5zZXJ2aWNlXCI7XG5cbi8qKlxuICogQ2zDqXMgZGVzIGNvbW1hbmRlcyBuYXRpdmVzIGRhbnMgbCdvcmRyZSBkJ2FmZmljaGFnZVxuICovXG5leHBvcnQgY29uc3QgQVRFX1NMQVNIX0NPTU1BTkRfS0VZUyA9IFtcbiAgXCJoZWFkaW5nMVwiLFxuICBcImhlYWRpbmcyXCIsXG4gIFwiaGVhZGluZzNcIixcbiAgXCJidWxsZXRMaXN0XCIsXG4gIFwib3JkZXJlZExpc3RcIixcbiAgXCJibG9ja3F1b3RlXCIsXG4gIFwiY29kZVwiLFxuICBcImltYWdlXCIsXG4gIFwiaG9yaXpvbnRhbFJ1bGVcIixcbiAgXCJ0YWJsZVwiLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQXRlU2xhc2hDb21tYW5kS2V5ID0gKHR5cGVvZiBBVEVfU0xBU0hfQ09NTUFORF9LRVlTKVtudW1iZXJdO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gc2ltcGxpZmnDqWUgcG91ciBhY3RpdmVyL2TDqXNhY3RpdmVyIGxlcyBzbGFzaCBjb21tYW5kcyBuYXRpdmVzLlxuICogUGVybWV0IGF1c3NpIGQnYWpvdXRlciBkZXMgY29tbWFuZGVzIHBlcnNvbm5hbGlzw6llcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdGVTbGFzaENvbW1hbmRzQ29uZmlnIGV4dGVuZHMgUGFydGlhbDxSZWNvcmQ8QXRlU2xhc2hDb21tYW5kS2V5LCBib29sZWFuPj4ge1xuICAvKipcbiAgICogTGlzdGUgZGUgY29tbWFuZGVzIHN1cHBsw6ltZW50YWlyZXMgw6AgYWpvdXRlciDDoCBsYSBmaW4gZHUgbWVudVxuICAgKi9cbiAgY3VzdG9tPzogQXRlU2xhc2hDb21tYW5kSXRlbVtdO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gcGFyIGTDqWZhdXQgOiB0b3V0ZXMgbGVzIGNvbW1hbmRlcyBuYXRpdmVzIHNvbnQgYWN0aXbDqWVzXG4gKi9cbmV4cG9ydCBjb25zdCBBVEVfREVGQVVMVF9TTEFTSF9DT01NQU5EU19DT05GSUc6IEF0ZVNsYXNoQ29tbWFuZHNDb25maWcgPSB7XG4gIGhlYWRpbmcxOiB0cnVlLFxuICBoZWFkaW5nMjogdHJ1ZSxcbiAgaGVhZGluZzM6IHRydWUsXG4gIGJ1bGxldExpc3Q6IHRydWUsXG4gIG9yZGVyZWRMaXN0OiB0cnVlLFxuICBibG9ja3F1b3RlOiB0cnVlLFxuICBjb2RlOiB0cnVlLFxuICBpbWFnZTogdHJ1ZSxcbiAgaG9yaXpvbnRhbFJ1bGU6IHRydWUsXG4gIHRhYmxlOiB0cnVlLFxufTtcblxuLyoqXG4gKiBGYWN0b3J5IHBvdXIgY3LDqWVyIGxlcyBjb21tYW5kZXMgbmF0aXZlcyBhdmVjIGxldXJzIHRyYWR1Y3Rpb25zIGV0IGxldXIgbG9naXF1ZSBkJ2V4w6ljdXRpb24uXG4gKiBVdGlsaXNlIGxlcyBzZXJ2aWNlcyBkZSBsJ8OpZGl0ZXVyIHBvdXIgZ2FyYW50aXIgdW5lIGNvaMOpcmVuY2UgZGUgY29tcG9ydGVtZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGVmYXVsdFNsYXNoQ29tbWFuZHMoXG4gIGkxOG46IEF0ZUkxOG5TZXJ2aWNlLFxuICBjb21tYW5kczogQXRlRWRpdG9yQ29tbWFuZHNTZXJ2aWNlLFxuICBpbWFnZU9wdGlvbnM/OiB7XG4gICAgcXVhbGl0eT86IG51bWJlcjtcbiAgICBtYXhXaWR0aD86IG51bWJlcjtcbiAgICBtYXhIZWlnaHQ/OiBudW1iZXI7XG4gICAgYWxsb3dlZFR5cGVzPzogc3RyaW5nW107XG4gIH1cbik6IEF0ZVNsYXNoQ29tbWFuZEl0ZW1bXSB7XG4gIGNvbnN0IHQgPSBpMThuLnNsYXNoQ29tbWFuZHMoKTtcblxuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHRpdGxlOiB0LmhlYWRpbmcxLnRpdGxlLFxuICAgICAgZGVzY3JpcHRpb246IHQuaGVhZGluZzEuZGVzY3JpcHRpb24sXG4gICAgICBpY29uOiBcImZvcm1hdF9oMVwiLFxuICAgICAga2V5d29yZHM6IHQuaGVhZGluZzEua2V5d29yZHMsXG4gICAgICBjb21tYW5kOiAoZWRpdG9yOiBFZGl0b3IpID0+IGNvbW1hbmRzLnRvZ2dsZUhlYWRpbmcoZWRpdG9yLCAxKSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiB0LmhlYWRpbmcyLnRpdGxlLFxuICAgICAgZGVzY3JpcHRpb246IHQuaGVhZGluZzIuZGVzY3JpcHRpb24sXG4gICAgICBpY29uOiBcImZvcm1hdF9oMlwiLFxuICAgICAga2V5d29yZHM6IHQuaGVhZGluZzIua2V5d29yZHMsXG4gICAgICBjb21tYW5kOiAoZWRpdG9yOiBFZGl0b3IpID0+IGNvbW1hbmRzLnRvZ2dsZUhlYWRpbmcoZWRpdG9yLCAyKSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiB0LmhlYWRpbmczLnRpdGxlLFxuICAgICAgZGVzY3JpcHRpb246IHQuaGVhZGluZzMuZGVzY3JpcHRpb24sXG4gICAgICBpY29uOiBcImZvcm1hdF9oM1wiLFxuICAgICAga2V5d29yZHM6IHQuaGVhZGluZzMua2V5d29yZHMsXG4gICAgICBjb21tYW5kOiAoZWRpdG9yOiBFZGl0b3IpID0+IGNvbW1hbmRzLnRvZ2dsZUhlYWRpbmcoZWRpdG9yLCAzKSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiB0LmJ1bGxldExpc3QudGl0bGUsXG4gICAgICBkZXNjcmlwdGlvbjogdC5idWxsZXRMaXN0LmRlc2NyaXB0aW9uLFxuICAgICAgaWNvbjogXCJmb3JtYXRfbGlzdF9idWxsZXRlZFwiLFxuICAgICAga2V5d29yZHM6IHQuYnVsbGV0TGlzdC5rZXl3b3JkcyxcbiAgICAgIGNvbW1hbmQ6IChlZGl0b3I6IEVkaXRvcikgPT4gY29tbWFuZHMudG9nZ2xlQnVsbGV0TGlzdChlZGl0b3IpLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IHQub3JkZXJlZExpc3QudGl0bGUsXG4gICAgICBkZXNjcmlwdGlvbjogdC5vcmRlcmVkTGlzdC5kZXNjcmlwdGlvbixcbiAgICAgIGljb246IFwiZm9ybWF0X2xpc3RfbnVtYmVyZWRcIixcbiAgICAgIGtleXdvcmRzOiB0Lm9yZGVyZWRMaXN0LmtleXdvcmRzLFxuICAgICAgY29tbWFuZDogKGVkaXRvcjogRWRpdG9yKSA9PiBjb21tYW5kcy50b2dnbGVPcmRlcmVkTGlzdChlZGl0b3IpLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IHQuYmxvY2txdW90ZS50aXRsZSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0LmJsb2NrcXVvdGUuZGVzY3JpcHRpb24sXG4gICAgICBpY29uOiBcImZvcm1hdF9xdW90ZVwiLFxuICAgICAga2V5d29yZHM6IHQuYmxvY2txdW90ZS5rZXl3b3JkcyxcbiAgICAgIGNvbW1hbmQ6IChlZGl0b3I6IEVkaXRvcikgPT4gY29tbWFuZHMudG9nZ2xlQmxvY2txdW90ZShlZGl0b3IpLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IHQuY29kZS50aXRsZSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0LmNvZGUuZGVzY3JpcHRpb24sXG4gICAgICBpY29uOiBcImNvZGVcIixcbiAgICAgIGtleXdvcmRzOiB0LmNvZGUua2V5d29yZHMsXG4gICAgICBjb21tYW5kOiAoZWRpdG9yOiBFZGl0b3IpID0+IGNvbW1hbmRzLnRvZ2dsZUNvZGVCbG9jayhlZGl0b3IpLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IHQuaW1hZ2UudGl0bGUsXG4gICAgICBkZXNjcmlwdGlvbjogdC5pbWFnZS5kZXNjcmlwdGlvbixcbiAgICAgIGljb246IFwiaW1hZ2VcIixcbiAgICAgIGtleXdvcmRzOiB0LmltYWdlLmtleXdvcmRzLFxuICAgICAgY29tbWFuZDogKGVkaXRvcjogRWRpdG9yKSA9PlxuICAgICAgICBjb21tYW5kcy5leGVjdXRlKGVkaXRvciwgXCJpbnNlcnRJbWFnZVwiLCB7XG4gICAgICAgICAgcXVhbGl0eTogaW1hZ2VPcHRpb25zPy5xdWFsaXR5LFxuICAgICAgICAgIG1heFdpZHRoOiBpbWFnZU9wdGlvbnM/Lm1heFdpZHRoLFxuICAgICAgICAgIG1heEhlaWdodDogaW1hZ2VPcHRpb25zPy5tYXhIZWlnaHQsXG4gICAgICAgICAgYWxsb3dlZFR5cGVzOiBpbWFnZU9wdGlvbnM/LmFsbG93ZWRUeXBlcyxcbiAgICAgICAgfSksXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogdC5ob3Jpem9udGFsUnVsZS50aXRsZSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0Lmhvcml6b250YWxSdWxlLmRlc2NyaXB0aW9uLFxuICAgICAgaWNvbjogXCJob3Jpem9udGFsX3J1bGVcIixcbiAgICAgIGtleXdvcmRzOiB0Lmhvcml6b250YWxSdWxlLmtleXdvcmRzLFxuICAgICAgY29tbWFuZDogKGVkaXRvcjogRWRpdG9yKSA9PiBjb21tYW5kcy5pbnNlcnRIb3Jpem9udGFsUnVsZShlZGl0b3IpLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IHQudGFibGUudGl0bGUsXG4gICAgICBkZXNjcmlwdGlvbjogdC50YWJsZS5kZXNjcmlwdGlvbixcbiAgICAgIGljb246IFwidGFibGVfdmlld1wiLFxuICAgICAga2V5d29yZHM6IHQudGFibGUua2V5d29yZHMsXG4gICAgICBjb21tYW5kOiAoZWRpdG9yOiBFZGl0b3IpID0+IGNvbW1hbmRzLmluc2VydFRhYmxlKGVkaXRvciksXG4gICAgfSxcbiAgXTtcbn1cblxuLyoqXG4gKiBGaWx0cmUgZXQgYXNzZW1ibGUgbGVzIGNvbW1hbmRlcyBzZWxvbiBsYSBjb25maWd1cmF0aW9uIGZvdXJuaWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJTbGFzaENvbW1hbmRzKFxuICBjb25maWc6IEF0ZVNsYXNoQ29tbWFuZHNDb25maWcsXG4gIGkxOG46IEF0ZUkxOG5TZXJ2aWNlLFxuICBjb21tYW5kczogQXRlRWRpdG9yQ29tbWFuZHNTZXJ2aWNlLFxuICBpbWFnZU9wdGlvbnM/OiB7XG4gICAgcXVhbGl0eT86IG51bWJlcjtcbiAgICBtYXhXaWR0aD86IG51bWJlcjtcbiAgICBtYXhIZWlnaHQ/OiBudW1iZXI7XG4gICAgYWxsb3dlZFR5cGVzPzogc3RyaW5nW107XG4gIH1cbik6IEF0ZVNsYXNoQ29tbWFuZEl0ZW1bXSB7XG4gIGNvbnN0IGFsbE5hdGl2ZXMgPSBjcmVhdGVEZWZhdWx0U2xhc2hDb21tYW5kcyhpMThuLCBjb21tYW5kcywgaW1hZ2VPcHRpb25zKTtcbiAgY29uc3QgYWN0aXZlQ29uZmlnID0geyAuLi5BVEVfREVGQVVMVF9TTEFTSF9DT01NQU5EU19DT05GSUcsIC4uLmNvbmZpZyB9O1xuXG4gIGNvbnN0IGZpbHRlcmVkID0gYWxsTmF0aXZlcy5maWx0ZXIoKF8sIGluZGV4KSA9PiB7XG4gICAgY29uc3Qga2V5ID0gQVRFX1NMQVNIX0NPTU1BTkRfS0VZU1tpbmRleF07XG4gICAgcmV0dXJuIGtleSAmJiBhY3RpdmVDb25maWdba2V5XSAhPT0gZmFsc2U7XG4gIH0pO1xuXG4gIGlmIChjb25maWcuY3VzdG9tICYmIEFycmF5LmlzQXJyYXkoY29uZmlnLmN1c3RvbSkpIHtcbiAgICByZXR1cm4gWy4uLmZpbHRlcmVkLCAuLi5jb25maWcuY3VzdG9tXTtcbiAgfVxuXG4gIHJldHVybiBmaWx0ZXJlZDtcbn1cbiJdfQ==
@@ -0,0 +1,40 @@
1
+ import { Directive } from "@angular/core";
2
+ import { NG_VALUE_ACCESSOR } from "@angular/forms";
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Noop Value Accessor Directive
6
+ * @link https://medium.com/netanelbasal/forwarding-form-controls-to-custom-control-components-in-angular-701e8406cc55
7
+ */
8
+ export class AteNoopValueAccessorDirective {
9
+ writeValue(_obj) {
10
+ /* empty */
11
+ }
12
+ registerOnChange(_fn) {
13
+ /* empty */
14
+ }
15
+ registerOnTouched(_fn) {
16
+ /* empty */
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteNoopValueAccessorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: AteNoopValueAccessorDirective, isStandalone: true, providers: [
20
+ {
21
+ provide: NG_VALUE_ACCESSOR,
22
+ multi: true,
23
+ useExisting: AteNoopValueAccessorDirective,
24
+ },
25
+ ], ngImport: i0 }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteNoopValueAccessorDirective, decorators: [{
28
+ type: Directive,
29
+ args: [{
30
+ standalone: true,
31
+ providers: [
32
+ {
33
+ provide: NG_VALUE_ACCESSOR,
34
+ multi: true,
35
+ useExisting: AteNoopValueAccessorDirective,
36
+ },
37
+ ],
38
+ }]
39
+ }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLW5vb3AtdmFsdWUtYWNjZXNzb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10aXB0YXAtZWRpdG9yL3NyYy9saWIvZGlyZWN0aXZlcy9hdGUtbm9vcC12YWx1ZS1hY2Nlc3Nvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRXpFOzs7R0FHRztBQVdILE1BQU0sT0FBTyw2QkFBNkI7SUFDeEMsVUFBVSxDQUFDLElBQWE7UUFDdEIsV0FBVztJQUNiLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxHQUFZO1FBQzNCLFdBQVc7SUFDYixDQUFDO0lBQ0QsaUJBQWlCLENBQUMsR0FBWTtRQUM1QixXQUFXO0lBQ2IsQ0FBQzsrR0FUVSw2QkFBNkI7bUdBQTdCLDZCQUE2QixpQ0FSN0I7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsNkJBQTZCO2FBQzNDO1NBQ0Y7OzRGQUVVLDZCQUE2QjtrQkFWekMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsK0JBQStCO3lCQUMzQztxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuLyoqXG4gKiBOb29wIFZhbHVlIEFjY2Vzc29yIERpcmVjdGl2ZVxuICogQGxpbmsgaHR0cHM6Ly9tZWRpdW0uY29tL25ldGFuZWxiYXNhbC9mb3J3YXJkaW5nLWZvcm0tY29udHJvbHMtdG8tY3VzdG9tLWNvbnRyb2wtY29tcG9uZW50cy1pbi1hbmd1bGFyLTcwMWU4NDA2Y2M1NVxuICovXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBBdGVOb29wVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBdGVOb29wVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgd3JpdGVWYWx1ZShfb2JqOiB1bmtub3duKTogdm9pZCB7XG4gICAgLyogZW1wdHkgKi9cbiAgfVxuICByZWdpc3Rlck9uQ2hhbmdlKF9mbjogdW5rbm93bik6IHZvaWQge1xuICAgIC8qIGVtcHR5ICovXG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoX2ZuOiB1bmtub3duKTogdm9pZCB7XG4gICAgLyogZW1wdHkgKi9cbiAgfVxufVxuIl19
@@ -0,0 +1,32 @@
1
+ import { Extension, getAttributes } from "@tiptap/core";
2
+ import { Plugin, PluginKey } from "@tiptap/pm/state";
3
+ export const AteLinkClickBehavior = Extension.create({
4
+ name: "linkClickBehavior",
5
+ addProseMirrorPlugins() {
6
+ return [
7
+ new Plugin({
8
+ key: new PluginKey("linkClickBehavior"),
9
+ props: {
10
+ handleClick(view, _pos, event) {
11
+ // handleClick only runs in the browser, but we guard it for absolute SSR safety
12
+ if (typeof window === "undefined") {
13
+ return false;
14
+ }
15
+ const isModKey = event.ctrlKey || event.metaKey;
16
+ // If editor is editable, only proceed if Ctrl/Cmd is pressed
17
+ if (view.editable && !isModKey) {
18
+ return false;
19
+ }
20
+ const attrs = getAttributes(view.state, "link");
21
+ if (attrs["href"]) {
22
+ window.open(attrs["href"], "_blank", "noopener,noreferrer");
23
+ return true;
24
+ }
25
+ return false;
26
+ },
27
+ },
28
+ }),
29
+ ];
30
+ },
31
+ });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLWxpbmstY2xpY2stYmVoYXZpb3IuZXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10aXB0YXAtZWRpdG9yL3NyYy9saWIvZXh0ZW5zaW9ucy9hdGUtbGluay1jbGljay1iZWhhdmlvci5leHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQ25ELElBQUksRUFBRSxtQkFBbUI7SUFFekIscUJBQXFCO1FBQ25CLE9BQU87WUFDTCxJQUFJLE1BQU0sQ0FBQztnQkFDVCxHQUFHLEVBQUUsSUFBSSxTQUFTLENBQUMsbUJBQW1CLENBQUM7Z0JBQ3ZDLEtBQUssRUFBRTtvQkFDTCxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLO3dCQUMzQixnRkFBZ0Y7d0JBQ2hGLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7NEJBQ2xDLE9BQU8sS0FBSyxDQUFDO3dCQUNmLENBQUM7d0JBRUQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDO3dCQUVoRCw2REFBNkQ7d0JBQzdELElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDOzRCQUMvQixPQUFPLEtBQUssQ0FBQzt3QkFDZixDQUFDO3dCQUVELE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO3dCQUNoRCxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDOzRCQUNsQixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUscUJBQXFCLENBQUMsQ0FBQzs0QkFDNUQsT0FBTyxJQUFJLENBQUM7d0JBQ2QsQ0FBQzt3QkFDRCxPQUFPLEtBQUssQ0FBQztvQkFDZixDQUFDO2lCQUNGO2FBQ0YsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXh0ZW5zaW9uLCBnZXRBdHRyaWJ1dGVzIH0gZnJvbSBcIkB0aXB0YXAvY29yZVwiO1xuaW1wb3J0IHsgUGx1Z2luLCBQbHVnaW5LZXkgfSBmcm9tIFwiQHRpcHRhcC9wbS9zdGF0ZVwiO1xuXG5leHBvcnQgY29uc3QgQXRlTGlua0NsaWNrQmVoYXZpb3IgPSBFeHRlbnNpb24uY3JlYXRlKHtcbiAgbmFtZTogXCJsaW5rQ2xpY2tCZWhhdmlvclwiLFxuXG4gIGFkZFByb3NlTWlycm9yUGx1Z2lucygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgbmV3IFBsdWdpbih7XG4gICAgICAgIGtleTogbmV3IFBsdWdpbktleShcImxpbmtDbGlja0JlaGF2aW9yXCIpLFxuICAgICAgICBwcm9wczoge1xuICAgICAgICAgIGhhbmRsZUNsaWNrKHZpZXcsIF9wb3MsIGV2ZW50KSB7XG4gICAgICAgICAgICAvLyBoYW5kbGVDbGljayBvbmx5IHJ1bnMgaW4gdGhlIGJyb3dzZXIsIGJ1dCB3ZSBndWFyZCBpdCBmb3IgYWJzb2x1dGUgU1NSIHNhZmV0eVxuICAgICAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBpc01vZEtleSA9IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleTtcblxuICAgICAgICAgICAgLy8gSWYgZWRpdG9yIGlzIGVkaXRhYmxlLCBvbmx5IHByb2NlZWQgaWYgQ3RybC9DbWQgaXMgcHJlc3NlZFxuICAgICAgICAgICAgaWYgKHZpZXcuZWRpdGFibGUgJiYgIWlzTW9kS2V5KSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgYXR0cnMgPSBnZXRBdHRyaWJ1dGVzKHZpZXcuc3RhdGUsIFwibGlua1wiKTtcbiAgICAgICAgICAgIGlmIChhdHRyc1tcImhyZWZcIl0pIHtcbiAgICAgICAgICAgICAgd2luZG93Lm9wZW4oYXR0cnNbXCJocmVmXCJdLCBcIl9ibGFua1wiLCBcIm5vb3BlbmVyLG5vcmVmZXJyZXJcIik7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICBdO1xuICB9LFxufSk7XG4iXX0=