@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 { Directive, input, model, numberAttribute, inject, ElementRef, signal, computed, forwardRef,
|
|
2
|
+
import { Directive, input, model, numberAttribute, inject, ElementRef, signal, computed, forwardRef, Component } from '@angular/core';
|
|
3
3
|
import { toggleVariants } from '@ojiepermana/angular-component/toggle';
|
|
4
4
|
import { cn } from '@ojiepermana/angular-component/utils';
|
|
5
5
|
|
|
@@ -23,10 +23,10 @@ const connectedItemClasses = {
|
|
|
23
23
|
].join(' '),
|
|
24
24
|
};
|
|
25
25
|
class ToggleGroupContextBase {
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
27
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ToggleGroupContextBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
27
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.4", type: ToggleGroupContextBase, isStandalone: true, ngImport: i0 });
|
|
28
28
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ToggleGroupContextBase, decorators: [{
|
|
30
30
|
type: Directive
|
|
31
31
|
}] });
|
|
32
32
|
class ToggleGroupComponent extends ToggleGroupContextBase {
|
|
@@ -117,7 +117,9 @@ class ToggleGroupComponent extends ToggleGroupContextBase {
|
|
|
117
117
|
return;
|
|
118
118
|
this.focusedValue.set(value);
|
|
119
119
|
if (this.type() === 'multiple') {
|
|
120
|
-
this.values.update((current) => current.includes(value)
|
|
120
|
+
this.values.update((current) => current.includes(value)
|
|
121
|
+
? current.filter((itemValue) => itemValue !== value)
|
|
122
|
+
: [...current, value]);
|
|
121
123
|
return;
|
|
122
124
|
}
|
|
123
125
|
this.value.set(this.value() === value ? null : value);
|
|
@@ -173,15 +175,18 @@ class ToggleGroupComponent extends ToggleGroupContextBase {
|
|
|
173
175
|
bumpRegistrationVersion() {
|
|
174
176
|
this.registrationVersion.update((version) => version + 1);
|
|
175
177
|
}
|
|
176
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
177
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.
|
|
178
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ToggleGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
179
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: ToggleGroupComponent, isStandalone: true, selector: "ToggleGroup", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: "values", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", 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 }, spacing: { classPropertyName: "spacing", publicName: "spacing", isSignal: true, isRequired: false, transformFunction: null }, loop: { classPropertyName: "loop", publicName: "loop", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", values: "valuesChange" }, host: { properties: { "class": "classes()", "attr.role": "\"group\"", "attr.dir": "dir() ?? null", "attr.aria-orientation": "orientation()", "attr.data-disabled": "disabled() ? \"\" : null", "attr.data-orientation": "orientation()", "attr.data-slot": "\"toggle-group\"", "attr.data-type": "type()" } }, providers: [
|
|
180
|
+
{ provide: ToggleGroupContextBase, useExisting: forwardRef(() => ToggleGroupComponent) },
|
|
181
|
+
], usesInheritance: true, ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
178
182
|
}
|
|
179
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
183
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ToggleGroupComponent, decorators: [{
|
|
180
184
|
type: Component,
|
|
181
185
|
args: [{
|
|
182
186
|
selector: 'ToggleGroup',
|
|
183
|
-
|
|
184
|
-
|
|
187
|
+
providers: [
|
|
188
|
+
{ provide: ToggleGroupContextBase, useExisting: forwardRef(() => ToggleGroupComponent) },
|
|
189
|
+
],
|
|
185
190
|
host: {
|
|
186
191
|
'[class]': 'classes()',
|
|
187
192
|
'[attr.role]': '"group"',
|
|
@@ -243,10 +248,10 @@ class ToggleGroupItemDirective {
|
|
|
243
248
|
event.preventDefault();
|
|
244
249
|
this.ctx.focusLast();
|
|
245
250
|
}
|
|
246
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
247
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.
|
|
251
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ToggleGroupItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
252
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.4", type: ToggleGroupItemDirective, isStandalone: true, selector: "button[ToggleGroupItem]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button" }, listeners: { "click": "onClick()", "focus": "onFocus()", "keydown.arrowDown": "onArrow($any($event), 1)", "keydown.arrowLeft": "onHorizontalArrow($any($event), -1)", "keydown.arrowRight": "onHorizontalArrow($any($event), 1)", "keydown.arrowUp": "onArrow($any($event), -1)", "keydown.end": "onEnd($any($event))", "keydown.home": "onHome($any($event))" }, properties: { "class": "classes()", "attr.aria-disabled": "isDisabled() ? \"true\" : null", "attr.aria-pressed": "selected()", "attr.data-disabled": "isDisabled() ? \"\" : null", "attr.data-orientation": "ctx.groupOrientation()", "attr.data-size": "ctx.groupSize()", "attr.data-slot": "\"toggle-group-item\"", "attr.data-state": "selected() ? \"on\" : \"off\"", "attr.data-variant": "ctx.groupVariant()", "attr.tabindex": "ctx.tabindexFor(value(), isDisabled())", "disabled": "isDisabled() || null" } }, ngImport: i0 });
|
|
248
253
|
}
|
|
249
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ToggleGroupItemDirective, decorators: [{
|
|
250
255
|
type: Directive,
|
|
251
256
|
args: [{
|
|
252
257
|
selector: 'button[ToggleGroupItem]',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { model, input, computed,
|
|
2
|
+
import { model, input, computed, Component } from '@angular/core';
|
|
3
3
|
import { cn } from '@ojiepermana/angular-component/utils';
|
|
4
4
|
import { cva } from 'class-variance-authority';
|
|
5
5
|
|
|
@@ -51,14 +51,13 @@ class ToggleComponent {
|
|
|
51
51
|
}
|
|
52
52
|
this.pressed.update((pressed) => !pressed);
|
|
53
53
|
}
|
|
54
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
55
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.
|
|
54
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: ToggleComponent, isStandalone: true, selector: "button[Toggle]", inputs: { pressed: { classPropertyName: "pressed", publicName: "pressed", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", 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 }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pressed: "pressedChange" }, host: { attributes: { "type": "button" }, listeners: { "click": "toggle()" }, properties: { "class": "classes()", "attr.aria-pressed": "pressed()", "attr.data-disabled": "disabled() ? \"\" : null", "attr.data-size": "size()", "attr.data-state": "pressed() ? \"on\" : \"off\"", "attr.data-variant": "variant()", "disabled": "disabled() || null" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
56
56
|
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ToggleComponent, decorators: [{
|
|
58
58
|
type: Component,
|
|
59
59
|
args: [{
|
|
60
60
|
selector: 'button[Toggle]',
|
|
61
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
62
61
|
host: {
|
|
63
62
|
'[class]': 'classes()',
|
|
64
63
|
type: 'button',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, input, forwardRef,
|
|
2
|
+
import { InjectionToken, input, forwardRef, Component, inject, TemplateRef, computed, Directive, ViewContainerRef, ElementRef, DestroyRef, output, signal, effect } from '@angular/core';
|
|
3
3
|
import { radiusBaseValue, densityBaseValue, connectedPositionFor, oppositeSide, uniqueId, overlayDismissals } from '@ojiepermana/angular-component/utils';
|
|
4
4
|
import { Overlay } from '@angular/cdk/overlay';
|
|
5
5
|
import { TemplatePortal, ComponentPortal } from '@angular/cdk/portal';
|
|
@@ -17,14 +17,13 @@ class TooltipComponent {
|
|
|
17
17
|
...(ngDevMode ? [{ debugName: "openDelay" }] : /* istanbul ignore next */ []));
|
|
18
18
|
closeDelay = input(0, /* @ts-ignore */
|
|
19
19
|
...(ngDevMode ? [{ debugName: "closeDelay" }] : /* istanbul ignore next */ []));
|
|
20
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
21
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: TooltipComponent, isStandalone: true, selector: "Tooltip", inputs: { side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, sideOffset: { classPropertyName: "sideOffset", publicName: "sideOffset", isSignal: true, isRequired: false, transformFunction: null }, openDelay: { classPropertyName: "openDelay", publicName: "openDelay", isSignal: true, isRequired: false, transformFunction: null }, closeDelay: { classPropertyName: "closeDelay", publicName: "closeDelay", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "contents" }, providers: [{ provide: TOOLTIP_DEFAULTS, useExisting: forwardRef(() => TooltipComponent) }], ngImport: i0, template: '<ng-content />', isInline: true });
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TooltipComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
25
|
args: [{
|
|
26
26
|
selector: 'Tooltip',
|
|
27
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
28
27
|
providers: [{ provide: TOOLTIP_DEFAULTS, useExisting: forwardRef(() => TooltipComponent) }],
|
|
29
28
|
host: {
|
|
30
29
|
class: 'contents',
|
|
@@ -50,10 +49,10 @@ class TooltipContentDirective {
|
|
|
50
49
|
...(ngDevMode ? [{ debugName: "radiusBase" }] : /* istanbul ignore next */ []));
|
|
51
50
|
densityBase = computed(() => densityBaseValue(this.density()), /* @ts-ignore */
|
|
52
51
|
...(ngDevMode ? [{ debugName: "densityBase" }] : /* istanbul ignore next */ []));
|
|
53
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
54
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.
|
|
52
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TooltipContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
53
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.4", type: TooltipContentDirective, isStandalone: true, selector: "ng-template[TooltipContent]", inputs: { radius: { classPropertyName: "radius", publicName: "radius", isSignal: true, isRequired: false, transformFunction: null }, density: { classPropertyName: "density", publicName: "density", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--radius-base": "radiusBase()", "style.--spacing-base": "densityBase()" } }, exportAs: ["TooltipContent"], ngImport: i0 });
|
|
55
54
|
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TooltipContentDirective, decorators: [{
|
|
57
56
|
type: Directive,
|
|
58
57
|
args: [{
|
|
59
58
|
selector: 'ng-template[TooltipContent]',
|
|
@@ -272,10 +271,10 @@ class TooltipTriggerDirective {
|
|
|
272
271
|
this.closeTimeoutId = null;
|
|
273
272
|
}
|
|
274
273
|
}
|
|
275
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
276
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.
|
|
274
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TooltipTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
275
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.4", type: TooltipTriggerDirective, isStandalone: true, selector: "[TooltipTrigger]", inputs: { TooltipTrigger: { classPropertyName: "TooltipTrigger", publicName: "TooltipTrigger", 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 }, sideOffset: { classPropertyName: "sideOffset", publicName: "sideOffset", isSignal: true, isRequired: false, transformFunction: null }, openDelay: { classPropertyName: "openDelay", publicName: "openDelay", isSignal: true, isRequired: false, transformFunction: null }, closeDelay: { classPropertyName: "closeDelay", publicName: "closeDelay", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openedChange: "openedChange" }, host: { listeners: { "pointerenter": "handlePointerEnter()", "pointerleave": "handlePointerLeave($event)", "focusin": "handleFocusIn()", "focusout": "handleFocusOut($event)", "keydown.escape": "close()" }, properties: { "attr.aria-describedby": "contentId()", "attr.data-state": "isOpen() ? \"open\" : \"closed\"" } }, exportAs: ["TooltipTrigger"], ngImport: i0 });
|
|
277
276
|
}
|
|
278
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
277
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TooltipTriggerDirective, decorators: [{
|
|
279
278
|
type: Directive,
|
|
280
279
|
args: [{
|
|
281
280
|
selector: '[TooltipTrigger]',
|
|
@@ -322,13 +321,12 @@ const PANEL_CLASSES = [
|
|
|
322
321
|
class TooltipTextComponent {
|
|
323
322
|
text = signal('', /* @ts-ignore */
|
|
324
323
|
...(ngDevMode ? [{ debugName: "text" }] : /* istanbul ignore next */ []));
|
|
325
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
326
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.
|
|
324
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TooltipTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
325
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", type: TooltipTextComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `{{ text() }}`, isInline: true });
|
|
327
326
|
}
|
|
328
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
327
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TooltipTextComponent, decorators: [{
|
|
329
328
|
type: Component,
|
|
330
329
|
args: [{
|
|
331
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
332
330
|
template: `{{ text() }}`,
|
|
333
331
|
}]
|
|
334
332
|
}] });
|
|
@@ -377,7 +375,10 @@ class TooltipDirective {
|
|
|
377
375
|
const positionStrategy = this.overlay
|
|
378
376
|
.position()
|
|
379
377
|
.flexibleConnectedTo(this.el)
|
|
380
|
-
.withPositions([
|
|
378
|
+
.withPositions([
|
|
379
|
+
connectedPositionFor(side, 'center', 4),
|
|
380
|
+
connectedPositionFor(oppositeSide(side), 'center', 4),
|
|
381
|
+
])
|
|
381
382
|
.withPush(false)
|
|
382
383
|
.withFlexibleDimensions(false);
|
|
383
384
|
this.overlayRef = this.overlay.create({
|
|
@@ -424,10 +425,10 @@ class TooltipDirective {
|
|
|
424
425
|
this.hideTimeoutId = null;
|
|
425
426
|
}
|
|
426
427
|
}
|
|
427
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
428
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.
|
|
428
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
429
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.4", type: TooltipDirective, isStandalone: true, selector: "[Tooltip]", inputs: { Tooltip: { classPropertyName: "Tooltip", publicName: "Tooltip", isSignal: true, isRequired: false, transformFunction: null }, TooltipPosition: { classPropertyName: "TooltipPosition", publicName: "TooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, TooltipDisabled: { classPropertyName: "TooltipDisabled", publicName: "TooltipDisabled", isSignal: true, isRequired: false, transformFunction: null }, TooltipShowDelay: { classPropertyName: "TooltipShowDelay", publicName: "TooltipShowDelay", isSignal: true, isRequired: false, transformFunction: null }, TooltipHideDelay: { classPropertyName: "TooltipHideDelay", publicName: "TooltipHideDelay", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "pointerenter": "scheduleShow()", "pointerleave": "scheduleHide()", "focusin": "scheduleShow()", "focusout": "scheduleHide()", "keydown.escape": "hide()" } }, exportAs: ["Tooltip"], ngImport: i0 });
|
|
429
430
|
}
|
|
430
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
431
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TooltipDirective, decorators: [{
|
|
431
432
|
type: Directive,
|
|
432
433
|
args: [{
|
|
433
434
|
selector: '[Tooltip]',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ojiepermana/angular-component",
|
|
3
|
-
"version": "22.0.
|
|
3
|
+
"version": "22.0.45",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/edsis/angular.git"
|
|
@@ -21,6 +21,15 @@
|
|
|
21
21
|
"peerDependenciesMeta": {
|
|
22
22
|
"@angular/material": {
|
|
23
23
|
"optional": true
|
|
24
|
+
},
|
|
25
|
+
"@angular/forms": {
|
|
26
|
+
"optional": true
|
|
27
|
+
},
|
|
28
|
+
"@angular/platform-browser": {
|
|
29
|
+
"optional": true
|
|
30
|
+
},
|
|
31
|
+
"@angular/router": {
|
|
32
|
+
"optional": true
|
|
24
33
|
}
|
|
25
34
|
},
|
|
26
35
|
"dependencies": {
|
|
@@ -3,6 +3,15 @@ import { ButtonVariant, ButtonSize } from '@ojiepermana/angular-component/button
|
|
|
3
3
|
|
|
4
4
|
type AlertDialogSize = 'default' | 'sm';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Confirmation dialog with `role="alertdialog"`.
|
|
8
|
+
*
|
|
9
|
+
* For the accessible name/description to wire up automatically, project the
|
|
10
|
+
* matching `AlertDialogTitle` / `AlertDialogDescription` parts (they register
|
|
11
|
+
* their ids with this component). Plain `DialogTitle` / `DialogDescription` will
|
|
12
|
+
* not auto-wire here — pass `aria-labelledby` / `aria-describedby` explicitly if
|
|
13
|
+
* you use custom markup.
|
|
14
|
+
*/
|
|
6
15
|
declare class AlertDialogComponent {
|
|
7
16
|
readonly open: _angular_core.ModelSignal<boolean>;
|
|
8
17
|
readonly closeOnEscape: _angular_core.InputSignal<boolean>;
|
|
@@ -11,17 +20,33 @@ declare class AlertDialogComponent {
|
|
|
11
20
|
readonly closeButtonLabel: _angular_core.InputSignal<string>;
|
|
12
21
|
readonly labelledBy: _angular_core.InputSignal<string | null>;
|
|
13
22
|
readonly describedBy: _angular_core.InputSignal<string | null>;
|
|
23
|
+
/** ARIA role passed to the underlying dialog surface. `'alertdialog'` by default. */
|
|
24
|
+
readonly role: _angular_core.InputSignal<string>;
|
|
14
25
|
readonly class: _angular_core.InputSignal<string>;
|
|
15
26
|
readonly radius: _angular_core.InputSignal<"sm" | "inherit" | "none" | "md" | "lg" | "xl" | "full">;
|
|
16
27
|
readonly density: _angular_core.InputSignal<"inherit" | "compact" | "normal" | "relaxed" | "spacious">;
|
|
17
28
|
readonly openedChange: _angular_core.OutputEmitterRef<boolean>;
|
|
18
29
|
private readonly contentSize;
|
|
30
|
+
private readonly registeredTitleId;
|
|
31
|
+
private readonly registeredDescriptionId;
|
|
19
32
|
readonly resolvedSize: _angular_core.Signal<AlertDialogSize>;
|
|
20
33
|
protected readonly surfaceClasses: _angular_core.Signal<string>;
|
|
34
|
+
/** Explicit `aria-labelledby` wins; otherwise a projected `AlertDialogTitle` supplies the id. */
|
|
35
|
+
protected readonly resolvedLabelledBy: _angular_core.Signal<string | null>;
|
|
36
|
+
/** Explicit `aria-describedby` wins; otherwise a projected `AlertDialogDescription` supplies the id. */
|
|
37
|
+
protected readonly resolvedDescribedBy: _angular_core.Signal<string | null>;
|
|
21
38
|
setContentSize(size: AlertDialogSize): void;
|
|
39
|
+
/** Called by a projected `AlertDialogTitle` so default usage has an accessible name (AXE-safe). */
|
|
40
|
+
registerTitleId(id: string | null): void;
|
|
41
|
+
/** Cleared by an `AlertDialogTitle` on destroy so a reopened alert never points at a stale id. */
|
|
42
|
+
unregisterTitleId(id: string): void;
|
|
43
|
+
/** Called by a projected `AlertDialogDescription`. */
|
|
44
|
+
registerDescriptionId(id: string | null): void;
|
|
45
|
+
/** Cleared by an `AlertDialogDescription` on destroy. */
|
|
46
|
+
unregisterDescriptionId(id: string): void;
|
|
22
47
|
close(): void;
|
|
23
48
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertDialogComponent, never>;
|
|
24
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDialogComponent, "AlertDialog", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "closeButtonLabel": { "alias": "closeButtonLabel"; "required": false; "isSignal": true; }; "labelledBy": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "describedBy": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "openedChange": "openedChange"; }, never, ["*"], true, never>;
|
|
49
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDialogComponent, "AlertDialog", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "closeButtonLabel": { "alias": "closeButtonLabel"; "required": false; "isSignal": true; }; "labelledBy": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "describedBy": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "openedChange": "openedChange"; }, never, ["*"], true, never>;
|
|
25
50
|
}
|
|
26
51
|
|
|
27
52
|
declare class AlertDialogContentComponent {
|
|
@@ -40,16 +65,30 @@ declare class AlertDialogHeaderComponent {
|
|
|
40
65
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDialogHeaderComponent, "AlertDialogHeader", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
41
66
|
}
|
|
42
67
|
declare class AlertDialogTitleComponent {
|
|
68
|
+
/** Explicit id override; when omitted a document-unique id is generated. */
|
|
69
|
+
readonly id: _angular_core.InputSignal<string | null>;
|
|
43
70
|
readonly class: _angular_core.InputSignal<string>;
|
|
71
|
+
private readonly autoId;
|
|
72
|
+
private readonly alertDialog;
|
|
73
|
+
/** The id rendered on the element, used by the parent alert dialog for aria-labelledby. */
|
|
74
|
+
readonly resolvedId: _angular_core.Signal<string>;
|
|
44
75
|
protected readonly classes: _angular_core.Signal<string>;
|
|
76
|
+
constructor();
|
|
45
77
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertDialogTitleComponent, never>;
|
|
46
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDialogTitleComponent, "AlertDialogTitle, h2[AlertDialogTitle]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
78
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDialogTitleComponent, "AlertDialogTitle, h2[AlertDialogTitle]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
47
79
|
}
|
|
48
80
|
declare class AlertDialogDescriptionComponent {
|
|
81
|
+
/** Explicit id override; when omitted a document-unique id is generated. */
|
|
82
|
+
readonly id: _angular_core.InputSignal<string | null>;
|
|
49
83
|
readonly class: _angular_core.InputSignal<string>;
|
|
84
|
+
private readonly autoId;
|
|
85
|
+
private readonly alertDialog;
|
|
86
|
+
/** The id rendered on the element, used by the parent alert dialog for aria-describedby. */
|
|
87
|
+
readonly resolvedId: _angular_core.Signal<string>;
|
|
50
88
|
protected readonly classes: _angular_core.Signal<string>;
|
|
89
|
+
constructor();
|
|
51
90
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertDialogDescriptionComponent, never>;
|
|
52
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDialogDescriptionComponent, "AlertDialogDescription, p[AlertDialogDescription]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
91
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDialogDescriptionComponent, "AlertDialogDescription, p[AlertDialogDescription]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
53
92
|
}
|
|
54
93
|
declare class AlertDialogMediaComponent {
|
|
55
94
|
readonly class: _angular_core.InputSignal<string>;
|
|
@@ -30,10 +30,26 @@ declare class DialogComponent {
|
|
|
30
30
|
readonly closeButtonLabel: _angular_core.InputSignal<string>;
|
|
31
31
|
readonly labelledBy: _angular_core.InputSignal<string | null>;
|
|
32
32
|
readonly describedBy: _angular_core.InputSignal<string | null>;
|
|
33
|
+
/** ARIA role for the surface. `'dialog'` by default; `AlertDialog` sets `'alertdialog'`. */
|
|
34
|
+
readonly role: _angular_core.InputSignal<string>;
|
|
33
35
|
readonly class: _angular_core.InputSignal<string>;
|
|
34
36
|
readonly radius: _angular_core.InputSignal<"inherit" | "none" | "sm" | "md" | "lg" | "xl" | "full">;
|
|
35
37
|
readonly density: _angular_core.InputSignal<"inherit" | "compact" | "normal" | "relaxed" | "spacious">;
|
|
36
38
|
readonly openedChange: _angular_core.OutputEmitterRef<boolean>;
|
|
39
|
+
private readonly registeredTitleId;
|
|
40
|
+
private readonly registeredDescriptionId;
|
|
41
|
+
/** Explicit `aria-labelledby` wins; otherwise a projected `DialogTitle` supplies the id. */
|
|
42
|
+
protected readonly resolvedLabelledBy: _angular_core.Signal<string | null>;
|
|
43
|
+
/** Explicit `aria-describedby` wins; otherwise a projected `DialogDescription` supplies the id. */
|
|
44
|
+
protected readonly resolvedDescribedBy: _angular_core.Signal<string | null>;
|
|
45
|
+
/** Called by a projected `DialogTitle` so default usage has an accessible name (AXE-safe). */
|
|
46
|
+
registerTitleId(id: string | null): void;
|
|
47
|
+
/** Cleared by a `DialogTitle` on destroy so a closed/reopened dialog never points at a stale id. */
|
|
48
|
+
unregisterTitleId(id: string): void;
|
|
49
|
+
/** Called by a projected `DialogDescription`. */
|
|
50
|
+
registerDescriptionId(id: string | null): void;
|
|
51
|
+
/** Cleared by a `DialogDescription` on destroy. */
|
|
52
|
+
unregisterDescriptionId(id: string): void;
|
|
37
53
|
private readonly tpl;
|
|
38
54
|
private overlayRef;
|
|
39
55
|
private focusTrap;
|
|
@@ -47,7 +63,7 @@ declare class DialogComponent {
|
|
|
47
63
|
private requestClose;
|
|
48
64
|
close(): void;
|
|
49
65
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DialogComponent, never>;
|
|
50
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DialogComponent, "Dialog", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "closeButtonLabel": { "alias": "closeButtonLabel"; "required": false; "isSignal": true; }; "labelledBy": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "describedBy": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "openedChange": "openedChange"; }, never, ["*"], true, never>;
|
|
66
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DialogComponent, "Dialog", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "closeButtonLabel": { "alias": "closeButtonLabel"; "required": false; "isSignal": true; }; "labelledBy": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "describedBy": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "openedChange": "openedChange"; }, never, ["*"], true, never>;
|
|
51
67
|
}
|
|
52
68
|
|
|
53
69
|
declare class DialogCloseDirective {
|
|
@@ -64,16 +80,30 @@ declare class DialogHeaderComponent {
|
|
|
64
80
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DialogHeaderComponent, "DialogHeader", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
65
81
|
}
|
|
66
82
|
declare class DialogTitleComponent {
|
|
83
|
+
/** Explicit id override; when omitted a document-unique id is generated. */
|
|
84
|
+
readonly id: _angular_core.InputSignal<string | null>;
|
|
67
85
|
readonly class: _angular_core.InputSignal<string>;
|
|
86
|
+
private readonly autoId;
|
|
87
|
+
private readonly dialog;
|
|
88
|
+
/** The id rendered on the element, used by the parent dialog for aria-labelledby. */
|
|
89
|
+
readonly resolvedId: _angular_core.Signal<string>;
|
|
68
90
|
protected readonly classes: _angular_core.Signal<string>;
|
|
91
|
+
constructor();
|
|
69
92
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DialogTitleComponent, never>;
|
|
70
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DialogTitleComponent, "DialogTitle, h2[DialogTitle]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
93
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DialogTitleComponent, "DialogTitle, h2[DialogTitle]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
71
94
|
}
|
|
72
95
|
declare class DialogDescriptionComponent {
|
|
96
|
+
/** Explicit id override; when omitted a document-unique id is generated. */
|
|
97
|
+
readonly id: _angular_core.InputSignal<string | null>;
|
|
73
98
|
readonly class: _angular_core.InputSignal<string>;
|
|
99
|
+
private readonly autoId;
|
|
100
|
+
private readonly dialog;
|
|
101
|
+
/** The id rendered on the element, used by the parent dialog for aria-describedby. */
|
|
102
|
+
readonly resolvedId: _angular_core.Signal<string>;
|
|
74
103
|
protected readonly classes: _angular_core.Signal<string>;
|
|
104
|
+
constructor();
|
|
75
105
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DialogDescriptionComponent, never>;
|
|
76
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DialogDescriptionComponent, "DialogDescription, p[DialogDescription]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
106
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DialogDescriptionComponent, "DialogDescription, p[DialogDescription]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
77
107
|
}
|
|
78
108
|
declare class DialogContentComponent {
|
|
79
109
|
readonly class: _angular_core.InputSignal<string>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { InjectionToken, EnvironmentProviders } from '@angular/core';
|
|
2
3
|
|
|
3
4
|
declare class IconComponent {
|
|
4
5
|
private readonly materialSymbols;
|
|
@@ -20,12 +21,58 @@ declare class IconComponent {
|
|
|
20
21
|
declare const MATERIAL_SYMBOLS_FONT_ATTR = "data-icon-font";
|
|
21
22
|
declare const MATERIAL_SYMBOLS_FONT_ID = "material-symbols-outlined";
|
|
22
23
|
declare const MATERIAL_SYMBOLS_FONT_HREF = "https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0";
|
|
24
|
+
/** Configuration for {@link provideMaterialSymbols}. */
|
|
25
|
+
interface MaterialSymbolsConfig {
|
|
26
|
+
/**
|
|
27
|
+
* Stylesheet URL to load the Material Symbols font from. Defaults to the
|
|
28
|
+
* Google Fonts URL ({@link MATERIAL_SYMBOLS_FONT_HREF}). Point this at a
|
|
29
|
+
* self-hosted stylesheet for offline / CSP / privacy-safe setups.
|
|
30
|
+
*/
|
|
31
|
+
readonly href?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Presence of this token is what enables {@link IconComponent} to auto-load the
|
|
35
|
+
* font. It is only provided when the app opts in via `provideMaterialSymbols()`;
|
|
36
|
+
* without it, `<Icon>` makes no network request.
|
|
37
|
+
*/
|
|
38
|
+
declare const MATERIAL_SYMBOLS_CONFIG: InjectionToken<MaterialSymbolsConfig>;
|
|
23
39
|
declare class MaterialSymbolsService {
|
|
24
40
|
private readonly documentRef;
|
|
25
41
|
private readonly platformId;
|
|
42
|
+
private readonly config;
|
|
43
|
+
/**
|
|
44
|
+
* Token-gated load. No-op unless the app opted in via `provideMaterialSymbols()`
|
|
45
|
+
* (which provides {@link MATERIAL_SYMBOLS_CONFIG}). Called by `IconComponent`
|
|
46
|
+
* so rendering an icon never triggers an implicit network request on its own.
|
|
47
|
+
*/
|
|
26
48
|
ensureLoaded(): void;
|
|
49
|
+
/**
|
|
50
|
+
* Explicitly inject the font stylesheet, regardless of whether the config
|
|
51
|
+
* token is present. Used by integrations that decide to load the font from
|
|
52
|
+
* their own option surface (e.g. `provideUiTheme({ icons: { materialSymbols: true } })`).
|
|
53
|
+
*/
|
|
54
|
+
load(config?: MaterialSymbolsConfig): void;
|
|
27
55
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MaterialSymbolsService, never>;
|
|
28
56
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<MaterialSymbolsService>;
|
|
29
57
|
}
|
|
30
58
|
|
|
31
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Opt in to loading the Material Symbols icon font that `<Icon>` renders with.
|
|
61
|
+
*
|
|
62
|
+
* By default `IconComponent` makes **no** network request — better for privacy,
|
|
63
|
+
* offline, and strict CSP. Add this provider to your bootstrap to fetch the font
|
|
64
|
+
* stylesheet once at startup. Pass `{ href }` to load from a self-hosted source
|
|
65
|
+
* instead of Google Fonts.
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* // Google Fonts (default source):
|
|
69
|
+
* bootstrapApplication(App, { providers: [provideMaterialSymbols()] });
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* // Self-hosted / offline:
|
|
73
|
+
* provideMaterialSymbols({ href: '/assets/material-symbols.css' });
|
|
74
|
+
*/
|
|
75
|
+
declare function provideMaterialSymbols(config?: MaterialSymbolsConfig): EnvironmentProviders;
|
|
76
|
+
|
|
77
|
+
export { IconComponent, MATERIAL_SYMBOLS_CONFIG, MATERIAL_SYMBOLS_FONT_ATTR, MATERIAL_SYMBOLS_FONT_HREF, MATERIAL_SYMBOLS_FONT_ID, MaterialSymbolsService, provideMaterialSymbols };
|
|
78
|
+
export type { MaterialSymbolsConfig };
|
|
@@ -25,10 +25,18 @@ declare class SheetComponent {
|
|
|
25
25
|
readonly closeButtonLabel: _angular_core.InputSignal<string>;
|
|
26
26
|
readonly labelledBy: _angular_core.InputSignal<string | null>;
|
|
27
27
|
readonly describedBy: _angular_core.InputSignal<string | null>;
|
|
28
|
+
/** ARIA role for the surface. Defaults to `'dialog'`. */
|
|
29
|
+
readonly role: _angular_core.InputSignal<string>;
|
|
28
30
|
readonly class: _angular_core.InputSignal<string>;
|
|
29
31
|
readonly radius: _angular_core.InputSignal<"inherit" | "none" | "sm" | "md" | "lg" | "xl" | "full">;
|
|
30
32
|
readonly density: _angular_core.InputSignal<"inherit" | "compact" | "normal" | "relaxed" | "spacious">;
|
|
31
33
|
readonly openedChange: _angular_core.OutputEmitterRef<boolean>;
|
|
34
|
+
private readonly registeredTitleId;
|
|
35
|
+
private readonly registeredDescriptionId;
|
|
36
|
+
/** Explicit `aria-labelledby` wins; otherwise a projected `SheetTitle` supplies the id. */
|
|
37
|
+
protected readonly resolvedLabelledBy: _angular_core.Signal<string | null>;
|
|
38
|
+
/** Explicit `aria-describedby` wins; otherwise a projected `SheetDescription` supplies the id. */
|
|
39
|
+
protected readonly resolvedDescribedBy: _angular_core.Signal<string | null>;
|
|
32
40
|
private readonly tpl;
|
|
33
41
|
private overlayRef;
|
|
34
42
|
private focusTrap;
|
|
@@ -42,9 +50,17 @@ declare class SheetComponent {
|
|
|
42
50
|
private attach;
|
|
43
51
|
private detach;
|
|
44
52
|
close(): void;
|
|
53
|
+
/** Called by a projected `SheetTitle` so default usage has an accessible name (AXE-safe). */
|
|
54
|
+
registerTitleId(id: string | null): void;
|
|
55
|
+
/** Cleared by a `SheetTitle` on destroy so a closed/reopened sheet never points at a stale id. */
|
|
56
|
+
unregisterTitleId(id: string): void;
|
|
57
|
+
/** Called by a projected `SheetDescription`. */
|
|
58
|
+
registerDescriptionId(id: string | null): void;
|
|
59
|
+
/** Cleared by a `SheetDescription` on destroy. */
|
|
60
|
+
unregisterDescriptionId(id: string): void;
|
|
45
61
|
private isDrawerHost;
|
|
46
62
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SheetComponent, never>;
|
|
47
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SheetComponent, "Sheet, Drawer", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "closeButtonLabel": { "alias": "closeButtonLabel"; "required": false; "isSignal": true; }; "labelledBy": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "describedBy": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "openedChange": "openedChange"; }, never, ["*"], true, never>;
|
|
63
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SheetComponent, "Sheet, Drawer", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "closeButtonLabel": { "alias": "closeButtonLabel"; "required": false; "isSignal": true; }; "labelledBy": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "describedBy": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "openedChange": "openedChange"; }, never, ["*"], true, never>;
|
|
48
64
|
}
|
|
49
65
|
|
|
50
66
|
declare class SheetHeaderComponent {
|
|
@@ -54,16 +70,30 @@ declare class SheetHeaderComponent {
|
|
|
54
70
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SheetHeaderComponent, "SheetHeader, DrawerHeader", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
55
71
|
}
|
|
56
72
|
declare class SheetTitleComponent {
|
|
73
|
+
/** Explicit id override; when omitted a document-unique id is generated. */
|
|
74
|
+
readonly id: _angular_core.InputSignal<string | null>;
|
|
57
75
|
readonly class: _angular_core.InputSignal<string>;
|
|
76
|
+
private readonly autoId;
|
|
77
|
+
private readonly sheet;
|
|
78
|
+
/** The id rendered on the element, used by the parent sheet for aria-labelledby. */
|
|
79
|
+
readonly resolvedId: _angular_core.Signal<string>;
|
|
58
80
|
protected readonly classes: _angular_core.Signal<string>;
|
|
81
|
+
constructor();
|
|
59
82
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SheetTitleComponent, never>;
|
|
60
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SheetTitleComponent, "SheetTitle, DrawerTitle, h2[SheetTitle], h2[DrawerTitle]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
83
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SheetTitleComponent, "SheetTitle, DrawerTitle, h2[SheetTitle], h2[DrawerTitle]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
61
84
|
}
|
|
62
85
|
declare class SheetDescriptionComponent {
|
|
86
|
+
/** Explicit id override; when omitted a document-unique id is generated. */
|
|
87
|
+
readonly id: _angular_core.InputSignal<string | null>;
|
|
63
88
|
readonly class: _angular_core.InputSignal<string>;
|
|
89
|
+
private readonly autoId;
|
|
90
|
+
private readonly sheet;
|
|
91
|
+
/** The id rendered on the element, used by the parent sheet for aria-describedby. */
|
|
92
|
+
readonly resolvedId: _angular_core.Signal<string>;
|
|
64
93
|
protected readonly classes: _angular_core.Signal<string>;
|
|
94
|
+
constructor();
|
|
65
95
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SheetDescriptionComponent, never>;
|
|
66
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SheetDescriptionComponent, "SheetDescription, DrawerDescription, p[SheetDescription], p[DrawerDescription]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
96
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SheetDescriptionComponent, "SheetDescription, DrawerDescription, p[SheetDescription], p[DrawerDescription]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
67
97
|
}
|
|
68
98
|
declare class SheetContentComponent {
|
|
69
99
|
readonly class: _angular_core.InputSignal<string>;
|