@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.
- package/fesm2022/ojiepermana-angular-component-accordion.mjs +9 -11
- package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +93 -32
- package/fesm2022/ojiepermana-angular-component-alert.mjs +5 -9
- package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-avatar.mjs +7 -13
- package/fesm2022/ojiepermana-angular-component-badge.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +16 -19
- package/fesm2022/ojiepermana-angular-component-button-group.mjs +4 -7
- package/fesm2022/ojiepermana-angular-component-button.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-calendar.mjs +7 -5
- package/fesm2022/ojiepermana-angular-component-card.mjs +8 -15
- package/fesm2022/ojiepermana-angular-component-carousel.mjs +15 -18
- package/fesm2022/ojiepermana-angular-component-checkbox.mjs +40 -11
- package/fesm2022/ojiepermana-angular-component-collapsible.mjs +8 -6
- package/fesm2022/ojiepermana-angular-component-combobox.mjs +28 -15
- package/fesm2022/ojiepermana-angular-component-command.mjs +9 -17
- package/fesm2022/ojiepermana-angular-component-composer.mjs +15 -18
- package/fesm2022/ojiepermana-angular-component-date-picker.mjs +36 -11
- package/fesm2022/ojiepermana-angular-component-dialog.mjs +85 -30
- package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +31 -26
- package/fesm2022/ojiepermana-angular-component-editor.mjs +37 -28
- package/fesm2022/ojiepermana-angular-component-empty.mjs +7 -13
- package/fesm2022/ojiepermana-angular-component-form.mjs +14 -22
- package/fesm2022/ojiepermana-angular-component-hover-card.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-icon.mjs +51 -6
- package/fesm2022/ojiepermana-angular-component-input-group.mjs +17 -15
- package/fesm2022/ojiepermana-angular-component-input-otp.mjs +15 -14
- package/fesm2022/ojiepermana-angular-component-input.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-item.mjs +11 -21
- package/fesm2022/ojiepermana-angular-component-kanban.mjs +27 -26
- package/fesm2022/ojiepermana-angular-component-kbd.mjs +3 -5
- package/fesm2022/ojiepermana-angular-component-label.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-menubar.mjs +6 -6
- package/fesm2022/ojiepermana-angular-component-native-select.mjs +3 -3
- package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +25 -12
- package/fesm2022/ojiepermana-angular-component-pagination.mjs +22 -13
- package/fesm2022/ojiepermana-angular-component-pillbox.mjs +64 -36
- package/fesm2022/ojiepermana-angular-component-progress.mjs +7 -5
- package/fesm2022/ojiepermana-angular-component-radio.mjs +12 -8
- package/fesm2022/ojiepermana-angular-component-resizable.mjs +22 -11
- package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +8 -6
- package/fesm2022/ojiepermana-angular-component-select.mjs +29 -17
- package/fesm2022/ojiepermana-angular-component-separator.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-sheet.mjs +86 -30
- package/fesm2022/ojiepermana-angular-component-skeleton.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-slider.mjs +25 -13
- package/fesm2022/ojiepermana-angular-component-spinner.mjs +6 -5
- package/fesm2022/ojiepermana-angular-component-switch.mjs +17 -8
- package/fesm2022/ojiepermana-angular-component-table.mjs +9 -17
- package/fesm2022/ojiepermana-angular-component-tabs.mjs +5 -9
- package/fesm2022/ojiepermana-angular-component-textarea.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-timeline.mjs +16 -16
- package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +10 -5
- package/fesm2022/ojiepermana-angular-component-toggle.mjs +2 -3
- package/fesm2022/ojiepermana-angular-component-tooltip.mjs +7 -6
- package/package.json +10 -1
- package/types/ojiepermana-angular-component-alert-dialog.d.ts +42 -3
- package/types/ojiepermana-angular-component-dialog.d.ts +33 -3
- package/types/ojiepermana-angular-component-icon.d.ts +48 -1
- package/types/ojiepermana-angular-component-sheet.d.ts +33 -3
|
@@ -1,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,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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: [
|
|
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: [
|
|
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: [
|
|
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: [
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
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()
|
|
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'
|
|
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"] }]
|
|
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), { ...{
|
|
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,
|
|
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()"
|
|
35
|
-
|
|
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',
|
|
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()"
|
|
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
|
|