@ojiepermana/angular-component 22.0.43 → 22.0.45
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/fesm2022/ojiepermana-angular-component-accordion.mjs +21 -23
- package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +111 -50
- package/fesm2022/ojiepermana-angular-component-alert.mjs +13 -17
- package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +4 -5
- package/fesm2022/ojiepermana-angular-component-avatar.mjs +20 -26
- package/fesm2022/ojiepermana-angular-component-badge.mjs +4 -5
- package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +32 -35
- package/fesm2022/ojiepermana-angular-component-button-group.mjs +10 -13
- package/fesm2022/ojiepermana-angular-component-button.mjs +4 -5
- package/fesm2022/ojiepermana-angular-component-calendar.mjs +10 -8
- package/fesm2022/ojiepermana-angular-component-card.mjs +22 -29
- package/fesm2022/ojiepermana-angular-component-carousel.mjs +31 -34
- package/fesm2022/ojiepermana-angular-component-checkbox.mjs +42 -13
- package/fesm2022/ojiepermana-angular-component-collapsible.mjs +19 -17
- package/fesm2022/ojiepermana-angular-component-combobox.mjs +30 -17
- package/fesm2022/ojiepermana-angular-component-command.mjs +29 -37
- package/fesm2022/ojiepermana-angular-component-composer.mjs +31 -34
- package/fesm2022/ojiepermana-angular-component-context-menu.mjs +3 -3
- package/fesm2022/ojiepermana-angular-component-date-picker.mjs +39 -14
- package/fesm2022/ojiepermana-angular-component-dialog.mjs +100 -45
- package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +61 -56
- package/fesm2022/ojiepermana-angular-component-editor.mjs +52 -43
- package/fesm2022/ojiepermana-angular-component-empty.mjs +19 -25
- package/fesm2022/ojiepermana-angular-component-form.mjs +41 -49
- package/fesm2022/ojiepermana-angular-component-hover-card.mjs +10 -11
- package/fesm2022/ojiepermana-angular-component-icon.mjs +56 -11
- package/fesm2022/ojiepermana-angular-component-input-group.mjs +29 -27
- package/fesm2022/ojiepermana-angular-component-input-otp.mjs +29 -28
- package/fesm2022/ojiepermana-angular-component-input.mjs +4 -5
- package/fesm2022/ojiepermana-angular-component-item.mjs +31 -41
- package/fesm2022/ojiepermana-angular-component-kanban.mjs +47 -46
- package/fesm2022/ojiepermana-angular-component-kbd.mjs +7 -9
- package/fesm2022/ojiepermana-angular-component-label.mjs +4 -5
- package/fesm2022/ojiepermana-angular-component-menubar.mjs +16 -16
- package/fesm2022/ojiepermana-angular-component-native-select.mjs +11 -11
- package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +41 -28
- package/fesm2022/ojiepermana-angular-component-pagination.mjs +25 -16
- package/fesm2022/ojiepermana-angular-component-pillbox.mjs +78 -50
- package/fesm2022/ojiepermana-angular-component-popover.mjs +6 -6
- package/fesm2022/ojiepermana-angular-component-progress.mjs +10 -8
- package/fesm2022/ojiepermana-angular-component-radio.mjs +17 -13
- package/fesm2022/ojiepermana-angular-component-resizable.mjs +32 -21
- package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +11 -9
- package/fesm2022/ojiepermana-angular-component-select.mjs +35 -23
- package/fesm2022/ojiepermana-angular-component-separator.mjs +4 -5
- package/fesm2022/ojiepermana-angular-component-sheet.mjs +101 -45
- package/fesm2022/ojiepermana-angular-component-skeleton.mjs +4 -5
- package/fesm2022/ojiepermana-angular-component-slider.mjs +30 -18
- package/fesm2022/ojiepermana-angular-component-spinner.mjs +9 -8
- package/fesm2022/ojiepermana-angular-component-switch.mjs +19 -10
- package/fesm2022/ojiepermana-angular-component-table.mjs +26 -34
- package/fesm2022/ojiepermana-angular-component-tabs.mjs +20 -24
- package/fesm2022/ojiepermana-angular-component-textarea.mjs +4 -5
- package/fesm2022/ojiepermana-angular-component-timeline.mjs +28 -28
- package/fesm2022/ojiepermana-angular-component-toast.mjs +3 -3
- package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +18 -13
- package/fesm2022/ojiepermana-angular-component-toggle.mjs +4 -5
- package/fesm2022/ojiepermana-angular-component-tooltip.mjs +20 -19
- package/package.json +10 -1
- package/types/ojiepermana-angular-component-alert-dialog.d.ts +42 -3
- package/types/ojiepermana-angular-component-dialog.d.ts +33 -3
- package/types/ojiepermana-angular-component-icon.d.ts +48 -1
- package/types/ojiepermana-angular-component-sheet.d.ts +33 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ElementRef, input, output, Directive, computed,
|
|
2
|
+
import { inject, ElementRef, input, output, Directive, computed, Component, model, forwardRef, ContentChildren, TemplateRef, ViewContainerRef, DestroyRef, signal } from '@angular/core';
|
|
3
3
|
import { cn, radiusBaseValue, densityBaseValue, connectedPositionFor, oppositeSide } from '@ojiepermana/angular-component/utils';
|
|
4
4
|
import { FocusKeyManager } from '@angular/cdk/a11y';
|
|
5
5
|
import { Overlay } from '@angular/cdk/overlay';
|
|
@@ -38,10 +38,10 @@ class MenuFocusableItem {
|
|
|
38
38
|
this.selected.emit(event);
|
|
39
39
|
return true;
|
|
40
40
|
}
|
|
41
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
42
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.
|
|
41
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuFocusableItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
42
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.4", type: MenuFocusableItem, isStandalone: true, inputs: { disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, inset: { classPropertyName: "inset", publicName: "inset", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selected" }, ngImport: i0 });
|
|
43
43
|
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuFocusableItem, decorators: [{
|
|
45
45
|
type: Directive
|
|
46
46
|
}], propDecorators: { disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], inset: [{ type: i0.Input, args: [{ isSignal: true, alias: "inset", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], selected: [{ type: i0.Output, args: ["selected"] }] } });
|
|
47
47
|
class MenuGroupComponent {
|
|
@@ -49,14 +49,13 @@ class MenuGroupComponent {
|
|
|
49
49
|
...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
|
|
50
50
|
classes = computed(() => cn('block', this.class()), /* @ts-ignore */
|
|
51
51
|
...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
|
|
52
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
53
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.
|
|
52
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: MenuGroupComponent, isStandalone: true, selector: "MenuGroup", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.role": "\"group\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
54
54
|
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuGroupComponent, decorators: [{
|
|
56
56
|
type: Component,
|
|
57
57
|
args: [{
|
|
58
58
|
selector: 'MenuGroup',
|
|
59
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
60
59
|
host: {
|
|
61
60
|
'[class]': 'classes()',
|
|
62
61
|
'[attr.role]': '"group"',
|
|
@@ -65,10 +64,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImpor
|
|
|
65
64
|
}]
|
|
66
65
|
}], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
|
|
67
66
|
class MenuRadioGroupBase {
|
|
68
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
69
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.
|
|
67
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuRadioGroupBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
68
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.4", type: MenuRadioGroupBase, isStandalone: true, ngImport: i0 });
|
|
70
69
|
}
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuRadioGroupBase, decorators: [{
|
|
72
71
|
type: Directive
|
|
73
72
|
}] });
|
|
74
73
|
class MenuRadioGroupComponent extends MenuRadioGroupBase {
|
|
@@ -84,15 +83,18 @@ class MenuRadioGroupComponent extends MenuRadioGroupBase {
|
|
|
84
83
|
select(value) {
|
|
85
84
|
this.value.set(value);
|
|
86
85
|
}
|
|
87
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
88
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.
|
|
86
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuRadioGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
87
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: MenuRadioGroupComponent, isStandalone: true, selector: "MenuRadioGroup", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { properties: { "class": "classes()", "attr.role": "\"group\"" } }, providers: [
|
|
88
|
+
{ provide: MenuRadioGroupBase, useExisting: forwardRef(() => MenuRadioGroupComponent) },
|
|
89
|
+
], usesInheritance: true, ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
89
90
|
}
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuRadioGroupComponent, decorators: [{
|
|
91
92
|
type: Component,
|
|
92
93
|
args: [{
|
|
93
94
|
selector: 'MenuRadioGroup',
|
|
94
|
-
|
|
95
|
-
|
|
95
|
+
providers: [
|
|
96
|
+
{ provide: MenuRadioGroupBase, useExisting: forwardRef(() => MenuRadioGroupComponent) },
|
|
97
|
+
],
|
|
96
98
|
host: {
|
|
97
99
|
'[class]': 'classes()',
|
|
98
100
|
'[attr.role]': '"group"',
|
|
@@ -106,14 +108,13 @@ class MenuItemComponent extends MenuFocusableItem {
|
|
|
106
108
|
handleClick(e) {
|
|
107
109
|
this.emitSelection(e);
|
|
108
110
|
}
|
|
109
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
110
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.
|
|
111
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
112
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", type: MenuItemComponent, isStandalone: true, selector: "MenuItem, button[MenuItem]", host: { attributes: { "tabindex": "-1" }, listeners: { "click": "handleClick($any($event))", "keydown.enter": "handleClick($any($event))", "keydown.space": "handleClick($any($event))" }, properties: { "class": "classes()", "attr.role": "\"menuitem\"", "attr.aria-disabled": "disabled ? \"true\" : null", "attr.data-inset": "inset() ? \"true\" : null", "attr.data-variant": "variant()" } }, providers: [{ provide: MenuFocusableItem, useExisting: forwardRef(() => MenuItemComponent) }], usesInheritance: true, ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
111
113
|
}
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuItemComponent, decorators: [{
|
|
113
115
|
type: Component,
|
|
114
116
|
args: [{
|
|
115
117
|
selector: 'MenuItem, button[MenuItem]',
|
|
116
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
117
118
|
providers: [{ provide: MenuFocusableItem, useExisting: forwardRef(() => MenuItemComponent) }],
|
|
118
119
|
host: {
|
|
119
120
|
'[class]': 'classes()',
|
|
@@ -140,8 +141,10 @@ class MenuCheckboxItemComponent extends MenuFocusableItem {
|
|
|
140
141
|
}
|
|
141
142
|
this.checked.set(!this.checked());
|
|
142
143
|
}
|
|
143
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
144
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.
|
|
144
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuCheckboxItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
145
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: MenuCheckboxItemComponent, isStandalone: true, selector: "MenuCheckboxItem, button[MenuCheckboxItem]", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange" }, host: { attributes: { "tabindex": "-1" }, listeners: { "click": "toggle($any($event))", "keydown.enter": "toggle($any($event))", "keydown.space": "toggle($any($event))" }, properties: { "class": "classes()", "attr.role": "\"menuitemcheckbox\"", "attr.aria-disabled": "disabled ? \"true\" : null", "attr.aria-checked": "checked()", "attr.data-state": "checked() ? \"checked\" : \"unchecked\"", "attr.data-variant": "variant()" } }, providers: [
|
|
146
|
+
{ provide: MenuFocusableItem, useExisting: forwardRef(() => MenuCheckboxItemComponent) },
|
|
147
|
+
], usesInheritance: true, ngImport: i0, template: `
|
|
145
148
|
<span class="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
|
|
146
149
|
@if (checked()) {
|
|
147
150
|
<svg
|
|
@@ -152,20 +155,22 @@ class MenuCheckboxItemComponent extends MenuFocusableItem {
|
|
|
152
155
|
stroke="currentColor"
|
|
153
156
|
stroke-width="2"
|
|
154
157
|
stroke-linecap="round"
|
|
155
|
-
stroke-linejoin="round"
|
|
158
|
+
stroke-linejoin="round"
|
|
159
|
+
>
|
|
156
160
|
<polyline points="20 6 9 17 4 12" />
|
|
157
161
|
</svg>
|
|
158
162
|
}
|
|
159
163
|
</span>
|
|
160
164
|
<ng-content />
|
|
161
|
-
`, isInline: true
|
|
165
|
+
`, isInline: true });
|
|
162
166
|
}
|
|
163
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuCheckboxItemComponent, decorators: [{
|
|
164
168
|
type: Component,
|
|
165
169
|
args: [{
|
|
166
170
|
selector: 'MenuCheckboxItem, button[MenuCheckboxItem]',
|
|
167
|
-
|
|
168
|
-
|
|
171
|
+
providers: [
|
|
172
|
+
{ provide: MenuFocusableItem, useExisting: forwardRef(() => MenuCheckboxItemComponent) },
|
|
173
|
+
],
|
|
169
174
|
host: {
|
|
170
175
|
'[class]': 'classes()',
|
|
171
176
|
'[attr.role]': '"menuitemcheckbox"',
|
|
@@ -189,7 +194,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImpor
|
|
|
189
194
|
stroke="currentColor"
|
|
190
195
|
stroke-width="2"
|
|
191
196
|
stroke-linecap="round"
|
|
192
|
-
stroke-linejoin="round"
|
|
197
|
+
stroke-linejoin="round"
|
|
198
|
+
>
|
|
193
199
|
<polyline points="20 6 9 17 4 12" />
|
|
194
200
|
</svg>
|
|
195
201
|
}
|
|
@@ -212,22 +218,25 @@ class MenuRadioItemComponent extends MenuFocusableItem {
|
|
|
212
218
|
}
|
|
213
219
|
this.group.select(this.value());
|
|
214
220
|
}
|
|
215
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
216
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.
|
|
221
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuRadioItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
222
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: MenuRadioItemComponent, isStandalone: true, selector: "MenuRadioItem, button[MenuRadioItem]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "tabindex": "-1" }, listeners: { "click": "select($any($event))", "keydown.enter": "select($any($event))", "keydown.space": "select($any($event))" }, properties: { "class": "classes()", "attr.role": "\"menuitemradio\"", "attr.aria-disabled": "disabled ? \"true\" : null", "attr.aria-checked": "checked()", "attr.data-state": "checked() ? \"checked\" : \"unchecked\"", "attr.data-variant": "variant()" } }, providers: [
|
|
223
|
+
{ provide: MenuFocusableItem, useExisting: forwardRef(() => MenuRadioItemComponent) },
|
|
224
|
+
], usesInheritance: true, ngImport: i0, template: `
|
|
217
225
|
<span class="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
|
|
218
226
|
@if (checked()) {
|
|
219
227
|
<span aria-hidden="true" class="h-2 w-2 rounded-full bg-current"></span>
|
|
220
228
|
}
|
|
221
229
|
</span>
|
|
222
230
|
<ng-content />
|
|
223
|
-
`, isInline: true
|
|
231
|
+
`, isInline: true });
|
|
224
232
|
}
|
|
225
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
233
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuRadioItemComponent, decorators: [{
|
|
226
234
|
type: Component,
|
|
227
235
|
args: [{
|
|
228
236
|
selector: 'MenuRadioItem, button[MenuRadioItem]',
|
|
229
|
-
|
|
230
|
-
|
|
237
|
+
providers: [
|
|
238
|
+
{ provide: MenuFocusableItem, useExisting: forwardRef(() => MenuRadioItemComponent) },
|
|
239
|
+
],
|
|
231
240
|
host: {
|
|
232
241
|
'[class]': 'classes()',
|
|
233
242
|
'[attr.role]': '"menuitemradio"',
|
|
@@ -255,14 +264,13 @@ class MenuSeparatorComponent {
|
|
|
255
264
|
...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
|
|
256
265
|
classes = computed(() => cn('-mx-1 my-1 block h-px bg-border', this.class()), /* @ts-ignore */
|
|
257
266
|
...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
|
|
258
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
259
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.
|
|
267
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
268
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: MenuSeparatorComponent, isStandalone: true, selector: "MenuSeparator", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.role": "\"separator\"", "attr.aria-orientation": "\"horizontal\"" } }, ngImport: i0, template: '', isInline: true });
|
|
260
269
|
}
|
|
261
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
270
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuSeparatorComponent, decorators: [{
|
|
262
271
|
type: Component,
|
|
263
272
|
args: [{
|
|
264
273
|
selector: 'MenuSeparator',
|
|
265
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
266
274
|
host: {
|
|
267
275
|
'[class]': 'classes()',
|
|
268
276
|
'[attr.role]': '"separator"',
|
|
@@ -278,14 +286,13 @@ class MenuLabelComponent {
|
|
|
278
286
|
...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
|
|
279
287
|
classes = computed(() => cn('px-2 py-1.5 text-sm font-semibold text-foreground', this.inset() ? 'pl-8' : '', this.class()), /* @ts-ignore */
|
|
280
288
|
...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
|
|
281
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
282
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.
|
|
289
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
290
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: MenuLabelComponent, isStandalone: true, selector: "MenuLabel", inputs: { inset: { classPropertyName: "inset", publicName: "inset", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
283
291
|
}
|
|
284
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
292
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuLabelComponent, decorators: [{
|
|
285
293
|
type: Component,
|
|
286
294
|
args: [{
|
|
287
295
|
selector: 'MenuLabel',
|
|
288
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
289
296
|
host: { '[class]': 'classes()' },
|
|
290
297
|
template: `<ng-content />`,
|
|
291
298
|
}]
|
|
@@ -295,14 +302,13 @@ class MenuShortcutComponent {
|
|
|
295
302
|
...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
|
|
296
303
|
classes = computed(() => cn('ml-auto text-xs tracking-widest text-muted-foreground', this.class()), /* @ts-ignore */
|
|
297
304
|
...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
|
|
298
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
299
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.
|
|
305
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuShortcutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
306
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: MenuShortcutComponent, isStandalone: true, selector: "MenuShortcut, span[MenuShortcut]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
300
307
|
}
|
|
301
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
308
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuShortcutComponent, decorators: [{
|
|
302
309
|
type: Component,
|
|
303
310
|
args: [{
|
|
304
311
|
selector: 'MenuShortcut, span[MenuShortcut]',
|
|
305
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
306
312
|
host: { '[class]': 'classes()' },
|
|
307
313
|
template: `<ng-content />`,
|
|
308
314
|
}]
|
|
@@ -353,14 +359,13 @@ class MenuSurfaceComponent {
|
|
|
353
359
|
e.preventDefault();
|
|
354
360
|
this.closeRequested.emit();
|
|
355
361
|
}
|
|
356
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
357
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.
|
|
362
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuSurfaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
363
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: MenuSurfaceComponent, isStandalone: true, selector: "MenuSurface", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, radius: { classPropertyName: "radius", publicName: "radius", isSignal: true, isRequired: false, transformFunction: null }, density: { classPropertyName: "density", publicName: "density", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeRequested: "closeRequested" }, host: { attributes: { "tabindex": "-1" }, listeners: { "keydown.arrowDown": "onArrow($any($event), 1)", "keydown.arrowUp": "onArrow($any($event), -1)", "keydown.home": "onHome($any($event))", "keydown.end": "onEnd($any($event))", "keydown.tab": "onTab($any($event))" }, properties: { "class": "classes()", "style.--radius-base": "radiusBase()", "style.--spacing-base": "densityBase()", "attr.role": "\"menu\"" } }, queries: [{ propertyName: "items", predicate: MenuFocusableItem, descendants: true }], ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
358
364
|
}
|
|
359
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
365
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuSurfaceComponent, decorators: [{
|
|
360
366
|
type: Component,
|
|
361
367
|
args: [{
|
|
362
368
|
selector: 'MenuSurface',
|
|
363
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
364
369
|
host: {
|
|
365
370
|
'[class]': 'classes()',
|
|
366
371
|
'[style.--radius-base]': 'radiusBase()',
|
|
@@ -384,10 +389,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImpor
|
|
|
384
389
|
*/
|
|
385
390
|
class MenuContentDirective {
|
|
386
391
|
template = inject(TemplateRef);
|
|
387
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
388
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.
|
|
392
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
393
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.4", type: MenuContentDirective, isStandalone: true, selector: "ng-template[MenuContent]", exportAs: ["MenuContent"], ngImport: i0 });
|
|
389
394
|
}
|
|
390
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
395
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuContentDirective, decorators: [{
|
|
391
396
|
type: Directive,
|
|
392
397
|
args: [{
|
|
393
398
|
selector: 'ng-template[MenuContent]',
|
|
@@ -475,10 +480,10 @@ class MenuTriggerDirective {
|
|
|
475
480
|
this.el.nativeElement.focus();
|
|
476
481
|
}
|
|
477
482
|
}
|
|
478
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
479
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.
|
|
483
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
484
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.4", type: MenuTriggerDirective, isStandalone: true, selector: "[MenuTrigger]", inputs: { MenuTrigger: { classPropertyName: "MenuTrigger", publicName: "MenuTrigger", isSignal: true, isRequired: true, transformFunction: null }, side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openedChange: "openedChange" }, host: { listeners: { "click": "toggle()", "keydown.enter": "openAndFocus($any($event))", "keydown.space": "openAndFocus($any($event))", "keydown.arrowDown": "openAndFocus($any($event))", "keydown.arrowRight": "openForSide($any($event), \"right\")", "keydown.arrowLeft": "openForSide($any($event), \"left\")" }, properties: { "attr.aria-haspopup": "\"menu\"", "attr.aria-expanded": "isOpen()" } }, exportAs: ["MenuTrigger"], ngImport: i0 });
|
|
480
485
|
}
|
|
481
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
486
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenuTriggerDirective, decorators: [{
|
|
482
487
|
type: Directive,
|
|
483
488
|
args: [{
|
|
484
489
|
selector: '[MenuTrigger]',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DOCUMENT } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { input, booleanAttribute, output, computed,
|
|
3
|
+
import { input, booleanAttribute, output, computed, Component, inject, ElementRef, signal, SecurityContext, forwardRef } from '@angular/core';
|
|
4
4
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
5
5
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
6
6
|
import { cn } from '@ojiepermana/angular-component/utils';
|
|
@@ -129,23 +129,23 @@ class EditorComponent {
|
|
|
129
129
|
this.content = null;
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
133
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.
|
|
132
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: EditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
133
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: EditorComponent, isStandalone: true, selector: "Editor", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { commandSelected: "commandSelected" }, host: { properties: { "class": "classes()", "attr.data-slot": "\"editor\"", "attr.data-disabled": "disabled() ? \"true\" : null", "attr.aria-disabled": "disabled() ? \"true\" : null", "attr.aria-invalid": "invalid() ? \"true\" : null", "attr.inert": "disabled() ? \"\" : null" } }, ngImport: i0, template: `
|
|
134
134
|
<div
|
|
135
135
|
data-slot="editor-shell"
|
|
136
136
|
[class]="shellClasses()"
|
|
137
137
|
[attr.data-disabled]="disabled() ? 'true' : null"
|
|
138
|
-
[attr.aria-invalid]="invalid() ? 'true' : null"
|
|
138
|
+
[attr.aria-invalid]="invalid() ? 'true' : null"
|
|
139
|
+
>
|
|
139
140
|
<ng-content select="EditorToolbar" />
|
|
140
141
|
<ng-content select="EditorContent" />
|
|
141
142
|
</div>
|
|
142
|
-
`, isInline: true
|
|
143
|
+
`, isInline: true });
|
|
143
144
|
}
|
|
144
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: EditorComponent, decorators: [{
|
|
145
146
|
type: Component,
|
|
146
147
|
args: [{
|
|
147
148
|
selector: 'Editor',
|
|
148
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
149
149
|
host: {
|
|
150
150
|
'[class]': 'classes()',
|
|
151
151
|
'[attr.data-slot]': '"editor"',
|
|
@@ -159,7 +159,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImpor
|
|
|
159
159
|
data-slot="editor-shell"
|
|
160
160
|
[class]="shellClasses()"
|
|
161
161
|
[attr.data-disabled]="disabled() ? 'true' : null"
|
|
162
|
-
[attr.aria-invalid]="invalid() ? 'true' : null"
|
|
162
|
+
[attr.aria-invalid]="invalid() ? 'true' : null"
|
|
163
|
+
>
|
|
163
164
|
<ng-content select="EditorToolbar" />
|
|
164
165
|
<ng-content select="EditorContent" />
|
|
165
166
|
</div>
|
|
@@ -197,8 +198,8 @@ class EditorToolbarComponent {
|
|
|
197
198
|
}
|
|
198
199
|
return part.track;
|
|
199
200
|
}
|
|
200
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
201
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.
|
|
201
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: EditorToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
202
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: EditorToolbarComponent, isStandalone: true, selector: "EditorToolbar", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "toolbar" }, properties: { "class": "classes()", "attr.data-slot": "\"editor-toolbar\"", "attr.aria-label": "ariaLabel()", "attr.data-disabled": "disabled() ? \"true\" : null" } }, ngImport: i0, template: `
|
|
202
203
|
@for (part of parts(); track trackPart(part, $index)) {
|
|
203
204
|
@switch (part.type) {
|
|
204
205
|
@case ('heading') {
|
|
@@ -206,7 +207,8 @@ class EditorToolbarComponent {
|
|
|
206
207
|
[class]="selectClasses"
|
|
207
208
|
[disabled]="disabled()"
|
|
208
209
|
aria-label="Text style"
|
|
209
|
-
(change)="handleSelect($event)"
|
|
210
|
+
(change)="handleSelect($event)"
|
|
211
|
+
>
|
|
210
212
|
<option value="paragraph">Text</option>
|
|
211
213
|
<option value="heading-1">Heading 1</option>
|
|
212
214
|
<option value="heading-2">Heading 2</option>
|
|
@@ -218,7 +220,8 @@ class EditorToolbarComponent {
|
|
|
218
220
|
[class]="selectClasses"
|
|
219
221
|
[disabled]="disabled()"
|
|
220
222
|
aria-label="Text alignment"
|
|
221
|
-
(change)="handleSelect($event)"
|
|
223
|
+
(change)="handleSelect($event)"
|
|
224
|
+
>
|
|
222
225
|
<option value="align-left">Left</option>
|
|
223
226
|
<option value="align-center">Center</option>
|
|
224
227
|
<option value="align-right">Right</option>
|
|
@@ -229,7 +232,8 @@ class EditorToolbarComponent {
|
|
|
229
232
|
data-slot="editor-separator"
|
|
230
233
|
class="mx-1 h-6 w-px shrink-0 bg-border"
|
|
231
234
|
role="separator"
|
|
232
|
-
aria-orientation="vertical"
|
|
235
|
+
aria-orientation="vertical"
|
|
236
|
+
></span>
|
|
233
237
|
}
|
|
234
238
|
@case ('spacer') {
|
|
235
239
|
<span data-slot="editor-spacer" class="min-w-2 flex-1"></span>
|
|
@@ -243,7 +247,8 @@ class EditorToolbarComponent {
|
|
|
243
247
|
[attr.aria-label]="part.ariaLabel"
|
|
244
248
|
[attr.title]="part.ariaLabel"
|
|
245
249
|
(mousedown)="preserveSelection($event)"
|
|
246
|
-
(click)="execute(part.command, $event)"
|
|
250
|
+
(click)="execute(part.command, $event)"
|
|
251
|
+
>
|
|
247
252
|
@if (part.command === 'undo') {
|
|
248
253
|
<svg
|
|
249
254
|
aria-hidden="true"
|
|
@@ -253,7 +258,8 @@ class EditorToolbarComponent {
|
|
|
253
258
|
stroke="currentColor"
|
|
254
259
|
stroke-width="1.75"
|
|
255
260
|
stroke-linecap="round"
|
|
256
|
-
stroke-linejoin="round"
|
|
261
|
+
stroke-linejoin="round"
|
|
262
|
+
>
|
|
257
263
|
<path d="M9 14 4 9l5-5" />
|
|
258
264
|
<path d="M4 9h10a6 6 0 0 1 0 12h-2" />
|
|
259
265
|
</svg>
|
|
@@ -266,7 +272,8 @@ class EditorToolbarComponent {
|
|
|
266
272
|
stroke="currentColor"
|
|
267
273
|
stroke-width="1.75"
|
|
268
274
|
stroke-linecap="round"
|
|
269
|
-
stroke-linejoin="round"
|
|
275
|
+
stroke-linejoin="round"
|
|
276
|
+
>
|
|
270
277
|
<path d="m15 14 5-5-5-5" />
|
|
271
278
|
<path d="M20 9H10a6 6 0 0 0 0 12h2" />
|
|
272
279
|
</svg>
|
|
@@ -278,13 +285,12 @@ class EditorToolbarComponent {
|
|
|
278
285
|
}
|
|
279
286
|
}
|
|
280
287
|
<ng-content />
|
|
281
|
-
`, isInline: true
|
|
288
|
+
`, isInline: true });
|
|
282
289
|
}
|
|
283
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
290
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: EditorToolbarComponent, decorators: [{
|
|
284
291
|
type: Component,
|
|
285
292
|
args: [{
|
|
286
293
|
selector: 'EditorToolbar',
|
|
287
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
288
294
|
host: {
|
|
289
295
|
'[class]': 'classes()',
|
|
290
296
|
'[attr.data-slot]': '"editor-toolbar"',
|
|
@@ -300,7 +306,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImpor
|
|
|
300
306
|
[class]="selectClasses"
|
|
301
307
|
[disabled]="disabled()"
|
|
302
308
|
aria-label="Text style"
|
|
303
|
-
(change)="handleSelect($event)"
|
|
309
|
+
(change)="handleSelect($event)"
|
|
310
|
+
>
|
|
304
311
|
<option value="paragraph">Text</option>
|
|
305
312
|
<option value="heading-1">Heading 1</option>
|
|
306
313
|
<option value="heading-2">Heading 2</option>
|
|
@@ -312,7 +319,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImpor
|
|
|
312
319
|
[class]="selectClasses"
|
|
313
320
|
[disabled]="disabled()"
|
|
314
321
|
aria-label="Text alignment"
|
|
315
|
-
(change)="handleSelect($event)"
|
|
322
|
+
(change)="handleSelect($event)"
|
|
323
|
+
>
|
|
316
324
|
<option value="align-left">Left</option>
|
|
317
325
|
<option value="align-center">Center</option>
|
|
318
326
|
<option value="align-right">Right</option>
|
|
@@ -323,7 +331,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImpor
|
|
|
323
331
|
data-slot="editor-separator"
|
|
324
332
|
class="mx-1 h-6 w-px shrink-0 bg-border"
|
|
325
333
|
role="separator"
|
|
326
|
-
aria-orientation="vertical"
|
|
334
|
+
aria-orientation="vertical"
|
|
335
|
+
></span>
|
|
327
336
|
}
|
|
328
337
|
@case ('spacer') {
|
|
329
338
|
<span data-slot="editor-spacer" class="min-w-2 flex-1"></span>
|
|
@@ -337,7 +346,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImpor
|
|
|
337
346
|
[attr.aria-label]="part.ariaLabel"
|
|
338
347
|
[attr.title]="part.ariaLabel"
|
|
339
348
|
(mousedown)="preserveSelection($event)"
|
|
340
|
-
(click)="execute(part.command, $event)"
|
|
349
|
+
(click)="execute(part.command, $event)"
|
|
350
|
+
>
|
|
341
351
|
@if (part.command === 'undo') {
|
|
342
352
|
<svg
|
|
343
353
|
aria-hidden="true"
|
|
@@ -347,7 +357,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImpor
|
|
|
347
357
|
stroke="currentColor"
|
|
348
358
|
stroke-width="1.75"
|
|
349
359
|
stroke-linecap="round"
|
|
350
|
-
stroke-linejoin="round"
|
|
360
|
+
stroke-linejoin="round"
|
|
361
|
+
>
|
|
351
362
|
<path d="M9 14 4 9l5-5" />
|
|
352
363
|
<path d="M4 9h10a6 6 0 0 1 0 12h-2" />
|
|
353
364
|
</svg>
|
|
@@ -360,7 +371,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImpor
|
|
|
360
371
|
stroke="currentColor"
|
|
361
372
|
stroke-width="1.75"
|
|
362
373
|
stroke-linecap="round"
|
|
363
|
-
stroke-linejoin="round"
|
|
374
|
+
stroke-linejoin="round"
|
|
375
|
+
>
|
|
364
376
|
<path d="m15 14 5-5-5-5" />
|
|
365
377
|
<path d="M20 9H10a6 6 0 0 0 0 12h2" />
|
|
366
378
|
</svg>
|
|
@@ -398,14 +410,13 @@ class EditorButtonComponent {
|
|
|
398
410
|
this.editor?.execute(command, 'toolbar', event);
|
|
399
411
|
}
|
|
400
412
|
preserveSelection = preserveEditorSelection;
|
|
401
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
402
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.
|
|
413
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: EditorButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
414
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: EditorButtonComponent, isStandalone: true, selector: "button[EditorButton]", inputs: { command: { classPropertyName: "command", publicName: "command", isSignal: true, isRequired: false, transformFunction: null }, pressed: { classPropertyName: "pressed", publicName: "pressed", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button" }, listeners: { "mousedown": "preserveSelection($event)", "click": "handleClick($event)" }, properties: { "class": "classes()", "attr.data-slot": "\"editor-button\"", "attr.title": "tooltip() || null", "attr.aria-pressed": "pressed() === null ? null : pressed()", "disabled": "disabled() || null" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
403
415
|
}
|
|
404
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
416
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: EditorButtonComponent, decorators: [{
|
|
405
417
|
type: Component,
|
|
406
418
|
args: [{
|
|
407
419
|
selector: 'button[EditorButton]',
|
|
408
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
409
420
|
host: {
|
|
410
421
|
'[class]': 'classes()',
|
|
411
422
|
'[attr.data-slot]': '"editor-button"',
|
|
@@ -424,14 +435,13 @@ class EditorSeparatorComponent {
|
|
|
424
435
|
...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
|
|
425
436
|
classes = computed(() => cn('mx-1 h-6 w-px shrink-0 bg-border', this.class()), /* @ts-ignore */
|
|
426
437
|
...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
|
|
427
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
428
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.
|
|
438
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: EditorSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
439
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: EditorSeparatorComponent, isStandalone: true, selector: "EditorSeparator", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "separator", "aria-orientation": "vertical" }, properties: { "class": "classes()", "attr.data-slot": "\"editor-separator\"" } }, ngImport: i0, template: '', isInline: true });
|
|
429
440
|
}
|
|
430
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
441
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: EditorSeparatorComponent, decorators: [{
|
|
431
442
|
type: Component,
|
|
432
443
|
args: [{
|
|
433
444
|
selector: 'EditorSeparator',
|
|
434
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
435
445
|
host: {
|
|
436
446
|
'[class]': 'classes()',
|
|
437
447
|
'[attr.data-slot]': '"editor-separator"',
|
|
@@ -446,14 +456,13 @@ class EditorSpacerComponent {
|
|
|
446
456
|
...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
|
|
447
457
|
classes = computed(() => cn('min-w-2 flex-1', this.class()), /* @ts-ignore */
|
|
448
458
|
...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
|
|
449
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
450
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.
|
|
459
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: EditorSpacerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
460
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: EditorSpacerComponent, isStandalone: true, selector: "EditorSpacer", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"editor-spacer\"" } }, ngImport: i0, template: '', isInline: true });
|
|
451
461
|
}
|
|
452
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
462
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: EditorSpacerComponent, decorators: [{
|
|
453
463
|
type: Component,
|
|
454
464
|
args: [{
|
|
455
465
|
selector: 'EditorSpacer',
|
|
456
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
457
466
|
host: {
|
|
458
467
|
'[class]': 'classes()',
|
|
459
468
|
'[attr.data-slot]': '"editor-spacer"',
|
|
@@ -494,7 +503,8 @@ class EditorContentComponent {
|
|
|
494
503
|
this.editor?.unregisterContent(this);
|
|
495
504
|
}
|
|
496
505
|
writeValue(value) {
|
|
497
|
-
this.el.nativeElement.innerHTML =
|
|
506
|
+
this.el.nativeElement.innerHTML =
|
|
507
|
+
this.sanitizer.sanitize(SecurityContext.HTML, value ?? '') ?? '';
|
|
498
508
|
// Read back after assignment: the browser normalizes markup, so the
|
|
499
509
|
// DOM-normalized form is the canonical value for change comparisons.
|
|
500
510
|
this.lastKnownValue = this.el.nativeElement.innerHTML;
|
|
@@ -630,20 +640,19 @@ class EditorContentComponent {
|
|
|
630
640
|
return null;
|
|
631
641
|
}
|
|
632
642
|
}
|
|
633
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
634
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.
|
|
643
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: EditorContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
644
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: EditorContentComponent, isStandalone: true, selector: "EditorContent", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalidInput: { classPropertyName: "invalidInput", publicName: "aria-invalid", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "input": "handleInput()", "blur": "handleBlur()", "keydown": "handleKeydown($event)" }, properties: { "class": "classes()", "attr.data-slot": "\"editor-content\"", "attr.contenteditable": "disabled() ? \"false\" : \"true\"", "attr.role": "\"textbox\"", "attr.aria-multiline": "\"true\"", "attr.aria-label": "ariaLabel()", "attr.aria-disabled": "disabled() ? \"true\" : null", "attr.aria-invalid": "invalid() ? \"true\" : null", "attr.data-disabled": "disabled() ? \"true\" : null", "attr.data-empty": "empty() ? \"true\" : null", "attr.data-placeholder": "placeholder()", "attr.tabindex": "disabled() ? null : \"0\"" } }, providers: [
|
|
635
645
|
{
|
|
636
646
|
provide: NG_VALUE_ACCESSOR,
|
|
637
647
|
useExisting: forwardRef(() => EditorContentComponent),
|
|
638
648
|
multi: true,
|
|
639
649
|
},
|
|
640
|
-
], ngImport: i0, template: `<ng-content />`, isInline: true
|
|
650
|
+
], ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
641
651
|
}
|
|
642
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
652
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: EditorContentComponent, decorators: [{
|
|
643
653
|
type: Component,
|
|
644
654
|
args: [{
|
|
645
655
|
selector: 'EditorContent',
|
|
646
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
647
656
|
providers: [
|
|
648
657
|
{
|
|
649
658
|
provide: NG_VALUE_ACCESSOR,
|