@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,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 { inject, ElementRef, input, Directive, signal, computed, ContentChildren, forwardRef, ChangeDetectionStrategy, Component, TemplateRef, output, ViewContainerRef, DestroyRef } from '@angular/core';
4
+ import { inject, ElementRef, input, Directive, signal, computed, ContentChildren, forwardRef, Component, TemplateRef, 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';
@@ -101,7 +101,9 @@ class NavigationMenuComponent {
101
101
  }
102
102
  enabledItems() {
103
103
  return this.items
104
- ? this.items.toArray().filter((item) => !item.disabled() && item.isWithin(this.host.nativeElement))
104
+ ? this.items
105
+ .toArray()
106
+ .filter((item) => !item.disabled() && item.isWithin(this.host.nativeElement))
105
107
  : [];
106
108
  }
107
109
  resolveItem(target) {
@@ -150,13 +152,12 @@ class NavigationMenuComponent {
150
152
  return getComputedStyle(this.host.nativeElement).direction === 'rtl' ? -1 : 1;
151
153
  }
152
154
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NavigationMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
153
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: NavigationMenuComponent, isStandalone: true, selector: "NavigationMenu", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", 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": "\"navigation\"", "attr.aria-label": "ariaLabel() || null" } }, queries: [{ propertyName: "items", predicate: i0.forwardRef(() => NavigationMenuRootItem), descendants: true }], ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
155
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: NavigationMenuComponent, isStandalone: true, selector: "NavigationMenu", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", 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": "\"navigation\"", "attr.aria-label": "ariaLabel() || null" } }, queries: [{ propertyName: "items", predicate: i0.forwardRef(() => NavigationMenuRootItem), descendants: true }], ngImport: i0, template: `<ng-content />`, isInline: true });
154
156
  }
