@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.
Files changed (63) hide show
  1. package/fesm2022/ojiepermana-angular-component-accordion.mjs +21 -23
  2. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +111 -50
  3. package/fesm2022/ojiepermana-angular-component-alert.mjs +13 -17
  4. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +4 -5
  5. package/fesm2022/ojiepermana-angular-component-avatar.mjs +20 -26
  6. package/fesm2022/ojiepermana-angular-component-badge.mjs +4 -5
  7. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +32 -35
  8. package/fesm2022/ojiepermana-angular-component-button-group.mjs +10 -13
  9. package/fesm2022/ojiepermana-angular-component-button.mjs +4 -5
  10. package/fesm2022/ojiepermana-angular-component-calendar.mjs +10 -8
  11. package/fesm2022/ojiepermana-angular-component-card.mjs +22 -29
  12. package/fesm2022/ojiepermana-angular-component-carousel.mjs +31 -34
  13. package/fesm2022/ojiepermana-angular-component-checkbox.mjs +42 -13
  14. package/fesm2022/ojiepermana-angular-component-collapsible.mjs +19 -17
  15. package/fesm2022/ojiepermana-angular-component-combobox.mjs +30 -17
  16. package/fesm2022/ojiepermana-angular-component-command.mjs +29 -37
  17. package/fesm2022/ojiepermana-angular-component-composer.mjs +31 -34
  18. package/fesm2022/ojiepermana-angular-component-context-menu.mjs +3 -3
  19. package/fesm2022/ojiepermana-angular-component-date-picker.mjs +39 -14
  20. package/fesm2022/ojiepermana-angular-component-dialog.mjs +100 -45
  21. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +61 -56
  22. package/fesm2022/ojiepermana-angular-component-editor.mjs +52 -43
  23. package/fesm2022/ojiepermana-angular-component-empty.mjs +19 -25
  24. package/fesm2022/ojiepermana-angular-component-form.mjs +41 -49
  25. package/fesm2022/ojiepermana-angular-component-hover-card.mjs +10 -11
  26. package/fesm2022/ojiepermana-angular-component-icon.mjs +56 -11
  27. package/fesm2022/ojiepermana-angular-component-input-group.mjs +29 -27
  28. package/fesm2022/ojiepermana-angular-component-input-otp.mjs +29 -28
  29. package/fesm2022/ojiepermana-angular-component-input.mjs +4 -5
  30. package/fesm2022/ojiepermana-angular-component-item.mjs +31 -41
  31. package/fesm2022/ojiepermana-angular-component-kanban.mjs +47 -46
  32. package/fesm2022/ojiepermana-angular-component-kbd.mjs +7 -9
  33. package/fesm2022/ojiepermana-angular-component-label.mjs +4 -5
  34. package/fesm2022/ojiepermana-angular-component-menubar.mjs +16 -16
  35. package/fesm2022/ojiepermana-angular-component-native-select.mjs +11 -11
  36. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +41 -28
  37. package/fesm2022/ojiepermana-angular-component-pagination.mjs +25 -16
  38. package/fesm2022/ojiepermana-angular-component-pillbox.mjs +78 -50
  39. package/fesm2022/ojiepermana-angular-component-popover.mjs +6 -6
  40. package/fesm2022/ojiepermana-angular-component-progress.mjs +10 -8
  41. package/fesm2022/ojiepermana-angular-component-radio.mjs +17 -13
  42. package/fesm2022/ojiepermana-angular-component-resizable.mjs +32 -21
  43. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +11 -9
  44. package/fesm2022/ojiepermana-angular-component-select.mjs +35 -23
  45. package/fesm2022/ojiepermana-angular-component-separator.mjs +4 -5
  46. package/fesm2022/ojiepermana-angular-component-sheet.mjs +101 -45
  47. package/fesm2022/ojiepermana-angular-component-skeleton.mjs +4 -5
  48. package/fesm2022/ojiepermana-angular-component-slider.mjs +30 -18
  49. package/fesm2022/ojiepermana-angular-component-spinner.mjs +9 -8
  50. package/fesm2022/ojiepermana-angular-component-switch.mjs +19 -10
  51. package/fesm2022/ojiepermana-angular-component-table.mjs +26 -34
  52. package/fesm2022/ojiepermana-angular-component-tabs.mjs +20 -24
  53. package/fesm2022/ojiepermana-angular-component-textarea.mjs +4 -5
  54. package/fesm2022/ojiepermana-angular-component-timeline.mjs +28 -28
  55. package/fesm2022/ojiepermana-angular-component-toast.mjs +3 -3
  56. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +18 -13
  57. package/fesm2022/ojiepermana-angular-component-toggle.mjs +4 -5
  58. package/fesm2022/ojiepermana-angular-component-tooltip.mjs +20 -19
  59. package/package.json +10 -1
  60. package/types/ojiepermana-angular-component-alert-dialog.d.ts +42 -3
  61. package/types/ojiepermana-angular-component-dialog.d.ts +33 -3
  62. package/types/ojiepermana-angular-component-icon.d.ts +48 -1
  63. package/types/ojiepermana-angular-component-sheet.d.ts +33 -3
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, booleanAttribute, computed, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { input, booleanAttribute, computed, Component } from '@angular/core';
3
3
  import { cn } from '@ojiepermana/angular-component/utils';
