@ojiepermana/angular-component 22.0.44 → 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.
Files changed (60) hide show
  1. package/fesm2022/ojiepermana-angular-component-accordion.mjs +9 -11
  2. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +93 -32
  3. package/fesm2022/ojiepermana-angular-component-alert.mjs +5 -9
  4. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +2 -3
  5. package/fesm2022/ojiepermana-angular-component-avatar.mjs +7 -13
  6. package/fesm2022/ojiepermana-angular-component-badge.mjs +2 -3
  7. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +16 -19
  8. package/fesm2022/ojiepermana-angular-component-button-group.mjs +4 -7
  9. package/fesm2022/ojiepermana-angular-component-button.mjs +2 -3
  10. package/fesm2022/ojiepermana-angular-component-calendar.mjs +7 -5
  11. package/fesm2022/ojiepermana-angular-component-card.mjs +8 -15
  12. package/fesm2022/ojiepermana-angular-component-carousel.mjs +15 -18
  13. package/fesm2022/ojiepermana-angular-component-checkbox.mjs +40 -11
  14. package/fesm2022/ojiepermana-angular-component-collapsible.mjs +8 -6
  15. package/fesm2022/ojiepermana-angular-component-combobox.mjs +28 -15
  16. package/fesm2022/ojiepermana-angular-component-command.mjs +9 -17
  17. package/fesm2022/ojiepermana-angular-component-composer.mjs +15 -18
  18. package/fesm2022/ojiepermana-angular-component-date-picker.mjs +36 -11
  19. package/fesm2022/ojiepermana-angular-component-dialog.mjs +85 -30
  20. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +31 -26
  21. package/fesm2022/ojiepermana-angular-component-editor.mjs +37 -28
  22. package/fesm2022/ojiepermana-angular-component-empty.mjs +7 -13
  23. package/fesm2022/ojiepermana-angular-component-form.mjs +14 -22
  24. package/fesm2022/ojiepermana-angular-component-hover-card.mjs +2 -3
  25. package/fesm2022/ojiepermana-angular-component-icon.mjs +51 -6
  26. package/fesm2022/ojiepermana-angular-component-input-group.mjs +17 -15
  27. package/fesm2022/ojiepermana-angular-component-input-otp.mjs +15 -14
  28. package/fesm2022/ojiepermana-angular-component-input.mjs +2 -3
  29. package/fesm2022/ojiepermana-angular-component-item.mjs +11 -21
  30. package/fesm2022/ojiepermana-angular-component-kanban.mjs +27 -26
  31. package/fesm2022/ojiepermana-angular-component-kbd.mjs +3 -5
  32. package/fesm2022/ojiepermana-angular-component-label.mjs +2 -3
  33. package/fesm2022/ojiepermana-angular-component-menubar.mjs +6 -6
  34. package/fesm2022/ojiepermana-angular-component-native-select.mjs +3 -3
  35. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +25 -12
  36. package/fesm2022/ojiepermana-angular-component-pagination.mjs +22 -13
  37. package/fesm2022/ojiepermana-angular-component-pillbox.mjs +64 -36
  38. package/fesm2022/ojiepermana-angular-component-progress.mjs +7 -5
  39. package/fesm2022/ojiepermana-angular-component-radio.mjs +12 -8
  40. package/fesm2022/ojiepermana-angular-component-resizable.mjs +22 -11
  41. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +8 -6
  42. package/fesm2022/ojiepermana-angular-component-select.mjs +29 -17
  43. package/fesm2022/ojiepermana-angular-component-separator.mjs +2 -3
  44. package/fesm2022/ojiepermana-angular-component-sheet.mjs +86 -30
  45. package/fesm2022/ojiepermana-angular-component-skeleton.mjs +2 -3
  46. package/fesm2022/ojiepermana-angular-component-slider.mjs +25 -13
  47. package/fesm2022/ojiepermana-angular-component-spinner.mjs +6 -5
  48. package/fesm2022/ojiepermana-angular-component-switch.mjs +17 -8
  49. package/fesm2022/ojiepermana-angular-component-table.mjs +9 -17
  50. package/fesm2022/ojiepermana-angular-component-tabs.mjs +5 -9
  51. package/fesm2022/ojiepermana-angular-component-textarea.mjs +2 -3
  52. package/fesm2022/ojiepermana-angular-component-timeline.mjs +16 -16
  53. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +10 -5
  54. package/fesm2022/ojiepermana-angular-component-toggle.mjs +2 -3
  55. package/fesm2022/ojiepermana-angular-component-tooltip.mjs +7 -6
  56. package/package.json +10 -1
  57. package/types/ojiepermana-angular-component-alert-dialog.d.ts +42 -3
  58. package/types/ojiepermana-angular-component-dialog.d.ts +33 -3
  59. package/types/ojiepermana-angular-component-icon.d.ts +48 -1
  60. 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, computed, forwardRef, ChangeDetectionStrategy, Component, inject } from '@angular/core';
