@coreui/angular-pro 4.5.28 → 4.5.30
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/esm2022/lib/backdrop/backdrop.service.mjs +53 -29
- package/esm2022/lib/backdrop/index.mjs +2 -0
- package/esm2022/lib/backdrop/public_api.mjs +2 -0
- package/esm2022/lib/modal/modal/modal.component.mjs +86 -57
- package/esm2022/lib/multi-select/multi-select/multi-select.component.mjs +5 -5
- package/esm2022/lib/multi-select/multi-select-option/multi-select-option.component.mjs +50 -63
- package/esm2022/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +4 -4
- package/esm2022/lib/offcanvas/offcanvas/offcanvas.component.mjs +48 -57
- package/esm2022/lib/smart-table/smart-table/smart-table.component.mjs +9 -3
- package/esm2022/lib/smart-table/smart-table-head/smart-table-head.component.mjs +21 -3
- package/esm2022/lib/smart-table/smart-table.type.mjs +1 -1
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/coreui-angular-pro.mjs +289 -233
- package/fesm2022/coreui-angular-pro.mjs.map +1 -1
- package/lib/backdrop/backdrop.service.d.ts +7 -10
- package/lib/backdrop/index.d.ts +1 -0
- package/lib/backdrop/public_api.d.ts +1 -0
- package/lib/modal/modal/modal.component.d.ts +13 -13
- package/lib/multi-select/multi-select-option/multi-select-option.component.d.ts +8 -12
- package/lib/offcanvas/offcanvas/offcanvas.component.d.ts +12 -10
- package/lib/smart-table/smart-table/smart-table.component.d.ts +3 -0
- package/lib/smart-table/smart-table-head/smart-table-head.component.d.ts +4 -1
- package/lib/smart-table/smart-table.type.d.ts +2 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive, Input, NgModule, HostBinding, Injectable, Component, EventEmitter, Output, booleanAttribute, ContentChildren, HostListener, Pipe, ViewChildren, Inject, ViewChild, forwardRef, Optional, ElementRef, ContentChild,
|
|
2
|
+
import { Directive, Input, NgModule, HostBinding, Injectable, Component, EventEmitter, Output, booleanAttribute, ContentChildren, HostListener, inject, RendererFactory2, Pipe, ViewChildren, Inject, ViewChild, forwardRef, Optional, ElementRef, ContentChild, DestroyRef, ChangeDetectionStrategy, signal, computed, NgZone, effect, PLATFORM_ID, TemplateRef, ViewContainerRef, numberAttribute } from '@angular/core';
|
|
3
3
|
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
4
4
|
import * as i1$2 from '@angular/common';
|
|
5
|
-
import { NgTemplateOutlet, NgIf, NgClass, NgForOf, AsyncPipe, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault,
|
|
5
|
+
import { NgTemplateOutlet, NgIf, NgClass, DOCUMENT, NgForOf, AsyncPipe, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, CommonModule, formatDate, I18nPluralPipe, isPlatformBrowser } from '@angular/common';
|
|
6
6
|
import * as i1 from '@angular/animations';
|
|
7
7
|
import { animation, animate, style, useAnimation, trigger, state, transition, group, query } from '@angular/animations';
|
|
8
|
+
import { Subject, BehaviorSubject, Observable, fromEvent, zipWith, withLatestFrom, skip, distinctUntilChanged as distinctUntilChanged$1, map as map$1, debounceTime as debounceTime$1 } from 'rxjs';
|
|
8
9
|
import * as i1$1 from '@angular/router';
|
|
9
10
|
import { RouterModule, NavigationEnd, RouterLink } from '@angular/router';
|
|
10
|
-
import { BehaviorSubject, Observable, fromEvent, zipWith, withLatestFrom, Subject, skip, distinctUntilChanged as distinctUntilChanged$1, map as map$1, debounceTime as debounceTime$1 } from 'rxjs';
|
|
11
11
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
12
12
|
import { filter, tap, distinctUntilChanged, debounceTime, map, delay, combineLatestWith, take } from 'rxjs/operators';
|
|
13
13
|
import * as i1$3 from '@angular/forms';
|
|
@@ -15,7 +15,7 @@ import { FormGroup, FormControl, Validators, NG_VALUE_ACCESSOR, ReactiveFormsMod
|
|
|
15
15
|
import { createPopper } from '@popperjs/core';
|
|
16
16
|
import * as i1$4 from '@angular/cdk/layout';
|
|
17
17
|
import * as i1$5 from '@angular/cdk/a11y';
|
|
18
|
-
import { FocusKeyManager, A11yModule } from '@angular/cdk/a11y';
|
|
18
|
+
import { FocusKeyManager, FocusMonitor, A11yModule } from '@angular/cdk/a11y';
|
|
19
19
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
20
20
|
import { CdkFixedSizeVirtualScroll, CdkVirtualScrollViewport, CdkVirtualForOf } from '@angular/cdk/scrolling';
|
|
21
21
|
import { IconDirective } from '@coreui/icons-angular';
|
|
@@ -1069,6 +1069,84 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1069
1069
|
}]
|
|
1070
1070
|
}] });
|
|
1071
1071
|
|
|
1072
|
+
class BackdropService {
|
|
1073
|
+
constructor() {
|
|
1074
|
+
this.#backdropClick = new Subject();
|
|
1075
|
+
this.backdropClick$ = this.#backdropClick.asObservable();
|
|
1076
|
+
this.#document = inject(DOCUMENT);
|
|
1077
|
+
this.#rendererFactory = inject(RendererFactory2);
|
|
1078
|
+
this.#renderer = this.#rendererFactory.createRenderer(null, null);
|
|
1079
|
+
this.scrollbarWidth = this.#scrollbarWidth;
|
|
1080
|
+
this.#scrollBarVisible = true;
|
|
1081
|
+
}
|
|
1082
|
+
#backdropClick;
|
|
1083
|
+
#document;
|
|
1084
|
+
#rendererFactory;
|
|
1085
|
+
#renderer;
|
|
1086
|
+
#unListen;
|
|
1087
|
+
get #scrollbarWidth() {
|
|
1088
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
|
|
1089
|
+
const documentWidth = this.#document.documentElement.clientWidth;
|
|
1090
|
+
const scrollbarWidth = Math.abs((window?.innerWidth ?? documentWidth) - documentWidth);
|
|
1091
|
+
return `${scrollbarWidth}px`;
|
|
1092
|
+
}
|
|
1093
|
+
setBackdrop(type = 'modal') {
|
|
1094
|
+
const backdropElement = this.#renderer.createElement('div');
|
|
1095
|
+
this.#renderer.addClass(backdropElement, `${type}-backdrop`);
|
|
1096
|
+
this.#renderer.addClass(backdropElement, 'fade');
|
|
1097
|
+
this.#renderer.appendChild(this.#document.body, backdropElement);
|
|
1098
|
+
this.#unListen = this.#renderer.listen(backdropElement, 'click', (e) => {
|
|
1099
|
+
this.onClickHandler();
|
|
1100
|
+
});
|
|
1101
|
+
this.scrollbarWidth = this.#scrollbarWidth;
|
|
1102
|
+
setTimeout(() => {
|
|
1103
|
+
this.#renderer.addClass(backdropElement, 'show');
|
|
1104
|
+
// this.hideScrollbar();
|
|
1105
|
+
});
|
|
1106
|
+
this.activeBackdrop = backdropElement;
|
|
1107
|
+
return backdropElement;
|
|
1108
|
+
}
|
|
1109
|
+
clearBackdrop(backdropElement) {
|
|
1110
|
+
if (backdropElement) {
|
|
1111
|
+
this.#unListen();
|
|
1112
|
+
this.#renderer.removeClass(backdropElement, 'show');
|
|
1113
|
+
setTimeout(() => {
|
|
1114
|
+
this.#renderer.removeChild(this.#document.body, backdropElement);
|
|
1115
|
+
if (this.activeBackdrop === backdropElement) {
|
|
1116
|
+
this.resetScrollbar();
|
|
1117
|
+
}
|
|
1118
|
+
backdropElement = undefined;
|
|
1119
|
+
}, 300);
|
|
1120
|
+
}
|
|
1121
|
+
return undefined;
|
|
1122
|
+
}
|
|
1123
|
+
get #isRTL() { return this.#document.documentElement.dir === 'rtl' || this.#document.body.dir === 'rtl'; }
|
|
1124
|
+
#scrollBarVisible;
|
|
1125
|
+
hideScrollbar() {
|
|
1126
|
+
if (this.#scrollBarVisible) {
|
|
1127
|
+
this.#renderer.setStyle(this.#document.body, 'overflow', 'hidden');
|
|
1128
|
+
this.#renderer.setStyle(this.#document.body, `padding-${this.#isRTL ? 'left' : 'right'}`, this.scrollbarWidth);
|
|
1129
|
+
this.#scrollBarVisible = false;
|
|
1130
|
+
}
|
|
1131
|
+
}
|
|
1132
|
+
resetScrollbar() {
|
|
1133
|
+
this.#renderer.removeStyle(this.#document.body, 'overflow');
|
|
1134
|
+
this.#renderer.removeStyle(this.#document.body, `padding-${this.#isRTL ? 'left' : 'right'}`);
|
|
1135
|
+
this.#scrollBarVisible = true;
|
|
1136
|
+
}
|
|
1137
|
+
onClickHandler() {
|
|
1138
|
+
this.#backdropClick.next(true);
|
|
1139
|
+
}
|
|
1140
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BackdropService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1141
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BackdropService, providedIn: 'root' }); }
|
|
1142
|
+
}
|
|
1143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BackdropService, decorators: [{
|
|
1144
|
+
type: Injectable,
|
|
1145
|
+
args: [{
|
|
1146
|
+
providedIn: 'root'
|
|
1147
|
+
}]
|
|
1148
|
+
}] });
|
|
1149
|
+
|
|
1072
1150
|
class BreadcrumbItemComponent {
|
|
1073
1151
|
get ariaCurrent() {
|
|
1074
1152
|
return this.active ? 'page' : null;
|
|
@@ -8416,12 +8494,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
8416
8494
|
|
|
8417
8495
|
class MultiSelectOptionComponent {
|
|
8418
8496
|
#destroyRef;
|
|
8497
|
+
#ngZone;
|
|
8419
8498
|
constructor(elementRef, changeDetectorRef, focusMonitor, multiSelectService) {
|
|
8420
8499
|
this.elementRef = elementRef;
|
|
8421
8500
|
this.changeDetectorRef = changeDetectorRef;
|
|
8422
8501
|
this.focusMonitor = focusMonitor;
|
|
8423
8502
|
this.multiSelectService = multiSelectService;
|
|
8424
8503
|
this.#destroyRef = inject(DestroyRef);
|
|
8504
|
+
this.#ngZone = inject(NgZone);
|
|
8425
8505
|
/**
|
|
8426
8506
|
* Option style
|
|
8427
8507
|
* @type ('checkbox' | 'text')
|
|
@@ -8429,34 +8509,37 @@ class MultiSelectOptionComponent {
|
|
|
8429
8509
|
*/
|
|
8430
8510
|
this.optionsStyle = this.multiSelectService.optionsStyle;
|
|
8431
8511
|
this.#visible = signal(true);
|
|
8432
|
-
|
|
8512
|
+
/**
|
|
8513
|
+
* Option disabled.
|
|
8514
|
+
* @type boolean
|
|
8515
|
+
* @default false
|
|
8516
|
+
*/
|
|
8517
|
+
this.disabled = false;
|
|
8433
8518
|
this.#selected = signal(undefined);
|
|
8434
|
-
this.#selectedEffect = effect(() => {
|
|
8435
|
-
const value = this.#value();
|
|
8436
|
-
const selected = this.#selected();
|
|
8437
|
-
if ((value !== undefined) && (selected !== undefined)) {
|
|
8438
|
-
selected ? this.multiSelectService.selectionModel?.select(value) : this.multiSelectService.selectionModel?.deselect(value);
|
|
8439
|
-
this.ariaSelected = selected;
|
|
8440
|
-
this.selectedChange.emit(selected);
|
|
8441
|
-
this.changeDetectorRef.markForCheck();
|
|
8442
|
-
}
|
|
8443
|
-
});
|
|
8444
8519
|
/**
|
|
8445
8520
|
* Emits option selected change
|
|
8446
8521
|
* @type boolean
|
|
8447
8522
|
*/
|
|
8448
8523
|
this.selectedChange = new EventEmitter();
|
|
8449
8524
|
this.#value = signal(undefined);
|
|
8450
|
-
this.hasContent = true;
|
|
8525
|
+
this.hasContent = signal(true);
|
|
8451
8526
|
this.#dropdownVisible = signal(false);
|
|
8452
8527
|
this.#active = signal(false);
|
|
8453
|
-
this.#activeEffect = effect(() => {
|
|
8454
|
-
this.tabIndex = this.#active() && this.#visible() ? 0 : -1;
|
|
8455
|
-
});
|
|
8456
8528
|
this.#focused = false;
|
|
8457
8529
|
this.focusChange = new EventEmitter();
|
|
8458
|
-
this.#tabIndex =
|
|
8459
|
-
|
|
8530
|
+
this.#tabIndex = computed(() => {
|
|
8531
|
+
return (this.#active() && this.#visible() ? 0 : -1);
|
|
8532
|
+
});
|
|
8533
|
+
this.#ariaSelected = computed(() => {
|
|
8534
|
+
const value = this.#value();
|
|
8535
|
+
const selected = this.#selected();
|
|
8536
|
+
if ((value !== undefined) && (selected !== undefined)) {
|
|
8537
|
+
selected ? this.multiSelectService.selectionModel?.select(value) : this.multiSelectService.selectionModel?.deselect(value);
|
|
8538
|
+
this.selectedChange.emit(selected);
|
|
8539
|
+
this.changeDetectorRef.markForCheck();
|
|
8540
|
+
}
|
|
8541
|
+
return selected;
|
|
8542
|
+
});
|
|
8460
8543
|
}
|
|
8461
8544
|
/**
|
|
8462
8545
|
* Option visible.
|
|
@@ -8464,24 +8547,12 @@ class MultiSelectOptionComponent {
|
|
|
8464
8547
|
* @default true
|
|
8465
8548
|
*/
|
|
8466
8549
|
set visible(value) {
|
|
8467
|
-
this.#visible.set(
|
|
8550
|
+
this.#visible.set(value);
|
|
8468
8551
|
}
|
|
8469
8552
|
get visible() {
|
|
8470
8553
|
return this.#visible();
|
|
8471
8554
|
}
|
|
8472
8555
|
#visible;
|
|
8473
|
-
/**
|
|
8474
|
-
* Option disabled.
|
|
8475
|
-
* @type boolean
|
|
8476
|
-
* @default false
|
|
8477
|
-
*/
|
|
8478
|
-
set disabled(value) {
|
|
8479
|
-
this.#disabled = coerceBooleanProperty(value);
|
|
8480
|
-
}
|
|
8481
|
-
get disabled() {
|
|
8482
|
-
return this.#disabled;
|
|
8483
|
-
}
|
|
8484
|
-
#disabled;
|
|
8485
8556
|
/**
|
|
8486
8557
|
* Option selected.
|
|
8487
8558
|
* @type boolean
|
|
@@ -8489,7 +8560,7 @@ class MultiSelectOptionComponent {
|
|
|
8489
8560
|
*/
|
|
8490
8561
|
set selected(value) {
|
|
8491
8562
|
if (value !== undefined) {
|
|
8492
|
-
const selected =
|
|
8563
|
+
const selected = booleanAttribute(value);
|
|
8493
8564
|
if (this.#selected() !== selected) {
|
|
8494
8565
|
this.#selected.set(selected);
|
|
8495
8566
|
if (this.value !== undefined) {
|
|
@@ -8502,7 +8573,6 @@ class MultiSelectOptionComponent {
|
|
|
8502
8573
|
return this.#selected();
|
|
8503
8574
|
}
|
|
8504
8575
|
#selected;
|
|
8505
|
-
#selectedEffect;
|
|
8506
8576
|
/**
|
|
8507
8577
|
* Option value.
|
|
8508
8578
|
* @type string
|
|
@@ -8519,7 +8589,7 @@ class MultiSelectOptionComponent {
|
|
|
8519
8589
|
#value;
|
|
8520
8590
|
#dropdownVisible;
|
|
8521
8591
|
set active(value) {
|
|
8522
|
-
const active =
|
|
8592
|
+
const active = value && this.#visible() && !this.disabled;
|
|
8523
8593
|
if (this.#active() !== active) {
|
|
8524
8594
|
this.#active.set(active);
|
|
8525
8595
|
}
|
|
@@ -8528,7 +8598,6 @@ class MultiSelectOptionComponent {
|
|
|
8528
8598
|
return this.#active() && this.#visible();
|
|
8529
8599
|
}
|
|
8530
8600
|
#active;
|
|
8531
|
-
#activeEffect;
|
|
8532
8601
|
#focused;
|
|
8533
8602
|
get role() {
|
|
8534
8603
|
return 'option';
|
|
@@ -8545,25 +8614,14 @@ class MultiSelectOptionComponent {
|
|
|
8545
8614
|
};
|
|
8546
8615
|
}
|
|
8547
8616
|
get tabIndex() {
|
|
8548
|
-
|
|
8549
|
-
return (this.disabled || !this.#visible()) ? -1 : this.#tabIndex;
|
|
8550
|
-
}
|
|
8551
|
-
set tabIndex(tabindex) {
|
|
8552
|
-
setTimeout(() => {
|
|
8553
|
-
this.#tabIndex = tabindex;
|
|
8554
|
-
});
|
|
8617
|
+
return (this.disabled || !this.#visible()) ? -1 : this.#tabIndex();
|
|
8555
8618
|
}
|
|
8556
8619
|
#tabIndex;
|
|
8557
8620
|
get ariaDisabled() {
|
|
8558
8621
|
return this.disabled || null;
|
|
8559
8622
|
}
|
|
8560
8623
|
get ariaSelected() {
|
|
8561
|
-
return this.#ariaSelected;
|
|
8562
|
-
}
|
|
8563
|
-
set ariaSelected(selected) {
|
|
8564
|
-
setTimeout(() => {
|
|
8565
|
-
this.#ariaSelected = selected || undefined;
|
|
8566
|
-
});
|
|
8624
|
+
return this.#ariaSelected() ?? false;
|
|
8567
8625
|
}
|
|
8568
8626
|
#ariaSelected;
|
|
8569
8627
|
onKeyDown($event) {
|
|
@@ -8597,18 +8655,23 @@ class MultiSelectOptionComponent {
|
|
|
8597
8655
|
}
|
|
8598
8656
|
ngAfterViewInit() {
|
|
8599
8657
|
this.setSubscriptions();
|
|
8600
|
-
|
|
8601
|
-
|
|
8602
|
-
|
|
8603
|
-
|
|
8604
|
-
|
|
8605
|
-
|
|
8658
|
+
const hasContent = !!this.contentDiv?.nativeElement.childNodes.length;
|
|
8659
|
+
if (!hasContent) {
|
|
8660
|
+
this.#ngZone.runOutsideAngular(() => {
|
|
8661
|
+
setTimeout(() => {
|
|
8662
|
+
this.hasContent.set(hasContent);
|
|
8663
|
+
// this.#ngZone.run(() => {
|
|
8664
|
+
// this.changeDetectorRef.markForCheck();
|
|
8665
|
+
// });
|
|
8666
|
+
});
|
|
8667
|
+
});
|
|
8668
|
+
}
|
|
8606
8669
|
if (this.text === undefined) {
|
|
8607
8670
|
const innerText = this.elementRef.nativeElement.textContent.trim() || this.elementRef.nativeElement.innerText.trim();
|
|
8608
|
-
this.text = innerText || this.value?.trim()
|
|
8671
|
+
this.text = innerText || this.value?.trim();
|
|
8609
8672
|
}
|
|
8610
8673
|
if (this.label === undefined) {
|
|
8611
|
-
this.label = this.text?.trim()
|
|
8674
|
+
this.label = this.text?.trim();
|
|
8612
8675
|
}
|
|
8613
8676
|
if (this.value === undefined) {
|
|
8614
8677
|
this.value = this.label?.trim() || '...';
|
|
@@ -8657,11 +8720,11 @@ class MultiSelectOptionComponent {
|
|
|
8657
8720
|
return (this.#selected() || this.multiSelectService.selectionModel?.isSelected(value)) ?? false;
|
|
8658
8721
|
}
|
|
8659
8722
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MultiSelectOptionComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$5.FocusMonitor }, { token: MultiSelectService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8660
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
8723
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.12", type: MultiSelectOptionComponent, isStandalone: true, selector: "c-multi-select-option", inputs: { optionsStyle: "optionsStyle", label: "label", text: "text", visible: ["visible", "visible", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], selected: "selected", value: "value", active: ["active", "active", booleanAttribute], role: "role" }, outputs: { selectedChange: "selectedChange", focusChange: "focusChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "blur": "onBlur()", "focus": "onFocus()", "keyup": "onKeyUp($event)", "click": "onClick($event)" }, properties: { "role": "this.role", "class": "this.hostClasses", "attr.tabindex": "this.tabIndex", "attr.disabled": "this.ariaDisabled", "attr.aria-disabled": "this.ariaDisabled", "attr.aria-selected": "this.ariaSelected" } }, viewQueries: [{ propertyName: "contentDiv", first: true, predicate: ["contentDiv"], descendants: true }], exportAs: ["cMultiSelectOption"], ngImport: i0, template: "<div #contentDiv>\n <ng-content></ng-content>\n</div>\n<div *ngIf=\"!hasContent()\">\n {{text ?? label ?? value}}\n</div>\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden}:host.active{border-radius:var(--cui-form-multi-select-option-indicator-border-radius, .375rem);box-shadow:0 0 .125rem 0 var(--cui-gray-400)}:host.focused,:host :focus-visible{box-shadow:0 0 0 .125rem #321fdb40;outline:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8661
8724
|
}
|
|
8662
8725
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MultiSelectOptionComponent, decorators: [{
|
|
8663
8726
|
type: Component,
|
|
8664
|
-
args: [{ selector: 'c-multi-select-option', exportAs: 'cMultiSelectOption', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf], template: "<div #contentDiv>\n <ng-content></ng-content>\n</div>\n<div *ngIf=\"!hasContent\">\n {{text ?? label ?? value}}\n</div>\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden}:host.active{border-radius:var(--cui-form-multi-select-option-indicator-border-radius, .375rem);box-shadow:0 0 .125rem 0 var(--cui-gray-400)}:host.focused,:host :focus-visible{box-shadow:0 0 0 .125rem #321fdb40;outline:none}\n"] }]
|
|
8727
|
+
args: [{ selector: 'c-multi-select-option', exportAs: 'cMultiSelectOption', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf], template: "<div #contentDiv>\n <ng-content></ng-content>\n</div>\n<div *ngIf=\"!hasContent()\">\n {{text ?? label ?? value}}\n</div>\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden}:host.active{border-radius:var(--cui-form-multi-select-option-indicator-border-radius, .375rem);box-shadow:0 0 .125rem 0 var(--cui-gray-400)}:host.focused,:host :focus-visible{box-shadow:0 0 0 .125rem #321fdb40;outline:none}\n"] }]
|
|
8665
8728
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$5.FocusMonitor }, { type: MultiSelectService }]; }, propDecorators: { optionsStyle: [{
|
|
8666
8729
|
type: Input
|
|
8667
8730
|
}], label: [{
|
|
@@ -8669,9 +8732,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
8669
8732
|
}], text: [{
|
|
8670
8733
|
type: Input
|
|
8671
8734
|
}], visible: [{
|
|
8672
|
-
type: Input
|
|
8735
|
+
type: Input,
|
|
8736
|
+
args: [{ transform: booleanAttribute }]
|
|
8673
8737
|
}], disabled: [{
|
|
8674
|
-
type: Input
|
|
8738
|
+
type: Input,
|
|
8739
|
+
args: [{ transform: booleanAttribute }]
|
|
8675
8740
|
}], selected: [{
|
|
8676
8741
|
type: Input
|
|
8677
8742
|
}], selectedChange: [{
|
|
@@ -8682,7 +8747,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
8682
8747
|
type: ViewChild,
|
|
8683
8748
|
args: ['contentDiv']
|
|
8684
8749
|
}], active: [{
|
|
8685
|
-
type: Input
|
|
8750
|
+
type: Input,
|
|
8751
|
+
args: [{ transform: booleanAttribute }]
|
|
8686
8752
|
}], focusChange: [{
|
|
8687
8753
|
type: Output
|
|
8688
8754
|
}], role: [{
|
|
@@ -8824,11 +8890,11 @@ class MultiSelectTagComponent {
|
|
|
8824
8890
|
}
|
|
8825
8891
|
}
|
|
8826
8892
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MultiSelectTagComponent, deps: [{ token: MultiSelectService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8827
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MultiSelectTagComponent, isStandalone: true, selector: "c-multi-select-tag", inputs: { option: "option", disabled: "disabled", label: "label", value: "value" }, outputs: { remove: "remove" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "{{label ?? value ?? '???'}}\n<button (click)=\"handleRemove($event)\" *ngIf=\"!disabled\"\n [disabled]=\"((multiselectVisible$ | async) ?? true) === false\" aria-label=\"Clear\"\n class=\"form-multi-select-tag-delete close\" type=\"button\">\n <span aria-hidden=\"true\">\u00D7</span>\n</button>\n", styles: [":host .btn-xs{padding-left:.125rem;padding-right:.125rem;font-size:.575rem;border-radius:.2rem}:host.form-multi-select-tag{-webkit-user-select:none;user-select:none;pointer-events:all}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
8893
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MultiSelectTagComponent, isStandalone: true, selector: "c-multi-select-tag", inputs: { option: "option", disabled: "disabled", label: "label", value: "value" }, outputs: { remove: "remove" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "{{label ?? value ?? '???'}}\n<button (click)=\"handleRemove($event)\" *ngIf=\"!disabled\"\n [disabled]=\"((multiselectVisible$ | async) ?? true) === false\" aria-label=\"Clear\"\n class=\"form-multi-select-tag-delete close\" type=\"button\">\n <span aria-hidden=\"true\">\u00D7</span>\n</button>\n", styles: [":host .btn-xs{padding-left:.125rem;padding-right:.125rem;font-size:.575rem;border-radius:.2rem}:host.form-multi-select-tag{-webkit-user-select:none;user-select:none;pointer-events:all}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8828
8894
|
}
|
|
8829
8895
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MultiSelectTagComponent, decorators: [{
|
|
8830
8896
|
type: Component,
|
|
8831
|
-
args: [{ selector: 'c-multi-select-tag', standalone: true, imports: [NgIf, AsyncPipe], template: "{{label ?? value ?? '???'}}\n<button (click)=\"handleRemove($event)\" *ngIf=\"!disabled\"\n [disabled]=\"((multiselectVisible$ | async) ?? true) === false\" aria-label=\"Clear\"\n class=\"form-multi-select-tag-delete close\" type=\"button\">\n <span aria-hidden=\"true\">\u00D7</span>\n</button>\n", styles: [":host .btn-xs{padding-left:.125rem;padding-right:.125rem;font-size:.575rem;border-radius:.2rem}:host.form-multi-select-tag{-webkit-user-select:none;user-select:none;pointer-events:all}\n"] }]
|
|
8897
|
+
args: [{ selector: 'c-multi-select-tag', standalone: true, imports: [NgIf, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "{{label ?? value ?? '???'}}\n<button (click)=\"handleRemove($event)\" *ngIf=\"!disabled\"\n [disabled]=\"((multiselectVisible$ | async) ?? true) === false\" aria-label=\"Clear\"\n class=\"form-multi-select-tag-delete close\" type=\"button\">\n <span aria-hidden=\"true\">\u00D7</span>\n</button>\n", styles: [":host .btn-xs{padding-left:.125rem;padding-right:.125rem;font-size:.575rem;border-radius:.2rem}:host.form-multi-select-tag{-webkit-user-select:none;user-select:none;pointer-events:all}\n"] }]
|
|
8832
8898
|
}], ctorParameters: function () { return [{ type: MultiSelectService }]; }, propDecorators: { option: [{
|
|
8833
8899
|
type: Input
|
|
8834
8900
|
}], disabled: [{
|
|
@@ -9445,9 +9511,9 @@ class MultiSelectComponent {
|
|
|
9445
9511
|
this.setFocus('program', 'selectionModel.changed (single)');
|
|
9446
9512
|
}), takeUntilDestroyed(this.destroyRef))
|
|
9447
9513
|
.subscribe();
|
|
9448
|
-
this.#optionsReady$.pipe(filter(() => !this.virtualScroller),
|
|
9514
|
+
this.#optionsReady$.pipe(filter(() => !this.virtualScroller), delay(0), tap(() => {
|
|
9449
9515
|
this.setFocusKeyManager([...this.multiSelectOptionsContent, ...this.multiSelectOptionsView]);
|
|
9450
|
-
})).subscribe();
|
|
9516
|
+
}), takeUntilDestroyed(this.destroyRef)).subscribe();
|
|
9451
9517
|
this.multiSelectService.selectionModel.changed
|
|
9452
9518
|
.pipe(tap(change => {
|
|
9453
9519
|
const { added } = { ...change };
|
|
@@ -9872,9 +9938,9 @@ class MultiSelectComponent {
|
|
|
9872
9938
|
setListKeyManager() {
|
|
9873
9939
|
// run once on multiSelectOptionsContent first set
|
|
9874
9940
|
this.multiSelectOptionsContent.changes
|
|
9875
|
-
.pipe(filter((changes) => this.virtualScroller), take(1),
|
|
9941
|
+
.pipe(filter((changes) => this.virtualScroller), take(1), tap(() => {
|
|
9876
9942
|
this.setFocusKeyManager(this.multiSelectOptionsContent);
|
|
9877
|
-
}))
|
|
9943
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
9878
9944
|
.subscribe();
|
|
9879
9945
|
}
|
|
9880
9946
|
setFocusKeyManager(focusableOptions) {
|
|
@@ -10672,67 +10738,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
10672
10738
|
args: ['class']
|
|
10673
10739
|
}] } });
|
|
10674
10740
|
|
|
10675
|
-
class BackdropService {
|
|
10676
|
-
constructor(document, rendererFactory) {
|
|
10677
|
-
this.document = document;
|
|
10678
|
-
this.rendererFactory = rendererFactory;
|
|
10679
|
-
this.backdropClick = new Subject();
|
|
10680
|
-
this.backdropClick$ = this.backdropClick.asObservable();
|
|
10681
|
-
this.renderer = rendererFactory.createRenderer(null, null);
|
|
10682
|
-
}
|
|
10683
|
-
get scrollbarWidth() {
|
|
10684
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
|
|
10685
|
-
const documentWidth = this.document.documentElement.clientWidth;
|
|
10686
|
-
const scrollbarWidth = Math.abs((window?.innerWidth ?? documentWidth) - documentWidth);
|
|
10687
|
-
return `${scrollbarWidth}px`;
|
|
10688
|
-
}
|
|
10689
|
-
setBackdrop(type = 'modal') {
|
|
10690
|
-
const backdropElement = this.renderer.createElement('div');
|
|
10691
|
-
this.renderer.addClass(backdropElement, `${type}-backdrop`);
|
|
10692
|
-
this.renderer.addClass(backdropElement, 'fade');
|
|
10693
|
-
this.renderer.appendChild(this.document.body, backdropElement);
|
|
10694
|
-
this.unListen = this.renderer.listen(backdropElement, 'click', (e) => {
|
|
10695
|
-
this.onClickHandler();
|
|
10696
|
-
});
|
|
10697
|
-
setTimeout(() => {
|
|
10698
|
-
this.renderer.addClass(backdropElement, 'show');
|
|
10699
|
-
});
|
|
10700
|
-
return backdropElement;
|
|
10701
|
-
}
|
|
10702
|
-
clearBackdrop(backdrop) {
|
|
10703
|
-
if (backdrop) {
|
|
10704
|
-
this.unListen();
|
|
10705
|
-
this.renderer.removeClass(backdrop, 'show');
|
|
10706
|
-
setTimeout(() => {
|
|
10707
|
-
this.renderer.removeChild(this.document.body, backdrop);
|
|
10708
|
-
backdrop = undefined;
|
|
10709
|
-
}, 300);
|
|
10710
|
-
}
|
|
10711
|
-
return backdrop;
|
|
10712
|
-
}
|
|
10713
|
-
onClickHandler() {
|
|
10714
|
-
this.backdropClick.next(true);
|
|
10715
|
-
}
|
|
10716
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BackdropService, deps: [{ token: DOCUMENT }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10717
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BackdropService, providedIn: 'root' }); }
|
|
10718
|
-
}
|
|
10719
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BackdropService, decorators: [{
|
|
10720
|
-
type: Injectable,
|
|
10721
|
-
args: [{
|
|
10722
|
-
providedIn: 'root'
|
|
10723
|
-
}]
|
|
10724
|
-
}], ctorParameters: function () { return [{ type: Document, decorators: [{
|
|
10725
|
-
type: Inject,
|
|
10726
|
-
args: [DOCUMENT]
|
|
10727
|
-
}] }, { type: i0.RendererFactory2 }]; } });
|
|
10728
|
-
|
|
10729
10741
|
class ModalComponent {
|
|
10742
|
+
#destroyRef;
|
|
10743
|
+
#focusMonitor;
|
|
10730
10744
|
constructor(document, renderer, hostElement, modalService, backdropService) {
|
|
10731
10745
|
this.document = document;
|
|
10732
10746
|
this.renderer = renderer;
|
|
10733
10747
|
this.hostElement = hostElement;
|
|
10734
10748
|
this.modalService = modalService;
|
|
10735
10749
|
this.backdropService = backdropService;
|
|
10750
|
+
this.#destroyRef = inject(DestroyRef);
|
|
10751
|
+
this.#focusMonitor = inject(FocusMonitor);
|
|
10736
10752
|
/**
|
|
10737
10753
|
* Align the modal in the center or top of the screen.
|
|
10738
10754
|
* @type {'top' | 'center'}
|
|
@@ -10761,46 +10777,72 @@ class ModalComponent {
|
|
|
10761
10777
|
* @default 'dialog'
|
|
10762
10778
|
*/
|
|
10763
10779
|
this.role = 'dialog';
|
|
10780
|
+
this.#ariaModal = null;
|
|
10764
10781
|
/**
|
|
10765
|
-
*
|
|
10782
|
+
* Create a scrollable modal that allows scrolling the modal body.
|
|
10766
10783
|
* @type boolean
|
|
10767
|
-
* @default true
|
|
10768
10784
|
*/
|
|
10769
|
-
this.
|
|
10770
|
-
this
|
|
10785
|
+
this.scrollable = false;
|
|
10786
|
+
this.#visible = signal(false);
|
|
10787
|
+
this.#activeElement = null;
|
|
10788
|
+
this.#visibleEffect = effect(() => {
|
|
10789
|
+
if (this.#visible() && this.#afterViewInit()) {
|
|
10790
|
+
this.#activeElement = this.document.activeElement;
|
|
10791
|
+
// this.#activeElement?.blur();
|
|
10792
|
+
setTimeout(() => {
|
|
10793
|
+
const focusable = this.modalContentRef.nativeElement.querySelectorAll('[tabindex]:not([tabindex="-1"]), button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled])');
|
|
10794
|
+
this.#focusMonitor.focusVia(focusable[0], 'keyboard');
|
|
10795
|
+
});
|
|
10796
|
+
}
|
|
10797
|
+
else {
|
|
10798
|
+
if (this.document.contains(this.#activeElement)) {
|
|
10799
|
+
setTimeout(() => {
|
|
10800
|
+
this.#activeElement?.focus();
|
|
10801
|
+
this.#activeElement = null;
|
|
10802
|
+
});
|
|
10803
|
+
}
|
|
10804
|
+
}
|
|
10805
|
+
});
|
|
10771
10806
|
/**
|
|
10772
10807
|
* Event triggered on modal dismiss.
|
|
10773
10808
|
*/
|
|
10774
10809
|
this.visibleChange = new EventEmitter();
|
|
10775
10810
|
this._show = true;
|
|
10776
10811
|
this.mouseDownTarget = null;
|
|
10812
|
+
this.#afterViewInit = signal(false);
|
|
10777
10813
|
}
|
|
10778
10814
|
/**
|
|
10779
|
-
*
|
|
10815
|
+
* Set aria-modal html attr for modal. [docs]
|
|
10780
10816
|
* @type boolean
|
|
10817
|
+
* @default null
|
|
10781
10818
|
*/
|
|
10782
|
-
set
|
|
10783
|
-
this
|
|
10819
|
+
set ariaModal(value) {
|
|
10820
|
+
this.#ariaModal = value;
|
|
10784
10821
|
}
|
|
10785
|
-
get
|
|
10786
|
-
return this.
|
|
10822
|
+
get ariaModal() {
|
|
10823
|
+
return this.visible || this.#ariaModal ? true : null;
|
|
10787
10824
|
}
|
|
10825
|
+
;
|
|
10826
|
+
#ariaModal;
|
|
10788
10827
|
/**
|
|
10789
10828
|
* Toggle the visibility of modal component.
|
|
10790
10829
|
* @type boolean
|
|
10791
10830
|
*/
|
|
10792
10831
|
set visible(value) {
|
|
10793
|
-
|
|
10794
|
-
|
|
10795
|
-
this.
|
|
10796
|
-
this.
|
|
10797
|
-
this.
|
|
10798
|
-
this.visibleChange.emit(newValue);
|
|
10832
|
+
if (this.#visible() !== value) {
|
|
10833
|
+
this.#visible.set(value);
|
|
10834
|
+
this.setBackdrop(this.backdrop !== false && value);
|
|
10835
|
+
this.setBodyStyles(value);
|
|
10836
|
+
this.visibleChange.emit(value);
|
|
10799
10837
|
}
|
|
10800
10838
|
}
|
|
10801
10839
|
get visible() {
|
|
10802
|
-
return this
|
|
10840
|
+
return this.#visible();
|
|
10803
10841
|
}
|
|
10842
|
+
#visible;
|
|
10843
|
+
#activeElement;
|
|
10844
|
+
#visibleEffect;
|
|
10845
|
+
#activeBackdrop;
|
|
10804
10846
|
// private inBoundingClientRect!: boolean;
|
|
10805
10847
|
get hostClasses() {
|
|
10806
10848
|
return {
|
|
@@ -10826,10 +10868,8 @@ class ModalComponent {
|
|
|
10826
10868
|
this._show = value;
|
|
10827
10869
|
}
|
|
10828
10870
|
animateStart(event) {
|
|
10829
|
-
const scrollbarWidth = this.backdropService.scrollbarWidth;
|
|
10830
10871
|
if (event.toState === 'visible') {
|
|
10831
|
-
this.
|
|
10832
|
-
this.renderer.setStyle(this.document.body, 'padding-right', scrollbarWidth);
|
|
10872
|
+
this.backdropService.hideScrollbar();
|
|
10833
10873
|
this.renderer.setStyle(this.hostElement.nativeElement, 'display', 'block');
|
|
10834
10874
|
}
|
|
10835
10875
|
else {
|
|
@@ -10842,8 +10882,6 @@ class ModalComponent {
|
|
|
10842
10882
|
setTimeout(() => {
|
|
10843
10883
|
if (event.toState === 'hidden') {
|
|
10844
10884
|
this.renderer.setStyle(this.hostElement.nativeElement, 'display', 'none');
|
|
10845
|
-
this.renderer.removeStyle(this.document.body, 'overflow');
|
|
10846
|
-
this.renderer.removeStyle(this.document.body, 'padding-right');
|
|
10847
10885
|
}
|
|
10848
10886
|
});
|
|
10849
10887
|
this.show = this.visible;
|
|
@@ -10878,36 +10916,32 @@ class ModalComponent {
|
|
|
10878
10916
|
ngOnInit() {
|
|
10879
10917
|
this.stateToggleSubscribe();
|
|
10880
10918
|
}
|
|
10919
|
+
#afterViewInit;
|
|
10920
|
+
ngAfterViewInit() {
|
|
10921
|
+
this.#afterViewInit.set(true);
|
|
10922
|
+
}
|
|
10881
10923
|
ngOnDestroy() {
|
|
10882
10924
|
this.modalService.toggle({ show: false, modal: this });
|
|
10883
|
-
this.
|
|
10925
|
+
this.#afterViewInit.set(false);
|
|
10884
10926
|
}
|
|
10885
|
-
stateToggleSubscribe(
|
|
10886
|
-
|
|
10887
|
-
|
|
10888
|
-
|
|
10889
|
-
|
|
10890
|
-
|
|
10891
|
-
|
|
10927
|
+
stateToggleSubscribe() {
|
|
10928
|
+
this.modalService.modalState$
|
|
10929
|
+
.pipe(takeUntilDestroyed(this.#destroyRef))
|
|
10930
|
+
.subscribe((action) => {
|
|
10931
|
+
if (this === action.modal || this.id === action.id) {
|
|
10932
|
+
if ('show' in action) {
|
|
10933
|
+
this.visible = action?.show === 'toggle' ? !this.visible : action.show;
|
|
10892
10934
|
}
|
|
10893
|
-
|
|
10894
|
-
|
|
10895
|
-
|
|
10896
|
-
|
|
10935
|
+
}
|
|
10936
|
+
else {
|
|
10937
|
+
if (this.visible) {
|
|
10938
|
+
this.visible = false;
|
|
10897
10939
|
}
|
|
10898
|
-
}
|
|
10899
|
-
}
|
|
10900
|
-
else {
|
|
10901
|
-
this.stateToggleSubscription?.unsubscribe();
|
|
10902
|
-
}
|
|
10940
|
+
}
|
|
10941
|
+
});
|
|
10903
10942
|
}
|
|
10904
10943
|
setBackdrop(setBackdrop) {
|
|
10905
|
-
|
|
10906
|
-
this.activeBackdrop = this.backdropService.setBackdrop('modal');
|
|
10907
|
-
}
|
|
10908
|
-
else {
|
|
10909
|
-
this.activeBackdrop = this.backdropService.clearBackdrop(this.activeBackdrop);
|
|
10910
|
-
}
|
|
10944
|
+
this.#activeBackdrop = setBackdrop ? this.backdropService.setBackdrop('modal') : this.backdropService.clearBackdrop(this.#activeBackdrop);
|
|
10911
10945
|
}
|
|
10912
10946
|
setBodyStyles(open) {
|
|
10913
10947
|
if (open) {
|
|
@@ -10930,7 +10964,7 @@ class ModalComponent {
|
|
|
10930
10964
|
}
|
|
10931
10965
|
}
|
|
10932
10966
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: ModalService }, { token: BackdropService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10933
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
10967
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.12", type: ModalComponent, isStandalone: true, selector: "c-modal", inputs: { alignment: "alignment", backdrop: "backdrop", fullscreen: "fullscreen", keyboard: ["keyboard", "keyboard", booleanAttribute], id: "id", size: "size", transition: ["transition", "transition", booleanAttribute], role: "role", ariaModal: "ariaModal", scrollable: ["scrollable", "scrollable", booleanAttribute], visible: ["visible", "visible", booleanAttribute] }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "@showHide.start": "animateStart($event)", "@showHide.done": "animateDone($event)", "document:keyup": "onKeyDownHandler($event)", "mousedown": "onMouseDownHandler($event)", "click": "onClickHandler($event)" }, properties: { "attr.role": "this.role", "attr.aria-modal": "this.ariaModal", "class": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden", "attr.tabindex": "this.tabIndex", "@showHide": "this.animateTrigger" } }, viewQueries: [{ propertyName: "modalContent", first: true, predicate: ModalContentComponent, descendants: true, read: ElementRef }, { propertyName: "modalContentRef", first: true, predicate: ["modalContentRef"], descendants: true, read: ElementRef }], exportAs: ["cModal"], ngImport: i0, template: "<c-modal-dialog\n [alignment]=\"alignment\"\n [fullscreen]=\"fullscreen\"\n [scrollable]=\"scrollable\"\n [size]=\"size\">\n <c-modal-content>\n <div [cdkTrapFocus]=\"visible\" [cdkTrapFocusAutoCapture]=\"visible\" style=\"display: contents;\" #modalContentRef>\n <ng-content></ng-content>\n </div>\n </c-modal-content>\n</c-modal-dialog>\n", dependencies: [{ kind: "component", type: ModalDialogComponent, selector: "c-modal-dialog", inputs: ["alignment", "fullscreen", "scrollable", "size"] }, { kind: "component", type: ModalContentComponent, selector: "c-modal-content" }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1$5.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
|
|
10934
10968
|
trigger('showHide', [
|
|
10935
10969
|
state('visible', style({
|
|
10936
10970
|
// display: 'block'
|
|
@@ -10938,7 +10972,7 @@ class ModalComponent {
|
|
|
10938
10972
|
state('hidden', style({
|
|
10939
10973
|
// display: 'none'
|
|
10940
10974
|
})),
|
|
10941
|
-
transition('visible <=> *', [animate('
|
|
10975
|
+
transition('visible <=> *', [animate('150ms')])
|
|
10942
10976
|
])
|
|
10943
10977
|
] }); }
|
|
10944
10978
|
}
|
|
@@ -10952,9 +10986,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
10952
10986
|
state('hidden', style({
|
|
10953
10987
|
// display: 'none'
|
|
10954
10988
|
})),
|
|
10955
|
-
transition('visible <=> *', [animate('
|
|
10989
|
+
transition('visible <=> *', [animate('150ms')])
|
|
10956
10990
|
])
|
|
10957
|
-
], exportAs: 'cModal', standalone: true, imports: [ModalDialogComponent, ModalContentComponent, A11yModule], template: "<c-modal-dialog\n [alignment]=\"alignment\"\n [fullscreen]=\"fullscreen\"\n [scrollable]=\"scrollable\"\n [size]=\"size\">\n <c-modal-content>\n <div [cdkTrapFocus]=\"visible\" [cdkTrapFocusAutoCapture]=\"visible\" style=\"display: contents;\">\n <ng-content></ng-content>\n </div>\n </c-modal-content>\n</c-modal-dialog>\n" }]
|
|
10991
|
+
], exportAs: 'cModal', standalone: true, imports: [ModalDialogComponent, ModalContentComponent, A11yModule], template: "<c-modal-dialog\n [alignment]=\"alignment\"\n [fullscreen]=\"fullscreen\"\n [scrollable]=\"scrollable\"\n [size]=\"size\">\n <c-modal-content>\n <div [cdkTrapFocus]=\"visible\" [cdkTrapFocusAutoCapture]=\"visible\" style=\"display: contents;\" #modalContentRef>\n <ng-content></ng-content>\n </div>\n </c-modal-content>\n</c-modal-dialog>\n" }]
|
|
10958
10992
|
}], ctorParameters: function () { return [{ type: Document, decorators: [{
|
|
10959
10993
|
type: Inject,
|
|
10960
10994
|
args: [DOCUMENT]
|
|
@@ -10965,13 +10999,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
10965
10999
|
}], fullscreen: [{
|
|
10966
11000
|
type: Input
|
|
10967
11001
|
}], keyboard: [{
|
|
10968
|
-
type: Input
|
|
11002
|
+
type: Input,
|
|
11003
|
+
args: [{ transform: booleanAttribute }]
|
|
10969
11004
|
}], id: [{
|
|
10970
11005
|
type: Input
|
|
10971
11006
|
}], size: [{
|
|
10972
11007
|
type: Input
|
|
10973
11008
|
}], transition: [{
|
|
10974
|
-
type: Input
|
|
11009
|
+
type: Input,
|
|
11010
|
+
args: [{ transform: booleanAttribute }]
|
|
10975
11011
|
}], role: [{
|
|
10976
11012
|
type: Input
|
|
10977
11013
|
}, {
|
|
@@ -10983,14 +11019,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
10983
11019
|
type: HostBinding,
|
|
10984
11020
|
args: ['attr.aria-modal']
|
|
10985
11021
|
}], scrollable: [{
|
|
10986
|
-
type: Input
|
|
11022
|
+
type: Input,
|
|
11023
|
+
args: [{ transform: booleanAttribute }]
|
|
10987
11024
|
}], visible: [{
|
|
10988
|
-
type: Input
|
|
11025
|
+
type: Input,
|
|
11026
|
+
args: [{ transform: booleanAttribute }]
|
|
10989
11027
|
}], visibleChange: [{
|
|
10990
11028
|
type: Output
|
|
10991
11029
|
}], modalContent: [{
|
|
10992
11030
|
type: ViewChild,
|
|
10993
11031
|
args: [ModalContentComponent, { read: ElementRef }]
|
|
11032
|
+
}], modalContentRef: [{
|
|
11033
|
+
type: ViewChild,
|
|
11034
|
+
args: ['modalContentRef', { read: ElementRef }]
|
|
10994
11035
|
}], hostClasses: [{
|
|
10995
11036
|
type: HostBinding,
|
|
10996
11037
|
args: ['class']
|
|
@@ -11086,6 +11127,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
11086
11127
|
|
|
11087
11128
|
let nextId = 0;
|
|
11088
11129
|
class OffcanvasComponent {
|
|
11130
|
+
#destroyRef;
|
|
11089
11131
|
constructor(document, platformId, renderer, hostElement, offcanvasService, backdropService, breakpointObserver) {
|
|
11090
11132
|
this.document = document;
|
|
11091
11133
|
this.platformId = platformId;
|
|
@@ -11094,6 +11136,7 @@ class OffcanvasComponent {
|
|
|
11094
11136
|
this.offcanvasService = offcanvasService;
|
|
11095
11137
|
this.backdropService = backdropService;
|
|
11096
11138
|
this.breakpointObserver = breakpointObserver;
|
|
11139
|
+
this.#destroyRef = inject(DestroyRef);
|
|
11097
11140
|
/**
|
|
11098
11141
|
* Apply a backdrop on body while offcanvas is open.
|
|
11099
11142
|
* @type boolean | 'static'
|
|
@@ -11132,43 +11175,31 @@ class OffcanvasComponent {
|
|
|
11132
11175
|
* @default true
|
|
11133
11176
|
*/
|
|
11134
11177
|
this.ariaModal = true;
|
|
11178
|
+
this.#show = false;
|
|
11179
|
+
/**
|
|
11180
|
+
* Allow body scrolling while offcanvas is visible.
|
|
11181
|
+
* @type boolean
|
|
11182
|
+
* @default false
|
|
11183
|
+
*/
|
|
11184
|
+
this.scroll = false;
|
|
11185
|
+
this.#visible = false;
|
|
11135
11186
|
/**
|
|
11136
11187
|
* Event triggered on visible change.
|
|
11188
|
+
* @type EventEmitter<boolean>
|
|
11137
11189
|
*/
|
|
11138
11190
|
this.visibleChange = new EventEmitter();
|
|
11139
|
-
this.#scroll = false;
|
|
11140
|
-
this.#visible = false;
|
|
11141
|
-
this.#show = false;
|
|
11142
11191
|
}
|
|
11143
|
-
#scroll;
|
|
11144
|
-
#visible;
|
|
11145
11192
|
#activeBackdrop;
|
|
11146
|
-
#scrollbarWidth;
|
|
11147
|
-
#stateToggleSubscription;
|
|
11148
11193
|
#backdropClickSubscription;
|
|
11149
11194
|
#layoutChangeSubscription;
|
|
11150
11195
|
#show;
|
|
11151
|
-
get scroll() {
|
|
11152
|
-
return this.#scroll;
|
|
11153
|
-
}
|
|
11154
|
-
/**
|
|
11155
|
-
* Allow body scrolling while offcanvas is visible.
|
|
11156
|
-
* @type boolean
|
|
11157
|
-
* @default false
|
|
11158
|
-
*/
|
|
11159
|
-
set scroll(value) {
|
|
11160
|
-
this.#scroll = coerceBooleanProperty(value);
|
|
11161
|
-
}
|
|
11162
|
-
get visible() {
|
|
11163
|
-
return this.#visible;
|
|
11164
|
-
}
|
|
11165
11196
|
/**
|
|
11166
11197
|
* Toggle the visibility of offcanvas component.
|
|
11167
11198
|
* @type boolean
|
|
11168
11199
|
* @default false
|
|
11169
11200
|
*/
|
|
11170
11201
|
set visible(value) {
|
|
11171
|
-
this.#visible =
|
|
11202
|
+
this.#visible = value;
|
|
11172
11203
|
if (this.#visible) {
|
|
11173
11204
|
this.setBackdrop(this.backdrop);
|
|
11174
11205
|
this.setFocus();
|
|
@@ -11179,6 +11210,10 @@ class OffcanvasComponent {
|
|
|
11179
11210
|
this.layoutChangeSubscribe(this.#visible);
|
|
11180
11211
|
this.visibleChange.emit(value);
|
|
11181
11212
|
}
|
|
11213
|
+
get visible() {
|
|
11214
|
+
return this.#visible;
|
|
11215
|
+
}
|
|
11216
|
+
#visible;
|
|
11182
11217
|
get hostClasses() {
|
|
11183
11218
|
return {
|
|
11184
11219
|
offcanvas: typeof this.responsive === 'boolean',
|
|
@@ -11212,11 +11247,9 @@ class OffcanvasComponent {
|
|
|
11212
11247
|
return breakpointValue ? `${parseFloat(breakpointValue.trim()) - 0.02}px` : false;
|
|
11213
11248
|
}
|
|
11214
11249
|
animateStart(event) {
|
|
11215
|
-
const scrollbarWidth = this.#scrollbarWidth;
|
|
11216
11250
|
if (event.toState === 'visible') {
|
|
11217
11251
|
if (!this.scroll) {
|
|
11218
|
-
this.
|
|
11219
|
-
this.renderer.setStyle(this.document.body, 'padding-right', scrollbarWidth);
|
|
11252
|
+
this.backdropService.hideScrollbar();
|
|
11220
11253
|
}
|
|
11221
11254
|
this.renderer.addClass(this.hostElement.nativeElement, 'showing');
|
|
11222
11255
|
}
|
|
@@ -11246,7 +11279,6 @@ class OffcanvasComponent {
|
|
|
11246
11279
|
}
|
|
11247
11280
|
}
|
|
11248
11281
|
ngOnInit() {
|
|
11249
|
-
this.#scrollbarWidth = this.backdropService.scrollbarWidth;
|
|
11250
11282
|
this.stateToggleSubscribe();
|
|
11251
11283
|
setTimeout(() => {
|
|
11252
11284
|
// hotfix to avoid offcanvas flicker on the first render
|
|
@@ -11255,33 +11287,30 @@ class OffcanvasComponent {
|
|
|
11255
11287
|
}
|
|
11256
11288
|
ngOnDestroy() {
|
|
11257
11289
|
this.offcanvasService.toggle({ show: false, id: this.id });
|
|
11258
|
-
this.stateToggleSubscribe(false);
|
|
11259
11290
|
}
|
|
11260
11291
|
setFocus() {
|
|
11261
11292
|
if (isPlatformBrowser(this.platformId)) {
|
|
11262
11293
|
setTimeout(() => this.hostElement.nativeElement.focus());
|
|
11263
11294
|
}
|
|
11264
11295
|
}
|
|
11265
|
-
stateToggleSubscribe(
|
|
11266
|
-
|
|
11267
|
-
this.#
|
|
11268
|
-
|
|
11269
|
-
|
|
11270
|
-
|
|
11271
|
-
|
|
11272
|
-
|
|
11273
|
-
|
|
11274
|
-
|
|
11275
|
-
|
|
11276
|
-
}
|
|
11277
|
-
else {
|
|
11278
|
-
this.#stateToggleSubscription?.unsubscribe();
|
|
11279
|
-
}
|
|
11296
|
+
stateToggleSubscribe() {
|
|
11297
|
+
this.offcanvasService.offcanvasState$
|
|
11298
|
+
.pipe(takeUntilDestroyed(this.#destroyRef))
|
|
11299
|
+
.subscribe((action) => {
|
|
11300
|
+
if (this === action.offcanvas || this.id === action.id) {
|
|
11301
|
+
if ('show' in action) {
|
|
11302
|
+
this.visible =
|
|
11303
|
+
action?.show === 'toggle' ? !this.visible : action.show;
|
|
11304
|
+
}
|
|
11305
|
+
}
|
|
11306
|
+
});
|
|
11280
11307
|
}
|
|
11281
11308
|
backdropClickSubscribe(subscribe = true) {
|
|
11282
11309
|
if (subscribe) {
|
|
11283
11310
|
this.#backdropClickSubscription =
|
|
11284
|
-
this.backdropService.backdropClick
|
|
11311
|
+
this.backdropService.backdropClick$
|
|
11312
|
+
.pipe(takeUntilDestroyed(this.#destroyRef))
|
|
11313
|
+
.subscribe((clicked) => {
|
|
11285
11314
|
this.offcanvasService.toggle({ show: !clicked, id: this.id });
|
|
11286
11315
|
});
|
|
11287
11316
|
}
|
|
@@ -11290,7 +11319,6 @@ class OffcanvasComponent {
|
|
|
11290
11319
|
}
|
|
11291
11320
|
}
|
|
11292
11321
|
setBackdrop(setBackdrop) {
|
|
11293
|
-
this.#scrollbarWidth = this.backdropService.scrollbarWidth;
|
|
11294
11322
|
this.#activeBackdrop = !!setBackdrop ? this.backdropService.setBackdrop('offcanvas')
|
|
11295
11323
|
: this.backdropService.clearBackdrop(this.#activeBackdrop);
|
|
11296
11324
|
setBackdrop === true ? this.backdropClickSubscribe()
|
|
@@ -11304,7 +11332,7 @@ class OffcanvasComponent {
|
|
|
11304
11332
|
const responsiveBreakpoint = `(max-width: ${this.responsiveBreakpoint})`;
|
|
11305
11333
|
const layoutChanges = this.breakpointObserver.observe([responsiveBreakpoint]);
|
|
11306
11334
|
this.#layoutChangeSubscription = layoutChanges
|
|
11307
|
-
.pipe(filter(breakpointState => !breakpointState.matches))
|
|
11335
|
+
.pipe(filter(breakpointState => !breakpointState.matches), takeUntilDestroyed(this.#destroyRef))
|
|
11308
11336
|
.subscribe((breakpointState) => {
|
|
11309
11337
|
this.visible = breakpointState.matches;
|
|
11310
11338
|
});
|
|
@@ -11314,7 +11342,7 @@ class OffcanvasComponent {
|
|
|
11314
11342
|
}
|
|
11315
11343
|
}
|
|
11316
11344
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OffcanvasComponent, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: OffcanvasService }, { token: BackdropService }, { token: i1$4.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11317
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
11345
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.12", type: OffcanvasComponent, isStandalone: true, selector: "c-offcanvas", inputs: { backdrop: "backdrop", keyboard: ["keyboard", "keyboard", booleanAttribute], placement: "placement", responsive: "responsive", id: "id", role: "role", ariaModal: ["ariaModal", "ariaModal", booleanAttribute], scroll: ["scroll", "scroll", booleanAttribute], visible: ["visible", "visible", booleanAttribute] }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "@showHide.start": "animateStart($event)", "@showHide.done": "animateDone($event)", "document:keydown": "onKeyDownHandler($event)" }, properties: { "attr.role": "this.role", "attr.aria-modal": "this.ariaModal", "class": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden", "attr.tabindex": "this.tabIndex", "@showHide": "this.animateTrigger" } }, exportAs: ["cOffcanvas"], ngImport: i0, template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n", styles: [":host{display:none}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1$5.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
|
|
11318
11346
|
trigger('showHide', [
|
|
11319
11347
|
state('visible', style({
|
|
11320
11348
|
// visibility: 'visible'
|
|
@@ -11348,7 +11376,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
11348
11376
|
}] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: OffcanvasService }, { type: BackdropService }, { type: i1$4.BreakpointObserver }]; }, propDecorators: { backdrop: [{
|
|
11349
11377
|
type: Input
|
|
11350
11378
|
}], keyboard: [{
|
|
11351
|
-
type: Input
|
|
11379
|
+
type: Input,
|
|
11380
|
+
args: [{ transform: booleanAttribute }]
|
|
11352
11381
|
}], placement: [{
|
|
11353
11382
|
type: Input
|
|
11354
11383
|
}], responsive: [{
|
|
@@ -11361,16 +11390,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
11361
11390
|
type: HostBinding,
|
|
11362
11391
|
args: ['attr.role']
|
|
11363
11392
|
}], ariaModal: [{
|
|
11364
|
-
type: Input
|
|
11393
|
+
type: Input,
|
|
11394
|
+
args: [{ transform: booleanAttribute }]
|
|
11365
11395
|
}, {
|
|
11366
11396
|
type: HostBinding,
|
|
11367
11397
|
args: ['attr.aria-modal']
|
|
11368
|
-
}], visibleChange: [{
|
|
11369
|
-
type: Output
|
|
11370
11398
|
}], scroll: [{
|
|
11371
|
-
type: Input
|
|
11399
|
+
type: Input,
|
|
11400
|
+
args: [{ transform: booleanAttribute }]
|
|
11372
11401
|
}], visible: [{
|
|
11373
|
-
type: Input
|
|
11402
|
+
type: Input,
|
|
11403
|
+
args: [{ transform: booleanAttribute }]
|
|
11404
|
+
}], visibleChange: [{
|
|
11405
|
+
type: Output
|
|
11374
11406
|
}], hostClasses: [{
|
|
11375
11407
|
type: HostBinding,
|
|
11376
11408
|
args: ['class']
|
|
@@ -14199,6 +14231,7 @@ class SmartTableHeadComponent {
|
|
|
14199
14231
|
this.#selectAll = true;
|
|
14200
14232
|
this.#selectedAll = false;
|
|
14201
14233
|
this.#columnFilterTemplates = {};
|
|
14234
|
+
this.#columnLabelTemplates = {};
|
|
14202
14235
|
this.#summaryRowTemplate = null;
|
|
14203
14236
|
// todo
|
|
14204
14237
|
// @Input() sortingIcon?: string | TemplateRef<any>;
|
|
@@ -14239,6 +14272,15 @@ class SmartTableHeadComponent {
|
|
|
14239
14272
|
}
|
|
14240
14273
|
;
|
|
14241
14274
|
#columnFilterTemplates;
|
|
14275
|
+
set columnLabelTemplates(value) {
|
|
14276
|
+
this.#columnLabelTemplates = { ...value };
|
|
14277
|
+
}
|
|
14278
|
+
;
|
|
14279
|
+
get columnLabelTemplates() {
|
|
14280
|
+
return this.#columnLabelTemplates;
|
|
14281
|
+
}
|
|
14282
|
+
;
|
|
14283
|
+
#columnLabelTemplates;
|
|
14242
14284
|
set summaryRowTemplate(value) {
|
|
14243
14285
|
this.#summaryRowTemplate = value;
|
|
14244
14286
|
}
|
|
@@ -14335,12 +14377,18 @@ class SmartTableHeadComponent {
|
|
|
14335
14377
|
getColumnFilter(column) {
|
|
14336
14378
|
return `columnFilter_${this.columnKey(column) ?? '_undefined'}`;
|
|
14337
14379
|
}
|
|
14380
|
+
getColumnLabel(column) {
|
|
14381
|
+
if (typeof column === 'object' && column._labelTemplateId) {
|
|
14382
|
+
return `columnLabel_${column._labelTemplateId ?? '_undefined'}`;
|
|
14383
|
+
}
|
|
14384
|
+
return `columnLabel_${this.columnKey(column) ?? '_undefined'}`;
|
|
14385
|
+
}
|
|
14338
14386
|
get columnFilterEvent() {
|
|
14339
14387
|
return (typeof this.columnFilter === 'object' && this.columnFilter.lazy) ? 'change' : 'input';
|
|
14340
14388
|
}
|
|
14341
14389
|
;
|
|
14342
14390
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartTableHeadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14343
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SmartTableHeadComponent, isStandalone: true, selector: "c-smart-table-head", inputs: { columnFilter: "columnFilter", columnFilterState: "columnFilterState", columnSorter: "columnSorter", component: "component", columns: "columns", selectable: "selectable", selectAll: "selectAll", selectedAll: "selectedAll", sorterValue: "sorterValue", columnFilterTemplates: "columnFilterTemplates", summaryRowTemplate: "summaryRowTemplate" }, outputs: { columnFilterStateChange: "columnFilterStateChange", sorterStateChange: "sorterStateChange", selectAllChange: "selectAllChange" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<ng-template [ngIf]=\"component==='tfoot'\">\n <ng-container *ngTemplateOutlet=\"summaryRowTemplate\" />\n</ng-template>\n<tr>\n <th *ngIf=\"selectable\">\n <input\n cFormCheckInput\n (change)=\"handleSelectAllChecked($event)\"\n [checked]=\"selectedAll === true\"\n [indeterminate]=\"indeterminate$ | async\"\n type=\"checkbox\"\n [disabled]=\"!selectAll\"\n autocomplete=\"off\"\n >\n </th>\n <th\n (click)=\"handleSortClick(column, i)\"\n *ngFor=\"let column of columns; let i = index\"\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\n [cTableColor]=\"tableHeaderCellColor(column)\"\n [ngStyle]=\"tableHeaderCellStyles(column)\"\n >\n <ng-template [ngIf]=\"columnSorter && columnSorterEnabled(column)\">\n <ng-container\n *ngTemplateOutlet=\"columnSorterIconTemplate; context: { $implicit: getColumnSorterState(column) }\"\n />\n </ng-template>\n <
|
|
14391
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SmartTableHeadComponent, isStandalone: true, selector: "c-smart-table-head", inputs: { columnFilter: "columnFilter", columnFilterState: "columnFilterState", columnSorter: "columnSorter", component: "component", columns: "columns", selectable: "selectable", selectAll: "selectAll", selectedAll: "selectedAll", sorterValue: "sorterValue", columnFilterTemplates: "columnFilterTemplates", columnLabelTemplates: "columnLabelTemplates", summaryRowTemplate: "summaryRowTemplate" }, outputs: { columnFilterStateChange: "columnFilterStateChange", sorterStateChange: "sorterStateChange", selectAllChange: "selectAllChange" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<ng-template [ngIf]=\"component==='tfoot'\">\n <ng-container *ngTemplateOutlet=\"summaryRowTemplate\" />\n</ng-template>\n<tr>\n <th *ngIf=\"selectable\">\n <input\n cFormCheckInput\n (change)=\"handleSelectAllChecked($event)\"\n [checked]=\"selectedAll === true\"\n [indeterminate]=\"indeterminate$ | async\"\n type=\"checkbox\"\n [disabled]=\"!selectAll\"\n autocomplete=\"off\"\n >\n </th>\n <th\n (click)=\"handleSortClick(column, i)\"\n *ngFor=\"let column of columns; let i = index\"\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\n [cTableColor]=\"tableHeaderCellColor(column)\"\n [ngStyle]=\"tableHeaderCellStyles(column)\"\n >\n <ng-template [ngIf]=\"columnSorter && columnSorterEnabled(column)\">\n <ng-container\n *ngTemplateOutlet=\"columnSorterIconTemplate; context: { $implicit: getColumnSorterState(column) }\"\n />\n </ng-template>\n <ng-container\n *ngTemplateOutlet=\"columnLabelTemplates[getColumnLabel(column)] ?? defaultColumnLabel; context: {$implicit: column, header: this}\"\n />\n </th>\n</tr>\n<tr *ngIf=\"columnFilter\">\n <th *ngIf=\"selectable\"></th>\n <th *ngFor=\"let column of columns; let i = index\"\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\n [cTableColor]=\"tableHeaderCellColor(column)\"\n [ngStyle]=\"tableHeaderCellStyles(column)\"\n >\n <ng-container\n *ngTemplateOutlet=\"columnFilterTemplates[getColumnFilter(column)] ?? defaultColumnFilter; context: {$implicit: column, header: this}\"\n />\n </th>\n</tr>\n\n<ng-template #defaultColumnLabel let-column>\n <div class=\"d-inline\">{{ column | columnLabel }}</div>\n</ng-template>\n\n<ng-template #defaultColumnFilter let-column>\n <c-smart-table-column-filter\n (valueChange)=\"handleColumnFilterValueChange($event)\"\n *ngIf=\"columnFilterEnabled(column)\"\n [column]=\"column\"\n [delay]=\"300\"\n [onEvent]=\"columnFilterEvent\"\n [value]=\"columnFilterState[columnKey(column)] ?? ''\"\n cFilterInput\n sizing=\"sm\"\n />\n</ng-template>\n\n<ng-template #columnSorterIconTemplate let-columnSorterState>\n <ng-container [ngSwitch]=\"columnSorterState\">\n <span *ngSwitchCase=\"'asc'\" class=\"float-end mx-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconAscendingTemplate\" />\n </span>\n <span *ngSwitchCase=\"'desc'\" class=\"float-end mx-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconDescendingTemplate\" />\n </span>\n <span *ngSwitchDefault class=\"opacity-25 float-end mx-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconTemplate\" />\n </span>\n </ng-container>\n</ng-template>\n\n<!--todo: sortingIconCustom Templates-->\n<ng-template #sortingIconTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"384 433.373 384 160 352 160 352 434.51 282.177 364.687 259.55 387.313 367.432 495.196 475.313 387.313 452.687 364.687 384 433.373\"\n ></polygon>\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"159.432 17.372 51.55 125.255 74.177 147.882 144 78.059 144 352 176 352 176 79.195 244.687 147.882 267.313 125.255 159.432 17.372\"\n ></polygon>\n </svg>\n</ng-template>\n\n<ng-template #sortingIconAscendingTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"390.624 150.625 256 16 121.376 150.625 144.004 173.252 240.001 77.254 240.001 495.236 272.001 495.236 272.001 77.257 367.996 173.252 390.624 150.625\"\n ></polygon>\n </svg>\n</ng-template>\n\n<ng-template #sortingIconDescendingTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"367.997 338.75 271.999 434.747 271.999 17.503 239.999 17.503 239.999 434.745 144.003 338.75 121.376 361.377 256 496 390.624 361.377 367.997 338.75\"\n ></polygon>\n </svg>\n</ng-template>\n", styles: [":host{-webkit-user-select:none;user-select:none}:host.thead{display:table-header-group;vertical-align:middle;border-color:inherit}:host.tfoot{display:table-footer-group;vertical-align:middle;border-color:inherit}\n"], dependencies: [{ kind: "directive", type: FilterInputDirective, selector: "[cFilterInput]", inputs: ["delay", "onEvent", "value"], outputs: ["valueChange"], exportAs: ["cFilterInput"] }, { kind: "directive", type: FormCheckInputDirective, selector: "input[cFormCheckInput]", inputs: ["type", "indeterminate", "valid", "checked"] }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "component", type: SmartTableColumnFilterComponent, selector: "c-smart-table-column-filter", inputs: ["column", "sizing"] }, { kind: "directive", type: TableColorDirective, selector: "[cTableColor]", inputs: ["cTableColor"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: SmartTableColumnLabelPipe, name: "columnLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14344
14392
|
}
|
|
14345
14393
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartTableHeadComponent, decorators: [{
|
|
14346
14394
|
type: Component,
|
|
@@ -14359,7 +14407,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
14359
14407
|
NgSwitchDefault,
|
|
14360
14408
|
NgTemplateOutlet,
|
|
14361
14409
|
SmartTableColumnLabelPipe
|
|
14362
|
-
], template: "<ng-template [ngIf]=\"component==='tfoot'\">\n <ng-container *ngTemplateOutlet=\"summaryRowTemplate\" />\n</ng-template>\n<tr>\n <th *ngIf=\"selectable\">\n <input\n cFormCheckInput\n (change)=\"handleSelectAllChecked($event)\"\n [checked]=\"selectedAll === true\"\n [indeterminate]=\"indeterminate$ | async\"\n type=\"checkbox\"\n [disabled]=\"!selectAll\"\n autocomplete=\"off\"\n >\n </th>\n <th\n (click)=\"handleSortClick(column, i)\"\n *ngFor=\"let column of columns; let i = index\"\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\n [cTableColor]=\"tableHeaderCellColor(column)\"\n [ngStyle]=\"tableHeaderCellStyles(column)\"\n >\n <ng-template [ngIf]=\"columnSorter && columnSorterEnabled(column)\">\n <ng-container\n *ngTemplateOutlet=\"columnSorterIconTemplate; context: { $implicit: getColumnSorterState(column) }\"\n />\n </ng-template>\n <
|
|
14410
|
+
], template: "<ng-template [ngIf]=\"component==='tfoot'\">\n <ng-container *ngTemplateOutlet=\"summaryRowTemplate\" />\n</ng-template>\n<tr>\n <th *ngIf=\"selectable\">\n <input\n cFormCheckInput\n (change)=\"handleSelectAllChecked($event)\"\n [checked]=\"selectedAll === true\"\n [indeterminate]=\"indeterminate$ | async\"\n type=\"checkbox\"\n [disabled]=\"!selectAll\"\n autocomplete=\"off\"\n >\n </th>\n <th\n (click)=\"handleSortClick(column, i)\"\n *ngFor=\"let column of columns; let i = index\"\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\n [cTableColor]=\"tableHeaderCellColor(column)\"\n [ngStyle]=\"tableHeaderCellStyles(column)\"\n >\n <ng-template [ngIf]=\"columnSorter && columnSorterEnabled(column)\">\n <ng-container\n *ngTemplateOutlet=\"columnSorterIconTemplate; context: { $implicit: getColumnSorterState(column) }\"\n />\n </ng-template>\n <ng-container\n *ngTemplateOutlet=\"columnLabelTemplates[getColumnLabel(column)] ?? defaultColumnLabel; context: {$implicit: column, header: this}\"\n />\n </th>\n</tr>\n<tr *ngIf=\"columnFilter\">\n <th *ngIf=\"selectable\"></th>\n <th *ngFor=\"let column of columns; let i = index\"\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\n [cTableColor]=\"tableHeaderCellColor(column)\"\n [ngStyle]=\"tableHeaderCellStyles(column)\"\n >\n <ng-container\n *ngTemplateOutlet=\"columnFilterTemplates[getColumnFilter(column)] ?? defaultColumnFilter; context: {$implicit: column, header: this}\"\n />\n </th>\n</tr>\n\n<ng-template #defaultColumnLabel let-column>\n <div class=\"d-inline\">{{ column | columnLabel }}</div>\n</ng-template>\n\n<ng-template #defaultColumnFilter let-column>\n <c-smart-table-column-filter\n (valueChange)=\"handleColumnFilterValueChange($event)\"\n *ngIf=\"columnFilterEnabled(column)\"\n [column]=\"column\"\n [delay]=\"300\"\n [onEvent]=\"columnFilterEvent\"\n [value]=\"columnFilterState[columnKey(column)] ?? ''\"\n cFilterInput\n sizing=\"sm\"\n />\n</ng-template>\n\n<ng-template #columnSorterIconTemplate let-columnSorterState>\n <ng-container [ngSwitch]=\"columnSorterState\">\n <span *ngSwitchCase=\"'asc'\" class=\"float-end mx-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconAscendingTemplate\" />\n </span>\n <span *ngSwitchCase=\"'desc'\" class=\"float-end mx-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconDescendingTemplate\" />\n </span>\n <span *ngSwitchDefault class=\"opacity-25 float-end mx-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconTemplate\" />\n </span>\n </ng-container>\n</ng-template>\n\n<!--todo: sortingIconCustom Templates-->\n<ng-template #sortingIconTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"384 433.373 384 160 352 160 352 434.51 282.177 364.687 259.55 387.313 367.432 495.196 475.313 387.313 452.687 364.687 384 433.373\"\n ></polygon>\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"159.432 17.372 51.55 125.255 74.177 147.882 144 78.059 144 352 176 352 176 79.195 244.687 147.882 267.313 125.255 159.432 17.372\"\n ></polygon>\n </svg>\n</ng-template>\n\n<ng-template #sortingIconAscendingTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"390.624 150.625 256 16 121.376 150.625 144.004 173.252 240.001 77.254 240.001 495.236 272.001 495.236 272.001 77.257 367.996 173.252 390.624 150.625\"\n ></polygon>\n </svg>\n</ng-template>\n\n<ng-template #sortingIconDescendingTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"367.997 338.75 271.999 434.747 271.999 17.503 239.999 17.503 239.999 434.745 144.003 338.75 121.376 361.377 256 496 390.624 361.377 367.997 338.75\"\n ></polygon>\n </svg>\n</ng-template>\n", styles: [":host{-webkit-user-select:none;user-select:none}:host.thead{display:table-header-group;vertical-align:middle;border-color:inherit}:host.tfoot{display:table-footer-group;vertical-align:middle;border-color:inherit}\n"] }]
|
|
14363
14411
|
}], ctorParameters: function () { return []; }, propDecorators: { columnFilter: [{
|
|
14364
14412
|
type: Input
|
|
14365
14413
|
}], columnFilterState: [{
|
|
@@ -14380,6 +14428,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
14380
14428
|
type: Input
|
|
14381
14429
|
}], columnFilterTemplates: [{
|
|
14382
14430
|
type: Input
|
|
14431
|
+
}], columnLabelTemplates: [{
|
|
14432
|
+
type: Input
|
|
14383
14433
|
}], summaryRowTemplate: [{
|
|
14384
14434
|
type: Input
|
|
14385
14435
|
}], columnFilterStateChange: [{
|
|
@@ -14476,6 +14526,7 @@ class SmartTableComponent {
|
|
|
14476
14526
|
this.tableFilterValueChange = new EventEmitter();
|
|
14477
14527
|
this.templates = { tableDetails: null, tableData: null };
|
|
14478
14528
|
this.columnFilterTemplates = {};
|
|
14529
|
+
this.columnLabelTemplates = {};
|
|
14479
14530
|
this.summaryRowTemplate = null;
|
|
14480
14531
|
this._columnFiltered = [];
|
|
14481
14532
|
this.itemsDiffer = this.iterableDiffers.find(this.items).create();
|
|
@@ -14610,6 +14661,10 @@ class SmartTableComponent {
|
|
|
14610
14661
|
this.columnFilterTemplates[child.id] = child.templateRef;
|
|
14611
14662
|
return;
|
|
14612
14663
|
}
|
|
14664
|
+
if (child.id.startsWith('columnLabel_')) {
|
|
14665
|
+
this.columnLabelTemplates[child.id] = child.templateRef;
|
|
14666
|
+
return;
|
|
14667
|
+
}
|
|
14613
14668
|
if (child.id === 'tableSummaryRow') {
|
|
14614
14669
|
this.summaryRowTemplate = child.templateRef;
|
|
14615
14670
|
return;
|
|
@@ -14617,6 +14672,7 @@ class SmartTableComponent {
|
|
|
14617
14672
|
this.templates[child.id] = child.templateRef;
|
|
14618
14673
|
});
|
|
14619
14674
|
this.columnFilterTemplates = { ...this.columnFilterTemplates };
|
|
14675
|
+
this.columnLabelTemplates = { ...this.columnLabelTemplates };
|
|
14620
14676
|
}
|
|
14621
14677
|
get selectedAll() {
|
|
14622
14678
|
const selected = this.items.some((item) => item._selected === true);
|
|
@@ -14880,7 +14936,7 @@ class SmartTableComponent {
|
|
|
14880
14936
|
}
|
|
14881
14937
|
}
|
|
14882
14938
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartTableComponent, deps: [{ token: i0.IterableDiffers }, { token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14883
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SmartTableComponent, isStandalone: true, selector: "c-smart-table", inputs: { activePage: "activePage", cleaner: "cleaner", clickableRows: "clickableRows", columns: "columns", columnFilter: "columnFilter", columnFilterValue: "columnFilterValue", columnSorter: "columnSorter", footer: "footer", header: "header", items: "items", itemsPerPage: "itemsPerPage", itemsPerPageLabel: "itemsPerPageLabel", itemsPerPageOptions: "itemsPerPageOptions", itemsPerPageSelect: "itemsPerPageSelect", loading: "loading", noItemsLabel: "noItemsLabel", pagination: "pagination", selectable: "selectable", selectAll: "selectAll", sorterValue: "sorterValue", tableFilter: "tableFilter", tableFilterLabel: "tableFilterLabel", tableFilterPlaceholder: "tableFilterPlaceholder", tableFilterValue: "tableFilterValue", tableBodyProps: "tableBodyProps", tableFootProps: "tableFootProps", tableHeadProps: "tableHeadProps", tableProps: "tableProps" }, outputs: { selectedItemsChange: "selectedItemsChange", sorterValueChange: "sorterValueChange", activePageChange: "activePageChange", itemsPerPageChange: "itemsPerPageChange", rowClick: "rowClick", columnFilterValueChange: "columnFilterValueChange", filteredItemsChange: "filteredItemsChange", tableFilterValueChange: "tableFilterValueChange" }, queries: [{ propertyName: "columnTemplates", predicate: TemplateIdDirective }], exportAs: ["cSmartTable"], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"itemsPerPageSelect || tableFilter || cleaner || templates['tableCustomHeader']\" class=\"row my-2 mx-0\">\n <div class=\"col-auto p-0\" *ngIf=\"tableFilter\">\n <ng-container *ngTemplateOutlet=\"tableFilterTemplate\" />\n </div>\n <div class=\"col-auto p-0\" *ngIf=\"cleaner\">\n <ng-container *ngTemplateOutlet=\"tableCleanerTemplate\" />\n </div>\n <ng-container *ngTemplateOutlet=\"templates['tableCustomHeader'] || tableCustomHeaderTemplate\" />\n\n <ng-template #tableFilterTemplate>\n <c-smart-table-filter\n (valueChange)=\"handleTableFilterChange($event)\"\n *ngIf=\"tableFilter\"\n [delay]=\"300\"\n [filterLabel]=\"tableFilterLabel\"\n [filterPlaceholder]=\"tableFilterPlaceholder\"\n [onEvent]=\"tableFilterEvent\"\n [value]=\"tableFilterState\"\n cFilterInput\n >\n </c-smart-table-filter>\n </ng-template>\n\n <ng-template #tableCleanerTemplate>\n <button\n (click)=\"clean($event)\"\n *ngIf=\"cleaner\"\n [disabled]=\"!isFiltered\"\n [ngClass]=\"{'ms-1': tableFilter}\"\n [tabindex]=\"0\"\n cButton\n variant=\"ghost\"\n color=\"transparent\"\n >\n <ng-container *ngTemplateOutlet=\"filterIconTemplate\" />\n </button>\n </ng-template>\n\n <ng-template #tableCustomHeaderTemplate>\n <div class=\"col-auto p-0 ms-auto\">\n <ng-content select=\"[customHeader]\" />\n </div>\n </ng-template>\n</div>\n<div class=\"position-relative\">\n <table [align]=\"tableProps?.align\"\n [borderColor]=\"tableProps?.borderColor\"\n [bordered]=\"tableProps?.bordered ?? undefined\"\n [borderless]=\"tableProps?.borderless ?? undefined\"\n [caption]=\"tableProps?.caption\"\n [color]=\"tableProps?.color\"\n [hover]=\"tableProps?.hover ?? undefined\"\n [responsive]=\"tableProps?.responsive\"\n [small]=\"tableProps?.small ?? undefined\"\n [striped]=\"tableProps?.striped ?? undefined\"\n [cHtmlAttr]=\"tableProps?.attributes ?? {}\"\n [cTableColor]=\"tableProps?.color\"\n cTable\n >\n <c-smart-table-head\n (columnFilterStateChange)=\"handleColumnFilterChange($event)\"\n (selectAllChange)=\"handleSelectAllChange($event)\"\n (sorterStateChange)=\"handleSortChange($event)\"\n *ngIf=\"header\"\n [columnFilterState]=\"columnFilterState\"\n [columnFilter]=\"columnFilter\"\n [columns]=\"columns\"\n [selectAll]=\"selectAll\"\n [selectedAll]=\"(selectedAllSubject | async) ?? false\"\n [selectable]=\"selectable\"\n [columnSorter]=\"columnSorter\"\n [sorterValue]=\"sorterValue\"\n [cHtmlAttr]=\"tableHeadProps?.attributes ?? {}\"\n [cTableColor]=\"tableHeadProps?.color\"\n [cAlign]=\"tableHeadProps?.align\"\n [columnFilterTemplates]=\"columnFilterTemplates\"\n />\n\n <ng-container *ngTemplateOutlet=\"tbodyDefaultTemplate\" />\n\n <tfoot *ngIf=\"summaryRowTemplate && !footer\">\n <ng-container *ngTemplateOutlet=\"summaryRowTemplate\" />\n </tfoot>\n\n <c-smart-table-head\n (selectAllChange)=\"handleSelectAllChange($event)\"\n (sorterStateChange)=\"handleSortChange($event)\"\n *ngIf=\"footer\"\n [columns]=\"columns\"\n [selectAll]=\"selectAll\"\n [selectedAll]=\"(selectedAllSubject | async) ?? false\"\n [selectable]=\"selectable\"\n [columnSorter]=\"columnSorter\"\n [sorterValue]=\"sorterValue\"\n [cHtmlAttr]=\"tableFootProps?.attributes ?? {}\"\n [cTableColor]=\"tableFootProps?.color\"\n [cAlign]=\"tableFootProps?.align\"\n component=\"tfoot\"\n [columnFilterTemplates]=\"columnFilterTemplates\"\n [summaryRowTemplate]=\"summaryRowTemplate\"\n />\n\n </table>\n <c-element-cover\n *ngIf=\"loading\"\n [boundaries]=\"[\n { sides: ['top'], query: 'td' },\n { sides: ['bottom'], query: 'tbody' }\n ]\"\n ></c-element-cover>\n</div>\n<ng-template [ngIf]=\"pagination || itemsPerPageSelect\">\n <div class=\"row\">\n <div class=\"col\">\n <c-smart-pagination\n (activePageChange)=\"setActivePage($event)\"\n *ngIf=\"pagination && numberOfPages > 1\"\n [activePage]=\"activePage\"\n [pages]=\"numberOfPages\"\n />\n </div>\n <div class=\"col-auto ms-auto\">\n <c-smart-table-items-per-page-selector\n (itemsPerPageChange)=\"handleItemsPerPageChange($event)\"\n *ngIf=\"itemsPerPageSelect\"\n [itemsPerPageLabel]=\"itemsPerPageLabel\"\n [itemsPerPageOptions]=\"itemsPerPageOptions\"\n [itemsPerPage]=\"itemsPerPage\"\n />\n </div>\n </div>\n</ng-template>\n\n<ng-template #tbodyDefaultTemplate>\n <tbody [cHtmlAttr]=\"tableBodyProps?.attributes ?? {}\"\n [cTableColor]=\"tableBodyProps?.color\"\n [cAlign]=\"tableBodyProps?.align\"\n >\n <ng-template ngFor let-item [ngForOf]=\"currentItems\" let-cnt=\"count\" let-i=\"index\" let-isEven=\"even\" let-isOdd=\"odd\">\n <tr [tabindex]=\"clickableRows ? 0 : -1\"\n [ngStyle]=\"{cursor: clickableRows ? 'pointer' : 'auto'}\"\n (click)=\"handleRowClick({$event, item, i})\"\n [cTableActive]=\"item._props?.active ?? undefined\"\n [cTableColor]=\"item._props?.color\"\n [cAlign]=\"item._props?.align\"\n >\n <td *ngIf=\"selectable\"\n [cTableActive]=\"item?.['_cellProps']?._all?.active ?? undefined\"\n [cTableColor]=\"item?.['_cellProps']?._all?.color\"\n [cAlign]=\"item?.['_cellProps']?._all?.align\"\n >\n <input (change)=\"handleRowChecked($event, item)\"\n [checked]=\"item._selected ?? false\"\n cFormCheckInput\n [disabled]=\"(item?._selectable === false) ?? false\"\n autocomplete=\"off\"\n >\n </td>\n <ng-template ngFor let-columnName [ngForOf]=\"rawColumnNames\" let-i=\"index\">\n <ng-container\n *ngTemplateOutlet=\"templates['tableData'] || columnDefaultTemplate; context: {item, columnName, tdContent: item[columnName] }\" />\n </ng-template>\n </tr>\n <ng-template [ngIf]=\"templates['tableDetails']\">\n <!-- <ng-container *ngTemplateOutlet=\"rowDetailsDefaultTemplate\"></ng-container>-->\n <tr>\n <td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td>\n </tr>\n <tr class=\"p-0\">\n <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">\n <ng-container *ngTemplateOutlet=\"templates['tableDetails']; context: {item, index: i}\" />\n </td>\n </tr>\n </ng-template>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"noItemsDefaultTemplate\" />\n </tbody>\n</ng-template>\n\n<ng-template #columnDefaultTemplate let-item=\"item\" let-columnName=\"columnName\" let-tdContent=\"tdContent\">\n <td\n [cTableActive]=\"tableDataCellProps(item, columnName)?.['active']\"\n [cTableColor]=\"tableDataCellProps(item, columnName)?.color\"\n [cAlign]=\"tableDataCellProps(item, columnName)?.align\"\n [ngClass]=\"tableDataCellClasses(item, columnName)\"\n [cHtmlAttr]=\"tableDataCellProps(item, columnName)?.['_attributes'] ?? undefined\"\n >\n {{tdContent}}\n </td>\n</ng-template>\n\n<!--<ng-template #rowDetailsDefaultTemplate let-item let-index>-->\n<!-- <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>-->\n<!-- <tr class=\"p-0\">-->\n<!-- <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">-->\n<!-- <ng-container *ngTemplateOutlet=\"templates?.tableDetails\"></ng-container>-->\n<!-- </td>-->\n<!-- </tr>-->\n<!--</ng-template>-->\n\n<ng-template #noItemsDefaultTemplate>\n <tr *ngIf=\"!currentItems.length\">\n <td [colSpan]=\"colspan\" class=\"justify-content-center\">{{noItemsLabel}}</td>\n </tr>\n</ng-template>\n\n<!--todo: filterIconCustomTemplate-->\n<ng-template #filterIconTemplate>\n <svg viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\" pointer-events=\"none\" role=\"img\"\n class=\"icon icon-custom-size\" width=\"18\">\n <polygon\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"40 16 40 53.828 109.024 136 150.815 136 76.896 48 459.51 48 304 242.388 304 401.373 241.373 464 240 464 240 368 208 368 208 496 254.627 496 336 414.627 336 253.612 496 53.612 496 16 40 16\"\n class=\"ci-primary\">\n </polygon>\n <polygon\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"166.403 248.225 226.864 187.763 204.237 165.135 143.775 225.597 83.313 165.135 60.687 187.763 121.148 248.225 60.687 308.687 83.313 331.314 143.775 270.852 204.237 331.314 226.864 308.687 166.403 248.225\"\n class=\"ci-primary\">\n </polygon>\n </svg>\n</ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: AlignDirective, selector: "[cAlign]", inputs: ["cAlign"] }, { kind: "directive", type: ButtonDirective, selector: "[cButton]", inputs: ["active", "color", "disabled", "shape", "size", "type", "variant"], exportAs: ["cButton"] }, { kind: "component", type: ElementCoverComponent, selector: "c-element-cover, [cElementCover]", inputs: ["boundaries", "opacity"] }, { kind: "directive", type: FilterInputDirective, selector: "[cFilterInput]", inputs: ["delay", "onEvent", "value"], outputs: ["valueChange"], exportAs: ["cFilterInput"] }, { kind: "directive", type: FormCheckInputDirective, selector: "input[cFormCheckInput]", inputs: ["type", "indeterminate", "valid", "checked"] }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "component", type: SmartPaginationComponent, selector: "c-smart-pagination", inputs: ["activePage", "arrows", "doubleArrows", "dots", "limit", "pages", "firstButton", "lastButton", "nextButton", "previousButton", "align", "size", "role"], outputs: ["activePageChange"], exportAs: ["cSmartPagination"] }, { kind: "component", type: SmartTableFilterComponent, selector: "c-smart-table-filter", inputs: ["filterLabel", "filterPlaceholder", "sizing"] }, { kind: "component", type: SmartTableHeadComponent, selector: "c-smart-table-head", inputs: ["columnFilter", "columnFilterState", "columnSorter", "component", "columns", "selectable", "selectAll", "selectedAll", "sorterValue", "columnFilterTemplates", "summaryRowTemplate"], outputs: ["columnFilterStateChange", "sorterStateChange", "selectAllChange"] }, { kind: "component", type: SmartTableItemsPerPageSelectorComponent, selector: "c-smart-table-items-per-page-selector", inputs: ["itemsPerPage", "itemsPerPageLabel", "itemsPerPageOptions"], outputs: ["itemsPerPageChange"] }, { kind: "directive", type: TableActiveDirective, selector: "[cTableActive]", inputs: ["cTableActive"] }, { kind: "directive", type: TableColorDirective, selector: "[cTableColor]", inputs: ["cTableColor"] }, { kind: "directive", type: TableDirective, selector: "table[cTable]", inputs: ["align", "borderColor", "bordered", "borderless", "caption", "color", "hover", "responsive", "small", "striped", "stripedColumns"] }] }); }
|
|
14939
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SmartTableComponent, isStandalone: true, selector: "c-smart-table", inputs: { activePage: "activePage", cleaner: "cleaner", clickableRows: "clickableRows", columns: "columns", columnFilter: "columnFilter", columnFilterValue: "columnFilterValue", columnSorter: "columnSorter", footer: "footer", header: "header", items: "items", itemsPerPage: "itemsPerPage", itemsPerPageLabel: "itemsPerPageLabel", itemsPerPageOptions: "itemsPerPageOptions", itemsPerPageSelect: "itemsPerPageSelect", loading: "loading", noItemsLabel: "noItemsLabel", pagination: "pagination", selectable: "selectable", selectAll: "selectAll", sorterValue: "sorterValue", tableFilter: "tableFilter", tableFilterLabel: "tableFilterLabel", tableFilterPlaceholder: "tableFilterPlaceholder", tableFilterValue: "tableFilterValue", tableBodyProps: "tableBodyProps", tableFootProps: "tableFootProps", tableHeadProps: "tableHeadProps", tableProps: "tableProps" }, outputs: { selectedItemsChange: "selectedItemsChange", sorterValueChange: "sorterValueChange", activePageChange: "activePageChange", itemsPerPageChange: "itemsPerPageChange", rowClick: "rowClick", columnFilterValueChange: "columnFilterValueChange", filteredItemsChange: "filteredItemsChange", tableFilterValueChange: "tableFilterValueChange" }, queries: [{ propertyName: "columnTemplates", predicate: TemplateIdDirective }], exportAs: ["cSmartTable"], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"itemsPerPageSelect || tableFilter || cleaner || templates['tableCustomHeader']\" class=\"row my-2 mx-0\">\n <div class=\"col-auto p-0\" *ngIf=\"tableFilter\">\n <ng-container *ngTemplateOutlet=\"tableFilterTemplate\" />\n </div>\n <div class=\"col-auto p-0\" *ngIf=\"cleaner\">\n <ng-container *ngTemplateOutlet=\"tableCleanerTemplate\" />\n </div>\n <ng-container *ngTemplateOutlet=\"templates['tableCustomHeader'] || tableCustomHeaderTemplate\" />\n\n <ng-template #tableFilterTemplate>\n <c-smart-table-filter\n (valueChange)=\"handleTableFilterChange($event)\"\n *ngIf=\"tableFilter\"\n [delay]=\"300\"\n [filterLabel]=\"tableFilterLabel\"\n [filterPlaceholder]=\"tableFilterPlaceholder\"\n [onEvent]=\"tableFilterEvent\"\n [value]=\"tableFilterState\"\n cFilterInput\n >\n </c-smart-table-filter>\n </ng-template>\n\n <ng-template #tableCleanerTemplate>\n <button\n (click)=\"clean($event)\"\n *ngIf=\"cleaner\"\n [disabled]=\"!isFiltered\"\n [ngClass]=\"{'ms-1': tableFilter}\"\n [tabindex]=\"0\"\n cButton\n variant=\"ghost\"\n color=\"transparent\"\n >\n <ng-container *ngTemplateOutlet=\"filterIconTemplate\" />\n </button>\n </ng-template>\n\n <ng-template #tableCustomHeaderTemplate>\n <div class=\"col-auto p-0 ms-auto\">\n <ng-content select=\"[customHeader]\" />\n </div>\n </ng-template>\n</div>\n<div class=\"position-relative\">\n <table [align]=\"tableProps?.align\"\n [borderColor]=\"tableProps?.borderColor\"\n [bordered]=\"tableProps?.bordered ?? undefined\"\n [borderless]=\"tableProps?.borderless ?? undefined\"\n [caption]=\"tableProps?.caption\"\n [color]=\"tableProps?.color\"\n [hover]=\"tableProps?.hover ?? undefined\"\n [responsive]=\"tableProps?.responsive\"\n [small]=\"tableProps?.small ?? undefined\"\n [striped]=\"tableProps?.striped ?? undefined\"\n [cHtmlAttr]=\"tableProps?.attributes ?? {}\"\n [cTableColor]=\"tableProps?.color\"\n cTable\n >\n <c-smart-table-head\n (columnFilterStateChange)=\"handleColumnFilterChange($event)\"\n (selectAllChange)=\"handleSelectAllChange($event)\"\n (sorterStateChange)=\"handleSortChange($event)\"\n *ngIf=\"header\"\n [columnFilterState]=\"columnFilterState\"\n [columnFilter]=\"columnFilter\"\n [columns]=\"columns\"\n [selectAll]=\"selectAll\"\n [selectedAll]=\"(selectedAllSubject | async) ?? false\"\n [selectable]=\"selectable\"\n [columnSorter]=\"columnSorter\"\n [sorterValue]=\"sorterValue\"\n [cHtmlAttr]=\"tableHeadProps?.attributes ?? {}\"\n [cTableColor]=\"tableHeadProps?.color\"\n [cAlign]=\"tableHeadProps?.align\"\n [columnFilterTemplates]=\"columnFilterTemplates\"\n [columnLabelTemplates]=\"columnLabelTemplates\"\n />\n\n <ng-container *ngTemplateOutlet=\"tbodyDefaultTemplate\" />\n\n <tfoot *ngIf=\"summaryRowTemplate && !footer\">\n <ng-container *ngTemplateOutlet=\"summaryRowTemplate\" />\n </tfoot>\n\n <c-smart-table-head\n (selectAllChange)=\"handleSelectAllChange($event)\"\n (sorterStateChange)=\"handleSortChange($event)\"\n *ngIf=\"footer\"\n [columns]=\"columns\"\n [selectAll]=\"selectAll\"\n [selectedAll]=\"(selectedAllSubject | async) ?? false\"\n [selectable]=\"selectable\"\n [columnSorter]=\"columnSorter\"\n [sorterValue]=\"sorterValue\"\n [cHtmlAttr]=\"tableFootProps?.attributes ?? {}\"\n [cTableColor]=\"tableFootProps?.color\"\n [cAlign]=\"tableFootProps?.align\"\n component=\"tfoot\"\n [columnFilterTemplates]=\"columnFilterTemplates\"\n [columnLabelTemplates]=\"columnLabelTemplates\"\n [summaryRowTemplate]=\"summaryRowTemplate\"\n />\n\n </table>\n <c-element-cover\n *ngIf=\"loading\"\n [boundaries]=\"[\n { sides: ['top'], query: 'td' },\n { sides: ['bottom'], query: 'tbody' }\n ]\"\n ></c-element-cover>\n</div>\n<ng-template [ngIf]=\"pagination || itemsPerPageSelect\">\n <div class=\"row\">\n <div class=\"col\">\n <c-smart-pagination\n (activePageChange)=\"setActivePage($event)\"\n *ngIf=\"pagination && numberOfPages > 1\"\n [activePage]=\"activePage\"\n [pages]=\"numberOfPages\"\n />\n </div>\n <div class=\"col-auto ms-auto\">\n <c-smart-table-items-per-page-selector\n (itemsPerPageChange)=\"handleItemsPerPageChange($event)\"\n *ngIf=\"itemsPerPageSelect\"\n [itemsPerPageLabel]=\"itemsPerPageLabel\"\n [itemsPerPageOptions]=\"itemsPerPageOptions\"\n [itemsPerPage]=\"itemsPerPage\"\n />\n </div>\n </div>\n</ng-template>\n\n<ng-template #tbodyDefaultTemplate>\n <tbody [cHtmlAttr]=\"tableBodyProps?.attributes ?? {}\"\n [cTableColor]=\"tableBodyProps?.color\"\n [cAlign]=\"tableBodyProps?.align\"\n >\n <ng-template ngFor let-item [ngForOf]=\"currentItems\" let-cnt=\"count\" let-i=\"index\" let-isEven=\"even\" let-isOdd=\"odd\">\n <tr [tabindex]=\"clickableRows ? 0 : -1\"\n [ngStyle]=\"{cursor: clickableRows ? 'pointer' : 'auto'}\"\n (click)=\"handleRowClick({$event, item, i})\"\n [cTableActive]=\"item._props?.active ?? undefined\"\n [cTableColor]=\"item._props?.color\"\n [cAlign]=\"item._props?.align\"\n >\n <td *ngIf=\"selectable\"\n [cTableActive]=\"item?.['_cellProps']?._all?.active ?? undefined\"\n [cTableColor]=\"item?.['_cellProps']?._all?.color\"\n [cAlign]=\"item?.['_cellProps']?._all?.align\"\n >\n <input (change)=\"handleRowChecked($event, item)\"\n [checked]=\"item._selected ?? false\"\n cFormCheckInput\n [disabled]=\"(item?._selectable === false) ?? false\"\n autocomplete=\"off\"\n >\n </td>\n <ng-template ngFor let-columnName [ngForOf]=\"rawColumnNames\" let-i=\"index\">\n <ng-container\n *ngTemplateOutlet=\"templates['tableData'] || columnDefaultTemplate; context: {item, columnName, tdContent: item[columnName] }\" />\n </ng-template>\n </tr>\n <ng-template [ngIf]=\"templates['tableDetails']\">\n <!-- <ng-container *ngTemplateOutlet=\"rowDetailsDefaultTemplate\"></ng-container>-->\n <tr>\n <td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td>\n </tr>\n <tr class=\"p-0\">\n <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">\n <ng-container *ngTemplateOutlet=\"templates['tableDetails']; context: {item, index: i}\" />\n </td>\n </tr>\n </ng-template>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"noItemsDefaultTemplate\" />\n </tbody>\n</ng-template>\n\n<ng-template #columnDefaultTemplate let-item=\"item\" let-columnName=\"columnName\" let-tdContent=\"tdContent\">\n <td\n [cTableActive]=\"tableDataCellProps(item, columnName)?.['active']\"\n [cTableColor]=\"tableDataCellProps(item, columnName)?.color\"\n [cAlign]=\"tableDataCellProps(item, columnName)?.align\"\n [ngClass]=\"tableDataCellClasses(item, columnName)\"\n [cHtmlAttr]=\"tableDataCellProps(item, columnName)?.['_attributes'] ?? undefined\"\n >\n {{tdContent}}\n </td>\n</ng-template>\n\n<!--<ng-template #rowDetailsDefaultTemplate let-item let-index>-->\n<!-- <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>-->\n<!-- <tr class=\"p-0\">-->\n<!-- <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">-->\n<!-- <ng-container *ngTemplateOutlet=\"templates?.tableDetails\"></ng-container>-->\n<!-- </td>-->\n<!-- </tr>-->\n<!--</ng-template>-->\n\n<ng-template #noItemsDefaultTemplate>\n <tr *ngIf=\"!currentItems.length\">\n <td [colSpan]=\"colspan\" class=\"justify-content-center\">{{noItemsLabel}}</td>\n </tr>\n</ng-template>\n\n<!--todo: filterIconCustomTemplate-->\n<ng-template #filterIconTemplate>\n <svg viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\" pointer-events=\"none\" role=\"img\"\n class=\"icon icon-custom-size\" width=\"18\">\n <polygon\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"40 16 40 53.828 109.024 136 150.815 136 76.896 48 459.51 48 304 242.388 304 401.373 241.373 464 240 464 240 368 208 368 208 496 254.627 496 336 414.627 336 253.612 496 53.612 496 16 40 16\"\n class=\"ci-primary\">\n </polygon>\n <polygon\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"166.403 248.225 226.864 187.763 204.237 165.135 143.775 225.597 83.313 165.135 60.687 187.763 121.148 248.225 60.687 308.687 83.313 331.314 143.775 270.852 204.237 331.314 226.864 308.687 166.403 248.225\"\n class=\"ci-primary\">\n </polygon>\n </svg>\n</ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: AlignDirective, selector: "[cAlign]", inputs: ["cAlign"] }, { kind: "directive", type: ButtonDirective, selector: "[cButton]", inputs: ["active", "color", "disabled", "shape", "size", "type", "variant"], exportAs: ["cButton"] }, { kind: "component", type: ElementCoverComponent, selector: "c-element-cover, [cElementCover]", inputs: ["boundaries", "opacity"] }, { kind: "directive", type: FilterInputDirective, selector: "[cFilterInput]", inputs: ["delay", "onEvent", "value"], outputs: ["valueChange"], exportAs: ["cFilterInput"] }, { kind: "directive", type: FormCheckInputDirective, selector: "input[cFormCheckInput]", inputs: ["type", "indeterminate", "valid", "checked"] }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "component", type: SmartPaginationComponent, selector: "c-smart-pagination", inputs: ["activePage", "arrows", "doubleArrows", "dots", "limit", "pages", "firstButton", "lastButton", "nextButton", "previousButton", "align", "size", "role"], outputs: ["activePageChange"], exportAs: ["cSmartPagination"] }, { kind: "component", type: SmartTableFilterComponent, selector: "c-smart-table-filter", inputs: ["filterLabel", "filterPlaceholder", "sizing"] }, { kind: "component", type: SmartTableHeadComponent, selector: "c-smart-table-head", inputs: ["columnFilter", "columnFilterState", "columnSorter", "component", "columns", "selectable", "selectAll", "selectedAll", "sorterValue", "columnFilterTemplates", "columnLabelTemplates", "summaryRowTemplate"], outputs: ["columnFilterStateChange", "sorterStateChange", "selectAllChange"] }, { kind: "component", type: SmartTableItemsPerPageSelectorComponent, selector: "c-smart-table-items-per-page-selector", inputs: ["itemsPerPage", "itemsPerPageLabel", "itemsPerPageOptions"], outputs: ["itemsPerPageChange"] }, { kind: "directive", type: TableActiveDirective, selector: "[cTableActive]", inputs: ["cTableActive"] }, { kind: "directive", type: TableColorDirective, selector: "[cTableColor]", inputs: ["cTableColor"] }, { kind: "directive", type: TableDirective, selector: "table[cTable]", inputs: ["align", "borderColor", "bordered", "borderless", "caption", "color", "hover", "responsive", "small", "striped", "stripedColumns"] }] }); }
|
|
14884
14940
|
}
|
|
14885
14941
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartTableComponent, decorators: [{
|
|
14886
14942
|
type: Component,
|
|
@@ -14904,7 +14960,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
14904
14960
|
TableActiveDirective,
|
|
14905
14961
|
TableColorDirective,
|
|
14906
14962
|
TableDirective
|
|
14907
|
-
], template: "<div *ngIf=\"itemsPerPageSelect || tableFilter || cleaner || templates['tableCustomHeader']\" class=\"row my-2 mx-0\">\n <div class=\"col-auto p-0\" *ngIf=\"tableFilter\">\n <ng-container *ngTemplateOutlet=\"tableFilterTemplate\" />\n </div>\n <div class=\"col-auto p-0\" *ngIf=\"cleaner\">\n <ng-container *ngTemplateOutlet=\"tableCleanerTemplate\" />\n </div>\n <ng-container *ngTemplateOutlet=\"templates['tableCustomHeader'] || tableCustomHeaderTemplate\" />\n\n <ng-template #tableFilterTemplate>\n <c-smart-table-filter\n (valueChange)=\"handleTableFilterChange($event)\"\n *ngIf=\"tableFilter\"\n [delay]=\"300\"\n [filterLabel]=\"tableFilterLabel\"\n [filterPlaceholder]=\"tableFilterPlaceholder\"\n [onEvent]=\"tableFilterEvent\"\n [value]=\"tableFilterState\"\n cFilterInput\n >\n </c-smart-table-filter>\n </ng-template>\n\n <ng-template #tableCleanerTemplate>\n <button\n (click)=\"clean($event)\"\n *ngIf=\"cleaner\"\n [disabled]=\"!isFiltered\"\n [ngClass]=\"{'ms-1': tableFilter}\"\n [tabindex]=\"0\"\n cButton\n variant=\"ghost\"\n color=\"transparent\"\n >\n <ng-container *ngTemplateOutlet=\"filterIconTemplate\" />\n </button>\n </ng-template>\n\n <ng-template #tableCustomHeaderTemplate>\n <div class=\"col-auto p-0 ms-auto\">\n <ng-content select=\"[customHeader]\" />\n </div>\n </ng-template>\n</div>\n<div class=\"position-relative\">\n <table [align]=\"tableProps?.align\"\n [borderColor]=\"tableProps?.borderColor\"\n [bordered]=\"tableProps?.bordered ?? undefined\"\n [borderless]=\"tableProps?.borderless ?? undefined\"\n [caption]=\"tableProps?.caption\"\n [color]=\"tableProps?.color\"\n [hover]=\"tableProps?.hover ?? undefined\"\n [responsive]=\"tableProps?.responsive\"\n [small]=\"tableProps?.small ?? undefined\"\n [striped]=\"tableProps?.striped ?? undefined\"\n [cHtmlAttr]=\"tableProps?.attributes ?? {}\"\n [cTableColor]=\"tableProps?.color\"\n cTable\n >\n <c-smart-table-head\n (columnFilterStateChange)=\"handleColumnFilterChange($event)\"\n (selectAllChange)=\"handleSelectAllChange($event)\"\n (sorterStateChange)=\"handleSortChange($event)\"\n *ngIf=\"header\"\n [columnFilterState]=\"columnFilterState\"\n [columnFilter]=\"columnFilter\"\n [columns]=\"columns\"\n [selectAll]=\"selectAll\"\n [selectedAll]=\"(selectedAllSubject | async) ?? false\"\n [selectable]=\"selectable\"\n [columnSorter]=\"columnSorter\"\n [sorterValue]=\"sorterValue\"\n [cHtmlAttr]=\"tableHeadProps?.attributes ?? {}\"\n [cTableColor]=\"tableHeadProps?.color\"\n [cAlign]=\"tableHeadProps?.align\"\n [columnFilterTemplates]=\"columnFilterTemplates\"\n />\n\n <ng-container *ngTemplateOutlet=\"tbodyDefaultTemplate\" />\n\n <tfoot *ngIf=\"summaryRowTemplate && !footer\">\n <ng-container *ngTemplateOutlet=\"summaryRowTemplate\" />\n </tfoot>\n\n <c-smart-table-head\n (selectAllChange)=\"handleSelectAllChange($event)\"\n (sorterStateChange)=\"handleSortChange($event)\"\n *ngIf=\"footer\"\n [columns]=\"columns\"\n [selectAll]=\"selectAll\"\n [selectedAll]=\"(selectedAllSubject | async) ?? false\"\n [selectable]=\"selectable\"\n [columnSorter]=\"columnSorter\"\n [sorterValue]=\"sorterValue\"\n [cHtmlAttr]=\"tableFootProps?.attributes ?? {}\"\n [cTableColor]=\"tableFootProps?.color\"\n [cAlign]=\"tableFootProps?.align\"\n component=\"tfoot\"\n [columnFilterTemplates]=\"columnFilterTemplates\"\n [summaryRowTemplate]=\"summaryRowTemplate\"\n />\n\n </table>\n <c-element-cover\n *ngIf=\"loading\"\n [boundaries]=\"[\n { sides: ['top'], query: 'td' },\n { sides: ['bottom'], query: 'tbody' }\n ]\"\n ></c-element-cover>\n</div>\n<ng-template [ngIf]=\"pagination || itemsPerPageSelect\">\n <div class=\"row\">\n <div class=\"col\">\n <c-smart-pagination\n (activePageChange)=\"setActivePage($event)\"\n *ngIf=\"pagination && numberOfPages > 1\"\n [activePage]=\"activePage\"\n [pages]=\"numberOfPages\"\n />\n </div>\n <div class=\"col-auto ms-auto\">\n <c-smart-table-items-per-page-selector\n (itemsPerPageChange)=\"handleItemsPerPageChange($event)\"\n *ngIf=\"itemsPerPageSelect\"\n [itemsPerPageLabel]=\"itemsPerPageLabel\"\n [itemsPerPageOptions]=\"itemsPerPageOptions\"\n [itemsPerPage]=\"itemsPerPage\"\n />\n </div>\n </div>\n</ng-template>\n\n<ng-template #tbodyDefaultTemplate>\n <tbody [cHtmlAttr]=\"tableBodyProps?.attributes ?? {}\"\n [cTableColor]=\"tableBodyProps?.color\"\n [cAlign]=\"tableBodyProps?.align\"\n >\n <ng-template ngFor let-item [ngForOf]=\"currentItems\" let-cnt=\"count\" let-i=\"index\" let-isEven=\"even\" let-isOdd=\"odd\">\n <tr [tabindex]=\"clickableRows ? 0 : -1\"\n [ngStyle]=\"{cursor: clickableRows ? 'pointer' : 'auto'}\"\n (click)=\"handleRowClick({$event, item, i})\"\n [cTableActive]=\"item._props?.active ?? undefined\"\n [cTableColor]=\"item._props?.color\"\n [cAlign]=\"item._props?.align\"\n >\n <td *ngIf=\"selectable\"\n [cTableActive]=\"item?.['_cellProps']?._all?.active ?? undefined\"\n [cTableColor]=\"item?.['_cellProps']?._all?.color\"\n [cAlign]=\"item?.['_cellProps']?._all?.align\"\n >\n <input (change)=\"handleRowChecked($event, item)\"\n [checked]=\"item._selected ?? false\"\n cFormCheckInput\n [disabled]=\"(item?._selectable === false) ?? false\"\n autocomplete=\"off\"\n >\n </td>\n <ng-template ngFor let-columnName [ngForOf]=\"rawColumnNames\" let-i=\"index\">\n <ng-container\n *ngTemplateOutlet=\"templates['tableData'] || columnDefaultTemplate; context: {item, columnName, tdContent: item[columnName] }\" />\n </ng-template>\n </tr>\n <ng-template [ngIf]=\"templates['tableDetails']\">\n <!-- <ng-container *ngTemplateOutlet=\"rowDetailsDefaultTemplate\"></ng-container>-->\n <tr>\n <td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td>\n </tr>\n <tr class=\"p-0\">\n <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">\n <ng-container *ngTemplateOutlet=\"templates['tableDetails']; context: {item, index: i}\" />\n </td>\n </tr>\n </ng-template>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"noItemsDefaultTemplate\" />\n </tbody>\n</ng-template>\n\n<ng-template #columnDefaultTemplate let-item=\"item\" let-columnName=\"columnName\" let-tdContent=\"tdContent\">\n <td\n [cTableActive]=\"tableDataCellProps(item, columnName)?.['active']\"\n [cTableColor]=\"tableDataCellProps(item, columnName)?.color\"\n [cAlign]=\"tableDataCellProps(item, columnName)?.align\"\n [ngClass]=\"tableDataCellClasses(item, columnName)\"\n [cHtmlAttr]=\"tableDataCellProps(item, columnName)?.['_attributes'] ?? undefined\"\n >\n {{tdContent}}\n </td>\n</ng-template>\n\n<!--<ng-template #rowDetailsDefaultTemplate let-item let-index>-->\n<!-- <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>-->\n<!-- <tr class=\"p-0\">-->\n<!-- <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">-->\n<!-- <ng-container *ngTemplateOutlet=\"templates?.tableDetails\"></ng-container>-->\n<!-- </td>-->\n<!-- </tr>-->\n<!--</ng-template>-->\n\n<ng-template #noItemsDefaultTemplate>\n <tr *ngIf=\"!currentItems.length\">\n <td [colSpan]=\"colspan\" class=\"justify-content-center\">{{noItemsLabel}}</td>\n </tr>\n</ng-template>\n\n<!--todo: filterIconCustomTemplate-->\n<ng-template #filterIconTemplate>\n <svg viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\" pointer-events=\"none\" role=\"img\"\n class=\"icon icon-custom-size\" width=\"18\">\n <polygon\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"40 16 40 53.828 109.024 136 150.815 136 76.896 48 459.51 48 304 242.388 304 401.373 241.373 464 240 464 240 368 208 368 208 496 254.627 496 336 414.627 336 253.612 496 53.612 496 16 40 16\"\n class=\"ci-primary\">\n </polygon>\n <polygon\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"166.403 248.225 226.864 187.763 204.237 165.135 143.775 225.597 83.313 165.135 60.687 187.763 121.148 248.225 60.687 308.687 83.313 331.314 143.775 270.852 204.237 331.314 226.864 308.687 166.403 248.225\"\n class=\"ci-primary\">\n </polygon>\n </svg>\n</ng-template>\n", styles: [":host{display:block}\n"] }]
|
|
14963
|
+
], template: "<div *ngIf=\"itemsPerPageSelect || tableFilter || cleaner || templates['tableCustomHeader']\" class=\"row my-2 mx-0\">\n <div class=\"col-auto p-0\" *ngIf=\"tableFilter\">\n <ng-container *ngTemplateOutlet=\"tableFilterTemplate\" />\n </div>\n <div class=\"col-auto p-0\" *ngIf=\"cleaner\">\n <ng-container *ngTemplateOutlet=\"tableCleanerTemplate\" />\n </div>\n <ng-container *ngTemplateOutlet=\"templates['tableCustomHeader'] || tableCustomHeaderTemplate\" />\n\n <ng-template #tableFilterTemplate>\n <c-smart-table-filter\n (valueChange)=\"handleTableFilterChange($event)\"\n *ngIf=\"tableFilter\"\n [delay]=\"300\"\n [filterLabel]=\"tableFilterLabel\"\n [filterPlaceholder]=\"tableFilterPlaceholder\"\n [onEvent]=\"tableFilterEvent\"\n [value]=\"tableFilterState\"\n cFilterInput\n >\n </c-smart-table-filter>\n </ng-template>\n\n <ng-template #tableCleanerTemplate>\n <button\n (click)=\"clean($event)\"\n *ngIf=\"cleaner\"\n [disabled]=\"!isFiltered\"\n [ngClass]=\"{'ms-1': tableFilter}\"\n [tabindex]=\"0\"\n cButton\n variant=\"ghost\"\n color=\"transparent\"\n >\n <ng-container *ngTemplateOutlet=\"filterIconTemplate\" />\n </button>\n </ng-template>\n\n <ng-template #tableCustomHeaderTemplate>\n <div class=\"col-auto p-0 ms-auto\">\n <ng-content select=\"[customHeader]\" />\n </div>\n </ng-template>\n</div>\n<div class=\"position-relative\">\n <table [align]=\"tableProps?.align\"\n [borderColor]=\"tableProps?.borderColor\"\n [bordered]=\"tableProps?.bordered ?? undefined\"\n [borderless]=\"tableProps?.borderless ?? undefined\"\n [caption]=\"tableProps?.caption\"\n [color]=\"tableProps?.color\"\n [hover]=\"tableProps?.hover ?? undefined\"\n [responsive]=\"tableProps?.responsive\"\n [small]=\"tableProps?.small ?? undefined\"\n [striped]=\"tableProps?.striped ?? undefined\"\n [cHtmlAttr]=\"tableProps?.attributes ?? {}\"\n [cTableColor]=\"tableProps?.color\"\n cTable\n >\n <c-smart-table-head\n (columnFilterStateChange)=\"handleColumnFilterChange($event)\"\n (selectAllChange)=\"handleSelectAllChange($event)\"\n (sorterStateChange)=\"handleSortChange($event)\"\n *ngIf=\"header\"\n [columnFilterState]=\"columnFilterState\"\n [columnFilter]=\"columnFilter\"\n [columns]=\"columns\"\n [selectAll]=\"selectAll\"\n [selectedAll]=\"(selectedAllSubject | async) ?? false\"\n [selectable]=\"selectable\"\n [columnSorter]=\"columnSorter\"\n [sorterValue]=\"sorterValue\"\n [cHtmlAttr]=\"tableHeadProps?.attributes ?? {}\"\n [cTableColor]=\"tableHeadProps?.color\"\n [cAlign]=\"tableHeadProps?.align\"\n [columnFilterTemplates]=\"columnFilterTemplates\"\n [columnLabelTemplates]=\"columnLabelTemplates\"\n />\n\n <ng-container *ngTemplateOutlet=\"tbodyDefaultTemplate\" />\n\n <tfoot *ngIf=\"summaryRowTemplate && !footer\">\n <ng-container *ngTemplateOutlet=\"summaryRowTemplate\" />\n </tfoot>\n\n <c-smart-table-head\n (selectAllChange)=\"handleSelectAllChange($event)\"\n (sorterStateChange)=\"handleSortChange($event)\"\n *ngIf=\"footer\"\n [columns]=\"columns\"\n [selectAll]=\"selectAll\"\n [selectedAll]=\"(selectedAllSubject | async) ?? false\"\n [selectable]=\"selectable\"\n [columnSorter]=\"columnSorter\"\n [sorterValue]=\"sorterValue\"\n [cHtmlAttr]=\"tableFootProps?.attributes ?? {}\"\n [cTableColor]=\"tableFootProps?.color\"\n [cAlign]=\"tableFootProps?.align\"\n component=\"tfoot\"\n [columnFilterTemplates]=\"columnFilterTemplates\"\n [columnLabelTemplates]=\"columnLabelTemplates\"\n [summaryRowTemplate]=\"summaryRowTemplate\"\n />\n\n </table>\n <c-element-cover\n *ngIf=\"loading\"\n [boundaries]=\"[\n { sides: ['top'], query: 'td' },\n { sides: ['bottom'], query: 'tbody' }\n ]\"\n ></c-element-cover>\n</div>\n<ng-template [ngIf]=\"pagination || itemsPerPageSelect\">\n <div class=\"row\">\n <div class=\"col\">\n <c-smart-pagination\n (activePageChange)=\"setActivePage($event)\"\n *ngIf=\"pagination && numberOfPages > 1\"\n [activePage]=\"activePage\"\n [pages]=\"numberOfPages\"\n />\n </div>\n <div class=\"col-auto ms-auto\">\n <c-smart-table-items-per-page-selector\n (itemsPerPageChange)=\"handleItemsPerPageChange($event)\"\n *ngIf=\"itemsPerPageSelect\"\n [itemsPerPageLabel]=\"itemsPerPageLabel\"\n [itemsPerPageOptions]=\"itemsPerPageOptions\"\n [itemsPerPage]=\"itemsPerPage\"\n />\n </div>\n </div>\n</ng-template>\n\n<ng-template #tbodyDefaultTemplate>\n <tbody [cHtmlAttr]=\"tableBodyProps?.attributes ?? {}\"\n [cTableColor]=\"tableBodyProps?.color\"\n [cAlign]=\"tableBodyProps?.align\"\n >\n <ng-template ngFor let-item [ngForOf]=\"currentItems\" let-cnt=\"count\" let-i=\"index\" let-isEven=\"even\" let-isOdd=\"odd\">\n <tr [tabindex]=\"clickableRows ? 0 : -1\"\n [ngStyle]=\"{cursor: clickableRows ? 'pointer' : 'auto'}\"\n (click)=\"handleRowClick({$event, item, i})\"\n [cTableActive]=\"item._props?.active ?? undefined\"\n [cTableColor]=\"item._props?.color\"\n [cAlign]=\"item._props?.align\"\n >\n <td *ngIf=\"selectable\"\n [cTableActive]=\"item?.['_cellProps']?._all?.active ?? undefined\"\n [cTableColor]=\"item?.['_cellProps']?._all?.color\"\n [cAlign]=\"item?.['_cellProps']?._all?.align\"\n >\n <input (change)=\"handleRowChecked($event, item)\"\n [checked]=\"item._selected ?? false\"\n cFormCheckInput\n [disabled]=\"(item?._selectable === false) ?? false\"\n autocomplete=\"off\"\n >\n </td>\n <ng-template ngFor let-columnName [ngForOf]=\"rawColumnNames\" let-i=\"index\">\n <ng-container\n *ngTemplateOutlet=\"templates['tableData'] || columnDefaultTemplate; context: {item, columnName, tdContent: item[columnName] }\" />\n </ng-template>\n </tr>\n <ng-template [ngIf]=\"templates['tableDetails']\">\n <!-- <ng-container *ngTemplateOutlet=\"rowDetailsDefaultTemplate\"></ng-container>-->\n <tr>\n <td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td>\n </tr>\n <tr class=\"p-0\">\n <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">\n <ng-container *ngTemplateOutlet=\"templates['tableDetails']; context: {item, index: i}\" />\n </td>\n </tr>\n </ng-template>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"noItemsDefaultTemplate\" />\n </tbody>\n</ng-template>\n\n<ng-template #columnDefaultTemplate let-item=\"item\" let-columnName=\"columnName\" let-tdContent=\"tdContent\">\n <td\n [cTableActive]=\"tableDataCellProps(item, columnName)?.['active']\"\n [cTableColor]=\"tableDataCellProps(item, columnName)?.color\"\n [cAlign]=\"tableDataCellProps(item, columnName)?.align\"\n [ngClass]=\"tableDataCellClasses(item, columnName)\"\n [cHtmlAttr]=\"tableDataCellProps(item, columnName)?.['_attributes'] ?? undefined\"\n >\n {{tdContent}}\n </td>\n</ng-template>\n\n<!--<ng-template #rowDetailsDefaultTemplate let-item let-index>-->\n<!-- <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>-->\n<!-- <tr class=\"p-0\">-->\n<!-- <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">-->\n<!-- <ng-container *ngTemplateOutlet=\"templates?.tableDetails\"></ng-container>-->\n<!-- </td>-->\n<!-- </tr>-->\n<!--</ng-template>-->\n\n<ng-template #noItemsDefaultTemplate>\n <tr *ngIf=\"!currentItems.length\">\n <td [colSpan]=\"colspan\" class=\"justify-content-center\">{{noItemsLabel}}</td>\n </tr>\n</ng-template>\n\n<!--todo: filterIconCustomTemplate-->\n<ng-template #filterIconTemplate>\n <svg viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\" pointer-events=\"none\" role=\"img\"\n class=\"icon icon-custom-size\" width=\"18\">\n <polygon\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"40 16 40 53.828 109.024 136 150.815 136 76.896 48 459.51 48 304 242.388 304 401.373 241.373 464 240 464 240 368 208 368 208 496 254.627 496 336 414.627 336 253.612 496 53.612 496 16 40 16\"\n class=\"ci-primary\">\n </polygon>\n <polygon\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"166.403 248.225 226.864 187.763 204.237 165.135 143.775 225.597 83.313 165.135 60.687 187.763 121.148 248.225 60.687 308.687 83.313 331.314 143.775 270.852 204.237 331.314 226.864 308.687 166.403 248.225\"\n class=\"ci-primary\">\n </polygon>\n </svg>\n</ng-template>\n", styles: [":host{display:block}\n"] }]
|
|
14908
14964
|
}], ctorParameters: function () { return [{ type: i0.IterableDiffers }, { type: i0.KeyValueDiffers }]; }, propDecorators: { activePage: [{
|
|
14909
14965
|
type: Input
|
|
14910
14966
|
}], cleaner: [{
|
|
@@ -16421,5 +16477,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
16421
16477
|
* Generated bundle index. Do not edit.
|
|
16422
16478
|
*/
|
|
16423
16479
|
|
|
16424
|
-
export { AccordionButtonDirective, AccordionComponent, AccordionItemComponent, AccordionModule, AlertComponent, AlertHeadingDirective, AlertLinkDirective, AlertModule, AlignDirective, AvatarComponent, AvatarModule, BadgeComponent, BadgeModule, BgColorDirective, BorderDirective, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, BreadcrumbRouterComponent, BreadcrumbRouterService, BreakpointInfix, ButtonCloseDirective, ButtonDirective, ButtonGroupComponent, ButtonGroupModule, ButtonModule, ButtonToolbarComponent, CalendarComponent, CalendarModule, CalendarMonthComponent, CalendarNavigationComponent, CalloutComponent, CalloutModule, CardBodyComponent, CardComponent, CardFooterComponent, CardGroupComponent, CardHeaderActionsComponent, CardHeaderComponent, CardImgDirective, CardImgOverlayComponent, CardLinkDirective, CardModule, CardSubtitleDirective, CardTextDirective, CardTitleDirective, CarouselCaptionComponent, CarouselComponent, CarouselConfig, CarouselControlComponent, CarouselIndicatorsComponent, CarouselInnerComponent, CarouselItemComponent, CarouselModule, ClassToggleService, ColComponent, ColDirective, CollapseDirective, CollapseModule, ContainerComponent, DatePickerComponent, DatePickerModule, DateRangePickerComponent, DateRangePickerModule, DropdownCloseDirective, DropdownComponent, DropdownDividerDirective, DropdownHeaderDirective, DropdownItemDirective, DropdownItemPlainDirective, DropdownMenuDirective, DropdownModule, DropdownService, DropdownToggleDirective, ElementCoverComponent, ElementCoverModule, FooterComponent, FooterModule, FormCheckComponent, FormCheckInputDirective, FormCheckLabelDirective, FormControlDirective, FormDirective, FormFeedbackComponent, FormFloatingDirective, FormLabelDirective, FormModule, FormSelectDirective, FormTextDirective, GridModule, GutterDirective, HeaderBrandComponent, HeaderComponent, HeaderDividerComponent, HeaderModule, HeaderNavComponent, HeaderTextComponent, HeaderTogglerDirective, HtmlAttributesDirective, ImgDirective, ImgModule, InputGroupComponent, InputGroupTextDirective, IntersectionService, ListGroupDirective, ListGroupItemDirective, ListGroupModule, ListenersService, LoadingButtonComponent, LoadingButtonModule, ModalBodyComponent, ModalComponent, ModalContentComponent, ModalDialogComponent, ModalFooterComponent, ModalHeaderComponent, ModalModule, ModalService, ModalTitleDirective, ModalToggleDirective, MultiSelectComponent, MultiSelectModule, MultiSelectOptgroupComponent, MultiSelectOptgroupLabelComponent, MultiSelectOptionComponent, NavComponent, NavItemComponent, NavLinkDirective, NavModule, NavbarBrandDirective, NavbarComponent, NavbarModule, NavbarNavComponent, NavbarTextComponent, NavbarTogglerDirective, OffcanvasBodyComponent, OffcanvasComponent, OffcanvasHeaderComponent, OffcanvasModule, OffcanvasService, OffcanvasTitleDirective, OffcanvasToggleDirective, PageItemComponent, PageItemDirective, PageLinkDirective, PaginationComponent, PaginationModule, PlaceholderAnimationDirective, PlaceholderDirective, PlaceholderModule, PopoverComponent, PopoverDirective, PopoverModule, ProgressBarComponent, ProgressComponent, ProgressModule, RoundedDirective, RowComponent, RowDirective, SharedModule, SidebarBrandComponent, SidebarComponent, SidebarFooterComponent, SidebarHeaderComponent, SidebarModule, SidebarNavComponent, SidebarService, SidebarToggleDirective, SidebarTogglerComponent, SmartPaginationComponent, SmartPaginationModule, SmartTableComponent, SmartTableFilterComponent, SmartTableModule, SpinnerComponent, SpinnerModule, TabContentComponent, TabContentRefDirective, TabPaneComponent, TabService, TableActiveDirective, TableColorDirective, TableDirective, TableModule, TabsModule, TemplateIdDirective, TextColorDirective, TimePickerComponent, TimePickerModule, ToastBodyComponent, ToastCloseDirective, ToastComponent, ToastHeaderComponent, ToastModule, ToasterComponent, ToasterHostDirective, ToasterPlacement, ToasterService, TooltipComponent, TooltipDirective, TooltipModule, UtilitiesModule, WidgetModule, WidgetStatAComponent, WidgetStatBComponent, WidgetStatCComponent, WidgetStatDComponent, WidgetStatEComponent, WidgetStatFComponent };
|
|
16480
|
+
export { AccordionButtonDirective, AccordionComponent, AccordionItemComponent, AccordionModule, AlertComponent, AlertHeadingDirective, AlertLinkDirective, AlertModule, AlignDirective, AvatarComponent, AvatarModule, BackdropService, BadgeComponent, BadgeModule, BgColorDirective, BorderDirective, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, BreadcrumbRouterComponent, BreadcrumbRouterService, BreakpointInfix, ButtonCloseDirective, ButtonDirective, ButtonGroupComponent, ButtonGroupModule, ButtonModule, ButtonToolbarComponent, CalendarComponent, CalendarModule, CalendarMonthComponent, CalendarNavigationComponent, CalloutComponent, CalloutModule, CardBodyComponent, CardComponent, CardFooterComponent, CardGroupComponent, CardHeaderActionsComponent, CardHeaderComponent, CardImgDirective, CardImgOverlayComponent, CardLinkDirective, CardModule, CardSubtitleDirective, CardTextDirective, CardTitleDirective, CarouselCaptionComponent, CarouselComponent, CarouselConfig, CarouselControlComponent, CarouselIndicatorsComponent, CarouselInnerComponent, CarouselItemComponent, CarouselModule, ClassToggleService, ColComponent, ColDirective, CollapseDirective, CollapseModule, ContainerComponent, DatePickerComponent, DatePickerModule, DateRangePickerComponent, DateRangePickerModule, DropdownCloseDirective, DropdownComponent, DropdownDividerDirective, DropdownHeaderDirective, DropdownItemDirective, DropdownItemPlainDirective, DropdownMenuDirective, DropdownModule, DropdownService, DropdownToggleDirective, ElementCoverComponent, ElementCoverModule, FooterComponent, FooterModule, FormCheckComponent, FormCheckInputDirective, FormCheckLabelDirective, FormControlDirective, FormDirective, FormFeedbackComponent, FormFloatingDirective, FormLabelDirective, FormModule, FormSelectDirective, FormTextDirective, GridModule, GutterDirective, HeaderBrandComponent, HeaderComponent, HeaderDividerComponent, HeaderModule, HeaderNavComponent, HeaderTextComponent, HeaderTogglerDirective, HtmlAttributesDirective, ImgDirective, ImgModule, InputGroupComponent, InputGroupTextDirective, IntersectionService, ListGroupDirective, ListGroupItemDirective, ListGroupModule, ListenersService, LoadingButtonComponent, LoadingButtonModule, ModalBodyComponent, ModalComponent, ModalContentComponent, ModalDialogComponent, ModalFooterComponent, ModalHeaderComponent, ModalModule, ModalService, ModalTitleDirective, ModalToggleDirective, MultiSelectComponent, MultiSelectModule, MultiSelectOptgroupComponent, MultiSelectOptgroupLabelComponent, MultiSelectOptionComponent, NavComponent, NavItemComponent, NavLinkDirective, NavModule, NavbarBrandDirective, NavbarComponent, NavbarModule, NavbarNavComponent, NavbarTextComponent, NavbarTogglerDirective, OffcanvasBodyComponent, OffcanvasComponent, OffcanvasHeaderComponent, OffcanvasModule, OffcanvasService, OffcanvasTitleDirective, OffcanvasToggleDirective, PageItemComponent, PageItemDirective, PageLinkDirective, PaginationComponent, PaginationModule, PlaceholderAnimationDirective, PlaceholderDirective, PlaceholderModule, PopoverComponent, PopoverDirective, PopoverModule, ProgressBarComponent, ProgressComponent, ProgressModule, RoundedDirective, RowComponent, RowDirective, SharedModule, SidebarBrandComponent, SidebarComponent, SidebarFooterComponent, SidebarHeaderComponent, SidebarModule, SidebarNavComponent, SidebarService, SidebarToggleDirective, SidebarTogglerComponent, SmartPaginationComponent, SmartPaginationModule, SmartTableComponent, SmartTableFilterComponent, SmartTableModule, SpinnerComponent, SpinnerModule, TabContentComponent, TabContentRefDirective, TabPaneComponent, TabService, TableActiveDirective, TableColorDirective, TableDirective, TableModule, TabsModule, TemplateIdDirective, TextColorDirective, TimePickerComponent, TimePickerModule, ToastBodyComponent, ToastCloseDirective, ToastComponent, ToastHeaderComponent, ToastModule, ToasterComponent, ToasterHostDirective, ToasterPlacement, ToasterService, TooltipComponent, TooltipDirective, TooltipModule, UtilitiesModule, WidgetModule, WidgetStatAComponent, WidgetStatBComponent, WidgetStatCComponent, WidgetStatDComponent, WidgetStatEComponent, WidgetStatFComponent };
|
|
16425
16481
|
//# sourceMappingURL=coreui-angular-pro.mjs.map
|