4
4
 
5
5
  const kanbanColumnWidthClasses = {
@@ -13,16 +13,17 @@ class KanbanComponent {
13
13
  dense = input(false, { ...(ngDevMode ? { debugName: "dense" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
14
14
  class = input('', /* @ts-ignore */
15
15
  ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
16
- classes = computed(() => cn('flex w-full min-w-0 gap-[var(--kanban-column-gap)] overflow-x-auto pb-3 text-sm text-foreground', '[--kanban-card-gap:calc(var(--spacing)*3)] [--kanban-column-gap:calc(var(--spacing)*4)]', kanbanColumnWidthClasses[this.columnWidth()], this.dense() ? '[--kanban-card-gap:calc(var(--spacing)*2)] [--kanban-column-gap:calc(var(--spacing)*3)]' : '', this.class()), /* @ts-ignore */
16
+ classes = computed(() => cn('flex w-full min-w-0 gap-[var(--kanban-column-gap)] overflow-x-auto pb-3 text-sm text-foreground', '[--kanban-card-gap:calc(var(--spacing)*3)] [--kanban-column-gap:calc(var(--spacing)*4)]', kanbanColumnWidthClasses[this.columnWidth()], this.dense()
17
+ ? '[--kanban-card-gap:calc(var(--spacing)*2)] [--kanban-column-gap:calc(var(--spacing)*3)]'
18
+ : '', this.class()), /* @ts-ignore */
17
19
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
18
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KanbanComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.3", type: KanbanComponent, isStandalone: true, selector: "Kanban", inputs: { columnWidth: { classPropertyName: "columnWidth", publicName: "columnWidth", isSignal: true, isRequired: false, transformFunction: null }, dense: { classPropertyName: "dense", publicName: "dense", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kanban\"", "attr.data-column-width": "columnWidth()", "attr.data-dense": "dense() ? \"\" : null" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KanbanComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: KanbanComponent, isStandalone: true, selector: "Kanban", inputs: { columnWidth: { classPropertyName: "columnWidth", publicName: "columnWidth", isSignal: true, isRequired: false, transformFunction: null }, dense: { classPropertyName: "dense", publicName: "dense", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kanban\"", "attr.data-column-width": "columnWidth()", "attr.data-dense": "dense() ? \"\" : null" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
20
22
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KanbanComponent, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KanbanComponent, decorators: [{
22
24
  type: Component,
23
25
  args: [{
24
26
  selector: 'Kanban',
25
- changeDetection: ChangeDetectionStrategy.OnPush,
26
27
  host: {
27
28
  '[class]': 'classes()',
28
29
  '[attr.data-slot]': '"kanban"',
@@ -37,14 +38,13 @@ class KanbanColumnComponent {
37
38
  ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
38
39
  classes = computed(() => cn('flex max-h-full min-h-0 w-[var(--kanban-column-width)] shrink-0 flex-col overflow-hidden rounded-lg border border-border bg-muted/35 text-foreground shadow-sm', this.class()), /* @ts-ignore */
39
40
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
40
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KanbanColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.3", type: KanbanColumnComponent, isStandalone: true, selector: "KanbanColumn", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kanban-column\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KanbanColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: KanbanColumnComponent, isStandalone: true, selector: "KanbanColumn", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kanban-column\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
42
43
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KanbanColumnComponent, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KanbanColumnComponent, decorators: [{
44
45
  type: Component,
45
46
  args: [{
46
47
  selector: 'KanbanColumn',
47
- changeDetection: ChangeDetectionStrategy.OnPush,
48
48
  host: {
49
49
  '[class]': 'classes()',
50
50
  '[attr.data-slot]': '"kanban-column"',
@@ -70,8 +70,8 @@ class KanbanColumnHeaderComponent {
70
70
  ...(ngDevMode ? [{ debugName: "displayCount" }] : /* istanbul ignore next */ []));
71
71
  classes = computed(() => cn('flex items-start gap-3 border-b border-border/80 px-3 py-3', this.class()), /* @ts-ignore */
72
72
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
73
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KanbanColumnHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
74
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.3", type: KanbanColumnHeaderComponent, isStandalone: true, selector: "KanbanColumnHeader", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, subheading: { classPropertyName: "subheading", publicName: "subheading", isSignal: true, isRequired: false, transformFunction: null }, count: { classPropertyName: "count", publicName: "count", isSignal: true, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kanban-column-header\"" } }, ngImport: i0, template: `
73
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KanbanColumnHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
74
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: KanbanColumnHeaderComponent, isStandalone: true, selector: "KanbanColumnHeader", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, subheading: { classPropertyName: "subheading", publicName: "subheading", isSignal: true, isRequired: false, transformFunction: null }, count: { classPropertyName: "count", publicName: "count", isSignal: true, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kanban-column-header\"" } }, ngImport: i0, template: `
75
75
  <div class="order-2 inline-flex shrink-0 items-center gap-1">
76
76
  <ng-content select="KanbanColumnActions,[KanbanColumnActions]" />
77
77
  </div>
@@ -79,16 +79,20 @@ class KanbanColumnHeaderComponent {
79
79
  <div class="order-1 min-w-0 flex-1">
80
80
  @if (heading()) {
81
81
  <div class="flex min-w-0 items-center gap-2">
82
- <h3 class="truncate text-sm font-semibold leading-none text-foreground">{{ heading() }}</h3>
82
+ <h3 class="truncate text-sm font-semibold leading-none text-foreground">
83
+ {{ heading() }}
84
+ </h3>
83
85
  @if (displayCount() !== null) {
84
86
  <span
85
- class="inline-flex h-5 min-w-5 shrink-0 items-center justify-center rounded-full bg-muted px-1.5 text-xs font-medium text-muted-foreground">
87
+ class="inline-flex h-5 min-w-5 shrink-0 items-center justify-center rounded-full bg-muted px-1.5 text-xs font-medium text-muted-foreground"
88
+ >
86
89
  {{ displayCount() }}
87
90
  </span>
88
91
  }
89
92
  @if (badge()) {
90
93
  <span
91
- class="inline-flex shrink-0 items-center rounded-md border border-border bg-background px-1.5 py-0.5 text-xs font-medium text-muted-foreground">
94
+ class="inline-flex shrink-0 items-center rounded-md border border-border bg-background px-1.5 py-0.5 text-xs font-medium text-muted-foreground"
95
+ >
92
96
  {{ badge() }}
93
97
  </span>
94
98
  }
@@ -101,13 +105,12 @@ class KanbanColumnHeaderComponent {
101
105
 
102
106
  <ng-content />
103
107
  </div>
104
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
108
+ `, isInline: true });
105
109
  }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KanbanColumnHeaderComponent, decorators: [{
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KanbanColumnHeaderComponent, decorators: [{
107
111
  type: Component,
108
112
  args: [{
109
113
  selector: 'KanbanColumnHeader',
110
- changeDetection: ChangeDetectionStrategy.OnPush,
111
114
  host: {
112
115
  '[class]': 'classes()',
113
116
  '[attr.data-slot]': '"kanban-column-header"',
@@ -120,16 +123,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImpor
120
123
  <div class="order-1 min-w-0 flex-1">
121
124
  @if (heading()) {
122
125
  <div class="flex min-w-0 items-center gap-2">
123
- <h3 class="truncate text-sm font-semibold leading-none text-foreground">{{ heading() }}</h3>
126
+ <h3 class="truncate text-sm font-semibold leading-none text-foreground">
127
+ {{ heading() }}
128
+ </h3>
124
129
  @if (displayCount() !== null) {
125
130
  <span
126
- class="inline-flex h-5 min-w-5 shrink-0 items-center justify-center rounded-full bg-muted px-1.5 text-xs font-medium text-muted-foreground">
131
+ class="inline-flex h-5 min-w-5 shrink-0 items-center justify-center rounded-full bg-muted px-1.5 text-xs font-medium text-muted-foreground"
132
+ >
127
133
  {{ displayCount() }}
128
134
  </span>
129
135
  }
130
136
  @if (badge()) {
131
137
  <span
132
- class="inline-flex shrink-0 items-center rounded-md border border-border bg-background px-1.5 py-0.5 text-xs font-medium text-muted-foreground">
138
+ class="inline-flex shrink-0 items-center rounded-md border border-border bg-background px-1.5 py-0.5 text-xs font-medium text-muted-foreground"
139
+ >
133
140
  {{ badge() }}
134
141
  </span>
135
142
  }
@@ -150,14 +157,13 @@ class KanbanColumnActionsComponent {
150
157
  ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
151
158
  classes = computed(() => cn('inline-flex items-center gap-1', this.class()), /* @ts-ignore */
152
159
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
153
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KanbanColumnActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
154
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.3", type: KanbanColumnActionsComponent, isStandalone: true, selector: "KanbanColumnActions, [KanbanColumnActions]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kanban-column-actions\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
160
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KanbanColumnActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
161
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: KanbanColumnActionsComponent, isStandalone: true, selector: "KanbanColumnActions, [KanbanColumnActions]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kanban-column-actions\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
155
162
  }
156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KanbanColumnActionsComponent, decorators: [{
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KanbanColumnActionsComponent, decorators: [{
157
164
  type: Component,
158
165
  args: [{
159
166
  selector: 'KanbanColumnActions, [KanbanColumnActions]',
160
- changeDetection: ChangeDetectionStrategy.OnPush,
161
167
  host: {
162
168
  '[class]': 'classes()',
163
169
  '[attr.data-slot]': '"kanban-column-actions"',
@@ -170,14 +176,13 @@ class KanbanColumnCardsComponent {
170
176
  ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
171
177
  classes = computed(() => cn('flex min-h-0 flex-1 flex-col gap-[var(--kanban-card-gap)] overflow-y-auto p-2', this.class()), /* @ts-ignore */
172
178
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
173
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KanbanColumnCardsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
174
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.3", type: KanbanColumnCardsComponent, isStandalone: true, selector: "KanbanColumnCards", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kanban-column-cards\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
179
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KanbanColumnCardsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
180
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: KanbanColumnCardsComponent, isStandalone: true, selector: "KanbanColumnCards", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kanban-column-cards\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
175
181
  }
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KanbanColumnCardsComponent, decorators: [{
182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KanbanColumnCardsComponent, decorators: [{
177
183
  type: Component,
178
184
  args: [{
179
185
  selector: 'KanbanColumnCards',
180
- changeDetection: ChangeDetectionStrategy.OnPush,
181
186
  host: {
182
187
  '[class]': 'classes()',
183
188
  '[attr.data-slot]': '"kanban-column-cards"',
@@ -190,14 +195,13 @@ class KanbanColumnFooterComponent {
190
195
  ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
191
196
  classes = computed(() => cn('flex flex-col gap-2 border-t border-border/80 px-2 py-2', this.class()), /* @ts-ignore */
192
197
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
193
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KanbanColumnFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
194
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.3", type: KanbanColumnFooterComponent, isStandalone: true, selector: "KanbanColumnFooter", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kanban-column-footer\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
198
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KanbanColumnFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
199
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: KanbanColumnFooterComponent, isStandalone: true, selector: "KanbanColumnFooter", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kanban-column-footer\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
195
200
  }
196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KanbanColumnFooterComponent, decorators: [{
201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KanbanColumnFooterComponent, decorators: [{
197
202
  type: Component,
198
203
  args: [{
199
204
  selector: 'KanbanColumnFooter',
200
- changeDetection: ChangeDetectionStrategy.OnPush,
201
205
  host: {
202
206
  '[class]': 'classes()',
203
207
  '[attr.data-slot]': '"kanban-column-footer"',
@@ -214,8 +218,8 @@ class KanbanCardComponent {
214
218
  ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
215
219
  classes = computed(() => cn('flex w-full flex-col gap-3 rounded-lg border border-border bg-card p-3 text-left text-card-foreground shadow-sm transition-colors', 'hover:border-ring/60 hover:bg-accent/30 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background', 'disabled:pointer-events-none disabled:opacity-50', this.selected() ? 'border-ring bg-accent/40 ring-1 ring-ring' : '', this.disabled() ? 'pointer-events-none opacity-50' : '', this.class()), /* @ts-ignore */
216
220
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
217
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KanbanCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
218
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.3", type: KanbanCardComponent, isStandalone: true, selector: "KanbanCard, button[KanbanCard], a[KanbanCard]", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, 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-slot": "\"kanban-card\"", "attr.data-selected": "selected() ? \"\" : null", "attr.aria-current": "selected() ? \"true\" : null", "attr.aria-disabled": "disabled() ? \"true\" : null", "attr.disabled": "disabled() ? \"\" : null" } }, ngImport: i0, template: `
221
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KanbanCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
222
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: KanbanCardComponent, isStandalone: true, selector: "KanbanCard, button[KanbanCard], a[KanbanCard]", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, 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-slot": "\"kanban-card\"", "attr.data-selected": "selected() ? \"\" : null", "attr.aria-current": "selected() ? \"true\" : null", "attr.aria-disabled": "disabled() ? \"true\" : null", "attr.disabled": "disabled() ? \"\" : null" } }, ngImport: i0, template: `
219
223
  <div class="order-1">
220
224
  <ng-content select="KanbanCardHeader,[KanbanCardHeader]" />
221
225
  </div>
@@ -231,13 +235,12 @@ class KanbanCardComponent {
231
235
 
232
236
  <ng-content />
233
237
  </div>
234
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
238
+ `, isInline: true });
235
239
  }
236
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KanbanCardComponent, decorators: [{
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KanbanCardComponent, decorators: [{
237
241
  type: Component,
238
242
  args: [{
239
243
  selector: 'KanbanCard, button[KanbanCard], a[KanbanCard]',
240
- changeDetection: ChangeDetectionStrategy.OnPush,
241
244
  host: {
242
245
  '[class]': 'classes()',
243
246
  '[attr.data-slot]': '"kanban-card"',
@@ -270,14 +273,13 @@ class KanbanCardHeaderComponent {
270
273
  ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
271
274
  classes = computed(() => cn('flex min-w-0 flex-wrap items-center gap-1.5', this.class()), /* @ts-ignore */
272
275
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
273
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KanbanCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
274
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.3", type: KanbanCardHeaderComponent, isStandalone: true, selector: "KanbanCardHeader, [KanbanCardHeader]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kanban-card-header\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
276
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KanbanCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
277
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: KanbanCardHeaderComponent, isStandalone: true, selector: "KanbanCardHeader, [KanbanCardHeader]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kanban-card-header\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
275
278
  }
276
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KanbanCardHeaderComponent, decorators: [{
279
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KanbanCardHeaderComponent, decorators: [{
277
280
  type: Component,
278
281
  args: [{
279
282
  selector: 'KanbanCardHeader, [KanbanCardHeader]',
280
- changeDetection: ChangeDetectionStrategy.OnPush,
281
283
  host: {
282
284
  '[class]': 'classes()',
283
285
  '[attr.data-slot]': '"kanban-card-header"',
@@ -290,14 +292,13 @@ class KanbanCardFooterComponent {
290
292
  ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
291
293
  classes = computed(() => cn('flex min-w-0 items-center justify-between gap-2 text-xs text-muted-foreground', this.class()), /* @ts-ignore */
292
294
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
293
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KanbanCardFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
294
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.3", type: KanbanCardFooterComponent, isStandalone: true, selector: "KanbanCardFooter, [KanbanCardFooter]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kanban-card-footer\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
295
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KanbanCardFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
296
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: KanbanCardFooterComponent, isStandalone: true, selector: "KanbanCardFooter, [KanbanCardFooter]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kanban-card-footer\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
295
297
  }
296
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KanbanCardFooterComponent, decorators: [{
298
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KanbanCardFooterComponent, decorators: [{
297
299
  type: Component,
298
300
  args: [{
299
301
  selector: 'KanbanCardFooter, [KanbanCardFooter]',
300
- changeDetection: ChangeDetectionStrategy.OnPush,
301
302
  host: {
302
303
  '[class]': 'classes()',
303
304
  '[attr.data-slot]': '"kanban-card-footer"',
@@ -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 KbdComponent {
@@ -11,14 +11,13 @@ class KbdComponent {
11
11
  '[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-3',
12
12
  ].join(' '), this.class()), /* @ts-ignore */
13
13
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
14
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KbdComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.3", type: KbdComponent, isStandalone: true, selector: "Kbd, [Kbd]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kbd\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
14
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KbdComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: KbdComponent, isStandalone: true, selector: "Kbd, [Kbd]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kbd\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KbdComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KbdComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{
20
20
  selector: 'Kbd, [Kbd]',
21
- changeDetection: ChangeDetectionStrategy.OnPush,
22
21
  host: {
23
22
  '[class]': 'classes()',
24
23
  '[attr.data-slot]': '"kbd"',
@@ -31,14 +30,13 @@ class KbdGroupComponent {
31
30
  ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
32
31
  classes = computed(() => cn('inline-flex flex-wrap items-center gap-1.5', this.class()), /* @ts-ignore */
33
32
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KbdGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.3", type: KbdGroupComponent, isStandalone: true, selector: "KbdGroup, [KbdGroup]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kbd-group\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KbdGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
34
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: KbdGroupComponent, isStandalone: true, selector: "KbdGroup, [KbdGroup]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.data-slot": "\"kbd-group\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
36
35
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: KbdGroupComponent, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: KbdGroupComponent, decorators: [{
38
37
  type: Component,
39
38
  args: [{
40
39
  selector: 'KbdGroup, [KbdGroup]',
41
- changeDetection: ChangeDetectionStrategy.OnPush,
42
40
  host: {
43
41
  '[class]': 'classes()',
44
42
  '[attr.data-slot]': '"kbd-group"',
@@ -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 LabelComponent {
@@ -9,14 +9,13 @@ class LabelComponent {
9
9
  ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
10
10
  classes = computed(() => cn('text-sm font-medium leading-none text-foreground', 'peer-disabled:cursor-not-allowed peer-disabled:opacity-70', this.class()), /* @ts-ignore */
11
11
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
12
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: LabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.3", type: LabelComponent, isStandalone: true, selector: "Label, label[Label]", inputs: { for: { classPropertyName: "for", publicName: "for", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.for": "for() || null" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: LabelComponent, isStandalone: true, selector: "Label, label[Label]", inputs: { for: { classPropertyName: "for", publicName: "for", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.for": "for() || null" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: LabelComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: LabelComponent, decorators: [{
16
16
  type: Component,
17
17
  args: [{
18
18
  selector: 'Label, label[Label]',
19
- changeDetection: ChangeDetectionStrategy.OnPush,
20
19
  host: {
21
20
  '[class]': 'classes()',
22
21
  '[attr.for]': 'for() || null',
@@ -1,7 +1,7 @@
1
1
  import { Overlay } from '@angular/cdk/overlay';
2
2
  import { TemplatePortal } from '@angular/cdk/portal';
3
3
  import * as i0 from '@angular/core';
4
- import { input, inject, ElementRef, signal, computed, ContentChildren, forwardRef, ChangeDetectionStrategy, Component, TemplateRef, Directive, output, ViewContainerRef, DestroyRef } from '@angular/core';
4
+ import { input, inject, ElementRef, signal, computed, ContentChildren, forwardRef, Component, TemplateRef, Directive, output, ViewContainerRef, DestroyRef } from '@angular/core';
5
5
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
6
  import { connectedPositionFor, cn } from '@ojiepermana/angular-component/utils';
7
7
  import { merge } from 'rxjs';
@@ -118,14 +118,13 @@ class MenubarComponent {
118
118
  horizontalStep() {
119
119
  return getComputedStyle(this.host.nativeElement).direction === 'rtl' ? -1 : 1;
120
120
  }
121
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: MenubarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
122
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.3", type: MenubarComponent, isStandalone: true, selector: "Menubar", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, loop: { classPropertyName: "loop", publicName: "loop", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown": "onKeydown($any($event))" }, properties: { "class": "classes()", "attr.role": "\"menubar\"" } }, queries: [{ propertyName: "triggers", predicate: i0.forwardRef(() => MenubarTriggerDirective), descendants: true }], ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
121
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenubarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
122
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: MenubarComponent, isStandalone: true, selector: "Menubar", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, loop: { classPropertyName: "loop", publicName: "loop", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown": "onKeydown($any($event))" }, properties: { "class": "classes()", "attr.role": "\"menubar\"" } }, queries: [{ propertyName: "triggers", predicate: i0.forwardRef(() => MenubarTriggerDirective), descendants: true }], ngImport: i0, template: `<ng-content />`, isInline: true });
123
123
  }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: MenubarComponent, decorators: [{
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenubarComponent, decorators: [{
125
125
  type: Component,
126
126
  args: [{
127
127
  selector: 'Menubar',
128
- changeDetection: ChangeDetectionStrategy.OnPush,
129
128
  host: {
130
129
  '[class]': 'classes()',
131
130
  '[attr.role]': '"menubar"',
@@ -138,14 +137,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImpor
138
137
  args: [forwardRef(() => MenubarTriggerDirective), { descendants: true }]
139
138
  }] } });
140
139
  class MenubarMenuComponent {
141
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: MenubarMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
142
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.3", type: MenubarMenuComponent, isStandalone: true, selector: "MenubarMenu", host: { classAttribute: "contents" }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
140
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenubarMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
141
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", type: MenubarMenuComponent, isStandalone: true, selector: "MenubarMenu", host: { classAttribute: "contents" }, ngImport: i0, template: `<ng-content />`, isInline: true });
143
142
  }
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: MenubarMenuComponent, decorators: [{
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenubarMenuComponent, decorators: [{
145
144
  type: Component,
146
145
  args: [{
147
146
  selector: 'MenubarMenu',
148
- changeDetection: ChangeDetectionStrategy.OnPush,
149
147
  host: {
150
148
  class: 'contents',
151
149
  },
@@ -154,10 +152,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImpor
154
152
  }] });
155
153
  class MenubarContentDirective {
156
154
  template = inject(TemplateRef);
157
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: MenubarContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
158
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.3", type: MenubarContentDirective, isStandalone: true, selector: "ng-template[MenubarContent]", exportAs: ["MenubarContent"], ngImport: i0 });
155
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenubarContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
156
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.4", type: MenubarContentDirective, isStandalone: true, selector: "ng-template[MenubarContent]", exportAs: ["MenubarContent"], ngImport: i0 });
159
157
  }
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: MenubarContentDirective, decorators: [{
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenubarContentDirective, decorators: [{
161
159
  type: Directive,
162
160
  args: [{
163
161
  selector: 'ng-template[MenubarContent]',
@@ -208,7 +206,9 @@ class MenubarTriggerDirective {
208
206
  const portal = new TemplatePortal(this.MenubarTrigger().template, this.vcr);
209
207
  overlayRef.attach(portal);
210
208
  this.overlayRef = overlayRef;
211
- merge(overlayRef.outsidePointerEvents().pipe(filter((event) => !this.el.nativeElement.contains(event.target))), overlayRef.keydownEvents().pipe(filter((event) => event.key === 'Escape')), overlayRef.detachments())
209
+ merge(overlayRef
210
+ .outsidePointerEvents()
211
+ .pipe(filter((event) => !this.el.nativeElement.contains(event.target))), overlayRef.keydownEvents().pipe(filter((event) => event.key === 'Escape')), overlayRef.detachments())
212
212
  .pipe(takeUntilDestroyed(this.destroyRef))
213
213
  .subscribe(() => this.close());
214
214
  this.isOpen.set(true);
@@ -277,10 +277,10 @@ class MenubarTriggerDirective {
277
277
  surface.focus();
278
278
  }
279
279
  }
280
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: MenubarTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
281
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.3", type: MenubarTriggerDirective, isStandalone: true, selector: "[MenubarTrigger]", inputs: { MenubarTrigger: { classPropertyName: "MenubarTrigger", publicName: "MenubarTrigger", isSignal: true, isRequired: true, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openedChange: "openedChange" }, host: { listeners: { "click": "toggle()", "keydown.enter": "openFromKeyboard($any($event), false)", "keydown.space": "openFromKeyboard($any($event), false)", "keydown.arrowDown": "openFromKeyboard($any($event), true)", "focus": "syncActiveState()", "mouseenter": "openFromHover()" }, properties: { "attr.role": "\"menuitem\"", "attr.aria-haspopup": "\"menu\"", "attr.aria-expanded": "isOpen()", "attr.data-state": "isOpen() ? \"open\" : \"closed\"", "attr.tabindex": "tabIndex()", "attr.disabled": "disabled() ? \"\" : null" }, classAttribute: "inline-flex min-w-0 select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground" }, exportAs: ["MenubarTrigger"], ngImport: i0 });
280
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenubarTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
281
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.4", type: MenubarTriggerDirective, isStandalone: true, selector: "[MenubarTrigger]", inputs: { MenubarTrigger: { classPropertyName: "MenubarTrigger", publicName: "MenubarTrigger", isSignal: true, isRequired: true, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openedChange: "openedChange" }, host: { listeners: { "click": "toggle()", "keydown.enter": "openFromKeyboard($any($event), false)", "keydown.space": "openFromKeyboard($any($event), false)", "keydown.arrowDown": "openFromKeyboard($any($event), true)", "focus": "syncActiveState()", "mouseenter": "openFromHover()" }, properties: { "attr.role": "\"menuitem\"", "attr.aria-haspopup": "\"menu\"", "attr.aria-expanded": "isOpen()", "attr.data-state": "isOpen() ? \"open\" : \"closed\"", "attr.tabindex": "tabIndex()", "attr.disabled": "disabled() ? \"\" : null" }, classAttribute: "inline-flex min-w-0 select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground" }, exportAs: ["MenubarTrigger"], ngImport: i0 });
282
282
  }
283
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: MenubarTriggerDirective, decorators: [{
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: MenubarTriggerDirective, decorators: [{
284
284
  type: Directive,
285
285
  args: [{
286
286
  selector: '[MenubarTrigger]',
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, input, computed, ChangeDetectionStrategy, Component, Directive } from '@angular/core';
2
+ import { inject, ElementRef, input, computed, Component, Directive } from '@angular/core';
3
3
  import { cn } from '@ojiepermana/angular-component/utils';
4
4
 
5
5
  const BASE = [
@@ -19,12 +19,12 @@ class NativeSelectComponent {
19
19
  focus() {
20
20
  this.el.nativeElement.focus();
21
21
  }
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: NativeSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.3", type: NativeSelectComponent, isStandalone: true, selector: "select[NativeSelect]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: '<ng-content />', isInline: true, styles: [":host{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E\");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem 1rem}:host([dir=\"rtl\"]){background-position:left .75rem center;padding-left:2.5rem;padding-right:.75rem}:host([multiple]),:host([size]:not([size=\"1\"])){background-image:none;padding-left:.75rem;padding-right:.75rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NativeSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: NativeSelectComponent, isStandalone: true, selector: "select[NativeSelect]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: '<ng-content />', isInline: true, styles: [":host{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E\");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem 1rem}:host([dir=\"rtl\"]){background-position:left .75rem center;padding-left:2.5rem;padding-right:.75rem}:host([multiple]),:host([size]:not([size=\"1\"])){background-image:none;padding-left:.75rem;padding-right:.75rem}\n"] });
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: NativeSelectComponent, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NativeSelectComponent, decorators: [{
26
26
  type: Component,
27
- args: [{ selector: 'select[NativeSelect]', changeDetection: ChangeDetectionStrategy.OnPush, host: { '[class]': 'classes()' }, template: '<ng-content />', styles: [":host{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E\");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem 1rem}:host([dir=\"rtl\"]){background-position:left .75rem center;padding-left:2.5rem;padding-right:.75rem}:host([multiple]),:host([size]:not([size=\"1\"])){background-image:none;padding-left:.75rem;padding-right:.75rem}\n"] }]
27
+ args: [{ selector: 'select[NativeSelect]', host: { '[class]': 'classes()' }, template: '<ng-content />', styles: [":host{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E\");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem 1rem}:host([dir=\"rtl\"]){background-position:left .75rem center;padding-left:2.5rem;padding-right:.75rem}:host([multiple]),:host([size]:not([size=\"1\"])){background-image:none;padding-left:.75rem;padding-right:.75rem}\n"] }]
28
28
  }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
29
29
 
30
30
  class NativeSelectOptionDirective {
@@ -32,10 +32,10 @@ class NativeSelectOptionDirective {
32
32
  ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
33
33
  classes = computed(() => cn(this.class()), /* @ts-ignore */
34
34
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
35
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: NativeSelectOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
36
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.3", type: NativeSelectOptionDirective, isStandalone: true, selector: "option[NativeSelectOption]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0 });
35
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NativeSelectOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
36
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.4", type: NativeSelectOptionDirective, isStandalone: true, selector: "option[NativeSelectOption]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0 });
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: NativeSelectOptionDirective, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NativeSelectOptionDirective, decorators: [{
39
39
  type: Directive,
40
40
  args: [{
41
41
  selector: 'option[NativeSelectOption]',
@@ -48,10 +48,10 @@ class NativeSelectOptGroupDirective {
48
48
  ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
49
49
  classes = computed(() => cn(this.class()), /* @ts-ignore */
50
50
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
51
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: NativeSelectOptGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
52
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.3", type: NativeSelectOptGroupDirective, isStandalone: true, selector: "optgroup[NativeSelectOptGroup]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0 });
51
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NativeSelectOptGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
52
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.4", type: NativeSelectOptGroupDirective, isStandalone: true, selector: "optgroup[NativeSelectOptGroup]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0 });
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: NativeSelectOptGroupDirective, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NativeSelectOptGroupDirective, decorators: [{
55
55
  type: Directive,
56
56
  args: [{
57
57
  selector: 'optgroup[NativeSelectOptGroup]',