2
+ import { Directive, input, model, computed, forwardRef, Component, inject } from '@angular/core';
3
3
  import { cn, radiusBaseValue, densityBaseValue, uniqueId } from '@ojiepermana/angular-component/utils';
4
4
 
5
5
  class AccordionContextBase {
@@ -58,13 +58,12 @@ class AccordionComponent extends AccordionContextBase {
58
58
  }
59
59
  }
60
60
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AccordionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
61
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AccordionComponent, isStandalone: true, selector: "Accordion", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, 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: { value: "valueChange" }, host: { properties: { "class": "classes()", "style.--radius-base": "radiusBase()", "style.--spacing-base": "densityBase()" } }, providers: [{ provide: AccordionContextBase, useExisting: forwardRef(() => AccordionComponent) }], usesInheritance: true, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
61
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AccordionComponent, isStandalone: true, selector: "Accordion", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, 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: { value: "valueChange" }, host: { properties: { "class": "classes()", "style.--radius-base": "radiusBase()", "style.--spacing-base": "densityBase()" } }, providers: [{ provide: AccordionContextBase, useExisting: forwardRef(() => AccordionComponent) }], usesInheritance: true, ngImport: i0, template: `<ng-content />`, isInline: true });
62
62
  }
63
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AccordionComponent, decorators: [{
64
64
  type: Component,
65
65
  args: [{
66
66
  selector: 'Accordion',
67
- changeDetection: ChangeDetectionStrategy.OnPush,
68
67
  providers: [{ provide: AccordionContextBase, useExisting: forwardRef(() => AccordionComponent) }],
69
68
  host: {
70
69
  '[class]': 'classes()',
@@ -93,13 +92,12 @@ class AccordionItemComponent {
93
92
  this.ctx.toggle(this.value());
94
93
  }
95
94
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AccordionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
96
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AccordionItemComponent, isStandalone: true, selector: "AccordionItem", 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: { properties: { "class": "classes()", "attr.data-state": "open() ? \"open\" : \"closed\"", "attr.data-disabled": "disabled() ? \"\" : null" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
95
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AccordionItemComponent, isStandalone: true, selector: "AccordionItem", 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: { properties: { "class": "classes()", "attr.data-state": "open() ? \"open\" : \"closed\"", "attr.data-disabled": "disabled() ? \"\" : null" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
97
96
  }
98
97
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AccordionItemComponent, decorators: [{
99
98
  type: Component,
100
99
  args: [{
101
100
  selector: 'AccordionItem',
102
- changeDetection: ChangeDetectionStrategy.OnPush,
103
101
  host: {
104
102
  '[class]': 'classes()',
105
103
  '[attr.data-state]': 'open() ? "open" : "closed"',
@@ -126,16 +124,16 @@ class AccordionTriggerComponent {
126
124
  stroke="currentColor"
127
125
  stroke-width="2"
128
126
  stroke-linecap="round"
129
- stroke-linejoin="round">
127
+ stroke-linejoin="round"
128
+ >
130
129
  <polyline points="6 9 12 15 18 9" />
131
130
  </svg>
132
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
131
+ `, isInline: true });
133
132
  }
134
133
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AccordionTriggerComponent, decorators: [{
135
134
  type: Component,
136
135
  args: [{
137
136
  selector: 'button[AccordionTrigger]',
138
- changeDetection: ChangeDetectionStrategy.OnPush,
139
137
  host: {
140
138
  '[class]': 'classes()',
141
139
  type: 'button',
@@ -157,7 +155,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
157
155
  stroke="currentColor"
158
156
  stroke-width="2"
159
157
  stroke-linecap="round"
160
- stroke-linejoin="round">
158
+ stroke-linejoin="round"
159
+ >
161
160
  <polyline points="6 9 12 15 18 9" />
162
161
  </svg>
163
162
  `,
@@ -170,13 +169,12 @@ class AccordionContentComponent {
170
169
  classes = computed(() => cn('block overflow-hidden text-sm', this.class()), /* @ts-ignore */
171
170
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
172
171
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AccordionContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
173
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AccordionContentComponent, isStandalone: true, selector: "AccordionContent", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.id": "item.contentId", "attr.role": "\"region\"", "attr.aria-labelledby": "item.triggerId", "attr.data-state": "item.open() ? \"open\" : \"closed\"", "hidden": "!item.open()" } }, ngImport: i0, template: `<div class="pb-4 pt-0 text-sm"><ng-content /></div>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
172
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AccordionContentComponent, isStandalone: true, selector: "AccordionContent", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.id": "item.contentId", "attr.role": "\"region\"", "attr.aria-labelledby": "item.triggerId", "attr.data-state": "item.open() ? \"open\" : \"closed\"", "hidden": "!item.open()" } }, ngImport: i0, template: `<div class="pb-4 pt-0 text-sm"><ng-content /></div>`, isInline: true });
174
173
  }
175
174
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AccordionContentComponent, decorators: [{
176
175
  type: Component,
177
176
  args: [{
178
177
  selector: 'AccordionContent',
179
- changeDetection: ChangeDetectionStrategy.OnPush,
180
178
  host: {
181
179
  '[class]': 'classes()',
182
180
  '[attr.id]': 'item.contentId',
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { model, input, output, signal, computed, ChangeDetectionStrategy, Component, inject, effect, ElementRef } from '@angular/core';
3
- import { cn } from '@ojiepermana/angular-component/utils';
2
+ import { model, input, output, signal, computed, Component, inject, effect, DestroyRef, ElementRef } from '@angular/core';
3
+ import { cn, uniqueId } from '@ojiepermana/angular-component/utils';
4
4
  import { DialogComponent } from '@ojiepermana/angular-component/dialog';
5
5
  import { buttonVariants } from '@ojiepermana/angular-component/button';
6
6
 
@@ -8,6 +8,15 @@ const ALERT_DIALOG_SIZE_CLASSES = {
8
8
  default: 'sm:max-w-lg',
9
9
  sm: 'sm:max-w-sm',
10
10
  };
11
+ /**
12
+ * Confirmation dialog with `role="alertdialog"`.
13
+ *
14
+ * For the accessible name/description to wire up automatically, project the
15
+ * matching `AlertDialogTitle` / `AlertDialogDescription` parts (they register
16
+ * their ids with this component). Plain `DialogTitle` / `DialogDescription` will
17
+ * not auto-wire here — pass `aria-labelledby` / `aria-describedby` explicitly if
18
+ * you use custom markup.
19
+ */
11
20
  class AlertDialogComponent {
12
21
  open = model(false, /* @ts-ignore */
13
22
  ...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
@@ -21,6 +30,9 @@ class AlertDialogComponent {
21
30
  ...(ngDevMode ? [{ debugName: "closeButtonLabel" }] : /* istanbul ignore next */ []));
22
31
  labelledBy = input(null, { ...(ngDevMode ? { debugName: "labelledBy" } : /* istanbul ignore next */ {}), alias: 'aria-labelledby' });
23
32
  describedBy = input(null, { ...(ngDevMode ? { debugName: "describedBy" } : /* istanbul ignore next */ {}), alias: 'aria-describedby' });
33
+ /** ARIA role passed to the underlying dialog surface. `'alertdialog'` by default. */
34
+ role = input('alertdialog', /* @ts-ignore */
35
+ ...(ngDevMode ? [{ debugName: "role" }] : /* istanbul ignore next */ []));
24
36
  class = input('', /* @ts-ignore */
25
37
  ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
26
38
  radius = input('inherit', /* @ts-ignore */
@@ -30,58 +42,91 @@ class AlertDialogComponent {
30
42
  openedChange = output();
31
43
  contentSize = signal('default', /* @ts-ignore */
32
44
  ...(ngDevMode ? [{ debugName: "contentSize" }] : /* istanbul ignore next */ []));
45
+ registeredTitleId = signal(null, /* @ts-ignore */
46
+ ...(ngDevMode ? [{ debugName: "registeredTitleId" }] : /* istanbul ignore next */ []));
47
+ registeredDescriptionId = signal(null, /* @ts-ignore */
48
+ ...(ngDevMode ? [{ debugName: "registeredDescriptionId" }] : /* istanbul ignore next */ []));
33
49
  resolvedSize = computed(() => this.contentSize(), /* @ts-ignore */
34
50
  ...(ngDevMode ? [{ debugName: "resolvedSize" }] : /* istanbul ignore next */ []));
35
51
  surfaceClasses = computed(() => cn(ALERT_DIALOG_SIZE_CLASSES[this.resolvedSize()], this.class()), /* @ts-ignore */
36
52
  ...(ngDevMode ? [{ debugName: "surfaceClasses" }] : /* istanbul ignore next */ []));
53
+ /** Explicit `aria-labelledby` wins; otherwise a projected `AlertDialogTitle` supplies the id. */
54
+ resolvedLabelledBy = computed(() => this.labelledBy() ?? this.registeredTitleId(), /* @ts-ignore */
55
+ ...(ngDevMode ? [{ debugName: "resolvedLabelledBy" }] : /* istanbul ignore next */ []));
56
+ /** Explicit `aria-describedby` wins; otherwise a projected `AlertDialogDescription` supplies the id. */
57
+ resolvedDescribedBy = computed(() => this.describedBy() ?? this.registeredDescriptionId(), /* @ts-ignore */
58
+ ...(ngDevMode ? [{ debugName: "resolvedDescribedBy" }] : /* istanbul ignore next */ []));
37
59
  setContentSize(size) {
38
60
  this.contentSize.set(size);
39
61
  }
62
+ /** Called by a projected `AlertDialogTitle` so default usage has an accessible name (AXE-safe). */
63
+ registerTitleId(id) {
64
+ this.registeredTitleId.set(id);
65
+ }
66
+ /** Cleared by an `AlertDialogTitle` on destroy so a reopened alert never points at a stale id. */
67
+ unregisterTitleId(id) {
68
+ if (this.registeredTitleId() === id) {
69
+ this.registeredTitleId.set(null);
70
+ }
71
+ }
72
+ /** Called by a projected `AlertDialogDescription`. */
73
+ registerDescriptionId(id) {
74
+ this.registeredDescriptionId.set(id);
75
+ }
76
+ /** Cleared by an `AlertDialogDescription` on destroy. */
77
+ unregisterDescriptionId(id) {
78
+ if (this.registeredDescriptionId() === id) {
79
+ this.registeredDescriptionId.set(null);
80
+ }
81
+ }
40
82
  close() {
41
83
  this.open.set(false);
42
84
  }
43
85
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDialogComponent, isStandalone: true, selector: "AlertDialog", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, closeOnEscape: { classPropertyName: "closeOnEscape", publicName: "closeOnEscape", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdropClick: { classPropertyName: "closeOnBackdropClick", publicName: "closeOnBackdropClick", isSignal: true, isRequired: false, transformFunction: null }, showCloseButton: { classPropertyName: "showCloseButton", publicName: "showCloseButton", isSignal: true, isRequired: false, transformFunction: null }, closeButtonLabel: { classPropertyName: "closeButtonLabel", publicName: "closeButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, labelledBy: { classPropertyName: "labelledBy", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, describedBy: { classPropertyName: "describedBy", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, 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: { open: "openChange", openedChange: "openedChange" }, ngImport: i0, template: `
86
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDialogComponent, isStandalone: true, selector: "AlertDialog", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, closeOnEscape: { classPropertyName: "closeOnEscape", publicName: "closeOnEscape", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdropClick: { classPropertyName: "closeOnBackdropClick", publicName: "closeOnBackdropClick", isSignal: true, isRequired: false, transformFunction: null }, showCloseButton: { classPropertyName: "showCloseButton", publicName: "showCloseButton", isSignal: true, isRequired: false, transformFunction: null }, closeButtonLabel: { classPropertyName: "closeButtonLabel", publicName: "closeButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, labelledBy: { classPropertyName: "labelledBy", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, describedBy: { classPropertyName: "describedBy", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, 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: { open: "openChange", openedChange: "openedChange" }, ngImport: i0, template: `
45
87
  <Dialog
46
88
  [(open)]="open"
89
+ [role]="role()"
47
90
  [closeOnEscape]="closeOnEscape()"
48
91
  [closeOnBackdropClick]="closeOnBackdropClick()"
49
92
  [showCloseButton]="showCloseButton()"
50
93
  [closeButtonLabel]="closeButtonLabel()"
51
- [aria-labelledby]="labelledBy()"
52
- [aria-describedby]="describedBy()"
94
+ [aria-labelledby]="resolvedLabelledBy()"
95
+ [aria-describedby]="resolvedDescribedBy()"
53
96
  [class]="surfaceClasses()"
54
97
  [radius]="radius()"
55
98
  [density]="density()"
56
- (openedChange)="openedChange.emit($event)">
99
+ (openedChange)="openedChange.emit($event)"
100
+ >
57
101
  <ng-content />
58
102
  </Dialog>
59
- `, isInline: true, dependencies: [{ kind: "component", type: DialogComponent, selector: "Dialog", inputs: ["open", "closeOnEscape", "closeOnBackdropClick", "showCloseButton", "closeButtonLabel", "aria-labelledby", "aria-describedby", "class", "radius", "density"], outputs: ["openChange", "openedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
103
+ `, isInline: true, dependencies: [{ kind: "component", type: DialogComponent, selector: "Dialog", inputs: ["open", "closeOnEscape", "closeOnBackdropClick", "showCloseButton", "closeButtonLabel", "aria-labelledby", "aria-describedby", "role", "class", "radius", "density"], outputs: ["openChange", "openedChange"] }] });
60
104
  }
61
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDialogComponent, decorators: [{
62
106
  type: Component,
63
107
  args: [{
64
108
  selector: 'AlertDialog',
65
- changeDetection: ChangeDetectionStrategy.OnPush,
66
109
  imports: [DialogComponent],
67
110
  template: `
68
111
  <Dialog
69
112
  [(open)]="open"
113
+ [role]="role()"
70
114
  [closeOnEscape]="closeOnEscape()"
71
115
  [closeOnBackdropClick]="closeOnBackdropClick()"
72
116
  [showCloseButton]="showCloseButton()"
73
117
  [closeButtonLabel]="closeButtonLabel()"
74
- [aria-labelledby]="labelledBy()"
75
- [aria-describedby]="describedBy()"
118
+ [aria-labelledby]="resolvedLabelledBy()"
119
+ [aria-describedby]="resolvedDescribedBy()"
76
120
  [class]="surfaceClasses()"
77
121
  [radius]="radius()"
78
122
  [density]="density()"
79
- (openedChange)="openedChange.emit($event)">
123
+ (openedChange)="openedChange.emit($event)"
124
+ >
80
125
  <ng-content />
81
126
  </Dialog>
82
127
  `,
83
128
  }]
84
- }], propDecorators: { open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }, { type: i0.Output, args: ["openChange"] }], closeOnEscape: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnEscape", required: false }] }], closeOnBackdropClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnBackdropClick", required: false }] }], showCloseButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCloseButton", required: false }] }], closeButtonLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeButtonLabel", required: false }] }], labelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], describedBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-describedby", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], radius: [{ type: i0.Input, args: [{ isSignal: true, alias: "radius", required: false }] }], density: [{ type: i0.Input, args: [{ isSignal: true, alias: "density", required: false }] }], openedChange: [{ type: i0.Output, args: ["openedChange"] }] } });
129
+ }], propDecorators: { open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }, { type: i0.Output, args: ["openChange"] }], closeOnEscape: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnEscape", required: false }] }], closeOnBackdropClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnBackdropClick", required: false }] }], showCloseButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCloseButton", required: false }] }], closeButtonLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeButtonLabel", required: false }] }], labelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], describedBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-describedby", required: false }] }], role: [{ type: i0.Input, args: [{ isSignal: true, alias: "role", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], radius: [{ type: i0.Input, args: [{ isSignal: true, alias: "radius", required: false }] }], density: [{ type: i0.Input, args: [{ isSignal: true, alias: "density", required: false }] }], openedChange: [{ type: i0.Output, args: ["openedChange"] }] } });
85
130
 