155
157
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NavigationMenuComponent, decorators: [{
156
158
  type: Component,
157
159
  args: [{
158
160
  selector: 'NavigationMenu',
159
- changeDetection: ChangeDetectionStrategy.OnPush,
160
161
  host: {
161
162
  '[class]': 'classes()',
162
163
  '[attr.role]': '"navigation"',
@@ -175,13 +176,12 @@ class NavigationMenuListComponent {
175
176
  classes = computed(() => cn('group flex flex-1 list-none items-center justify-center gap-1', this.class()), /* @ts-ignore */
176
177
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
177
178
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NavigationMenuListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
178
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: NavigationMenuListComponent, isStandalone: true, selector: "NavigationMenuList", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.role": "\"menubar\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
179
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: NavigationMenuListComponent, isStandalone: true, selector: "NavigationMenuList", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.role": "\"menubar\"" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
179
180
  }
180
181
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NavigationMenuListComponent, decorators: [{
181
182
  type: Component,
182
183
  args: [{
183
184
  selector: 'NavigationMenuList',
184
- changeDetection: ChangeDetectionStrategy.OnPush,
185
185
  host: {
186
186
  '[class]': 'classes()',
187
187
  '[attr.role]': '"menubar"',
@@ -195,13 +195,12 @@ class NavigationMenuItemComponent {
195
195
  classes = computed(() => cn('relative', this.class()), /* @ts-ignore */
196
196
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
197
197
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NavigationMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
198
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: NavigationMenuItemComponent, isStandalone: true, selector: "NavigationMenuItem", 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 });
198
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: NavigationMenuItemComponent, isStandalone: true, selector: "NavigationMenuItem", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
199
199
  }
200
200
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NavigationMenuItemComponent, decorators: [{
201
201
  type: Component,
202
202
  args: [{
203
203
  selector: 'NavigationMenuItem',
204
- changeDetection: ChangeDetectionStrategy.OnPush,
205
204
  host: {
206
205
  '[class]': 'classes()',
207
206
  },
@@ -322,14 +321,24 @@ class NavigationMenuTriggerDirective extends NavigationMenuRootItem {
322
321
  firstItem?.focus();
323
322
  }
324
323
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NavigationMenuTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
325
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.4", type: NavigationMenuTriggerDirective, isStandalone: true, selector: "[NavigationMenuTrigger]", inputs: { NavigationMenuTrigger: { classPropertyName: "NavigationMenuTrigger", publicName: "NavigationMenuTrigger", isSignal: true, isRequired: true, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", 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: { "class": "classes()", "attr.role": "\"menuitem\"", "attr.aria-haspopup": "\"menu\"", "attr.aria-expanded": "isOpen()", "attr.data-state": "isOpen() ? \"open\" : \"closed\"", "attr.tabindex": "tabIndex()", "attr.disabled": "disabled() ? \"\" : null" } }, providers: [{ provide: NavigationMenuRootItem, useExisting: forwardRef(() => NavigationMenuTriggerDirective) }], exportAs: ["NavigationMenuTrigger"], usesInheritance: true, ngImport: i0 });
324
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.4", type: NavigationMenuTriggerDirective, isStandalone: true, selector: "[NavigationMenuTrigger]", inputs: { NavigationMenuTrigger: { classPropertyName: "NavigationMenuTrigger", publicName: "NavigationMenuTrigger", isSignal: true, isRequired: true, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", 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: { "class": "classes()", "attr.role": "\"menuitem\"", "attr.aria-haspopup": "\"menu\"", "attr.aria-expanded": "isOpen()", "attr.data-state": "isOpen() ? \"open\" : \"closed\"", "attr.tabindex": "tabIndex()", "attr.disabled": "disabled() ? \"\" : null" } }, providers: [
325
+ {
326
+ provide: NavigationMenuRootItem,
327
+ useExisting: forwardRef(() => NavigationMenuTriggerDirective),
328
+ },
329
+ ], exportAs: ["NavigationMenuTrigger"], usesInheritance: true, ngImport: i0 });
326
330
  }
327
331
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NavigationMenuTriggerDirective, decorators: [{
328
332
  type: Directive,
329
333
  args: [{
330
334
  selector: '[NavigationMenuTrigger]',
331
335
  exportAs: 'NavigationMenuTrigger',
332
- providers: [{ provide: NavigationMenuRootItem, useExisting: forwardRef(() => NavigationMenuTriggerDirective) }],
336
+ providers: [
337
+ {
338
+ provide: NavigationMenuRootItem,
339
+ useExisting: forwardRef(() => NavigationMenuTriggerDirective),
340
+ },
341
+ ],
333
342
  host: {
334
343
  '[class]': 'classes()',
335
344
  '[attr.role]': '"menuitem"',
@@ -380,14 +389,18 @@ class NavigationMenuLinkDirective extends NavigationMenuRootItem {
380
389
  }
381
390
  }
382
391
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NavigationMenuLinkDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
383
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.4", type: NavigationMenuLinkDirective, isStandalone: true, selector: "a[NavigationMenuLink], button[NavigationMenuLink]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "focus": "syncActiveState()", "click": "preventDisabled($any($event))" }, properties: { "class": "classes()", "attr.role": "\"menuitem\"", "attr.tabindex": "tabIndex()", "attr.aria-disabled": "disabled() ? \"true\" : null", "attr.data-variant": "variant()" } }, providers: [{ provide: NavigationMenuRootItem, useExisting: forwardRef(() => NavigationMenuLinkDirective) }], exportAs: ["NavigationMenuLink"], usesInheritance: true, ngImport: i0 });
392
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.4", type: NavigationMenuLinkDirective, isStandalone: true, selector: "a[NavigationMenuLink], button[NavigationMenuLink]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "focus": "syncActiveState()", "click": "preventDisabled($any($event))" }, properties: { "class": "classes()", "attr.role": "\"menuitem\"", "attr.tabindex": "tabIndex()", "attr.aria-disabled": "disabled() ? \"true\" : null", "attr.data-variant": "variant()" } }, providers: [
393
+ { provide: NavigationMenuRootItem, useExisting: forwardRef(() => NavigationMenuLinkDirective) },
394
+ ], exportAs: ["NavigationMenuLink"], usesInheritance: true, ngImport: i0 });
384
395
  }
385
396
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NavigationMenuLinkDirective, decorators: [{
386
397
  type: Directive,
387
398
  args: [{
388
399
  selector: 'a[NavigationMenuLink], button[NavigationMenuLink]',
389
400
  exportAs: 'NavigationMenuLink',
390
- providers: [{ provide: NavigationMenuRootItem, useExisting: forwardRef(() => NavigationMenuLinkDirective) }],
401
+ providers: [
402
+ { provide: NavigationMenuRootItem, useExisting: forwardRef(() => NavigationMenuLinkDirective) },
403
+ ],
391
404
  host: {
392
405
  '[class]': 'classes()',
393
406
  '[attr.role]': '"menuitem"',
@@ -1,6 +1,6 @@
1
1
  import { buttonVariants } from '@ojiepermana/angular-component/button';
2
2
  import * as i0 from '@angular/core';
3
- import { model, input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { model, input, computed, Component } from '@angular/core';
4
4
  import { cn } from '@ojiepermana/angular-component/utils';
5
5
 
6
6
  /**
@@ -78,7 +78,8 @@ class PaginationComponent {
78
78
  [disabled]="page() <= 1 || null"
79
79
  [attr.aria-label]="previousAriaLabel()"
80
80
  [class]="navClasses(previousText().length > 0)"
81
- (click)="go(page() - 1)">
81
+ (click)="go(page() - 1)"
82
+ >
82
83
  <svg
83
84
  aria-hidden="true"
84
85
  class="h-4 w-4"
@@ -87,7 +88,8 @@ class PaginationComponent {
87
88
  stroke="currentColor"
88
89
  stroke-width="2"
89
90
  stroke-linecap="round"
90
- stroke-linejoin="round">
91
+ stroke-linejoin="round"
92
+ >
91
93
  <polyline points="15 18 9 12 15 6" />
92
94
  </svg>
93
95
  @if (previousText()) {
@@ -103,7 +105,8 @@ class PaginationComponent {
103
105
  type="button"
104
106
  [attr.aria-current]="p.value === page() ? 'page' : null"
105
107
  [class]="pageClasses(p.value === page())"
106
- (click)="go(p.value)">
108
+ (click)="go(p.value)"
109
+ >
107
110
  {{ formatPageLabel()(p.value) }}
108
111
  </button>
109
112
  } @else {
@@ -118,7 +121,8 @@ class PaginationComponent {
118
121
  [disabled]="page() >= total() || null"
119
122
  [attr.aria-label]="nextAriaLabel()"
120
123
  [class]="navClasses(nextText().length > 0)"
121
- (click)="go(page() + 1)">
124
+ (click)="go(page() + 1)"
125
+ >
122
126
  @if (nextText()) {
123
127
  <span>{{ nextText() }}</span>
124
128
  }
@@ -130,19 +134,19 @@ class PaginationComponent {
130
134
  stroke="currentColor"
131
135
  stroke-width="2"
132
136
  stroke-linecap="round"
133
- stroke-linejoin="round">
137
+ stroke-linejoin="round"
138
+ >
134
139
  <polyline points="9 18 15 12 9 6" />
135
140
  </svg>
136
141
  </button>
137
142
  </li>
138
143
  </ul>
139
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
144
+ `, isInline: true });
140
145
  }
141
146
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: PaginationComponent, decorators: [{
142
147
  type: Component,
143
148
  args: [{
144
149
  selector: 'Pagination, nav[Pagination]',
145
- changeDetection: ChangeDetectionStrategy.OnPush,
146
150
  host: {
147
151
  role: 'navigation',
148
152
  'aria-label': 'pagination',
@@ -156,7 +160,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
156
160
  [disabled]="page() <= 1 || null"
157
161
  [attr.aria-label]="previousAriaLabel()"
158
162
  [class]="navClasses(previousText().length > 0)"
159
- (click)="go(page() - 1)">
163
+ (click)="go(page() - 1)"
164
+ >
160
165
  <svg
161
166
  aria-hidden="true"
162
167
  class="h-4 w-4"
@@ -165,7 +170,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
165
170
  stroke="currentColor"
166
171
  stroke-width="2"
167
172
  stroke-linecap="round"
168
- stroke-linejoin="round">
173
+ stroke-linejoin="round"
174
+ >
169
175
  <polyline points="15 18 9 12 15 6" />
170
176
  </svg>
171
177
  @if (previousText()) {
@@ -181,7 +187,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
181
187
  type="button"
182
188
  [attr.aria-current]="p.value === page() ? 'page' : null"
183
189
  [class]="pageClasses(p.value === page())"
184
- (click)="go(p.value)">
190
+ (click)="go(p.value)"
191
+ >
185
192
  {{ formatPageLabel()(p.value) }}
186
193
  </button>
187
194
  } @else {
@@ -196,7 +203,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
196
203
  [disabled]="page() >= total() || null"
197
204
  [attr.aria-label]="nextAriaLabel()"
198
205
  [class]="navClasses(nextText().length > 0)"
199
- (click)="go(page() + 1)">
206
+ (click)="go(page() + 1)"
207
+ >
200
208
  @if (nextText()) {
201
209
  <span>{{ nextText() }}</span>
202
210
  }
@@ -208,7 +216,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
208
216
  stroke="currentColor"
209
217
  stroke-width="2"
210
218
  stroke-linecap="round"
211
- stroke-linejoin="round">
219
+ stroke-linejoin="round"
220
+ >
212
221
  <polyline points="9 18 15 12 9 6" />
213
222
  </svg>
214
223
  </button>
@@ -1,6 +1,6 @@
1
1
  import { DOCUMENT, NgTemplateOutlet } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, TemplateRef, Directive, ElementRef, contentChild, input, booleanAttribute, output, computed, ChangeDetectionStrategy, Component, numberAttribute, DestroyRef, signal, viewChild, contentChildren, forwardRef } from '@angular/core';
3
+ import { inject, TemplateRef, Directive, ElementRef, contentChild, input, booleanAttribute, output, computed, Component, numberAttribute, DestroyRef, signal, viewChild, contentChildren, forwardRef } from '@angular/core';
4
4
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
5
  import { cn, uniqueId } from '@ojiepermana/angular-component/utils';
6
6
 
@@ -76,17 +76,17 @@ class PillboxOptionComponent {
76
76
  stroke="currentColor"
77
77
  stroke-width="1.75"
78
78
  stroke-linecap="round"
79
- stroke-linejoin="round">
79
+ stroke-linejoin="round"
80
+ >
80
81
  <path d="M20 6 9 17l-5-5" />
81
82
  </svg>
82
83
  }
83
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
84
+ `, isInline: true });
84
85
  }
85
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: PillboxOptionComponent, decorators: [{
86
87
  type: Component,
87
88
  args: [{
88
89
  selector: 'PillboxOption, button[PillboxOption]',
89
- changeDetection: ChangeDetectionStrategy.OnPush,
90
90
  host: {
91
91
  type: 'button',
92
92
  '[class]': 'classes()',
@@ -113,7 +113,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
113
113
  stroke="currentColor"
114
114
  stroke-width="1.75"
115
115
  stroke-linecap="round"
116
- stroke-linejoin="round">
116
+ stroke-linejoin="round"
117
+ >
117
118
  <path d="M20 6 9 17l-5-5" />
118
119
  </svg>
119
120
  }
@@ -139,13 +140,12 @@ class PillboxOptionCreateComponent {
139
140
  this.context.chooseCreate(this, event);
140
141
  }
141
142
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: PillboxOptionCreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
142
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: PillboxOptionCreateComponent, isStandalone: true, selector: "PillboxOptionCreate, button[PillboxOptionCreate]", inputs: { minLength: { classPropertyName: "minLength", publicName: "minLength", 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 } }, outputs: { selected: "selected" }, host: { attributes: { "type": "button" }, listeners: { "click": "handleClick($event)", "keydown.enter": "handleKeydown($any($event))", "keydown.space": "handleKeydown($any($event))" }, properties: { "class": "classes()", "attr.data-slot": "\"pillbox-option-create\"", "attr.role": "\"option\"", "attr.tabindex": "disabled() ? -1 : 0", "attr.aria-disabled": "disabled() ? \"true\" : null", "hidden": "!visible()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
143
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: PillboxOptionCreateComponent, isStandalone: true, selector: "PillboxOptionCreate, button[PillboxOptionCreate]", inputs: { minLength: { classPropertyName: "minLength", publicName: "minLength", 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 } }, outputs: { selected: "selected" }, host: { attributes: { "type": "button" }, listeners: { "click": "handleClick($event)", "keydown.enter": "handleKeydown($any($event))", "keydown.space": "handleKeydown($any($event))" }, properties: { "class": "classes()", "attr.data-slot": "\"pillbox-option-create\"", "attr.role": "\"option\"", "attr.tabindex": "disabled() ? -1 : 0", "attr.aria-disabled": "disabled() ? \"true\" : null", "hidden": "!visible()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
143
144
  }
144
145
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: PillboxOptionCreateComponent, decorators: [{
145
146
  type: Component,
146
147
  args: [{
147
148
  selector: 'PillboxOptionCreate, button[PillboxOptionCreate]',
148
- changeDetection: ChangeDetectionStrategy.OnPush,
149
149
  host: {
150
150
  type: 'button',
151
151
  '[class]': 'classes()',
@@ -176,13 +176,12 @@ class PillboxOptionEmptyComponent {
176
176
  } @else {
177
177
  <ng-content />
178
178
  }
179
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
179
+ `, isInline: true });
180
180
  }
181
181
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: PillboxOptionEmptyComponent, decorators: [{
182
182
  type: Component,
183
183
  args: [{
184
184
  selector: 'PillboxOptionEmpty',
185
- changeDetection: ChangeDetectionStrategy.OnPush,
186
185
  host: {
187
186
  '[class]': 'classes()',
188
187
  '[attr.data-slot]': '"pillbox-option-empty"',
@@ -424,7 +423,9 @@ class PillboxComponent extends PillboxContext {
424
423
  this.disabledFromControl.set(disabled);
425
424
  }
426
425
  emitValue() {
427
- const nextValue = this.multiple() ? [...this.selectedValues()] : (this.selectedValues()[0] ?? null);
426
+ const nextValue = this.multiple()
427
+ ? [...this.selectedValues()]
428
+ : (this.selectedValues()[0] ?? null);
428
429
  this.onChange(nextValue);
429
430
  this.valueChange.emit(nextValue);
430
431
  }
@@ -444,7 +445,9 @@ class PillboxComponent extends PillboxContext {
444
445
  return Object.is(left, right);
445
446
  }
446
447
  focusSearchInput() {
447
- const searchInput = this.variant() === 'combobox' ? this.inlineSearch()?.nativeElement : this.panelSearch()?.nativeElement;
448
+ const searchInput = this.variant() === 'combobox'
449
+ ? this.inlineSearch()?.nativeElement
450
+ : this.panelSearch()?.nativeElement;
448
451
  searchInput?.focus();
449
452
  }
450
453
  bindOutsideListener() {
@@ -484,7 +487,8 @@ class PillboxComponent extends PillboxContext {
484
487
  (keydown.enter)="handleTriggerKeydown($any($event))"
485
488
  (keydown.space)="handleTriggerKeydown($any($event))"
486
489
  (keydown.arrowDown)="handleTriggerKeydown($any($event))"
487
- (keydown.escape)="close()">
490
+ (keydown.escape)="close()"
491
+ >
488
492
  <div class="flex min-w-0 flex-1 flex-wrap items-center gap-1.5">
489
493
  @if (selectedItems().length > 0) {
490
494
  @for (item of selectedItems(); track item.track) {
@@ -501,7 +505,8 @@ class PillboxComponent extends PillboxContext {
501
505
  class="-mr-1 inline-flex size-4 items-center justify-center rounded-full text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"
502
506
  [attr.aria-label]="'Remove ' + item.label"
503
507
  [disabled]="disabledState() || null"
504
- (click)="removeSelected(item.value, $event)">
508
+ (click)="removeSelected(item.value, $event)"
509
+ >
505
510
  <svg
506
511
  aria-hidden="true"
507
512
  class="size-3"
@@ -510,7 +515,8 @@ class PillboxComponent extends PillboxContext {
510
515
  stroke="currentColor"
511
516
  stroke-width="2"
512
517
  stroke-linecap="round"
513
- stroke-linejoin="round">
518
+ stroke-linejoin="round"
519
+ >
514
520
  <path d="M18 6 6 18" />
515
521
  <path d="m6 6 12 12" />
516
522
  </svg>
@@ -530,7 +536,8 @@ class PillboxComponent extends PillboxContext {
530
536
  (focus)="open()"
531
537
  (input)="handleSearchInput($event)"
532
538
  (keydown.backspace)="handleInlineBackspace($any($event))"
533
- (keydown.escape)="close()" />
539
+ (keydown.escape)="close()"
540
+ />
534
541
  } @else if (selectedItems().length === 0) {
535
542
  <span class="truncate text-muted-foreground">{{ placeholder() }}</span>
536
543
  }
@@ -541,7 +548,8 @@ class PillboxComponent extends PillboxContext {
541
548
  type="button"
542
549
  class="inline-flex size-5 shrink-0 items-center justify-center rounded-full text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"
543
550
  aria-label="Clear selected options"
544
- (click)="clear($event)">
551
+ (click)="clear($event)"
552
+ >
545
553
  <svg
546
554
  aria-hidden="true"
547
555
  class="size-3.5"
@@ -550,7 +558,8 @@ class PillboxComponent extends PillboxContext {
550
558
  stroke="currentColor"
551
559
  stroke-width="2"
552
560
  stroke-linecap="round"
553
- stroke-linejoin="round">
561
+ stroke-linejoin="round"
562
+ >
554
563
  <path d="M18 6 6 18" />
555
564
  <path d="m6 6 12 12" />
556
565
  </svg>
@@ -566,7 +575,8 @@ class PillboxComponent extends PillboxContext {
566
575
  stroke="currentColor"
567
576
  stroke-width="1.75"
568
577
  stroke-linecap="round"
569
- stroke-linejoin="round">
578
+ stroke-linejoin="round"
579
+ >
570
580
  <path d="m6 9 6 6 6-6" />
571
581
  </svg>
572
582
  </div>
@@ -583,7 +593,8 @@ class PillboxComponent extends PillboxContext {
583
593
  stroke="currentColor"
584
594
  stroke-width="1.75"
585
595
  stroke-linecap="round"
586
- stroke-linejoin="round">
596
+ stroke-linejoin="round"
597
+ >
587
598
  <circle cx="11" cy="11" r="8" />
588
599
  <path d="m21 21-4.35-4.35" />
589
600
  </svg>
@@ -593,13 +604,15 @@ class PillboxComponent extends PillboxContext {
593
604
  [placeholder]="searchPlaceholder()"
594
605
  [value]="query()"
595
606
  (input)="handleSearchInput($event)"
596
- (keydown.escape)="close()" />
607
+ (keydown.escape)="close()"
608
+ />
597
609
  @if (query().length > 0) {
598
610
  <button
599
611
  type="button"
600
612
  class="inline-flex size-6 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-muted hover:text-foreground"
601
613
  aria-label="Clear search"
602
- (click)="clearSearch($event)">
614
+ (click)="clearSearch($event)"
615
+ >
603
616
  <svg
604
617
  aria-hidden="true"
605
618
  class="size-3.5"
@@ -608,7 +621,8 @@ class PillboxComponent extends PillboxContext {
608
621
  stroke="currentColor"
609
622
  stroke-width="2"
610
623
  stroke-linecap="round"
611
- stroke-linejoin="round">
624
+ stroke-linejoin="round"
625
+ >
612
626
  <path d="M18 6 6 18" />
613
627
  <path d="m6 6 12 12" />
614
628
  </svg>
@@ -622,13 +636,12 @@ class PillboxComponent extends PillboxContext {
622
636
  <ng-content />
623
637
  </div>
624
638
  </div>
625
- `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
639
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
626
640
  }
627
641
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: PillboxComponent, decorators: [{
628
642
  type: Component,
629
643
  args: [{
630
644
  selector: 'Pillbox',
631
- changeDetection: ChangeDetectionStrategy.OnPush,
632
645
  imports: [NgTemplateOutlet],
633
646
  providers: [
634
647
  { provide: PillboxContext, useExisting: forwardRef(() => PillboxComponent) },
@@ -660,7 +673,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
660
673
  (keydown.enter)="handleTriggerKeydown($any($event))"
661
674
  (keydown.space)="handleTriggerKeydown($any($event))"
662
675
  (keydown.arrowDown)="handleTriggerKeydown($any($event))"
663
- (keydown.escape)="close()">
676
+ (keydown.escape)="close()"
677
+ >
664
678
  <div class="flex min-w-0 flex-1 flex-wrap items-center gap-1.5">
665
679
  @if (selectedItems().length > 0) {
666
680
  @for (item of selectedItems(); track item.track) {
@@ -677,7 +691,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
677
691
  class="-mr-1 inline-flex size-4 items-center justify-center rounded-full text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"
678
692
  [attr.aria-label]="'Remove ' + item.label"
679
693
  [disabled]="disabledState() || null"
680
- (click)="removeSelected(item.value, $event)">
694
+ (click)="removeSelected(item.value, $event)"
695
+ >
681
696
  <svg
682
697
  aria-hidden="true"
683
698
  class="size-3"
@@ -686,7 +701,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
686
701
  stroke="currentColor"
687
702
  stroke-width="2"
688
703
  stroke-linecap="round"
689
- stroke-linejoin="round">
704
+ stroke-linejoin="round"
705
+ >
690
706
  <path d="M18 6 6 18" />
691
707
  <path d="m6 6 12 12" />
692
708
  </svg>
@@ -706,7 +722,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
706
722
  (focus)="open()"
707
723
  (input)="handleSearchInput($event)"
708
724
  (keydown.backspace)="handleInlineBackspace($any($event))"
709
- (keydown.escape)="close()" />
725
+ (keydown.escape)="close()"
726
+ />
710
727
  } @else if (selectedItems().length === 0) {
711
728
  <span class="truncate text-muted-foreground">{{ placeholder() }}</span>
712
729
  }
@@ -717,7 +734,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
717
734
  type="button"
718
735
  class="inline-flex size-5 shrink-0 items-center justify-center rounded-full text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"
719
736
  aria-label="Clear selected options"
720
- (click)="clear($event)">
737
+ (click)="clear($event)"
738
+ >
721
739
  <svg
722
740
  aria-hidden="true"
723
741
  class="size-3.5"
@@ -726,7 +744,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
726
744
  stroke="currentColor"
727
745
  stroke-width="2"
728
746
  stroke-linecap="round"
729
- stroke-linejoin="round">
747
+ stroke-linejoin="round"
748
+ >
730
749
  <path d="M18 6 6 18" />
731
750
  <path d="m6 6 12 12" />
732
751
  </svg>
@@ -742,7 +761,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
742
761
  stroke="currentColor"
743
762
  stroke-width="1.75"
744
763
  stroke-linecap="round"
745
- stroke-linejoin="round">
764
+ stroke-linejoin="round"
765
+ >
746
766
  <path d="m6 9 6 6 6-6" />
747
767
  </svg>
748
768
  </div>
@@ -759,7 +779,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
759
779
  stroke="currentColor"
760
780
  stroke-width="1.75"
761
781
  stroke-linecap="round"
762
- stroke-linejoin="round">
782
+ stroke-linejoin="round"
783
+ >
763
784
  <circle cx="11" cy="11" r="8" />
764
785
  <path d="m21 21-4.35-4.35" />
765
786
  </svg>
@@ -769,13 +790,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
769
790
  [placeholder]="searchPlaceholder()"
770
791
  [value]="query()"
771
792
  (input)="handleSearchInput($event)"
772
- (keydown.escape)="close()" />
793
+ (keydown.escape)="close()"
794
+ />
773
795
  @if (query().length > 0) {
774
796
  <button
775
797
  type="button"
776
798
  class="inline-flex size-6 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-muted hover:text-foreground"
777
799
  aria-label="Clear search"
778
- (click)="clearSearch($event)">
800
+ (click)="clearSearch($event)"
801
+ >
779
802
  <svg
780
803
  aria-hidden="true"
781
804
  class="size-3.5"
@@ -784,7 +807,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
784
807
  stroke="currentColor"
785
808
  stroke-width="2"
786
809
  stroke-linecap="round"
787
- stroke-linejoin="round">
810
+ stroke-linejoin="round"
811
+ >
788
812
  <path d="M18 6 6 18" />
789
813
  <path d="m6 6 12 12" />
790
814
  </svg>
@@ -800,7 +824,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
800
824
  </div>
801
825
  `,
802
826
  }]
803
- }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], searchPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchPlaceholder", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], searchable: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchable", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }], clearable: [{ type: i0.Input, args: [{ isSignal: true, alias: "clearable", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], emptyText: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyText", required: false }] }], loadingText: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingText", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], ariaDescribedby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-describedby", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], searchChange: [{ type: i0.Output, args: ["searchChange"] }], create: [{ type: i0.Output, args: ["create"] }], openedChange: [{ type: i0.Output, args: ["openedChange"] }], trigger: [{ type: i0.ViewChild, args: ['trigger', { isSignal: true }] }], inlineSearch: [{ type: i0.ViewChild, args: ['inlineSearch', { isSignal: true }] }], panelSearch: [{ type: i0.ViewChild, args: ['panelSearch', { isSignal: true }] }], options: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => PillboxOptionComponent), { ...{ descendants: true }, isSignal: true }] }], createOptions: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => PillboxOptionCreateComponent), { ...{ descendants: true }, isSignal: true }] }], emptyOptions: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => PillboxOptionEmptyComponent), { ...{ descendants: true }, isSignal: true }] }] } });
827
+ }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], searchPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchPlaceholder", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], searchable: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchable", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }], clearable: [{ type: i0.Input, args: [{ isSignal: true, alias: "clearable", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], emptyText: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyText", required: false }] }], loadingText: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingText", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], ariaDescribedby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-describedby", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], searchChange: [{ type: i0.Output, args: ["searchChange"] }], create: [{ type: i0.Output, args: ["create"] }], openedChange: [{ type: i0.Output, args: ["openedChange"] }], trigger: [{ type: i0.ViewChild, args: ['trigger', { isSignal: true }] }], inlineSearch: [{ type: i0.ViewChild, args: ['inlineSearch', { isSignal: true }] }], panelSearch: [{ type: i0.ViewChild, args: ['panelSearch', { isSignal: true }] }], options: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => PillboxOptionComponent), { ...{ descendants: true }, isSignal: true }] }], createOptions: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => PillboxOptionCreateComponent), { ...{
828
+ descendants: true,
829
+ }, isSignal: true }] }], emptyOptions: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => PillboxOptionEmptyComponent), { ...{
830
+ descendants: true,
831
+ }, isSignal: true }] }] } });
804
832
 
805
833
  /**
806
834
  * Generated bundle index. Do not edit.
@@ -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 ProgressComponent {
@@ -31,12 +31,13 @@ class ProgressComponent {
31
31
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: ProgressComponent, isStandalone: true, selector: "ProgressBar", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.role": "\"progressbar\"", "attr.aria-valuemin": "0", "attr.aria-valuemax": "max()", "attr.aria-valuenow": "indeterminate() ? null : clamped()", "attr.aria-label": "ariaLabel()", "attr.aria-labelledby": "ariaLabelledby()", "attr.data-state": "indeterminate() ? \"indeterminate\" : \"determinate\"" } }, ngImport: i0, template: `
32
32
  <div
33
33
  class="progress-indicator h-full w-full flex-1 bg-primary transition-transform"
34
- [style.transform]="indicatorTransform()"></div>
35
- `, isInline: true, styles: [":host{display:block}:host[data-state=indeterminate] .progress-indicator{animation:progress-indeterminate 1.5s cubic-bezier(.65,.815,.735,.395) infinite}@keyframes progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){:host[data-state=indeterminate] .progress-indicator{animation:none}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
34
+ [style.transform]="indicatorTransform()"
35
+ ></div>
36
+ `, isInline: true, styles: [":host{display:block}:host[data-state=indeterminate] .progress-indicator{animation:progress-indeterminate 1.5s cubic-bezier(.65,.815,.735,.395) infinite}@keyframes progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){:host[data-state=indeterminate] .progress-indicator{animation:none}}\n"] });
36
37
  }
37
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: ProgressComponent, decorators: [{
38
39
  type: Component,
39
- args: [{ selector: 'ProgressBar', changeDetection: ChangeDetectionStrategy.OnPush, host: {
40
+ args: [{ selector: 'ProgressBar', host: {
40
41
  '[class]': 'classes()',
41
42
  '[attr.role]': '"progressbar"',
42
43
  '[attr.aria-valuemin]': '0',
@@ -48,7 +49,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
48
49
  }, template: `
49
50
  <div
50
51
  class="progress-indicator h-full w-full flex-1 bg-primary transition-transform"
51
- [style.transform]="indicatorTransform()"></div>
52
+ [style.transform]="indicatorTransform()"
53
+ ></div>
52
54
  `, styles: [":host{display:block}:host[data-state=indeterminate] .progress-indicator{animation:progress-indeterminate 1.5s cubic-bezier(.65,.815,.735,.395) infinite}@keyframes progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){:host[data-state=indeterminate] .progress-indicator{animation:none}}\n"] }]
53
55
  }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], indeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "indeterminate", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
54
56