86
131
  const ALERT_DIALOG_MEDIA_SIZE_CLASSES = {
87
132
  default: 'h-12 w-12 [&_svg]:h-5 [&_svg]:w-5',
@@ -99,13 +144,12 @@ class AlertDialogContentComponent {
99
144
  effect(() => this.alertDialog?.setContentSize(this.size()));
100
145
  }
101
146
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDialogContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
102
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDialogContentComponent, isStandalone: true, selector: "AlertDialogContent", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-size": "size()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
147
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDialogContentComponent, isStandalone: true, selector: "AlertDialogContent", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-size": "size()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
103
148
  }
104
149
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDialogContentComponent, decorators: [{
105
150
  type: Component,
106
151
  args: [{
107
152
  selector: 'AlertDialogContent',
108
- changeDetection: ChangeDetectionStrategy.OnPush,
109
153
  host: {
110
154
  '[class]': 'classes()',
111
155
  '[attr.data-size]': 'size()',
@@ -119,51 +163,72 @@ class AlertDialogHeaderComponent {
119
163
  classes = computed(() => cn('flex flex-col gap-2 text-center sm:text-left', this.class()), /* @ts-ignore */
120
164
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
121
165
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDialogHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
122
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDialogHeaderComponent, isStandalone: true, selector: "AlertDialogHeader", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
166
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDialogHeaderComponent, isStandalone: true, selector: "AlertDialogHeader", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
123
167
  }
124
168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDialogHeaderComponent, decorators: [{
125
169
  type: Component,
126
170
  args: [{
127
171
  selector: 'AlertDialogHeader',
128
- changeDetection: ChangeDetectionStrategy.OnPush,
129
172
  host: { '[class]': 'classes()' },
130
173
  template: `<ng-content />`,
131
174
  }]
132
175
  }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
133
176
  class AlertDialogTitleComponent {
177
+ /** Explicit id override; when omitted a document-unique id is generated. */
178
+ id = input(null, /* @ts-ignore */
179
+ ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
134
180
  class = input('', /* @ts-ignore */
135
181
  ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
182
+ autoId = uniqueId('alert-dialog-title');
183
+ alertDialog = inject(AlertDialogComponent, { optional: true });
184
+ /** The id rendered on the element, used by the parent alert dialog for aria-labelledby. */
185
+ resolvedId = computed(() => this.id() ?? this.autoId, /* @ts-ignore */
186
+ ...(ngDevMode ? [{ debugName: "resolvedId" }] : /* istanbul ignore next */ []));
136
187
  classes = computed(() => cn('text-lg font-semibold leading-none tracking-tight', this.class()), /* @ts-ignore */
137
188
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
189
+ constructor() {
190
+ effect(() => this.alertDialog?.registerTitleId(this.resolvedId()));
191
+ inject(DestroyRef).onDestroy(() => this.alertDialog?.unregisterTitleId(this.resolvedId()));
192
+ }
138
193
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDialogTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
139
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDialogTitleComponent, isStandalone: true, selector: "AlertDialogTitle, h2[AlertDialogTitle]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
194
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDialogTitleComponent, isStandalone: true, selector: "AlertDialogTitle, h2[AlertDialogTitle]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.id": "resolvedId()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
140
195
  }
141
196
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDialogTitleComponent, decorators: [{
142
197
  type: Component,
143
198
  args: [{
144
199
  selector: 'AlertDialogTitle, h2[AlertDialogTitle]',
145
- changeDetection: ChangeDetectionStrategy.OnPush,
146
- host: { '[class]': 'classes()' },
200
+ host: { '[class]': 'classes()', '[attr.id]': 'resolvedId()' },
147
201
  template: `<ng-content />`,
148
202
  }]
149
- }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
203
+ }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
150
204
  class AlertDialogDescriptionComponent {
205
+ /** Explicit id override; when omitted a document-unique id is generated. */
206
+ id = input(null, /* @ts-ignore */
207
+ ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
151
208
  class = input('', /* @ts-ignore */
152
209
  ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
210
+ autoId = uniqueId('alert-dialog-description');
211
+ alertDialog = inject(AlertDialogComponent, { optional: true });
212
+ /** The id rendered on the element, used by the parent alert dialog for aria-describedby. */
213
+ resolvedId = computed(() => this.id() ?? this.autoId, /* @ts-ignore */
214
+ ...(ngDevMode ? [{ debugName: "resolvedId" }] : /* istanbul ignore next */ []));
153
215
  classes = computed(() => cn('text-sm leading-6 text-muted-foreground', this.class()), /* @ts-ignore */
154
216
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
217
+ constructor() {
218
+ effect(() => this.alertDialog?.registerDescriptionId(this.resolvedId()));
219
+ inject(DestroyRef).onDestroy(() => this.alertDialog?.unregisterDescriptionId(this.resolvedId()));
220
+ }
155
221
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDialogDescriptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
156
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDialogDescriptionComponent, isStandalone: true, selector: "AlertDialogDescription, p[AlertDialogDescription]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
222
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDialogDescriptionComponent, isStandalone: true, selector: "AlertDialogDescription, p[AlertDialogDescription]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.id": "resolvedId()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
157
223
  }
158
224
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDialogDescriptionComponent, decorators: [{
159
225
  type: Component,
160
226
  args: [{
161
227
  selector: 'AlertDialogDescription, p[AlertDialogDescription]',
162
- changeDetection: ChangeDetectionStrategy.OnPush,
163
- host: { '[class]': 'classes()' },
228
+ host: { '[class]': 'classes()', '[attr.id]': 'resolvedId()' },
164
229
  template: `<ng-content />`,
165
230
  }]
166
- }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
231
+ }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
167
232
  class AlertDialogMediaComponent {
168
233
  class = input('', /* @ts-ignore */
169
234
  ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
@@ -171,13 +236,12 @@ class AlertDialogMediaComponent {
171
236
  classes = computed(() => cn('mx-auto flex shrink-0 items-center justify-center rounded-full border border-border bg-muted/60 text-foreground sm:mx-0', ALERT_DIALOG_MEDIA_SIZE_CLASSES[this.alertDialog?.resolvedSize() ?? 'default'], this.class()), /* @ts-ignore */
172
237
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
173
238
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDialogMediaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
174
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDialogMediaComponent, isStandalone: true, selector: "AlertDialogMedia", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
239
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDialogMediaComponent, isStandalone: true, selector: "AlertDialogMedia", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
175
240
  }
176
241
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDialogMediaComponent, decorators: [{
177
242
  type: Component,
178
243
  args: [{
179
244
  selector: 'AlertDialogMedia',
180
- changeDetection: ChangeDetectionStrategy.OnPush,
181
245
  host: { '[class]': 'classes()' },
182
246
  template: `<ng-content />`,
183
247
  }]
@@ -188,13 +252,12 @@ class AlertDialogFooterComponent {
188
252
  classes = computed(() => cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end sm:gap-2', this.class()), /* @ts-ignore */
189
253
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
190
254
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDialogFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
191
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDialogFooterComponent, isStandalone: true, selector: "AlertDialogFooter", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
255
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDialogFooterComponent, isStandalone: true, selector: "AlertDialogFooter", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
192
256
  }
193
257
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDialogFooterComponent, decorators: [{
194
258
  type: Component,
195
259
  args: [{
196
260
  selector: 'AlertDialogFooter',
197
- changeDetection: ChangeDetectionStrategy.OnPush,
198
261
  host: { '[class]': 'classes()' },
199
262
  template: `<ng-content />`,
200
263
  }]
@@ -220,13 +283,12 @@ class AlertDialogCancelComponent {
220
283
  }
221
284
  }
222
285
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDialogCancelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
223
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDialogCancelComponent, isStandalone: true, selector: "button[AlertDialogCancel], a[AlertDialogCancel]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, closeOnClick: { classPropertyName: "closeOnClick", publicName: "closeOnClick", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "handleClick()" }, properties: { "class": "classes()", "attr.data-size": "size()", "attr.data-variant": "variant()", "attr.type": "buttonType()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
286
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDialogCancelComponent, isStandalone: true, selector: "button[AlertDialogCancel], a[AlertDialogCancel]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, closeOnClick: { classPropertyName: "closeOnClick", publicName: "closeOnClick", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "handleClick()" }, properties: { "class": "classes()", "attr.data-size": "size()", "attr.data-variant": "variant()", "attr.type": "buttonType()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
224
287
  }
225
288
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDialogCancelComponent, decorators: [{
226
289
  type: Component,
227
290
  args: [{
228
291
  selector: 'button[AlertDialogCancel], a[AlertDialogCancel]',
229
- changeDetection: ChangeDetectionStrategy.OnPush,
230
292
  host: {
231
293
  '[class]': 'classes()',
232
294
  '[attr.data-size]': 'size()',
@@ -258,13 +320,12 @@ class AlertDialogActionComponent {
258
320
  }
259
321
  }
260
322
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDialogActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
261
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDialogActionComponent, isStandalone: true, selector: "button[AlertDialogAction], a[AlertDialogAction]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, closeOnClick: { classPropertyName: "closeOnClick", publicName: "closeOnClick", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "handleClick()" }, properties: { "class": "classes()", "attr.data-size": "size()", "attr.data-variant": "variant()", "attr.type": "buttonType()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
323
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDialogActionComponent, isStandalone: true, selector: "button[AlertDialogAction], a[AlertDialogAction]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, closeOnClick: { classPropertyName: "closeOnClick", publicName: "closeOnClick", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "handleClick()" }, properties: { "class": "classes()", "attr.data-size": "size()", "attr.data-variant": "variant()", "attr.type": "buttonType()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
262
324
  }
263
325
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDialogActionComponent, decorators: [{
264
326
  type: Component,
265
327
  args: [{
266
328
  selector: 'button[AlertDialogAction], a[AlertDialogAction]',
267
- changeDetection: ChangeDetectionStrategy.OnPush,
268
329
  host: {
269
330
  '[class]': 'classes()',
270
331
  '[attr.data-size]': 'size()',
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { input, computed, Component } from '@angular/core';
3
3
  import { cn, radiusBaseValue, densityBaseValue } from '@ojiepermana/angular-component/utils';
4
4
  import { cva } from 'class-variance-authority';
5
5
 
@@ -33,13 +33,12 @@ class AlertComponent {
33
33
  densityBase = computed(() => densityBaseValue(this.density()), /* @ts-ignore */
34
34
  ...(ngDevMode ? [{ debugName: "densityBase" }] : /* istanbul ignore next */ []));
35
35
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertComponent, isStandalone: true, selector: "Alert", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, 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 } }, host: { properties: { "class": "classes()", "attr.role": "\"alert\"", "style.--radius-base": "radiusBase()", "style.--spacing-base": "densityBase()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertComponent, isStandalone: true, selector: "Alert", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, 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 } }, host: { properties: { "class": "classes()", "attr.role": "\"alert\"", "style.--radius-base": "radiusBase()", "style.--spacing-base": "densityBase()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
37
37
  }
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertComponent, decorators: [{
39
39
  type: Component,
40
40
  args: [{
41
41
  selector: 'Alert',
42
- changeDetection: ChangeDetectionStrategy.OnPush,
43
42
  host: {
44
43
  '[class]': 'classes()',
45
44
  '[attr.role]': '"alert"',
@@ -55,13 +54,12 @@ class AlertTitleComponent {
55
54
  classes = computed(() => cn('mb-1 block font-medium leading-none tracking-tight', this.class()), /* @ts-ignore */
56
55
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
57
56
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
58
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertTitleComponent, isStandalone: true, selector: "AlertTitle, h5[AlertTitle]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
57
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertTitleComponent, isStandalone: true, selector: "AlertTitle, h5[AlertTitle]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
59
58
  }
60
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertTitleComponent, decorators: [{
61
60
  type: Component,
62
61
  args: [{
63
62
  selector: 'AlertTitle, h5[AlertTitle]',
64
- changeDetection: ChangeDetectionStrategy.OnPush,
65
63
  host: { '[class]': 'classes()' },
66
64
  template: `<ng-content />`,
67
65
  }]
@@ -72,13 +70,12 @@ class AlertDescriptionComponent {
72
70
  classes = computed(() => cn('block text-sm [&_p]:leading-relaxed', this.class()), /* @ts-ignore */
73
71
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
74
72
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDescriptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
75
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDescriptionComponent, isStandalone: true, selector: "AlertDescription", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertDescriptionComponent, isStandalone: true, selector: "AlertDescription", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
76
74
  }
77
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertDescriptionComponent, decorators: [{
78
76
  type: Component,
79
77
  args: [{
80
78
  selector: 'AlertDescription',
81
- changeDetection: ChangeDetectionStrategy.OnPush,
82
79
  host: { '[class]': 'classes()' },
83
80
  template: `<ng-content />`,
84
81
  }]
@@ -89,13 +86,12 @@ class AlertActionComponent {
89
86
  classes = computed(() => cn('mt-3 flex items-center justify-end sm:absolute sm:right-4 sm:top-4 sm:mt-0', this.class()), /* @ts-ignore */
90
87
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
91
88
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
92
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertActionComponent, isStandalone: true, selector: "AlertAction", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
89
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AlertActionComponent, isStandalone: true, selector: "AlertAction", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
93
90
  }
94
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AlertActionComponent, decorators: [{
95
92
  type: Component,
96
93
  args: [{
97
94
  selector: 'AlertAction',
98
- changeDetection: ChangeDetectionStrategy.OnPush,
99
95
  host: { '[class]': 'classes()' },
100
96
  template: `<ng-content />`,
101
97
  }]
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { input, computed, Component } from '@angular/core';
3
3
  import { cn } from '@ojiepermana/angular-component/utils';
4
4
 
5
5
  class AspectRatioComponent {
@@ -15,13 +15,12 @@ class AspectRatioComponent {
15
15
  }, /* @ts-ignore */
16
16
  ...(ngDevMode ? [{ debugName: "paddingBottom" }] : /* istanbul ignore next */ []));
17
17
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AspectRatioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AspectRatioComponent, isStandalone: true, selector: "AspectRatio", inputs: { ratio: { classPropertyName: "ratio", publicName: "ratio", isSignal: true, isRequired: true, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: '<div [style.padding-bottom]="paddingBottom()" class="block w-full"></div><div class="absolute inset-0"><ng-content /></div>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
18
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: AspectRatioComponent, isStandalone: true, selector: "AspectRatio", inputs: { ratio: { classPropertyName: "ratio", publicName: "ratio", isSignal: true, isRequired: true, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: '<div [style.padding-bottom]="paddingBottom()" class="block w-full"></div><div class="absolute inset-0"><ng-content /></div>', isInline: true });
19
19
  }
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AspectRatioComponent, decorators: [{
21
21
  type: Component,
22
22
  args: [{
23
23
  selector: 'AspectRatio',
24
- changeDetection: ChangeDetectionStrategy.OnPush,
25
24
  host: {
26
25
  '[class]': 'classes()',
27
26
  },