@open-rlb/ng-bootstrap 2.4.10 → 2.4.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/open-rlb-ng-bootstrap.mjs +1000 -829
- package/fesm2022/open-rlb-ng-bootstrap.mjs.map +1 -1
- package/index.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Component, booleanAttribute, Input, Host, Self, Optional, Directive, Injectable, EventEmitter, ContentChild, Output, ContentChildren, ViewChild, numberAttribute, Pipe, ChangeDetectionStrategy, DOCUMENT, Inject, HostBinding, ViewContainerRef, InjectionToken, ElementRef, HostListener, ViewChildren, NgModule } from '@angular/core';
|
|
3
3
|
import { Collapse, Carousel, Dropdown, Modal, Toast, Offcanvas, ScrollSpy, Tooltip, Popover } from 'bootstrap';
|
|
4
|
-
import * as
|
|
4
|
+
import * as i3 from '@angular/common';
|
|
5
5
|
import { formatDate, CommonModule } from '@angular/common';
|
|
6
6
|
import * as i2 from '@angular/router';
|
|
7
7
|
import { RouterModule } from '@angular/router';
|
|
@@ -11,7 +11,7 @@ import * as i2$2 from '@angular/forms';
|
|
|
11
11
|
import { FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
|
|
12
12
|
import { DateTz } from '@open-rlb/date-tz';
|
|
13
13
|
import { DateTz as DateTz$1 } from '@open-rlb/date-tz/date-tz';
|
|
14
|
-
import * as
|
|
14
|
+
import * as i1 from '@angular/cdk/drag-drop';
|
|
15
15
|
import { CdkDrag, CdkDropListGroup, CdkDropList, CdkDragPlaceholder, CdkDragPreview } from '@angular/cdk/drag-drop';
|
|
16
16
|
import * as i5 from '@ngx-translate/core';
|
|
17
17
|
import { TranslateModule } from '@ngx-translate/core';
|
|
@@ -548,37 +548,39 @@ class AlertComponent {
|
|
|
548
548
|
this.viewContainerRef.element.nativeElement.remove();
|
|
549
549
|
}
|
|
550
550
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AlertComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
551
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
551
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AlertComponent, isStandalone: false, selector: "rlb-alert", inputs: { color: "color", dismissible: ["dismissible", "dismissible", booleanAttribute], cssClass: ["class", "cssClass"] }, outputs: { dismissed: "dismissed" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, static: true }], ngImport: i0, template: ` <ng-template #template>
|
|
552
|
+
<div class="alert alert-{{ color }} {{ cssClass }}" role="alert">
|
|
553
|
+
<ng-content></ng-content>
|
|
554
|
+
@if (dismissible) {
|
|
555
|
+
<button
|
|
556
|
+
type="button"
|
|
557
|
+
class="btn-close"
|
|
558
|
+
data-bs-dismiss="alert"
|
|
559
|
+
aria-label="Close"
|
|
560
|
+
(click)="dismissed.emit()"
|
|
561
|
+
></button>
|
|
562
|
+
}
|
|
563
|
+
</div>
|
|
564
|
+
</ng-template>`, isInline: true }); }
|
|
564
565
|
}
|
|
565
566
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AlertComponent, decorators: [{
|
|
566
567
|
type: Component,
|
|
567
568
|
args: [{
|
|
568
569
|
selector: 'rlb-alert',
|
|
569
570
|
template: ` <ng-template #template>
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
571
|
+
<div class="alert alert-{{ color }} {{ cssClass }}" role="alert">
|
|
572
|
+
<ng-content></ng-content>
|
|
573
|
+
@if (dismissible) {
|
|
574
|
+
<button
|
|
575
|
+
type="button"
|
|
576
|
+
class="btn-close"
|
|
577
|
+
data-bs-dismiss="alert"
|
|
578
|
+
aria-label="Close"
|
|
579
|
+
(click)="dismissed.emit()"
|
|
580
|
+
></button>
|
|
581
|
+
}
|
|
582
|
+
</div>
|
|
583
|
+
</ng-template>`,
|
|
582
584
|
standalone: false
|
|
583
585
|
}]
|
|
584
586
|
}], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { color: [{
|
|
@@ -622,13 +624,15 @@ class BadgeComponent {
|
|
|
622
624
|
this.viewContainerRef.element.nativeElement.remove();
|
|
623
625
|
}
|
|
624
626
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BadgeComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
625
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
627
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: BadgeComponent, isStandalone: false, selector: "span[rlb-badge], img[rlb-badge]", inputs: { pill: ["pill", "pill", booleanAttribute], color: "color", hiddenText: ["hidden-text", "hiddenText"], border: ["border", "border", booleanAttribute], cssClass: ["class", "cssClass"] }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, static: true }], ngImport: i0, template: `
|
|
626
628
|
<ng-template #template>
|
|
627
629
|
<span [class]="style">
|
|
628
630
|
<ng-content></ng-content>
|
|
629
|
-
|
|
631
|
+
@if (hiddenText) {
|
|
632
|
+
<span class="visually-hidden">{{ hiddenText }}</span>
|
|
633
|
+
}
|
|
630
634
|
</span>
|
|
631
|
-
</ng-template>`, isInline: true
|
|
635
|
+
</ng-template>`, isInline: true }); }
|
|
632
636
|
}
|
|
633
637
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BadgeComponent, decorators: [{
|
|
634
638
|
type: Component,
|
|
@@ -638,7 +642,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
638
642
|
<ng-template #template>
|
|
639
643
|
<span [class]="style">
|
|
640
644
|
<ng-content></ng-content>
|
|
641
|
-
|
|
645
|
+
@if (hiddenText) {
|
|
646
|
+
<span class="visually-hidden">{{ hiddenText }}</span>
|
|
647
|
+
}
|
|
642
648
|
</span>
|
|
643
649
|
</ng-template>`,
|
|
644
650
|
standalone: false
|
|
@@ -811,19 +817,23 @@ class BreadcrumbComponent {
|
|
|
811
817
|
this.cssClasses = '';
|
|
812
818
|
}
|
|
813
819
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
814
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
820
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: BreadcrumbComponent, isStandalone: false, selector: "rlb-breadcrumb", inputs: { divider: "divider", items: "items", cssClasses: "cssClasses" }, ngImport: i0, template: ` <nav
|
|
815
821
|
aria-label="breadcrumb"
|
|
816
822
|
style="--bs-breadcrumb-divider: '{{ divider }}';"
|
|
817
823
|
>
|
|
818
|
-
|
|
819
|
-
|
|
824
|
+
<ol class="breadcrumb" [ngClass]="cssClasses">
|
|
825
|
+
@for (item of items; track item.link; let last = $last) {
|
|
820
826
|
<li class="breadcrumb-item" [ngClass]="{ active: !last }">
|
|
821
|
-
|
|
822
|
-
|
|
827
|
+
@if (!last) {
|
|
828
|
+
<a [routerLink]="item.link">{{ item.label }}</a>
|
|
829
|
+
}
|
|
830
|
+
@if (last) {
|
|
831
|
+
<span>{{ item.label }}</span>
|
|
832
|
+
}
|
|
823
833
|
</li>
|
|
824
|
-
|
|
834
|
+
}
|
|
825
835
|
</ol>
|
|
826
|
-
</nav>`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
836
|
+
</nav>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
|
|
827
837
|
}
|
|
828
838
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BreadcrumbComponent, decorators: [{
|
|
829
839
|
type: Component,
|
|
@@ -833,16 +843,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
833
843
|
aria-label="breadcrumb"
|
|
834
844
|
style="--bs-breadcrumb-divider: '{{ divider }}';"
|
|
835
845
|
>
|
|
836
|
-
|
|
837
|
-
|
|
846
|
+
<ol class="breadcrumb" [ngClass]="cssClasses">
|
|
847
|
+
@for (item of items; track item.link; let last = $last) {
|
|
838
848
|
<li class="breadcrumb-item" [ngClass]="{ active: !last }">
|
|
839
|
-
|
|
840
|
-
|
|
849
|
+
@if (!last) {
|
|
850
|
+
<a [routerLink]="item.link">{{ item.label }}</a>
|
|
851
|
+
}
|
|
852
|
+
@if (last) {
|
|
853
|
+
<span>{{ item.label }}</span>
|
|
854
|
+
}
|
|
841
855
|
</li>
|
|
842
|
-
|
|
856
|
+
}
|
|
843
857
|
</ol>
|
|
844
858
|
</nav>`,
|
|
845
|
-
standalone: false
|
|
859
|
+
standalone: false,
|
|
846
860
|
}]
|
|
847
861
|
}], propDecorators: { divider: [{
|
|
848
862
|
type: Input,
|
|
@@ -1256,10 +1270,10 @@ class CarouselComponent {
|
|
|
1256
1270
|
return undefined;
|
|
1257
1271
|
}
|
|
1258
1272
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CarouselComponent, deps: [{ token: i0.ElementRef }, { token: UniqueIdService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1259
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1260
|
-
|
|
1273
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: CarouselComponent, isStandalone: false, selector: "rlb-carousel", inputs: { id: "id", hideIndicators: ["hide-indicators", "hideIndicators", booleanAttribute], hideControls: ["hide-controls", "hideControls", booleanAttribute], crossFade: ["cross-fade", "crossFade", booleanAttribute], autoplay: "autoplay", interval: "interval", pauseProp: ["pause", "pauseProp"], wrap: ["wrap", "wrap", booleanAttribute], noTouch: ["no-touch", "noTouch", booleanAttribute], keyboard: ["keyboard", "keyboard", booleanAttribute], currentSlide: ["current-slide", "currentSlide", numberAttribute] }, outputs: { slid: "slid", slide: "slide", currentSlideChange: "current-slideChange", slideCountChange: "slide-count" }, host: { properties: { "class.carousel-fade": "crossFade", "id": "id", "attr.data-bs-ride": "autoplay === \"auto\" ? \"carousel\" : autoplay === \"manual\" ? \"true\": undefined", "attr.data-bs-touch": "noTouch ? undefined : true", "attr.data-bs-interval": "interval", "attr.data-bs-keyboard": "!keyboard ? \"false\" : undefined", "attr.data-bs-wrap": "!wrap ? \"false\" : undefined", "attr.data-bs-pause": "pauseProp === false ? \"false\" : undefined" }, classAttribute: "carousel slide" }, queries: [{ propertyName: "items", predicate: CarouselSlideComponent }], ngImport: i0, template: `
|
|
1274
|
+
@if (!hideIndicators) {
|
|
1261
1275
|
<div class="carousel-indicators">
|
|
1262
|
-
|
|
1276
|
+
@for (item of items; track item; let i = $index) {
|
|
1263
1277
|
<button
|
|
1264
1278
|
type="button"
|
|
1265
1279
|
[class.active]="item.active"
|
|
@@ -1267,42 +1281,44 @@ class CarouselComponent {
|
|
|
1267
1281
|
[attr.data-bs-slide-to]="i"
|
|
1268
1282
|
[attr.aria-label]="'Slide ' + (i + 1)"
|
|
1269
1283
|
></button>
|
|
1270
|
-
|
|
1284
|
+
}
|
|
1271
1285
|
</div>
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1286
|
+
}
|
|
1287
|
+
<div class="carousel-inner">
|
|
1288
|
+
<ng-content select="rlb-carousel-slide" />
|
|
1289
|
+
</div>
|
|
1290
|
+
@if (!hideControls) {
|
|
1291
|
+
<button
|
|
1292
|
+
class="carousel-control-prev"
|
|
1293
|
+
type="button"
|
|
1294
|
+
[attr.data-bs-target]="'#' + id"
|
|
1295
|
+
data-bs-slide="prev"
|
|
1296
|
+
>
|
|
1297
|
+
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
|
|
1298
|
+
<span class="visually-hidden">Previous</span>
|
|
1299
|
+
</button>
|
|
1300
|
+
}
|
|
1301
|
+
@if (!hideControls) {
|
|
1302
|
+
<button
|
|
1303
|
+
class="carousel-control-next"
|
|
1304
|
+
type="button"
|
|
1305
|
+
[attr.data-bs-target]="'#' + id"
|
|
1306
|
+
data-bs-slide="next"
|
|
1307
|
+
>
|
|
1308
|
+
<span class="carousel-control-next-icon" aria-hidden="true"></span>
|
|
1309
|
+
<span class="visually-hidden">Next</span>
|
|
1310
|
+
</button>
|
|
1311
|
+
}
|
|
1312
|
+
`, isInline: true }); }
|
|
1297
1313
|
}
|
|
1298
1314
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CarouselComponent, decorators: [{
|
|
1299
1315
|
type: Component,
|
|
1300
1316
|
args: [{
|
|
1301
1317
|
selector: 'rlb-carousel',
|
|
1302
1318
|
template: `
|
|
1303
|
-
|
|
1319
|
+
@if (!hideIndicators) {
|
|
1304
1320
|
<div class="carousel-indicators">
|
|
1305
|
-
|
|
1321
|
+
@for (item of items; track item; let i = $index) {
|
|
1306
1322
|
<button
|
|
1307
1323
|
type="button"
|
|
1308
1324
|
[class.active]="item.active"
|
|
@@ -1310,33 +1326,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
1310
1326
|
[attr.data-bs-slide-to]="i"
|
|
1311
1327
|
[attr.aria-label]="'Slide ' + (i + 1)"
|
|
1312
1328
|
></button>
|
|
1313
|
-
|
|
1329
|
+
}
|
|
1314
1330
|
</div>
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1331
|
+
}
|
|
1332
|
+
<div class="carousel-inner">
|
|
1333
|
+
<ng-content select="rlb-carousel-slide" />
|
|
1334
|
+
</div>
|
|
1335
|
+
@if (!hideControls) {
|
|
1336
|
+
<button
|
|
1337
|
+
class="carousel-control-prev"
|
|
1338
|
+
type="button"
|
|
1339
|
+
[attr.data-bs-target]="'#' + id"
|
|
1340
|
+
data-bs-slide="prev"
|
|
1341
|
+
>
|
|
1342
|
+
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
|
|
1343
|
+
<span class="visually-hidden">Previous</span>
|
|
1344
|
+
</button>
|
|
1345
|
+
}
|
|
1346
|
+
@if (!hideControls) {
|
|
1347
|
+
<button
|
|
1348
|
+
class="carousel-control-next"
|
|
1349
|
+
type="button"
|
|
1350
|
+
[attr.data-bs-target]="'#' + id"
|
|
1351
|
+
data-bs-slide="next"
|
|
1352
|
+
>
|
|
1353
|
+
<span class="carousel-control-next-icon" aria-hidden="true"></span>
|
|
1354
|
+
<span class="visually-hidden">Next</span>
|
|
1355
|
+
</button>
|
|
1356
|
+
}
|
|
1357
|
+
`,
|
|
1340
1358
|
host: {
|
|
1341
1359
|
class: 'carousel slide',
|
|
1342
1360
|
'[class.carousel-fade]': 'crossFade',
|
|
@@ -1346,7 +1364,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
1346
1364
|
'[attr.data-bs-interval]': 'interval',
|
|
1347
1365
|
'[attr.data-bs-keyboard]': '!keyboard ? "false" : undefined',
|
|
1348
1366
|
'[attr.data-bs-wrap]': '!wrap ? "false" : undefined',
|
|
1349
|
-
'[attr.data-bs-pause]': '
|
|
1367
|
+
'[attr.data-bs-pause]': 'pauseProp === false ? "false" : undefined',
|
|
1350
1368
|
},
|
|
1351
1369
|
standalone: false
|
|
1352
1370
|
}]
|
|
@@ -1465,15 +1483,23 @@ class DropdownContainerComponent {
|
|
|
1465
1483
|
}
|
|
1466
1484
|
}
|
|
1467
1485
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DropdownContainerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1468
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1469
|
-
|
|
1486
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DropdownContainerComponent, isStandalone: false, selector: "ul[rlb-dropdown-menu], rlb-dropdown-container", inputs: { placement: "placement", placementSm: ["placement-sm", "placementSm"], placementMd: ["placement-md", "placementMd"], placementLg: ["placement-lg", "placementLg"], placementXl: ["placement-xl", "placementXl"], placementXxl: ["placement-xxl", "placementXxl"] }, host: { properties: { "class.dropdown-menu-end": "placement === \"right\"", "class.dropdown-menu-start": "placement === \"left\"", "class.dropdown-menu-sm-end": "placementSm === \"right\"", "class.dropdown-menu-sm-start": "placementSm === \"left\"", "class.dropdown-menu-md-end": "placementMd === \"right\"", "class.dropdown-menu-md-start": "placementMd === \"left\"", "class.dropdown-menu-lg-end": "placementLg === \"right\"", "class.dropdown-menu-lg-start": "placementLg === \"left\"", "class.dropdown-menu-xl-end": "placementXl === \"right\"", "class.dropdown-menu-xl-start": "placementXl === \"left\"", "class.dropdown-menu-xxl-end": "placementXxl === \"right\"", "class.dropdown-menu-xxl-start": "placementXxl === \"left\"", "style.border": "isList ? null : \"none\"", "style.padding": "isList ? null : \"0px\"" }, classAttribute: "dropdown-menu" }, ngImport: i0, template: ` @if (isList) {
|
|
1487
|
+
<ng-content select="li[rlb-dropdown-item]" />
|
|
1488
|
+
}
|
|
1489
|
+
@if (!isList) {
|
|
1490
|
+
<ng-content />
|
|
1491
|
+
}`, isInline: true }); }
|
|
1470
1492
|
}
|
|
1471
1493
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DropdownContainerComponent, decorators: [{
|
|
1472
1494
|
type: Component,
|
|
1473
1495
|
args: [{
|
|
1474
1496
|
selector: 'ul[rlb-dropdown-menu], rlb-dropdown-container',
|
|
1475
|
-
template: `
|
|
1476
|
-
|
|
1497
|
+
template: ` @if (isList) {
|
|
1498
|
+
<ng-content select="li[rlb-dropdown-item]" />
|
|
1499
|
+
}
|
|
1500
|
+
@if (!isList) {
|
|
1501
|
+
<ng-content />
|
|
1502
|
+
}`,
|
|
1477
1503
|
host: {
|
|
1478
1504
|
class: 'dropdown-menu',
|
|
1479
1505
|
'[class.dropdown-menu-end]': 'placement === "right"',
|
|
@@ -1518,75 +1544,87 @@ class DropdownMenuItemComponent {
|
|
|
1518
1544
|
this.link = '';
|
|
1519
1545
|
}
|
|
1520
1546
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DropdownMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1521
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1547
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DropdownMenuItemComponent, isStandalone: false, selector: "li[rlb-dropdown-item]", inputs: { active: ["active", "active", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], header: ["header", "header", booleanAttribute], divider: ["divider", "divider", booleanAttribute], link: "link", textWrap: ["text-wrap", "textWrap", booleanAttribute] }, ngImport: i0, template: `
|
|
1548
|
+
@if (!link && !divider && !header) {
|
|
1549
|
+
<span
|
|
1550
|
+
class="dropdown-item "
|
|
1551
|
+
role="button"
|
|
1552
|
+
[class.active]="active"
|
|
1553
|
+
[class.disabled]="disabled"
|
|
1554
|
+
[class.text-wrap]="textWrap"
|
|
1555
|
+
[class.text-break]="textWrap"
|
|
1556
|
+
[attr.aria-current]="active"
|
|
1557
|
+
[attr.aria-disabled]="disabled"
|
|
1558
|
+
>
|
|
1559
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
1560
|
+
</span>
|
|
1561
|
+
}
|
|
1562
|
+
@if (link) {
|
|
1563
|
+
<a
|
|
1564
|
+
class="dropdown-item "
|
|
1565
|
+
[routerLink]="link"
|
|
1566
|
+
[class.active]="active"
|
|
1567
|
+
[class.disabled]="disabled"
|
|
1568
|
+
[class.text-wrap]="textWrap"
|
|
1569
|
+
[class.text-break]="textWrap"
|
|
1570
|
+
[attr.aria-current]="active"
|
|
1571
|
+
[attr.aria-disabled]="disabled"
|
|
1572
|
+
>
|
|
1573
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
1574
|
+
</a>
|
|
1575
|
+
}
|
|
1576
|
+
@if (header) {
|
|
1577
|
+
<h6 class="dropdown-header">
|
|
1578
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
1579
|
+
</h6>
|
|
1580
|
+
}
|
|
1581
|
+
@if (divider) {
|
|
1582
|
+
<hr class="dropdown-divider" />
|
|
1583
|
+
}
|
|
1584
|
+
<ng-template #content><ng-content /></ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
|
|
1553
1585
|
}
|
|
1554
1586
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DropdownMenuItemComponent, decorators: [{
|
|
1555
1587
|
type: Component,
|
|
1556
1588
|
args: [{
|
|
1557
1589
|
selector: 'li[rlb-dropdown-item]',
|
|
1558
1590
|
template: `
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1591
|
+
@if (!link && !divider && !header) {
|
|
1592
|
+
<span
|
|
1593
|
+
class="dropdown-item "
|
|
1594
|
+
role="button"
|
|
1595
|
+
[class.active]="active"
|
|
1596
|
+
[class.disabled]="disabled"
|
|
1597
|
+
[class.text-wrap]="textWrap"
|
|
1598
|
+
[class.text-break]="textWrap"
|
|
1599
|
+
[attr.aria-current]="active"
|
|
1600
|
+
[attr.aria-disabled]="disabled"
|
|
1601
|
+
>
|
|
1602
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
1603
|
+
</span>
|
|
1604
|
+
}
|
|
1605
|
+
@if (link) {
|
|
1606
|
+
<a
|
|
1607
|
+
class="dropdown-item "
|
|
1608
|
+
[routerLink]="link"
|
|
1609
|
+
[class.active]="active"
|
|
1610
|
+
[class.disabled]="disabled"
|
|
1611
|
+
[class.text-wrap]="textWrap"
|
|
1612
|
+
[class.text-break]="textWrap"
|
|
1613
|
+
[attr.aria-current]="active"
|
|
1614
|
+
[attr.aria-disabled]="disabled"
|
|
1615
|
+
>
|
|
1616
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
1617
|
+
</a>
|
|
1618
|
+
}
|
|
1619
|
+
@if (header) {
|
|
1620
|
+
<h6 class="dropdown-header">
|
|
1621
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
1622
|
+
</h6>
|
|
1623
|
+
}
|
|
1624
|
+
@if (divider) {
|
|
1625
|
+
<hr class="dropdown-divider" />
|
|
1626
|
+
}
|
|
1627
|
+
<ng-template #content><ng-content /></ng-template>`,
|
|
1590
1628
|
standalone: false
|
|
1591
1629
|
}]
|
|
1592
1630
|
}], propDecorators: { active: [{
|
|
@@ -1745,7 +1783,7 @@ class ProgressComponent {
|
|
|
1745
1783
|
return ((this.value - this.min) / (this.max - this.min)) * 100;
|
|
1746
1784
|
}
|
|
1747
1785
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1748
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1786
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ProgressComponent, isStandalone: false, selector: "rlb-progress", inputs: { max: ["max", "max", numberAttribute], min: ["min", "min", numberAttribute], value: ["value", "value", numberAttribute], height: ["height", "height", numberAttribute], animated: ["animated", "animated", booleanAttribute], striped: ["striped", "striped", booleanAttribute], infinite: ["infinite", "infinite", booleanAttribute], ariaLabel: ["aria-label", "ariaLabel"], showValue: ["showValue", "showValue", booleanAttribute], color: "color", textColor: ["text-color", "textColor"] }, host: { attributes: { "attr.role": "progressbar", "aria-valuemin": "0" }, properties: { "attr.aria-valuenow": "getPercentValue()", "attr.aria-valuemax": "max", "attr.aria-valuemin": "min", "attr.aria-label": "ariaLabel", "style.height.px": "height" }, classAttribute: "progress" }, ngImport: i0, template: `
|
|
1749
1787
|
<div
|
|
1750
1788
|
class="progress-bar {{ color && !infinite? 'bg-' + color : '' }} {{ textColor? 'text-' + textColor : '' }}"
|
|
1751
1789
|
[class.progress-bar-animated]="animated"
|
|
@@ -1753,14 +1791,17 @@ class ProgressComponent {
|
|
|
1753
1791
|
[class.infinite-progress]="infinite"
|
|
1754
1792
|
[style.background-color]="infinite? 'unset' : null"
|
|
1755
1793
|
[style.width.%]="infinite? max :getPercentValue()">
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1794
|
+
@if (infinite) {
|
|
1795
|
+
<div class="inner bg-{{color}}"></div>
|
|
1796
|
+
}
|
|
1797
|
+
@if (showValue) {
|
|
1798
|
+
<span>
|
|
1799
|
+
{{ getPercentValue() }}
|
|
1800
|
+
</span>
|
|
1801
|
+
} @else {
|
|
1761
1802
|
<ng-content></ng-content>
|
|
1762
|
-
|
|
1763
|
-
</div>`, isInline: true
|
|
1803
|
+
}
|
|
1804
|
+
</div>`, isInline: true }); }
|
|
1764
1805
|
}
|
|
1765
1806
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ProgressComponent, decorators: [{
|
|
1766
1807
|
type: Component,
|
|
@@ -1774,13 +1815,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
1774
1815
|
[class.infinite-progress]="infinite"
|
|
1775
1816
|
[style.background-color]="infinite? 'unset' : null"
|
|
1776
1817
|
[style.width.%]="infinite? max :getPercentValue()">
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1818
|
+
@if (infinite) {
|
|
1819
|
+
<div class="inner bg-{{color}}"></div>
|
|
1820
|
+
}
|
|
1821
|
+
@if (showValue) {
|
|
1822
|
+
<span>
|
|
1823
|
+
{{ getPercentValue() }}
|
|
1824
|
+
</span>
|
|
1825
|
+
} @else {
|
|
1782
1826
|
<ng-content></ng-content>
|
|
1783
|
-
|
|
1827
|
+
}
|
|
1784
1828
|
</div>`,
|
|
1785
1829
|
host: {
|
|
1786
1830
|
class: 'progress',
|
|
@@ -2498,22 +2542,23 @@ class AvatarComponent {
|
|
|
2498
2542
|
this.viewContainerRef.element.nativeElement.remove();
|
|
2499
2543
|
}
|
|
2500
2544
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AvatarComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2501
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2545
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AvatarComponent, isStandalone: false, selector: "rlb-avatar", inputs: { size: ["size", "size", numberAttribute], shape: "shape", src: "src", cssClass: ["class", "cssClass"] }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, static: true }], ngImport: i0, template: `
|
|
2502
2546
|
<ng-template #template>
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2547
|
+
@if (src) {
|
|
2548
|
+
<img
|
|
2549
|
+
[src]="src"
|
|
2550
|
+
alt="Avatar"
|
|
2551
|
+
[class]="cssClass"
|
|
2552
|
+
[style.vertical-align]="'middle'"
|
|
2553
|
+
[style.width.px]="size"
|
|
2554
|
+
[style.width.px]="size"
|
|
2555
|
+
[style.height.px]="size"
|
|
2556
|
+
[style.border]="'2px solid #cbcbcb'"
|
|
2557
|
+
[style.border-radius]="_borderRadius"
|
|
2558
|
+
/>
|
|
2559
|
+
}
|
|
2515
2560
|
</ng-template>
|
|
2516
|
-
|
|
2561
|
+
`, isInline: true }); }
|
|
2517
2562
|
}
|
|
2518
2563
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AvatarComponent, decorators: [{
|
|
2519
2564
|
type: Component,
|
|
@@ -2521,20 +2566,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
2521
2566
|
selector: 'rlb-avatar',
|
|
2522
2567
|
template: `
|
|
2523
2568
|
<ng-template #template>
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2569
|
+
@if (src) {
|
|
2570
|
+
<img
|
|
2571
|
+
[src]="src"
|
|
2572
|
+
alt="Avatar"
|
|
2573
|
+
[class]="cssClass"
|
|
2574
|
+
[style.vertical-align]="'middle'"
|
|
2575
|
+
[style.width.px]="size"
|
|
2576
|
+
[style.width.px]="size"
|
|
2577
|
+
[style.height.px]="size"
|
|
2578
|
+
[style.border]="'2px solid #cbcbcb'"
|
|
2579
|
+
[style.border-radius]="_borderRadius"
|
|
2580
|
+
/>
|
|
2581
|
+
}
|
|
2536
2582
|
</ng-template>
|
|
2537
|
-
|
|
2583
|
+
`,
|
|
2538
2584
|
standalone: false
|
|
2539
2585
|
}]
|
|
2540
2586
|
}], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { size: [{
|
|
@@ -2591,7 +2637,7 @@ class RlbFabComponent {
|
|
|
2591
2637
|
}
|
|
2592
2638
|
}
|
|
2593
2639
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RlbFabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2594
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.16", type: RlbFabComponent, isStandalone: false, selector: "rlb-fab", inputs: { color: "color", size: "size", disabled: ["disabled", "disabled", booleanAttribute], outline: ["outline", "outline", booleanAttribute], position: "position" }, ngImport: i0, template: "<button\n rlb-button\n [color]=\"color\"\n [disabled]=\"disabled\"\n [outline]=\"outline\"\n class=\"fab-button d-flex align-items-center justify-content-center\"\n [ngClass]=\"[sizeClass, positionClass]\"\n>\n <ng-content></ng-content>\n</button>\n", styles: [".fab-button{border-radius:50%;box-shadow:0 4px 12px #00000040;z-index:1050;transition:transform .2s ease,box-shadow .2s ease;padding:0}.fab-button:hover{transform:scale(1.08);box-shadow:0 6px 18px #00000059}.fab-button:active{transform:scale(.95)}:host{width:fit-content;display:block}.fab-xs{width:32px;height:32px;font-size:1rem}.fab-sm{width:44px;height:44px;font-size:1.2rem}.fab-md{width:56px;height:56px;font-size:1.4rem}.fab-lg{width:68px;height:68px;font-size:1.7rem}.fab-bottom-right{bottom:24px;right:24px}.fab-bottom-left{bottom:24px;left:24px}.fab-top-right{top:24px;right:24px}.fab-top-left{top:24px;left:24px}\n"], dependencies: [{ kind: "directive", type:
|
|
2640
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.16", type: RlbFabComponent, isStandalone: false, selector: "rlb-fab", inputs: { color: "color", size: "size", disabled: ["disabled", "disabled", booleanAttribute], outline: ["outline", "outline", booleanAttribute], position: "position" }, ngImport: i0, template: "<button\n rlb-button\n [color]=\"color\"\n [disabled]=\"disabled\"\n [outline]=\"outline\"\n class=\"fab-button d-flex align-items-center justify-content-center\"\n [ngClass]=\"[sizeClass, positionClass]\"\n>\n <ng-content></ng-content>\n</button>\n", styles: [".fab-button{border-radius:50%;box-shadow:0 4px 12px #00000040;z-index:1050;transition:transform .2s ease,box-shadow .2s ease;padding:0}.fab-button:hover{transform:scale(1.08);box-shadow:0 6px 18px #00000059}.fab-button:active{transform:scale(.95)}:host{width:fit-content;display:block}.fab-xs{width:32px;height:32px;font-size:1rem}.fab-sm{width:44px;height:44px;font-size:1.2rem}.fab-md{width:56px;height:56px;font-size:1.4rem}.fab-lg{width:68px;height:68px;font-size:1.7rem}.fab-bottom-right{bottom:24px;right:24px}.fab-bottom-left{bottom:24px;left:24px}.fab-top-right{top:24px;right:24px}.fab-top-left{top:24px;left:24px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }] }); }
|
|
2595
2641
|
}
|
|
2596
2642
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RlbFabComponent, decorators: [{
|
|
2597
2643
|
type: Component,
|
|
@@ -2971,7 +3017,7 @@ class CalendarHeaderComponent {
|
|
|
2971
3017
|
}
|
|
2972
3018
|
}
|
|
2973
3019
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CalendarHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2974
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: CalendarHeaderComponent, isStandalone: false, selector: "rlb-calendar-header", inputs: { view: "view", currentDate: "currentDate" }, outputs: { dateChange: "dateChange", viewChange: "viewChange" }, ngImport: i0, template: "<div class=\"d-flex justify-content-between align-items-center mb-3\">\n\t<div class=\"d-flex gap-1\">\n\t\t<button rlb-button outline (click)=\"prev()\">\n\t\t\t<i class=\"bi bi-chevron-left\"></i>\n\t\t</button>\n\t\t<button rlb-button outline (click)=\"today()\">Today</button>\n\t\t<button rlb-button outline (click)=\"next()\">\n\t\t\t<i class=\"bi-chevron-right\"></i>\n\t\t</button>\n\t</div>\n\n <h5 class=\"mb-0\">{{ currentDate | dtz:'DD MM yyyy' | monthFormatter }} {{ currentDate.timezone }}</h5>\n\n\t<rlb-dropdown>\n\t\t<button rlb-button outline rlb-dropdown>{{ view | titlecase }}</button>\n\t\t<ul rlb-dropdown-menu [placement]=\"'right'\">\n\t\t\t<li rlb-dropdown-item (click)=\"viewChange.emit('day')\" >Day</li>\n\t\t\t<li rlb-dropdown-item (click)=\"viewChange.emit('week')\">Week</li>\n\t\t\t<li rlb-dropdown-item (click)=\"viewChange.emit('month')\">Month</li>\n\t\t</ul>\n\t</rlb-dropdown>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "component", type: DropdownComponent, selector: "rlb-dropdown", inputs: ["direction"] }, { kind: "component", type: DropdownContainerComponent, selector: "ul[rlb-dropdown-menu], rlb-dropdown-container", inputs: ["placement", "placement-sm", "placement-md", "placement-lg", "placement-xl", "placement-xxl"] }, { kind: "component", type: DropdownMenuItemComponent, selector: "li[rlb-dropdown-item]", inputs: ["active", "disabled", "header", "divider", "link", "text-wrap"] }, { kind: "directive", type: DropdownDirective, selector: "a[rlb-dropdown], button[rlb-dropdown], span[rlb-badge][rlb-dropdown]", inputs: ["offset", "auto-close"], outputs: ["status-changed"] }, { kind: "pipe", type:
|
|
3020
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: CalendarHeaderComponent, isStandalone: false, selector: "rlb-calendar-header", inputs: { view: "view", currentDate: "currentDate" }, outputs: { dateChange: "dateChange", viewChange: "viewChange" }, ngImport: i0, template: "<div class=\"d-flex justify-content-between align-items-center mb-3\">\n\t<div class=\"d-flex gap-1\">\n\t\t<button rlb-button outline (click)=\"prev()\">\n\t\t\t<i class=\"bi bi-chevron-left\"></i>\n\t\t</button>\n\t\t<button rlb-button outline (click)=\"today()\">Today</button>\n\t\t<button rlb-button outline (click)=\"next()\">\n\t\t\t<i class=\"bi-chevron-right\"></i>\n\t\t</button>\n\t</div>\n\n <h5 class=\"mb-0\">{{ currentDate | dtz:'DD MM yyyy' | monthFormatter }} {{ currentDate.timezone }}</h5>\n\n\t<rlb-dropdown>\n\t\t<button rlb-button outline rlb-dropdown>{{ view | titlecase }}</button>\n\t\t<ul rlb-dropdown-menu [placement]=\"'right'\">\n\t\t\t<li rlb-dropdown-item (click)=\"viewChange.emit('day')\" >Day</li>\n\t\t\t<li rlb-dropdown-item (click)=\"viewChange.emit('week')\">Week</li>\n\t\t\t<li rlb-dropdown-item (click)=\"viewChange.emit('month')\">Month</li>\n\t\t</ul>\n\t</rlb-dropdown>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "component", type: DropdownComponent, selector: "rlb-dropdown", inputs: ["direction"] }, { kind: "component", type: DropdownContainerComponent, selector: "ul[rlb-dropdown-menu], rlb-dropdown-container", inputs: ["placement", "placement-sm", "placement-md", "placement-lg", "placement-xl", "placement-xxl"] }, { kind: "component", type: DropdownMenuItemComponent, selector: "li[rlb-dropdown-item]", inputs: ["active", "disabled", "header", "divider", "link", "text-wrap"] }, { kind: "directive", type: DropdownDirective, selector: "a[rlb-dropdown], button[rlb-dropdown], span[rlb-badge][rlb-dropdown]", inputs: ["offset", "auto-close"], outputs: ["status-changed"] }, { kind: "pipe", type: i3.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: DateTzPipe, name: "dtz" }, { kind: "pipe", type: MonthFormatterPipe, name: "monthFormatter" }] }); }
|
|
2975
3021
|
}
|
|
2976
3022
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CalendarHeaderComponent, decorators: [{
|
|
2977
3023
|
type: Component,
|
|
@@ -3034,11 +3080,11 @@ class CalendarEventComponent {
|
|
|
3034
3080
|
}
|
|
3035
3081
|
}
|
|
3036
3082
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CalendarEventComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3037
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
3083
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: CalendarEventComponent, isStandalone: false, selector: "rlb-calendar-event", inputs: { event: "event", view: "view" }, outputs: { eventClick: "eventClick", eventContainerClick: "eventContainerClick" }, ngImport: i0, template: "<div [ngClass]=\"classes\"\n (click)=\"onClick($event)\">\n\n @if (!event.isOverflowIndicator) {\n <strong>{{ event.title }}</strong>\n <div class=\"small opacity-75\">\n {{ event.start | dtz:'HH:mm' }} - {{ event.end | dtz:'HH:mm' }}\n </div>\n }\n\n @if (event.isOverflowIndicator) {\n +{{ event.overlapCount }} more\n }\n</div>\n", styles: [":host{display:block;height:100%;overflow:hidden;border-radius:var(--bs-border-radius-sm);padding:0 1px;box-sizing:border-box;transition:box-shadow .2s}:host:hover{z-index:50;box-shadow:0 .5rem 1rem #00000026!important}.calendar-event{height:100%;width:100%;padding:2px 4px;font-size:.75rem;line-height:1.2;border-radius:var(--bs-border-radius-sm);cursor:pointer}.calendar-event.overflow-indicator{display:flex;align-items:center;justify-content:center;font-weight:600;border-style:dashed!important}.calendar-event.mode-week{height:100%;padding:2px 4px;font-size:.75rem;line-height:1.2}.calendar-event.mode-month{height:20px!important;padding:0 4px;line-height:20px;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.mode-month.rounded-bottom-0{border-bottom-right-radius:0;border-bottom-left-radius:0}.calendar-event.mode-month.rounded-top-0{border-top-right-radius:0;border-top-left-radius:0}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: DateTzPipe, name: "dtz" }] }); }
|
|
3038
3084
|
}
|
|
3039
3085
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CalendarEventComponent, decorators: [{
|
|
3040
3086
|
type: Component,
|
|
3041
|
-
args: [{ selector: 'rlb-calendar-event', standalone: false, template: "<div [ngClass]=\"classes\"\n
|
|
3087
|
+
args: [{ selector: 'rlb-calendar-event', standalone: false, template: "<div [ngClass]=\"classes\"\n (click)=\"onClick($event)\">\n\n @if (!event.isOverflowIndicator) {\n <strong>{{ event.title }}</strong>\n <div class=\"small opacity-75\">\n {{ event.start | dtz:'HH:mm' }} - {{ event.end | dtz:'HH:mm' }}\n </div>\n }\n\n @if (event.isOverflowIndicator) {\n +{{ event.overlapCount }} more\n }\n</div>\n", styles: [":host{display:block;height:100%;overflow:hidden;border-radius:var(--bs-border-radius-sm);padding:0 1px;box-sizing:border-box;transition:box-shadow .2s}:host:hover{z-index:50;box-shadow:0 .5rem 1rem #00000026!important}.calendar-event{height:100%;width:100%;padding:2px 4px;font-size:.75rem;line-height:1.2;border-radius:var(--bs-border-radius-sm);cursor:pointer}.calendar-event.overflow-indicator{display:flex;align-items:center;justify-content:center;font-weight:600;border-style:dashed!important}.calendar-event.mode-week{height:100%;padding:2px 4px;font-size:.75rem;line-height:1.2}.calendar-event.mode-month{height:20px!important;padding:0 4px;line-height:20px;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.mode-month.rounded-bottom-0{border-bottom-right-radius:0;border-bottom-left-radius:0}.calendar-event.mode-month.rounded-top-0{border-top-right-radius:0;border-top-left-radius:0}\n"] }]
|
|
3042
3088
|
}], propDecorators: { event: [{
|
|
3043
3089
|
type: Input,
|
|
3044
3090
|
args: [{ required: true }]
|
|
@@ -3391,11 +3437,11 @@ class CalendarWeekGridComponent {
|
|
|
3391
3437
|
});
|
|
3392
3438
|
}
|
|
3393
3439
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CalendarWeekGridComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3394
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
3440
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: CalendarWeekGridComponent, isStandalone: false, selector: "rlb-calendar-week-grid", inputs: { view: "view", currentDate: "currentDate", events: "events", layout: "layout" }, outputs: { eventClick: "eventClick", eventContainerClick: "eventContainerClick", eventChange: "eventChange" }, viewQueries: [{ propertyName: "scrollBodyRef", first: true, predicate: ["scrollBody"], descendants: true }, { propertyName: "headerRowRef", first: true, predicate: ["headerRow"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"calendar-wrapper d-flex flex-column\">\n\n <!-- HEADER WRAPPER -->\n <div #headerRow class=\"header-container overflow-hidden flex-shrink-0 border-bottom bg-body-tertiary\"\n [style.padding-right.px]=\"scrollbarWidth\">\n\n <div class=\"header-row d-flex\" [style.min-height.rem]=\"layout.minHeaderHeight\">\n\n <div class=\"time-gutter border-end flex-shrink-0\"></div>\n\n <div class=\"days-header d-flex flex-grow-1\">\n @for (day of days; track day) {\n <div class=\"day-cell text-center p-2 border-end\" [class.text-primary]=\"isToday(day)\"\n [class.fw-bold]=\"isToday(day)\" [class.bg-primary]=\"isToday(day)\">\n <div class=\"small text-uppercase text-body-secondary\">{{ day | dayOfWeek: 'short' }}</div>\n <div class=\"h5 m-0\">{{ day | dtz:'DD' }}</div>\n </div>\n }\n </div>\n </div>\n </div>\n\n <!-- BODY WRAPPER -->\n <div #scrollBody class=\"calendar-body flex-grow-1 overflow-auto bg-body position-relative\"\n (scroll)=\"onBodyScroll($event)\" [style.max-height.rem]=\"layout.maxBodyHeight\">\n\n <div class=\"body-row d-flex position-relative\">\n\n <!-- SIDEBAR (Sticky Left) -->\n <div class=\"time-sidebar sticky-start flex-shrink-0 border-end\">\n @for (time of timeSlots; track time; let i = $index) {\n <div\n class=\"time-slot-label small text-body-secondary d-flex align-items-start justify-content-center\"\n [style.height.px]=\"layout.rowHeight\">\n @if (i !== 0) {\n <span style=\"transform: translateY(-50%)\">\n {{ time }}\n </span>\n }\n </div>\n }\n </div>\n\n <!-- GRID AND EVENTS -->\n <div class=\"grid-layer flex-grow-1 position-relative\">\n\n <!-- LAYER 1: Grid -->\n <div class=\"background-grid position-absolute w-100 h-100 top-0 start-0 z-0\">\n @for (time of timeSlots; track time) {\n <div class=\"grid-row border-bottom\" [style.height.px]=\"layout.rowHeight\">\n </div>\n }\n </div>\n\n <!-- Layer 2: Events -->\n <div class=\"events-container d-flex h-100 w-100 position-relative z-1\" cdkDropListGroup>\n @for (day of days; track day) {\n <div class=\"day-column position-relative border-end h-100\" cdkDropList\n [cdkDropListSortingDisabled]=\"true\" [cdkDropListData]=\"day\" (cdkDropListDropped)=\"onEventDrop($event)\"\n (click)=\"eventClick.emit()\">\n @for (event of getEventsForDay(day); track trackByEventId($index, event)) {\n <rlb-calendar-event [view]=\"view\"\n [event]=\"event\" [style.top.px]=\"calculateEventTop(event)\" [style.height.px]=\"calculateEventHeight(event)\"\n [style.left.%]=\"event.left\" [style.width.%]=\"event.width\" (eventClick)=\"eventClick.emit($event)\"\n (eventContainerClick)=\"eventContainerClick.emit($event)\" cdkDrag [cdkDragData]=\"event\"\n [cdkDragDisabled]=\"event.isOverflowIndicator\" class=\"position-absolute\">\n <div *cdkDragPlaceholder style=\"opacity: 0\"></div>\n </rlb-calendar-event>\n }\n @if (isToday(day)) {\n <div class=\"now-line\" [style.top.px]=\"getNowTop()\">\n </div>\n }\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [":host{display:block;height:100%}.calendar-wrapper{background-color:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius);overflow:hidden;height:100%}.header-container{background-color:var(--bs-body-bg);z-index:102;box-shadow:0 4px 6px -4px #0000001a}.header-row{width:fit-content;min-width:100%}.time-gutter{width:60px;border-color:var(--bs-border-color)!important}.day-cell{border-color:var(--bs-border-color)!important;flex:1 1 0px;width:0;min-width:120px;overflow:hidden}.day-cell:last-child{border-right:none!important}.calendar-body{scroll-behavior:auto}.body-row{width:fit-content;min-width:100%}.sticky-start{position:sticky;left:0;z-index:50;background-color:var(--bs-body-bg)}.time-sidebar{width:60px;border-color:var(--bs-border-color)!important}.grid-row{border-color:var(--bs-border-color)!important;box-sizing:border-box}.grid-row:after{content:\"\";position:absolute;width:100%;border-bottom:1px dotted currentColor;opacity:.15;top:50%;left:0;pointer-events:none}.day-column{border-color:var(--bs-border-color)!important;flex:1 1 0px;width:0;min-width:120px}.day-column:last-child{border-right:none!important}.now-line{position:absolute;left:0;right:0;height:2px;background-color:var(--bs-danger);z-index:10;pointer-events:none}.now-line:before{content:\"\";position:absolute;left:-5px;top:-4px;width:10px;height:10px;background-color:var(--bs-danger);border-radius:50%}.z-0{z-index:0}.z-1{z-index:1}\n"], dependencies: [{ kind: "directive", type: i1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i1.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i1.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "component", type: CalendarEventComponent, selector: "rlb-calendar-event", inputs: ["event", "view"], outputs: ["eventClick", "eventContainerClick"] }, { kind: "pipe", type: DateTzPipe, name: "dtz" }, { kind: "pipe", type: DayOfWeekPipe, name: "dayOfWeek" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3395
3441
|
}
|
|
3396
3442
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CalendarWeekGridComponent, decorators: [{
|
|
3397
3443
|
type: Component,
|
|
3398
|
-
args: [{ selector: 'rlb-calendar-week-grid', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"calendar-wrapper d-flex flex-column\">\n\n <!-- HEADER WRAPPER -->\n <div #headerRow class=\"header-container overflow-hidden flex-shrink-0 border-bottom bg-body-tertiary\"\n [style.padding-right.px]=\"scrollbarWidth\">\n\n <div class=\"header-row d-flex\" [style.min-height.rem]=\"layout.minHeaderHeight\">\n\n <div class=\"time-gutter border-end flex-shrink-0\"></div>\n\n <div class=\"days-header d-flex flex-grow-1\">\n
|
|
3444
|
+
args: [{ selector: 'rlb-calendar-week-grid', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"calendar-wrapper d-flex flex-column\">\n\n <!-- HEADER WRAPPER -->\n <div #headerRow class=\"header-container overflow-hidden flex-shrink-0 border-bottom bg-body-tertiary\"\n [style.padding-right.px]=\"scrollbarWidth\">\n\n <div class=\"header-row d-flex\" [style.min-height.rem]=\"layout.minHeaderHeight\">\n\n <div class=\"time-gutter border-end flex-shrink-0\"></div>\n\n <div class=\"days-header d-flex flex-grow-1\">\n @for (day of days; track day) {\n <div class=\"day-cell text-center p-2 border-end\" [class.text-primary]=\"isToday(day)\"\n [class.fw-bold]=\"isToday(day)\" [class.bg-primary]=\"isToday(day)\">\n <div class=\"small text-uppercase text-body-secondary\">{{ day | dayOfWeek: 'short' }}</div>\n <div class=\"h5 m-0\">{{ day | dtz:'DD' }}</div>\n </div>\n }\n </div>\n </div>\n </div>\n\n <!-- BODY WRAPPER -->\n <div #scrollBody class=\"calendar-body flex-grow-1 overflow-auto bg-body position-relative\"\n (scroll)=\"onBodyScroll($event)\" [style.max-height.rem]=\"layout.maxBodyHeight\">\n\n <div class=\"body-row d-flex position-relative\">\n\n <!-- SIDEBAR (Sticky Left) -->\n <div class=\"time-sidebar sticky-start flex-shrink-0 border-end\">\n @for (time of timeSlots; track time; let i = $index) {\n <div\n class=\"time-slot-label small text-body-secondary d-flex align-items-start justify-content-center\"\n [style.height.px]=\"layout.rowHeight\">\n @if (i !== 0) {\n <span style=\"transform: translateY(-50%)\">\n {{ time }}\n </span>\n }\n </div>\n }\n </div>\n\n <!-- GRID AND EVENTS -->\n <div class=\"grid-layer flex-grow-1 position-relative\">\n\n <!-- LAYER 1: Grid -->\n <div class=\"background-grid position-absolute w-100 h-100 top-0 start-0 z-0\">\n @for (time of timeSlots; track time) {\n <div class=\"grid-row border-bottom\" [style.height.px]=\"layout.rowHeight\">\n </div>\n }\n </div>\n\n <!-- Layer 2: Events -->\n <div class=\"events-container d-flex h-100 w-100 position-relative z-1\" cdkDropListGroup>\n @for (day of days; track day) {\n <div class=\"day-column position-relative border-end h-100\" cdkDropList\n [cdkDropListSortingDisabled]=\"true\" [cdkDropListData]=\"day\" (cdkDropListDropped)=\"onEventDrop($event)\"\n (click)=\"eventClick.emit()\">\n @for (event of getEventsForDay(day); track trackByEventId($index, event)) {\n <rlb-calendar-event [view]=\"view\"\n [event]=\"event\" [style.top.px]=\"calculateEventTop(event)\" [style.height.px]=\"calculateEventHeight(event)\"\n [style.left.%]=\"event.left\" [style.width.%]=\"event.width\" (eventClick)=\"eventClick.emit($event)\"\n (eventContainerClick)=\"eventContainerClick.emit($event)\" cdkDrag [cdkDragData]=\"event\"\n [cdkDragDisabled]=\"event.isOverflowIndicator\" class=\"position-absolute\">\n <div *cdkDragPlaceholder style=\"opacity: 0\"></div>\n </rlb-calendar-event>\n }\n @if (isToday(day)) {\n <div class=\"now-line\" [style.top.px]=\"getNowTop()\">\n </div>\n }\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [":host{display:block;height:100%}.calendar-wrapper{background-color:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius);overflow:hidden;height:100%}.header-container{background-color:var(--bs-body-bg);z-index:102;box-shadow:0 4px 6px -4px #0000001a}.header-row{width:fit-content;min-width:100%}.time-gutter{width:60px;border-color:var(--bs-border-color)!important}.day-cell{border-color:var(--bs-border-color)!important;flex:1 1 0px;width:0;min-width:120px;overflow:hidden}.day-cell:last-child{border-right:none!important}.calendar-body{scroll-behavior:auto}.body-row{width:fit-content;min-width:100%}.sticky-start{position:sticky;left:0;z-index:50;background-color:var(--bs-body-bg)}.time-sidebar{width:60px;border-color:var(--bs-border-color)!important}.grid-row{border-color:var(--bs-border-color)!important;box-sizing:border-box}.grid-row:after{content:\"\";position:absolute;width:100%;border-bottom:1px dotted currentColor;opacity:.15;top:50%;left:0;pointer-events:none}.day-column{border-color:var(--bs-border-color)!important;flex:1 1 0px;width:0;min-width:120px}.day-column:last-child{border-right:none!important}.now-line{position:absolute;left:0;right:0;height:2px;background-color:var(--bs-danger);z-index:10;pointer-events:none}.now-line:before{content:\"\";position:absolute;left:-5px;top:-4px;width:10px;height:10px;background-color:var(--bs-danger);border-radius:50%}.z-0{z-index:0}.z-1{z-index:1}\n"] }]
|
|
3399
3445
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { view: [{
|
|
3400
3446
|
type: Input
|
|
3401
3447
|
}], currentDate: [{
|
|
@@ -3659,11 +3705,11 @@ class CalendarDayGridComponent {
|
|
|
3659
3705
|
});
|
|
3660
3706
|
}
|
|
3661
3707
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CalendarDayGridComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3662
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
3708
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: CalendarDayGridComponent, isStandalone: false, selector: "rlb-calendar-day-grid", inputs: { view: "view", currentDate: "currentDate", events: "events", layout: "layout" }, outputs: { eventClick: "eventClick", eventContainerClick: "eventContainerClick", eventChange: "eventChange" }, viewQueries: [{ propertyName: "scrollBodyRef", first: true, predicate: ["scrollBody"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (day) {\n <div class=\"calendar-wrapper d-flex flex-column\">\n <!-- HEADER WRAPPER -->\n <!-- For day view, we just show the date at top? Or maybe just keep it simple with body since main header has date -->\n <!-- Mimicking structure of Week View but single column -->\n <div class=\"header-container overflow-hidden flex-shrink-0 border-bottom bg-body-tertiary\">\n <div class=\"header-row d-flex\" [style.min-height.rem]=\"layout.minHeaderHeight\">\n <div class=\"time-gutter border-end flex-shrink-0\"></div>\n <div class=\"day-cell p-2 flex-grow-1\" [class.text-primary]=\"isToday(day)\"\n [class.fw-bold]=\"isToday(day)\" [class.bg-primary]=\"isToday(day)\">\n <div class=\"small text-uppercase text-body-secondary h-100 d-flex align-items-center justify-content-center\">{{ day | dayOfWeek: 'long' }}</div>\n </div>\n </div>\n </div>\n <!-- BODY WRAPPER -->\n <div #scrollBody class=\"calendar-body flex-grow-1 overflow-auto bg-body position-relative\"\n [style.max-height.rem]=\"layout.maxBodyHeight\">\n <div class=\"body-row d-flex position-relative\">\n <!-- SIDEBAR (Sticky Left) -->\n <div class=\"time-sidebar sticky-start flex-shrink-0 border-end\">\n @for (time of timeSlots; track time; let i = $index) {\n <div\n class=\"time-slot-label small text-body-secondary d-flex align-items-start justify-content-center\"\n [style.height.px]=\"layout.rowHeight\">\n @if (i !== 0) {\n <span style=\"transform: translateY(-50%)\">\n {{ time }}\n </span>\n }\n </div>\n }\n </div>\n <!-- GRID AND EVENTS -->\n <div class=\"grid-layer flex-grow-1 position-relative\">\n <!-- LAYER 1: Grid -->\n <div class=\"background-grid position-absolute w-100 h-100 top-0 start-0 z-0\">\n @for (time of timeSlots; track time) {\n <div class=\"grid-row border-bottom\" [style.height.px]=\"layout.rowHeight\">\n </div>\n }\n </div>\n <!-- Layer 2: Events -->\n <div class=\"events-container d-flex h-100 w-100 position-relative z-1\" cdkDropListGroup>\n <div class=\"day-column position-relative h-100 w-100\" cdkDropList [cdkDropListSortingDisabled]=\"true\"\n [cdkDropListData]=\"day\" (cdkDropListDropped)=\"onEventDrop($event)\" (click)=\"eventClick.emit()\">\n @for (event of processedEvents; track trackByEventId($index, event)) {\n <rlb-calendar-event [view]=\"view\"\n [event]=\"event\" [style.top.px]=\"calculateEventTop(event)\" [style.height.px]=\"calculateEventHeight(event)\"\n [style.left.%]=\"event.left\" [style.width.%]=\"event.width\" (eventClick)=\"eventClick.emit($event)\"\n (eventContainerClick)=\"eventContainerClick.emit($event)\" cdkDrag [cdkDragData]=\"event\"\n class=\"position-absolute\">\n <div *cdkDragPlaceholder style=\"opacity: 0\"></div>\n </rlb-calendar-event>\n }\n @if (isToday(day)) {\n <div class=\"now-line\" [style.top.px]=\"getNowTop()\">\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n}\n", styles: [":host{display:block;height:100%}.calendar-wrapper{background-color:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius);overflow:hidden;height:100%}.header-container{background-color:var(--bs-body-bg);z-index:102}.header-row{width:100%}.time-gutter{width:60px;border-color:var(--bs-border-color)!important}.day-cell{border-color:var(--bs-border-color)!important}.calendar-body{scroll-behavior:auto}.body-row{width:100%}.sticky-start{position:sticky;left:0;z-index:50;background-color:var(--bs-body-bg)}.time-sidebar{width:60px;border-color:var(--bs-border-color)!important}.grid-row{border-color:var(--bs-border-color)!important;box-sizing:border-box}.grid-row:after{content:\"\";position:absolute;width:100%;border-bottom:1px dotted currentColor;opacity:.15;top:50%;left:0;pointer-events:none}.now-line{position:absolute;left:0;right:0;height:2px;background-color:var(--bs-danger);z-index:10;pointer-events:none}.now-line:before{content:\"\";position:absolute;left:-5px;top:-4px;width:10px;height:10px;background-color:var(--bs-danger);border-radius:50%}.z-0{z-index:0}.z-1{z-index:1}\n"], dependencies: [{ kind: "directive", type: i1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i1.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i1.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "component", type: CalendarEventComponent, selector: "rlb-calendar-event", inputs: ["event", "view"], outputs: ["eventClick", "eventContainerClick"] }, { kind: "pipe", type: DayOfWeekPipe, name: "dayOfWeek" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3663
3709
|
}
|
|
3664
3710
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CalendarDayGridComponent, decorators: [{
|
|
3665
3711
|
type: Component,
|
|
3666
|
-
args: [{ selector: 'rlb-calendar-day-grid', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"calendar-wrapper d-flex flex-column\"
|
|
3712
|
+
args: [{ selector: 'rlb-calendar-day-grid', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (day) {\n <div class=\"calendar-wrapper d-flex flex-column\">\n <!-- HEADER WRAPPER -->\n <!-- For day view, we just show the date at top? Or maybe just keep it simple with body since main header has date -->\n <!-- Mimicking structure of Week View but single column -->\n <div class=\"header-container overflow-hidden flex-shrink-0 border-bottom bg-body-tertiary\">\n <div class=\"header-row d-flex\" [style.min-height.rem]=\"layout.minHeaderHeight\">\n <div class=\"time-gutter border-end flex-shrink-0\"></div>\n <div class=\"day-cell p-2 flex-grow-1\" [class.text-primary]=\"isToday(day)\"\n [class.fw-bold]=\"isToday(day)\" [class.bg-primary]=\"isToday(day)\">\n <div class=\"small text-uppercase text-body-secondary h-100 d-flex align-items-center justify-content-center\">{{ day | dayOfWeek: 'long' }}</div>\n </div>\n </div>\n </div>\n <!-- BODY WRAPPER -->\n <div #scrollBody class=\"calendar-body flex-grow-1 overflow-auto bg-body position-relative\"\n [style.max-height.rem]=\"layout.maxBodyHeight\">\n <div class=\"body-row d-flex position-relative\">\n <!-- SIDEBAR (Sticky Left) -->\n <div class=\"time-sidebar sticky-start flex-shrink-0 border-end\">\n @for (time of timeSlots; track time; let i = $index) {\n <div\n class=\"time-slot-label small text-body-secondary d-flex align-items-start justify-content-center\"\n [style.height.px]=\"layout.rowHeight\">\n @if (i !== 0) {\n <span style=\"transform: translateY(-50%)\">\n {{ time }}\n </span>\n }\n </div>\n }\n </div>\n <!-- GRID AND EVENTS -->\n <div class=\"grid-layer flex-grow-1 position-relative\">\n <!-- LAYER 1: Grid -->\n <div class=\"background-grid position-absolute w-100 h-100 top-0 start-0 z-0\">\n @for (time of timeSlots; track time) {\n <div class=\"grid-row border-bottom\" [style.height.px]=\"layout.rowHeight\">\n </div>\n }\n </div>\n <!-- Layer 2: Events -->\n <div class=\"events-container d-flex h-100 w-100 position-relative z-1\" cdkDropListGroup>\n <div class=\"day-column position-relative h-100 w-100\" cdkDropList [cdkDropListSortingDisabled]=\"true\"\n [cdkDropListData]=\"day\" (cdkDropListDropped)=\"onEventDrop($event)\" (click)=\"eventClick.emit()\">\n @for (event of processedEvents; track trackByEventId($index, event)) {\n <rlb-calendar-event [view]=\"view\"\n [event]=\"event\" [style.top.px]=\"calculateEventTop(event)\" [style.height.px]=\"calculateEventHeight(event)\"\n [style.left.%]=\"event.left\" [style.width.%]=\"event.width\" (eventClick)=\"eventClick.emit($event)\"\n (eventContainerClick)=\"eventContainerClick.emit($event)\" cdkDrag [cdkDragData]=\"event\"\n class=\"position-absolute\">\n <div *cdkDragPlaceholder style=\"opacity: 0\"></div>\n </rlb-calendar-event>\n }\n @if (isToday(day)) {\n <div class=\"now-line\" [style.top.px]=\"getNowTop()\">\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n}\n", styles: [":host{display:block;height:100%}.calendar-wrapper{background-color:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius);overflow:hidden;height:100%}.header-container{background-color:var(--bs-body-bg);z-index:102}.header-row{width:100%}.time-gutter{width:60px;border-color:var(--bs-border-color)!important}.day-cell{border-color:var(--bs-border-color)!important}.calendar-body{scroll-behavior:auto}.body-row{width:100%}.sticky-start{position:sticky;left:0;z-index:50;background-color:var(--bs-body-bg)}.time-sidebar{width:60px;border-color:var(--bs-border-color)!important}.grid-row{border-color:var(--bs-border-color)!important;box-sizing:border-box}.grid-row:after{content:\"\";position:absolute;width:100%;border-bottom:1px dotted currentColor;opacity:.15;top:50%;left:0;pointer-events:none}.now-line{position:absolute;left:0;right:0;height:2px;background-color:var(--bs-danger);z-index:10;pointer-events:none}.now-line:before{content:\"\";position:absolute;left:-5px;top:-4px;width:10px;height:10px;background-color:var(--bs-danger);border-radius:50%}.z-0{z-index:0}.z-1{z-index:1}\n"] }]
|
|
3667
3713
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { view: [{
|
|
3668
3714
|
type: Input
|
|
3669
3715
|
}], currentDate: [{
|
|
@@ -3925,11 +3971,11 @@ class CalendarMonthGridComponent {
|
|
|
3925
3971
|
this.eventChange.emit(updatedEvent);
|
|
3926
3972
|
}
|
|
3927
3973
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CalendarMonthGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3928
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
3974
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: CalendarMonthGridComponent, isStandalone: false, selector: "rlb-calendar-month-grid", inputs: { view: "view", currentDate: "currentDate", events: "events", layout: "layout" }, outputs: { eventClick: "eventClick", eventContainerClick: "eventContainerClick", eventChange: "eventChange" }, viewQueries: [{ propertyName: "scrollBodyRef", first: true, predicate: ["scrollBody"], descendants: true }, { propertyName: "headerRowRef", first: true, predicate: ["headerRow"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex flex-column w-100 bg-body user-select-none month-view-root\">\n <!-- 1. Header Row (Fixed) -->\n <div #headerRow class=\"d-flex flex-shrink-0 border-bottom bg-body-tertiary overflow-hidden\"\n [style.min-height.rem]=\"layout.minHeaderHeight\" [style.padding-right.px]=\"scrollbarWidth\">\n @for (day of weekDaysHeader; track day) {\n <div\n class=\"flex-fill text-center py-2 border-end fw-bold text-secondary text-uppercase w-0 my-auto h6\">\n {{ day | dayOfWeek:'short' }}\n </div>\n }\n </div>\n\n <!-- SCROLL CONTAINER -->\n <div #scrollBody class=\"calendar-scroller flex-grow-1 overflow-auto bg-body position-relative\"\n [style.max-height.rem]=\"layout.maxBodyHeight\"\n (scroll)=\"onBodyScroll($event)\">\n\n <!-- 2. Grid Body (Scrollable) -->\n <div class=\"d-flex flex-column flex-grow-1 border-start min-height-0\">\n\n <div class=\"d-flex flex-column\" cdkDropListGroup>\n @for (week of weeks; track week) {\n <div class=\"d-flex border-bottom min-h-row\" style=\"flex: 1 0 auto;\"\n [style.min-height.px]=\"layout.rowHeight\">\n @for (slot of week; track slot) {\n <div class=\"flex-fill border-end p-1 d-flex flex-column position-relative\"\n style=\"width: 0\" [class.bg-light]=\"!isCurrentMonth(slot.date)\" cdkDropList [cdkDropListData]=\"slot.date\"\n (cdkDropListDropped)=\"onEventDrop($event)\" (click)=\"eventClick.emit()\">\n <!-- Date Number -->\n <div class=\"d-flex justify-content-center mb-1\">\n <span class=\"day-number d-flex align-items-center justify-content-center\"\n [class.today]=\"isToday(slot.date)\">\n {{ slot.date | dtz:'DD' }}\n </span>\n </div>\n <!-- Events Stack -->\n <div class=\"d-flex flex-column gap-1 w-100\">\n @for (event of slot.events; track trackByEvent($index, event)) {\n <!-- Spacer -->\n @if (event.isSpacer) {\n <div class=\"event-spacer\"></div>\n }\n <!-- Event -->\n @if (!event.isSpacer) {\n <rlb-calendar-event [event]=\"event\" class=\"w-100\" cdkDrag [cdkDragData]=\"event\"\n (eventClick)=\"eventClick.emit($event)\" [view]=\"view\">\n <!-- Drag Preview (Optional but nice) -->\n <div *cdkDragPlaceholder style=\"opacity: 0\"></div>\n <ng-template cdkDragPreview matchSize class=\"rlb-calendar-drag-preview\">\n <rlb-calendar-event [event]=\"event\" [view]=\"view\" style=\"box-sizing: border-box;\">\n </rlb-calendar-event>\n </ng-template>\n </rlb-calendar-event>\n }\n }\n </div>\n <!-- Overflow (+N more) -->\n @if (slot.hasOverflow) {\n <div\n class=\"mt-1 small text-secondary text-center cursor-pointer p-1 rounded hover-bg\"\n (click)=\"$event.stopPropagation(); eventContainerClick.emit(slot.overflowEvents)\">\n +{{ slot.overflowCount }} more\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n </div>\n\n </div>\n</div>\n", styles: [":host{display:block;height:100%}.min-height-0{min-height:0!important}.border-end:last-child{border-right:0!important}.day-number{width:24px;height:24px;border-radius:50%;font-size:.85rem;font-weight:500;transition:background-color .2s}.day-number.today{background-color:var(--bs-primary);color:#fff}.event-spacer{height:20px;width:100%;pointer-events:none}.hover-bg:hover{background-color:var(--bs-secondary-bg-subtle)}.cursor-pointer{cursor:pointer}.cdk-drag-preview{box-shadow:0 .5rem 1rem #0000004d;border-radius:var(--bs-border-radius-sm)}\n"], dependencies: [{ kind: "directive", type: i1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i1.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i1.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "directive", type: i1.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "component", type: CalendarEventComponent, selector: "rlb-calendar-event", inputs: ["event", "view"], outputs: ["eventClick", "eventContainerClick"] }, { kind: "pipe", type: DateTzPipe, name: "dtz" }, { kind: "pipe", type: DayOfWeekPipe, name: "dayOfWeek" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3929
3975
|
}
|
|
3930
3976
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CalendarMonthGridComponent, decorators: [{
|
|
3931
3977
|
type: Component,
|
|
3932
|
-
args: [{ selector: 'rlb-calendar-month-grid', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"d-flex flex-column w-100 bg-body user-select-none month-view-root\">\n <!-- 1. Header Row (Fixed) -->\n <div #headerRow class=\"d-flex flex-shrink-0 border-bottom bg-body-tertiary overflow-hidden\"\n [style.min-height.rem]=\"layout.minHeaderHeight\" [style.padding-right.px]=\"scrollbarWidth\">\n
|
|
3978
|
+
args: [{ selector: 'rlb-calendar-month-grid', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"d-flex flex-column w-100 bg-body user-select-none month-view-root\">\n <!-- 1. Header Row (Fixed) -->\n <div #headerRow class=\"d-flex flex-shrink-0 border-bottom bg-body-tertiary overflow-hidden\"\n [style.min-height.rem]=\"layout.minHeaderHeight\" [style.padding-right.px]=\"scrollbarWidth\">\n @for (day of weekDaysHeader; track day) {\n <div\n class=\"flex-fill text-center py-2 border-end fw-bold text-secondary text-uppercase w-0 my-auto h6\">\n {{ day | dayOfWeek:'short' }}\n </div>\n }\n </div>\n\n <!-- SCROLL CONTAINER -->\n <div #scrollBody class=\"calendar-scroller flex-grow-1 overflow-auto bg-body position-relative\"\n [style.max-height.rem]=\"layout.maxBodyHeight\"\n (scroll)=\"onBodyScroll($event)\">\n\n <!-- 2. Grid Body (Scrollable) -->\n <div class=\"d-flex flex-column flex-grow-1 border-start min-height-0\">\n\n <div class=\"d-flex flex-column\" cdkDropListGroup>\n @for (week of weeks; track week) {\n <div class=\"d-flex border-bottom min-h-row\" style=\"flex: 1 0 auto;\"\n [style.min-height.px]=\"layout.rowHeight\">\n @for (slot of week; track slot) {\n <div class=\"flex-fill border-end p-1 d-flex flex-column position-relative\"\n style=\"width: 0\" [class.bg-light]=\"!isCurrentMonth(slot.date)\" cdkDropList [cdkDropListData]=\"slot.date\"\n (cdkDropListDropped)=\"onEventDrop($event)\" (click)=\"eventClick.emit()\">\n <!-- Date Number -->\n <div class=\"d-flex justify-content-center mb-1\">\n <span class=\"day-number d-flex align-items-center justify-content-center\"\n [class.today]=\"isToday(slot.date)\">\n {{ slot.date | dtz:'DD' }}\n </span>\n </div>\n <!-- Events Stack -->\n <div class=\"d-flex flex-column gap-1 w-100\">\n @for (event of slot.events; track trackByEvent($index, event)) {\n <!-- Spacer -->\n @if (event.isSpacer) {\n <div class=\"event-spacer\"></div>\n }\n <!-- Event -->\n @if (!event.isSpacer) {\n <rlb-calendar-event [event]=\"event\" class=\"w-100\" cdkDrag [cdkDragData]=\"event\"\n (eventClick)=\"eventClick.emit($event)\" [view]=\"view\">\n <!-- Drag Preview (Optional but nice) -->\n <div *cdkDragPlaceholder style=\"opacity: 0\"></div>\n <ng-template cdkDragPreview matchSize class=\"rlb-calendar-drag-preview\">\n <rlb-calendar-event [event]=\"event\" [view]=\"view\" style=\"box-sizing: border-box;\">\n </rlb-calendar-event>\n </ng-template>\n </rlb-calendar-event>\n }\n }\n </div>\n <!-- Overflow (+N more) -->\n @if (slot.hasOverflow) {\n <div\n class=\"mt-1 small text-secondary text-center cursor-pointer p-1 rounded hover-bg\"\n (click)=\"$event.stopPropagation(); eventContainerClick.emit(slot.overflowEvents)\">\n +{{ slot.overflowCount }} more\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n </div>\n\n </div>\n</div>\n", styles: [":host{display:block;height:100%}.min-height-0{min-height:0!important}.border-end:last-child{border-right:0!important}.day-number{width:24px;height:24px;border-radius:50%;font-size:.85rem;font-weight:500;transition:background-color .2s}.day-number.today{background-color:var(--bs-primary);color:#fff}.event-spacer{height:20px;width:100%;pointer-events:none}.hover-bg:hover{background-color:var(--bs-secondary-bg-subtle)}.cursor-pointer{cursor:pointer}.cdk-drag-preview{box-shadow:0 .5rem 1rem #0000004d;border-radius:var(--bs-border-radius-sm)}\n"] }]
|
|
3933
3979
|
}], ctorParameters: () => [], propDecorators: { view: [{
|
|
3934
3980
|
type: Input
|
|
3935
3981
|
}], currentDate: [{
|
|
@@ -3964,11 +4010,11 @@ class CalendarGrid {
|
|
|
3964
4010
|
ngOnDestroy() {
|
|
3965
4011
|
}
|
|
3966
4012
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CalendarGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3967
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
4013
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: CalendarGrid, isStandalone: false, selector: "rlb-calendar-grid", inputs: { view: "view", currentDate: "currentDate", events: "events", layout: "layout" }, outputs: { eventClick: "eventClick", eventContainerClick: "eventContainerClick", eventChange: "eventChange" }, usesOnChanges: true, ngImport: i0, template: "\n@switch (view) {\n @case ('week') {\n <rlb-calendar-week-grid [view]=\"view\" [currentDate]=\"currentDate\" [events]=\"events\" [layout]=\"layout\"\n (eventClick)=\"eventClick.emit($event)\" (eventContainerClick)=\"eventContainerClick.emit($event)\"\n (eventChange)=\"eventChange.emit($event)\" />\n }\n @case ('month') {\n <rlb-calendar-month-grid [view]=\"view\" [currentDate]=\"currentDate\" [events]=\"events\" [layout]=\"layout\"\n (eventClick)=\"eventClick.emit($event)\" (eventContainerClick)=\"eventContainerClick.emit($event)\"\n (eventChange)=\"eventChange.emit($event)\" />\n }\n @case ('day') {\n <rlb-calendar-day-grid [view]=\"view\" [currentDate]=\"currentDate\" [events]=\"events\" [layout]=\"layout\"\n (eventClick)=\"eventClick.emit($event)\" (eventContainerClick)=\"eventContainerClick.emit($event)\"\n (eventChange)=\"eventChange.emit($event)\" />\n }\n @default {\n not implemented yet\n }\n }\n", styles: [""], dependencies: [{ kind: "component", type: CalendarWeekGridComponent, selector: "rlb-calendar-week-grid", inputs: ["view", "currentDate", "events", "layout"], outputs: ["eventClick", "eventContainerClick", "eventChange"] }, { kind: "component", type: CalendarDayGridComponent, selector: "rlb-calendar-day-grid", inputs: ["view", "currentDate", "events", "layout"], outputs: ["eventClick", "eventContainerClick", "eventChange"] }, { kind: "component", type: CalendarMonthGridComponent, selector: "rlb-calendar-month-grid", inputs: ["view", "currentDate", "events", "layout"], outputs: ["eventClick", "eventContainerClick", "eventChange"] }] }); }
|
|
3968
4014
|
}
|
|
3969
4015
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CalendarGrid, decorators: [{
|
|
3970
4016
|
type: Component,
|
|
3971
|
-
args: [{ selector: 'rlb-calendar-grid', standalone: false, template: "
|
|
4017
|
+
args: [{ selector: 'rlb-calendar-grid', standalone: false, template: "\n@switch (view) {\n @case ('week') {\n <rlb-calendar-week-grid [view]=\"view\" [currentDate]=\"currentDate\" [events]=\"events\" [layout]=\"layout\"\n (eventClick)=\"eventClick.emit($event)\" (eventContainerClick)=\"eventContainerClick.emit($event)\"\n (eventChange)=\"eventChange.emit($event)\" />\n }\n @case ('month') {\n <rlb-calendar-month-grid [view]=\"view\" [currentDate]=\"currentDate\" [events]=\"events\" [layout]=\"layout\"\n (eventClick)=\"eventClick.emit($event)\" (eventContainerClick)=\"eventContainerClick.emit($event)\"\n (eventChange)=\"eventChange.emit($event)\" />\n }\n @case ('day') {\n <rlb-calendar-day-grid [view]=\"view\" [currentDate]=\"currentDate\" [events]=\"events\" [layout]=\"layout\"\n (eventClick)=\"eventClick.emit($event)\" (eventContainerClick)=\"eventContainerClick.emit($event)\"\n (eventChange)=\"eventChange.emit($event)\" />\n }\n @default {\n not implemented yet\n }\n }\n" }]
|
|
3972
4018
|
}], ctorParameters: () => [], propDecorators: { view: [{
|
|
3973
4019
|
type: Input
|
|
3974
4020
|
}], currentDate: [{
|
|
@@ -4264,11 +4310,11 @@ class CalendarComponent {
|
|
|
4264
4310
|
}).pipe(take(1));
|
|
4265
4311
|
}
|
|
4266
4312
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CalendarComponent, deps: [{ token: ModalService }, { token: UniqueIdService }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4267
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
4313
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: CalendarComponent, isStandalone: false, selector: "rlb-calendar", inputs: { view: "view", events: "events", currentDate: ["current-date", "currentDate", (d) => new DateTz(d)], loading: ["loading", "loading", booleanAttribute], showToolbar: ["show-toolbar", "showToolbar", booleanAttribute], layout: "layout" }, outputs: { dateChange: "date-change", viewChange: "view-change", eventClick: "event-click" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"rlb-calendar\">\n <div class=\"my-3 d-flex align-items-center justify-content-between\">\n <button class=\"ms-auto\" rlb-button outline (click)=\"generateTestEvents()\">Generate events</button>\n </div>\n @if (showToolbar) {\n <rlb-calendar-header\n [view]=\"view\"\n [currentDate]=\"currentDate\"\n (viewChange)=\"setView($event)\"\n (dateChange)=\"setDate($event)\">\n </rlb-calendar-header>\n }\n\n <rlb-calendar-grid\n [events]=\"events\"\n [view]=\"view\"\n [currentDate]=\"currentDate\"\n [layout]=\"mergedLayout\"\n (eventClick)=\"onEventClick($event)\"\n (eventContainerClick)=\"onEventContainerClick($event)\"\n (eventChange)=\"onEventChange($event)\"\n >\n </rlb-calendar-grid>\n\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "component", type: CalendarHeaderComponent, selector: "rlb-calendar-header", inputs: ["view", "currentDate"], outputs: ["dateChange", "viewChange"] }, { kind: "component", type: CalendarGrid, selector: "rlb-calendar-grid", inputs: ["view", "currentDate", "events", "layout"], outputs: ["eventClick", "eventContainerClick", "eventChange"] }] }); }
|
|
4268
4314
|
}
|
|
4269
4315
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CalendarComponent, decorators: [{
|
|
4270
4316
|
type: Component,
|
|
4271
|
-
args: [{ selector: "rlb-calendar", standalone: false, template: "<div class=\"rlb-calendar\">\n
|
|
4317
|
+
args: [{ selector: "rlb-calendar", standalone: false, template: "<div class=\"rlb-calendar\">\n <div class=\"my-3 d-flex align-items-center justify-content-between\">\n <button class=\"ms-auto\" rlb-button outline (click)=\"generateTestEvents()\">Generate events</button>\n </div>\n @if (showToolbar) {\n <rlb-calendar-header\n [view]=\"view\"\n [currentDate]=\"currentDate\"\n (viewChange)=\"setView($event)\"\n (dateChange)=\"setDate($event)\">\n </rlb-calendar-header>\n }\n\n <rlb-calendar-grid\n [events]=\"events\"\n [view]=\"view\"\n [currentDate]=\"currentDate\"\n [layout]=\"mergedLayout\"\n (eventClick)=\"onEventClick($event)\"\n (eventContainerClick)=\"onEventContainerClick($event)\"\n (eventChange)=\"onEventChange($event)\"\n >\n </rlb-calendar-grid>\n\n</div>\n" }]
|
|
4272
4318
|
}], ctorParameters: () => [{ type: ModalService }, { type: UniqueIdService }, { type: ToastService }], propDecorators: { view: [{
|
|
4273
4319
|
type: Input,
|
|
4274
4320
|
args: [{ alias: 'view' }]
|
|
@@ -4340,45 +4386,59 @@ class ChatItemComponent {
|
|
|
4340
4386
|
this.reply.emit(this.replayId);
|
|
4341
4387
|
}
|
|
4342
4388
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ChatItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4343
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
4389
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ChatItemComponent, isStandalone: false, selector: "rlb-chat-item", inputs: { id: "id", avatar: "avatar", text: "text", dateTime: ["date-time", "dateTime"], replayText: ["replay-text", "replayText"], replaySubject: ["replay-subject", "replaySubject"], replayId: ["replay-id", "replayId"], position: "position", reaction: "reaction", canReply: ["can-reply", "canReply"] }, outputs: { reply: "reply", reactionClick: "reaction-click", reactionSelector: "reaction-selector" }, host: { properties: { "class.ms-auto": "position === \"right\"" } }, ngImport: i0, template: `
|
|
4344
4390
|
<div [id]="id" class="chat-bubble-item" [class.left]="position==='left'" [class.right]="position==='right'">
|
|
4345
|
-
|
|
4346
|
-
<
|
|
4347
|
-
|
|
4348
|
-
|
|
4349
|
-
|
|
4350
|
-
|
|
4351
|
-
|
|
4352
|
-
|
|
4353
|
-
<span class="name">{{replaySubject}}</span>
|
|
4354
|
-
<p>{{replayText}}</p>
|
|
4391
|
+
@if (canReply && position === 'right') {
|
|
4392
|
+
<button class="reply-button" (click)="replyClick($event)">
|
|
4393
|
+
<i class="bi bi-reply-fill"></i>
|
|
4394
|
+
</button>
|
|
4395
|
+
}
|
|
4396
|
+
@if (position === 'left') {
|
|
4397
|
+
<div class="avatar small">
|
|
4398
|
+
<img [src]="avatar" alt="avatar">
|
|
4355
4399
|
</div>
|
|
4400
|
+
}
|
|
4401
|
+
<div class="text">
|
|
4402
|
+
@if (replayText) {
|
|
4403
|
+
<div class="replied-message">
|
|
4404
|
+
<span class="name">{{replaySubject}}</span>
|
|
4405
|
+
<p>{{replayText}}</p>
|
|
4406
|
+
</div>
|
|
4407
|
+
}
|
|
4356
4408
|
<div>
|
|
4357
4409
|
<ng-content/>
|
|
4358
4410
|
</div>
|
|
4359
4411
|
<i class="bi bi-check-all float-end"></i>
|
|
4360
4412
|
<span class="time float-end">{{ dateTime | date:'dd/MM HH:mm:ss' }}</span>
|
|
4361
4413
|
<rlb-dropdown direction="up" class="reaction">
|
|
4362
|
-
|
|
4414
|
+
@if (!reaction) {
|
|
4415
|
+
<a rlb-button rlb-dropdown
|
|
4363
4416
|
autoClose="manual" class="reaction add p-1"
|
|
4364
4417
|
[class.right]="position==='right'" [class.left]="position==='left'"
|
|
4365
4418
|
(status-changed)="this.reactionSelector.emit($event)">
|
|
4366
|
-
|
|
4367
|
-
|
|
4419
|
+
<i class="bi bi-plus m-0 p-0"></i>
|
|
4420
|
+
</a>
|
|
4421
|
+
}
|
|
4368
4422
|
<rlb-dropdown-container>
|
|
4369
4423
|
<ng-content select="[reaction-picker]" />
|
|
4370
4424
|
</rlb-dropdown-container>
|
|
4371
4425
|
</rlb-dropdown>
|
|
4372
|
-
|
|
4426
|
+
@if (reaction) {
|
|
4427
|
+
<span class="reaction" [class.right]="position==='right'" [class.left]="position==='left'" (click)="reactionClick.emit('remove')">{{reaction}}</span>
|
|
4428
|
+
}
|
|
4373
4429
|
</div>
|
|
4374
|
-
|
|
4375
|
-
<
|
|
4376
|
-
|
|
4377
|
-
|
|
4378
|
-
|
|
4379
|
-
|
|
4430
|
+
@if (position === 'right') {
|
|
4431
|
+
<div class="avatar small">
|
|
4432
|
+
<img [src]="avatar" alt="avatar">
|
|
4433
|
+
</div>
|
|
4434
|
+
}
|
|
4435
|
+
@if (canReply && position === 'left') {
|
|
4436
|
+
<button class="reply-button" (click)="replyClick($event)">
|
|
4437
|
+
<i class="bi bi-reply-fill"></i>
|
|
4438
|
+
</button>
|
|
4439
|
+
}
|
|
4380
4440
|
</div>
|
|
4381
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
4441
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "component", type: DropdownComponent, selector: "rlb-dropdown", inputs: ["direction"] }, { kind: "component", type: DropdownContainerComponent, selector: "ul[rlb-dropdown-menu], rlb-dropdown-container", inputs: ["placement", "placement-sm", "placement-md", "placement-lg", "placement-xl", "placement-xxl"] }, { kind: "directive", type: DropdownDirective, selector: "a[rlb-dropdown], button[rlb-dropdown], span[rlb-badge][rlb-dropdown]", inputs: ["offset", "auto-close"], outputs: ["status-changed"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }] }); }
|
|
4382
4442
|
}
|
|
4383
4443
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ChatItemComponent, decorators: [{
|
|
4384
4444
|
type: Component,
|
|
@@ -4386,41 +4446,55 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
4386
4446
|
selector: 'rlb-chat-item',
|
|
4387
4447
|
template: `
|
|
4388
4448
|
<div [id]="id" class="chat-bubble-item" [class.left]="position==='left'" [class.right]="position==='right'">
|
|
4389
|
-
|
|
4390
|
-
<
|
|
4391
|
-
|
|
4392
|
-
|
|
4393
|
-
|
|
4394
|
-
|
|
4395
|
-
|
|
4396
|
-
|
|
4397
|
-
<span class="name">{{replaySubject}}</span>
|
|
4398
|
-
<p>{{replayText}}</p>
|
|
4449
|
+
@if (canReply && position === 'right') {
|
|
4450
|
+
<button class="reply-button" (click)="replyClick($event)">
|
|
4451
|
+
<i class="bi bi-reply-fill"></i>
|
|
4452
|
+
</button>
|
|
4453
|
+
}
|
|
4454
|
+
@if (position === 'left') {
|
|
4455
|
+
<div class="avatar small">
|
|
4456
|
+
<img [src]="avatar" alt="avatar">
|
|
4399
4457
|
</div>
|
|
4458
|
+
}
|
|
4459
|
+
<div class="text">
|
|
4460
|
+
@if (replayText) {
|
|
4461
|
+
<div class="replied-message">
|
|
4462
|
+
<span class="name">{{replaySubject}}</span>
|
|
4463
|
+
<p>{{replayText}}</p>
|
|
4464
|
+
</div>
|
|
4465
|
+
}
|
|
4400
4466
|
<div>
|
|
4401
4467
|
<ng-content/>
|
|
4402
4468
|
</div>
|
|
4403
4469
|
<i class="bi bi-check-all float-end"></i>
|
|
4404
4470
|
<span class="time float-end">{{ dateTime | date:'dd/MM HH:mm:ss' }}</span>
|
|
4405
4471
|
<rlb-dropdown direction="up" class="reaction">
|
|
4406
|
-
|
|
4472
|
+
@if (!reaction) {
|
|
4473
|
+
<a rlb-button rlb-dropdown
|
|
4407
4474
|
autoClose="manual" class="reaction add p-1"
|
|
4408
4475
|
[class.right]="position==='right'" [class.left]="position==='left'"
|
|
4409
4476
|
(status-changed)="this.reactionSelector.emit($event)">
|
|
4410
|
-
|
|
4411
|
-
|
|
4477
|
+
<i class="bi bi-plus m-0 p-0"></i>
|
|
4478
|
+
</a>
|
|
4479
|
+
}
|
|
4412
4480
|
<rlb-dropdown-container>
|
|
4413
4481
|
<ng-content select="[reaction-picker]" />
|
|
4414
4482
|
</rlb-dropdown-container>
|
|
4415
4483
|
</rlb-dropdown>
|
|
4416
|
-
|
|
4484
|
+
@if (reaction) {
|
|
4485
|
+
<span class="reaction" [class.right]="position==='right'" [class.left]="position==='left'" (click)="reactionClick.emit('remove')">{{reaction}}</span>
|
|
4486
|
+
}
|
|
4417
4487
|
</div>
|
|
4418
|
-
|
|
4419
|
-
<
|
|
4420
|
-
|
|
4421
|
-
|
|
4422
|
-
|
|
4423
|
-
|
|
4488
|
+
@if (position === 'right') {
|
|
4489
|
+
<div class="avatar small">
|
|
4490
|
+
<img [src]="avatar" alt="avatar">
|
|
4491
|
+
</div>
|
|
4492
|
+
}
|
|
4493
|
+
@if (canReply && position === 'left') {
|
|
4494
|
+
<button class="reply-button" (click)="replyClick($event)">
|
|
4495
|
+
<i class="bi bi-reply-fill"></i>
|
|
4496
|
+
</button>
|
|
4497
|
+
}
|
|
4424
4498
|
</div>
|
|
4425
4499
|
`,
|
|
4426
4500
|
host: { '[class.ms-auto]': 'position === "right"' },
|
|
@@ -4486,7 +4560,7 @@ class ListItemImageComponent {
|
|
|
4486
4560
|
<span *ngIf="!counterEmpty"rlb-badge [pill]="counterPill" [color]="counterColor" [border]="counterBorder">{{ counter }}</span>
|
|
4487
4561
|
</div>
|
|
4488
4562
|
</div>
|
|
4489
|
-
`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
4563
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BadgeComponent, selector: "span[rlb-badge], img[rlb-badge]", inputs: ["pill", "color", "hidden-text", "border", "class"] }, { kind: "component", type: AvatarComponent, selector: "rlb-avatar", inputs: ["size", "shape", "src", "class"] }] }); }
|
|
4490
4564
|
}
|
|
4491
4565
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ListItemImageComponent, decorators: [{
|
|
4492
4566
|
type: Component,
|
|
@@ -5224,19 +5298,23 @@ class PaginationItemComponent {
|
|
|
5224
5298
|
this.viewContainerRef.element.nativeElement.remove();
|
|
5225
5299
|
}
|
|
5226
5300
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PaginationItemComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5227
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
5301
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: PaginationItemComponent, isStandalone: false, selector: "rlb-pagination-item", inputs: { isIcon: ["isIcon", "isIcon", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], active: ["active", "active", booleanAttribute], cssClass: ["class", "cssClass"] }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, static: true }], ngImport: i0, template: `
|
|
5228
5302
|
<ng-template #template>
|
|
5229
5303
|
<li class="page-item {{ cssClass }}" [class.disabled]="disabled" [class.active]="active">
|
|
5230
|
-
|
|
5304
|
+
@if (isIcon) {
|
|
5305
|
+
<a class="page-link d-block" [attr.disabled]="disabled">
|
|
5306
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
5307
|
+
</a>
|
|
5308
|
+
} @else {
|
|
5231
5309
|
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
5232
|
-
|
|
5310
|
+
}
|
|
5233
5311
|
<ng-template #e>
|
|
5234
5312
|
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
5235
5313
|
</ng-template>
|
|
5236
5314
|
</li>
|
|
5237
5315
|
</ng-template>
|
|
5238
5316
|
<ng-template #content><ng-content /></ng-template>
|
|
5239
|
-
|
|
5317
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
5240
5318
|
}
|
|
5241
5319
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PaginationItemComponent, decorators: [{
|
|
5242
5320
|
type: Component,
|
|
@@ -5245,16 +5323,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
5245
5323
|
template: `
|
|
5246
5324
|
<ng-template #template>
|
|
5247
5325
|
<li class="page-item {{ cssClass }}" [class.disabled]="disabled" [class.active]="active">
|
|
5248
|
-
|
|
5326
|
+
@if (isIcon) {
|
|
5327
|
+
<a class="page-link d-block" [attr.disabled]="disabled">
|
|
5328
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
5329
|
+
</a>
|
|
5330
|
+
} @else {
|
|
5249
5331
|
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
5250
|
-
|
|
5332
|
+
}
|
|
5251
5333
|
<ng-template #e>
|
|
5252
5334
|
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
5253
5335
|
</ng-template>
|
|
5254
5336
|
</li>
|
|
5255
5337
|
</ng-template>
|
|
5256
5338
|
<ng-template #content><ng-content /></ng-template>
|
|
5257
|
-
|
|
5339
|
+
`,
|
|
5258
5340
|
standalone: false
|
|
5259
5341
|
}]
|
|
5260
5342
|
}], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { template: [{
|
|
@@ -5410,7 +5492,7 @@ class RlbPlaceholderComponent {
|
|
|
5410
5492
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: RlbPlaceholderComponent, isStandalone: false, selector: "rlb-placeholder", inputs: { animation: "animation" }, ngImport: i0, template: `
|
|
5411
5493
|
<div [ngClass]="containerClass">
|
|
5412
5494
|
<ng-content/>
|
|
5413
|
-
</div>`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
5495
|
+
</div>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
5414
5496
|
}
|
|
5415
5497
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RlbPlaceholderComponent, decorators: [{
|
|
5416
5498
|
type: Component,
|
|
@@ -5442,18 +5524,19 @@ class RlbPlaceholderTextComponent {
|
|
|
5442
5524
|
return Array.from({ length: this.lines }).map(() => this.width);
|
|
5443
5525
|
}
|
|
5444
5526
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RlbPlaceholderTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5445
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
5527
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: RlbPlaceholderTextComponent, isStandalone: false, selector: "rlb-placeholder-text", inputs: { lines: "lines", size: "size", color: "color", animation: "animation", width: "width", height: "height", rounded: "rounded" }, ngImport: i0, template: `
|
|
5446
5528
|
<rlb-placeholder [animation]="animation">
|
|
5447
|
-
|
|
5448
|
-
|
|
5449
|
-
|
|
5450
|
-
|
|
5451
|
-
|
|
5452
|
-
|
|
5453
|
-
|
|
5454
|
-
|
|
5529
|
+
@for (w of computedWidths; track w) {
|
|
5530
|
+
<rlb-placeholder-line
|
|
5531
|
+
[size]="size"
|
|
5532
|
+
[color]="color"
|
|
5533
|
+
[width]="w"
|
|
5534
|
+
[rounded]="rounded"
|
|
5535
|
+
[height]="height"
|
|
5536
|
+
></rlb-placeholder-line>
|
|
5537
|
+
}
|
|
5455
5538
|
</rlb-placeholder>
|
|
5456
|
-
|
|
5539
|
+
`, isInline: true, dependencies: [{ kind: "component", type: RlbPlaceholderComponent, selector: "rlb-placeholder", inputs: ["animation"] }, { kind: "component", type: RlbPlaceholderLineComponent, selector: "rlb-placeholder-line", inputs: ["size", "color", "width", "height", "rounded"] }] }); }
|
|
5457
5540
|
}
|
|
5458
5541
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RlbPlaceholderTextComponent, decorators: [{
|
|
5459
5542
|
type: Component,
|
|
@@ -5462,16 +5545,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
5462
5545
|
standalone: false,
|
|
5463
5546
|
template: `
|
|
5464
5547
|
<rlb-placeholder [animation]="animation">
|
|
5465
|
-
|
|
5466
|
-
|
|
5467
|
-
|
|
5468
|
-
|
|
5469
|
-
|
|
5470
|
-
|
|
5471
|
-
|
|
5472
|
-
|
|
5548
|
+
@for (w of computedWidths; track w) {
|
|
5549
|
+
<rlb-placeholder-line
|
|
5550
|
+
[size]="size"
|
|
5551
|
+
[color]="color"
|
|
5552
|
+
[width]="w"
|
|
5553
|
+
[rounded]="rounded"
|
|
5554
|
+
[height]="height"
|
|
5555
|
+
></rlb-placeholder-line>
|
|
5556
|
+
}
|
|
5473
5557
|
</rlb-placeholder>
|
|
5474
|
-
|
|
5558
|
+
`,
|
|
5475
5559
|
}]
|
|
5476
5560
|
}], propDecorators: { lines: [{
|
|
5477
5561
|
type: Input
|
|
@@ -5636,38 +5720,49 @@ class SidebarItemComponent {
|
|
|
5636
5720
|
}
|
|
5637
5721
|
}
|
|
5638
5722
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SidebarItemComponent, deps: [{ token: i0.ViewContainerRef }, { token: UniqueIdService }, { token: i2.Router }, { token: SidebarService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5639
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
5723
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SidebarItemComponent, isStandalone: false, selector: "rlb-sidebar-item", inputs: { title: "title", icon: "icon", label: "label", link: "link", badgeCounter: "badgeCounter" }, outputs: { click: "click" }, queries: [{ propertyName: "children", predicate: SidebarItemComponent }], viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, static: true }, { propertyName: "collapseComponent", first: true, predicate: CollapseComponent, descendants: true }], ngImport: i0, template: `
|
|
5640
5724
|
<ng-template #template>
|
|
5641
|
-
|
|
5642
|
-
|
|
5643
|
-
|
|
5644
|
-
|
|
5645
|
-
|
|
5646
|
-
|
|
5647
|
-
|
|
5648
|
-
|
|
5649
|
-
|
|
5650
|
-
|
|
5651
|
-
|
|
5652
|
-
|
|
5653
|
-
|
|
5654
|
-
|
|
5655
|
-
|
|
5656
|
-
|
|
5657
|
-
|
|
5658
|
-
|
|
5659
|
-
|
|
5660
|
-
|
|
5661
|
-
|
|
5662
|
-
|
|
5663
|
-
|
|
5664
|
-
|
|
5665
|
-
|
|
5666
|
-
|
|
5667
|
-
|
|
5668
|
-
|
|
5725
|
+
@if (title) {
|
|
5726
|
+
<li (click)="onItemClick($event)" class="menu-title">{{ title }}</li>
|
|
5727
|
+
}
|
|
5728
|
+
@if (!title) {
|
|
5729
|
+
<li (click)="onItemClick($event)">
|
|
5730
|
+
@if (children?.length) {
|
|
5731
|
+
<a
|
|
5732
|
+
[badge]="badgeCounter && badgeCounter > 0 ? badgeCounter.toString() : undefined"
|
|
5733
|
+
href="javascript:void(0);"
|
|
5734
|
+
class="is-parent has-arrow"
|
|
5735
|
+
toggle="collapse"
|
|
5736
|
+
[toggle-target]="'side-item' + _id"
|
|
5737
|
+
>
|
|
5738
|
+
@if (icon) {
|
|
5739
|
+
<i [class]="icon"></i>
|
|
5740
|
+
}
|
|
5741
|
+
<span>{{ label }}</span>
|
|
5742
|
+
</a>
|
|
5743
|
+
}
|
|
5744
|
+
<rlb-collapse [id]="'side-item' + _id">
|
|
5745
|
+
<ul class="sub-menu" aria-expanded="false">
|
|
5746
|
+
<ng-content select="rlb-sidebar-item"></ng-content>
|
|
5747
|
+
</ul>
|
|
5748
|
+
</rlb-collapse>
|
|
5749
|
+
@if (!children?.length) {
|
|
5750
|
+
<a
|
|
5751
|
+
[routerLink]="link"
|
|
5752
|
+
[badge]="badgeCounter && badgeCounter > 0 ? badgeCounter : undefined"
|
|
5753
|
+
class="side-nav-link-ref"
|
|
5754
|
+
routerLinkActive="active"
|
|
5755
|
+
>
|
|
5756
|
+
@if (icon) {
|
|
5757
|
+
<i [class]="icon"></i>
|
|
5758
|
+
}
|
|
5759
|
+
<ng-content></ng-content>
|
|
5760
|
+
</a>
|
|
5761
|
+
}
|
|
5762
|
+
</li>
|
|
5763
|
+
}
|
|
5669
5764
|
</ng-template>
|
|
5670
|
-
|
|
5765
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: BadgeDirective, selector: "[badge]", inputs: ["badge", "badge-pill", "badge-border", "badge-top", "badge-start", "badge-color", "hidden-text"] }, { kind: "component", type: CollapseComponent, selector: "rlb-collapse", inputs: ["id", "orientation", "status"], outputs: ["statusChange"] }, { kind: "directive", type: ToggleDirective, selector: "\n button[toggle],\n a[toggle],\n rlb-navbar-item[toggle],\n rlb-button-toolbar[toggle]", inputs: ["toggle", "toggle-target", "collapsed", "auto-close"] }] }); }
|
|
5671
5766
|
}
|
|
5672
5767
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SidebarItemComponent, decorators: [{
|
|
5673
5768
|
type: Component,
|
|
@@ -5675,36 +5770,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
5675
5770
|
selector: 'rlb-sidebar-item',
|
|
5676
5771
|
template: `
|
|
5677
5772
|
<ng-template #template>
|
|
5678
|
-
|
|
5679
|
-
|
|
5680
|
-
|
|
5681
|
-
|
|
5682
|
-
|
|
5683
|
-
|
|
5684
|
-
|
|
5685
|
-
|
|
5686
|
-
|
|
5687
|
-
|
|
5688
|
-
|
|
5689
|
-
|
|
5690
|
-
|
|
5691
|
-
|
|
5692
|
-
|
|
5693
|
-
|
|
5694
|
-
|
|
5695
|
-
|
|
5696
|
-
|
|
5697
|
-
|
|
5698
|
-
|
|
5699
|
-
|
|
5700
|
-
|
|
5701
|
-
|
|
5702
|
-
|
|
5703
|
-
|
|
5704
|
-
|
|
5705
|
-
|
|
5773
|
+
@if (title) {
|
|
5774
|
+
<li (click)="onItemClick($event)" class="menu-title">{{ title }}</li>
|
|
5775
|
+
}
|
|
5776
|
+
@if (!title) {
|
|
5777
|
+
<li (click)="onItemClick($event)">
|
|
5778
|
+
@if (children?.length) {
|
|
5779
|
+
<a
|
|
5780
|
+
[badge]="badgeCounter && badgeCounter > 0 ? badgeCounter.toString() : undefined"
|
|
5781
|
+
href="javascript:void(0);"
|
|
5782
|
+
class="is-parent has-arrow"
|
|
5783
|
+
toggle="collapse"
|
|
5784
|
+
[toggle-target]="'side-item' + _id"
|
|
5785
|
+
>
|
|
5786
|
+
@if (icon) {
|
|
5787
|
+
<i [class]="icon"></i>
|
|
5788
|
+
}
|
|
5789
|
+
<span>{{ label }}</span>
|
|
5790
|
+
</a>
|
|
5791
|
+
}
|
|
5792
|
+
<rlb-collapse [id]="'side-item' + _id">
|
|
5793
|
+
<ul class="sub-menu" aria-expanded="false">
|
|
5794
|
+
<ng-content select="rlb-sidebar-item"></ng-content>
|
|
5795
|
+
</ul>
|
|
5796
|
+
</rlb-collapse>
|
|
5797
|
+
@if (!children?.length) {
|
|
5798
|
+
<a
|
|
5799
|
+
[routerLink]="link"
|
|
5800
|
+
[badge]="badgeCounter && badgeCounter > 0 ? badgeCounter : undefined"
|
|
5801
|
+
class="side-nav-link-ref"
|
|
5802
|
+
routerLinkActive="active"
|
|
5803
|
+
>
|
|
5804
|
+
@if (icon) {
|
|
5805
|
+
<i [class]="icon"></i>
|
|
5806
|
+
}
|
|
5807
|
+
<ng-content></ng-content>
|
|
5808
|
+
</a>
|
|
5809
|
+
}
|
|
5810
|
+
</li>
|
|
5811
|
+
}
|
|
5706
5812
|
</ng-template>
|
|
5707
|
-
|
|
5813
|
+
`,
|
|
5708
5814
|
standalone: false
|
|
5709
5815
|
}]
|
|
5710
5816
|
}], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: UniqueIdService }, { type: i2.Router }, { type: SidebarService }], propDecorators: { title: [{
|
|
@@ -6506,15 +6612,17 @@ class DataTableRowComponent {
|
|
|
6506
6612
|
}
|
|
6507
6613
|
}
|
|
6508
6614
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DataTableRowComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6509
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
6615
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DataTableRowComponent, isStandalone: false, selector: "rlb-dt-row", inputs: { cssClass: ["class", "cssClass"], cssStyle: ["style", "cssStyle"] }, outputs: { rowClick: "rowClick" }, queries: [{ propertyName: "actionsBlock", predicate: DataTableActionsComponent }], viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, static: true }, { propertyName: "_projectedActions", first: true, predicate: ["projectedActions"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: `
|
|
6510
6616
|
<ng-template #template>
|
|
6511
6617
|
<tr [class]="cssClass" [style]="cssStyle" (click)="rowClick.emit($event)">
|
|
6512
6618
|
<ng-content select="rlb-dt-cell"></ng-content>
|
|
6513
|
-
|
|
6514
|
-
<
|
|
6515
|
-
|
|
6619
|
+
@if (hasActions) {
|
|
6620
|
+
<rlb-dt-cell>
|
|
6621
|
+
<ng-container #projectedActions></ng-container>
|
|
6622
|
+
</rlb-dt-cell>
|
|
6623
|
+
}
|
|
6516
6624
|
</tr>
|
|
6517
|
-
</ng-template>`, isInline: true, dependencies: [{ kind: "
|
|
6625
|
+
</ng-template>`, isInline: true, dependencies: [{ kind: "component", type: DataTableCellComponent, selector: "rlb-dt-cell", inputs: ["col-span", "class", "style"] }] }); }
|
|
6518
6626
|
}
|
|
6519
6627
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DataTableRowComponent, decorators: [{
|
|
6520
6628
|
type: Component,
|
|
@@ -6524,9 +6632,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
6524
6632
|
<ng-template #template>
|
|
6525
6633
|
<tr [class]="cssClass" [style]="cssStyle" (click)="rowClick.emit($event)">
|
|
6526
6634
|
<ng-content select="rlb-dt-cell"></ng-content>
|
|
6527
|
-
|
|
6528
|
-
<
|
|
6529
|
-
|
|
6635
|
+
@if (hasActions) {
|
|
6636
|
+
<rlb-dt-cell>
|
|
6637
|
+
<ng-container #projectedActions></ng-container>
|
|
6638
|
+
</rlb-dt-cell>
|
|
6639
|
+
}
|
|
6530
6640
|
</tr>
|
|
6531
6641
|
</ng-template>`,
|
|
6532
6642
|
standalone: false
|
|
@@ -6681,13 +6791,15 @@ class InputValidationComponent {
|
|
|
6681
6791
|
return `${i18nKey}: ${JSON.stringify(errorValue)}`;
|
|
6682
6792
|
}
|
|
6683
6793
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputValidationComponent, deps: [{ token: RLB_TRANSLATION_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6684
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
6685
|
-
|
|
6686
|
-
|
|
6687
|
-
|
|
6688
|
-
|
|
6689
|
-
|
|
6690
|
-
|
|
6794
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: InputValidationComponent, isStandalone: false, selector: "rlb-input-validation", inputs: { errors: "errors" }, host: { classAttribute: "invalid-feedback" }, ngImport: i0, template: `
|
|
6795
|
+
@if (errors) {
|
|
6796
|
+
@for (errorKey of getErrorKeys(errors); track errorKey) {
|
|
6797
|
+
<span>
|
|
6798
|
+
{{ getTranslatedError(errorKey, errors[errorKey]) }}
|
|
6799
|
+
</span>
|
|
6800
|
+
}
|
|
6801
|
+
}
|
|
6802
|
+
`, isInline: true }); }
|
|
6691
6803
|
}
|
|
6692
6804
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputValidationComponent, decorators: [{
|
|
6693
6805
|
type: Component,
|
|
@@ -6695,12 +6807,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
6695
6807
|
selector: 'rlb-input-validation',
|
|
6696
6808
|
host: { class: 'invalid-feedback' },
|
|
6697
6809
|
template: `
|
|
6698
|
-
|
|
6699
|
-
|
|
6700
|
-
|
|
6701
|
-
|
|
6702
|
-
|
|
6703
|
-
|
|
6810
|
+
@if (errors) {
|
|
6811
|
+
@for (errorKey of getErrorKeys(errors); track errorKey) {
|
|
6812
|
+
<span>
|
|
6813
|
+
{{ getTranslatedError(errorKey, errors[errorKey]) }}
|
|
6814
|
+
</span>
|
|
6815
|
+
}
|
|
6816
|
+
}
|
|
6817
|
+
`,
|
|
6704
6818
|
standalone: false
|
|
6705
6819
|
}]
|
|
6706
6820
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
@@ -6770,7 +6884,7 @@ class SelectComponent extends AbstractComponent {
|
|
|
6770
6884
|
}
|
|
6771
6885
|
}
|
|
6772
6886
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SelectComponent, deps: [{ token: UniqueIdService }, { token: i2$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6773
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
6887
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SelectComponent, isStandalone: false, selector: "rlb-select", inputs: { placeholder: "placeholder", size: "size", disabled: ["disabled", "disabled", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute], multiple: ["multiple", "multiple", booleanAttribute], display: ["display", "display", numberAttribute], userDefinedId: ["id", "userDefinedId", (v) => v || ''], enableValidation: ["enable-validation", "enableValidation", booleanAttribute] }, queries: [{ propertyName: "options", predicate: OptionComponent }], viewQueries: [{ propertyName: "el", first: true, predicate: ["select"], descendants: true }, { propertyName: "_projectedDisplayOptions", first: true, predicate: ["projectedDisplayOptions"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: `
|
|
6774
6888
|
<ng-content select="[before]"></ng-content>
|
|
6775
6889
|
<div class="input-group has-validation">
|
|
6776
6890
|
<select
|
|
@@ -6790,13 +6904,17 @@ class SelectComponent extends AbstractComponent {
|
|
|
6790
6904
|
'is-valid': control?.touched && control?.valid && enableValidation
|
|
6791
6905
|
}"
|
|
6792
6906
|
(change)="update($event.target)"
|
|
6793
|
-
|
|
6794
|
-
|
|
6907
|
+
>
|
|
6908
|
+
@if (placeholder) {
|
|
6909
|
+
<option selected disabled>{{ placeholder }}</option>
|
|
6910
|
+
}
|
|
6795
6911
|
<ng-container #projectedDisplayOptions></ng-container>
|
|
6796
6912
|
</select>
|
|
6797
|
-
|
|
6798
|
-
|
|
6799
|
-
|
|
6913
|
+
@if (errors && showError) {
|
|
6914
|
+
<rlb-input-validation [errors]="errors"/>
|
|
6915
|
+
}
|
|
6916
|
+
</div>
|
|
6917
|
+
<ng-content select="[after]"></ng-content>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: InputValidationComponent, selector: "rlb-input-validation", inputs: ["errors"] }] }); }
|
|
6800
6918
|
}
|
|
6801
6919
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SelectComponent, decorators: [{
|
|
6802
6920
|
type: Component,
|
|
@@ -6822,12 +6940,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
6822
6940
|
'is-valid': control?.touched && control?.valid && enableValidation
|
|
6823
6941
|
}"
|
|
6824
6942
|
(change)="update($event.target)"
|
|
6825
|
-
|
|
6826
|
-
|
|
6943
|
+
>
|
|
6944
|
+
@if (placeholder) {
|
|
6945
|
+
<option selected disabled>{{ placeholder }}</option>
|
|
6946
|
+
}
|
|
6827
6947
|
<ng-container #projectedDisplayOptions></ng-container>
|
|
6828
6948
|
</select>
|
|
6829
|
-
|
|
6830
|
-
|
|
6949
|
+
@if (errors && showError) {
|
|
6950
|
+
<rlb-input-validation [errors]="errors"/>
|
|
6951
|
+
}
|
|
6952
|
+
</div>
|
|
6831
6953
|
<ng-content select="[after]"></ng-content>`,
|
|
6832
6954
|
standalone: false
|
|
6833
6955
|
}]
|
|
@@ -6873,6 +6995,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
6873
6995
|
class DataTableComponent {
|
|
6874
6996
|
constructor() {
|
|
6875
6997
|
this.creationStrategy = 'none';
|
|
6998
|
+
this.items = [];
|
|
6876
6999
|
this.paginationMode = 'none';
|
|
6877
7000
|
this.tableStriped = true; // default true to keep main table styling
|
|
6878
7001
|
this.showActions = 'row';
|
|
@@ -7009,11 +7132,11 @@ class DataTableComponent {
|
|
|
7009
7132
|
// c?.scrollBy({ left: ev.deltaY < 0 ? -15 : 15 });
|
|
7010
7133
|
}
|
|
7011
7134
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DataTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7012
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
7135
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DataTableComponent, isStandalone: false, selector: "rlb-dt-table", inputs: { title: "title", creationStrategy: ["creation-strategy", "creationStrategy"], creationUrl: ["creation-url", "creationUrl"], items: "items", paginationMode: ["pagination-mode", "paginationMode"], loading: ["loading", "loading", booleanAttribute], tableHover: ["table-hover", "tableHover", booleanAttribute], tableStriped: ["table-striped", "tableStriped", booleanAttribute], tableStripedColumns: ["table-striped-columns", "tableStripedColumns", booleanAttribute], tableBordered: ["table-bordered", "tableBordered", booleanAttribute], tableBorderless: ["table-borderless", "tableBorderless", booleanAttribute], tableSmall: ["table-small", "tableSmall", booleanAttribute], showRefresh: ["show-refresh", "showRefresh", booleanAttribute], totalItems: ["total-items", "totalItems", numberAttribute], currentPage: ["current-page", "currentPage", numberAttribute], pageSize: ["page-size", "pageSize", numberAttribute], showActions: "showActions", loadMoreLabel: "loadMoreLabel" }, outputs: { createItem: "create-item", refreshItem: "refresh-item", loadMore: "load-more", currentPageChange: "current-pageChange", pageSizeChange: "page-sizeChange", pagination: "pagination" }, queries: [{ propertyName: "rows", predicate: DataTableRowComponent }, { propertyName: "columns", predicate: DataTableHeaderComponent }], viewQueries: [{ propertyName: "_projectedDisplayColumns", first: true, predicate: ["projectedDisplayColumns"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "@if (creationStrategy !== 'none' || title || showRefresh) {\n <div class=\"row\">\n <div class=\"col\">\n @if (title) {\n <h3 class=\"float-start\">{{ title }}</h3>\n }\n @if (showRefresh) {\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" (click)=\"refreshItem.emit()\"\n [disabled]=\"loading\">\n <i class=\"fa-solid fa-arrows-rotate\"></i>\n </button>\n }\n @if (creationStrategy === 'page') {\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" [routerLink]=\"creationUrl\">\n <i class=\"fa-solid fa-plus\"></i>\n </button>\n }\n @if (creationStrategy === 'modal') {\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" (click)=\"createItem.emit()\">\n <i class=\"fa-solid fa-plus\"></i>\n </button>\n }\n </div>\n </div>\n}\n<div class=\"table-responsive\">\n <table [ngClass]=\"getTableClasses()\">\n <thead>\n <tr>\n <ng-container #projectedDisplayColumns></ng-container>\n @if (hasActions) {\n <th>\n <span class=\"float-end pe-2\">\n Actions\n </span>\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @if (!loading) {\n <ng-content select=\"rlb-dt-row\"/>\n }\n @if (!loading && items.length === 0) {\n <rlb-dt-row class=\"text-center\">\n <rlb-dt-cell [col-span]=\"cols\" style=\"border: 0\">\n <ng-content select=\"rlb-dt-noitems\"/>\n </rlb-dt-cell>\n </rlb-dt-row>\n }\n @if (loading) {\n <rlb-dt-row class=\"text-center\">\n <rlb-dt-cell [col-span]=\"cols\" style=\"border: 0\">\n <ng-content select=\"rlb-dt-loading\"/>\n </rlb-dt-cell>\n </rlb-dt-row>\n }\n </tbody>\n @if (pagination && paginationMode !== 'none') {\n <tfoot>\n <rlb-dt-row>\n <rlb-dt-cell [col-span]=\"hasActions ? cols+1: cols\" style=\"border: 0\">\n @if (paginationMode === 'load-more') {\n <button type=\"button\" class=\"btn btn-primary float-end btn-sm mt-2\"\n [disabled]=\"loading\" (click)=\"loadMore.emit()\">\n {{ loadMoreLabel }}\n </button>\n }\n @if (paginationMode === 'pages') {\n <nav aria-label=\"Page navigation example\">\n <ul class=\"pagination float-end pagination-sm\">\n <li class=\"page-item\">\n <a class=\"page-link d-block\" [class.disabled]=\"currentPage === 1\" href=\"#\" aria-label=\"Previous\"\n (click)=\"prev($event)\">\n <span aria-hidden=\"true\">«</span>\n </a>\n </li>\n @for (page of visiblePages; track page) {\n <li class=\"page-item\"\n [class.active]=\"currentPage === page\"\n [class.disabled]=\"page === '...'\">\n <a class=\"page-link d-block\"\n href=\"#\"\n (click)=\"selectPage($event, page)\">\n {{ page }}\n </a>\n </li>\n }\n <li class=\"page-item\">\n <a class=\"page-link d-block\" [class.disabled]=\"currentPage === pages\" href=\"#\" aria-label=\"Next\"\n (click)=\"next($event)\">\n <span aria-hidden=\"true\">»</span>\n </a>\n </li>\n </ul>\n <ul class=\"ps-0 float-end me-3\">\n <rlb-select size=\"small\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"selectSize()\"\n [disabled]=\"items.length === 0\">\n <rlb-option [value]=\"10\">10</rlb-option>\n <rlb-option [value]=\"20\">20</rlb-option>\n <rlb-option [value]=\"50\">50</rlb-option>\n <rlb-option [value]=\"100\">100</rlb-option>\n </rlb-select>\n </ul>\n </nav>\n }\n </rlb-dt-cell>\n </rlb-dt-row>\n </tfoot>\n }\n </table>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: DataTableCellComponent, selector: "rlb-dt-cell", inputs: ["col-span", "class", "style"] }, { kind: "component", type: DataTableRowComponent, selector: "rlb-dt-row", inputs: ["class", "style"], outputs: ["rowClick"] }, { kind: "component", type: SelectComponent, selector: "rlb-select", inputs: ["placeholder", "size", "disabled", "readonly", "multiple", "display", "id", "enable-validation"] }, { kind: "component", type: OptionComponent, selector: "rlb-option", inputs: ["disabled", "value", "class"] }] }); }
|
|
7013
7136
|
}
|
|
7014
7137
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DataTableComponent, decorators: [{
|
|
7015
7138
|
type: Component,
|
|
7016
|
-
args: [{ selector: 'rlb-dt-table', standalone: false, template: "
|
|
7139
|
+
args: [{ selector: 'rlb-dt-table', standalone: false, template: "@if (creationStrategy !== 'none' || title || showRefresh) {\n <div class=\"row\">\n <div class=\"col\">\n @if (title) {\n <h3 class=\"float-start\">{{ title }}</h3>\n }\n @if (showRefresh) {\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" (click)=\"refreshItem.emit()\"\n [disabled]=\"loading\">\n <i class=\"fa-solid fa-arrows-rotate\"></i>\n </button>\n }\n @if (creationStrategy === 'page') {\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" [routerLink]=\"creationUrl\">\n <i class=\"fa-solid fa-plus\"></i>\n </button>\n }\n @if (creationStrategy === 'modal') {\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" (click)=\"createItem.emit()\">\n <i class=\"fa-solid fa-plus\"></i>\n </button>\n }\n </div>\n </div>\n}\n<div class=\"table-responsive\">\n <table [ngClass]=\"getTableClasses()\">\n <thead>\n <tr>\n <ng-container #projectedDisplayColumns></ng-container>\n @if (hasActions) {\n <th>\n <span class=\"float-end pe-2\">\n Actions\n </span>\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @if (!loading) {\n <ng-content select=\"rlb-dt-row\"/>\n }\n @if (!loading && items.length === 0) {\n <rlb-dt-row class=\"text-center\">\n <rlb-dt-cell [col-span]=\"cols\" style=\"border: 0\">\n <ng-content select=\"rlb-dt-noitems\"/>\n </rlb-dt-cell>\n </rlb-dt-row>\n }\n @if (loading) {\n <rlb-dt-row class=\"text-center\">\n <rlb-dt-cell [col-span]=\"cols\" style=\"border: 0\">\n <ng-content select=\"rlb-dt-loading\"/>\n </rlb-dt-cell>\n </rlb-dt-row>\n }\n </tbody>\n @if (pagination && paginationMode !== 'none') {\n <tfoot>\n <rlb-dt-row>\n <rlb-dt-cell [col-span]=\"hasActions ? cols+1: cols\" style=\"border: 0\">\n @if (paginationMode === 'load-more') {\n <button type=\"button\" class=\"btn btn-primary float-end btn-sm mt-2\"\n [disabled]=\"loading\" (click)=\"loadMore.emit()\">\n {{ loadMoreLabel }}\n </button>\n }\n @if (paginationMode === 'pages') {\n <nav aria-label=\"Page navigation example\">\n <ul class=\"pagination float-end pagination-sm\">\n <li class=\"page-item\">\n <a class=\"page-link d-block\" [class.disabled]=\"currentPage === 1\" href=\"#\" aria-label=\"Previous\"\n (click)=\"prev($event)\">\n <span aria-hidden=\"true\">«</span>\n </a>\n </li>\n @for (page of visiblePages; track page) {\n <li class=\"page-item\"\n [class.active]=\"currentPage === page\"\n [class.disabled]=\"page === '...'\">\n <a class=\"page-link d-block\"\n href=\"#\"\n (click)=\"selectPage($event, page)\">\n {{ page }}\n </a>\n </li>\n }\n <li class=\"page-item\">\n <a class=\"page-link d-block\" [class.disabled]=\"currentPage === pages\" href=\"#\" aria-label=\"Next\"\n (click)=\"next($event)\">\n <span aria-hidden=\"true\">»</span>\n </a>\n </li>\n </ul>\n <ul class=\"ps-0 float-end me-3\">\n <rlb-select size=\"small\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"selectSize()\"\n [disabled]=\"items.length === 0\">\n <rlb-option [value]=\"10\">10</rlb-option>\n <rlb-option [value]=\"20\">20</rlb-option>\n <rlb-option [value]=\"50\">50</rlb-option>\n <rlb-option [value]=\"100\">100</rlb-option>\n </rlb-select>\n </ul>\n </nav>\n }\n </rlb-dt-cell>\n </rlb-dt-row>\n </tfoot>\n }\n </table>\n</div>\n" }]
|
|
7017
7140
|
}], propDecorators: { title: [{
|
|
7018
7141
|
type: Input,
|
|
7019
7142
|
args: [{ alias: 'title' }]
|
|
@@ -8704,7 +8827,7 @@ class AutocompleteCountryDialCodeComponent extends AbstractAutocompleteComponent
|
|
|
8704
8827
|
}
|
|
8705
8828
|
}
|
|
8706
8829
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AutocompleteCountryDialCodeComponent, deps: [{ token: UniqueIdService }, { token: i0.Renderer2 }, { token: i2$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8707
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
8830
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AutocompleteCountryDialCodeComponent, isStandalone: false, selector: "rlb-autocomplete-country-dial-code", inputs: { enableFlagIcons: ["enable-flag-icons", "enableFlagIcons", booleanAttribute] }, usesInheritance: true, ngImport: i0, template: `
|
|
8708
8831
|
<ng-content select="[before]"></ng-content>
|
|
8709
8832
|
<div class="input-group has-validation">
|
|
8710
8833
|
<input
|
|
@@ -8712,8 +8835,8 @@ class AutocompleteCountryDialCodeComponent extends AbstractAutocompleteComponent
|
|
|
8712
8835
|
[id]="id"
|
|
8713
8836
|
class="form-control"
|
|
8714
8837
|
type="text"
|
|
8715
|
-
|
|
8716
|
-
|
|
8838
|
+
[attr.autocomplete]="'off'"
|
|
8839
|
+
[attr.disabled]="disabled ? true : undefined"
|
|
8717
8840
|
[attr.readonly]="readonly ? true : undefined"
|
|
8718
8841
|
[attr.placeholder]="placeholder"
|
|
8719
8842
|
[class.form-control-lg]="size === 'large'"
|
|
@@ -8724,25 +8847,28 @@ class AutocompleteCountryDialCodeComponent extends AbstractAutocompleteComponent
|
|
|
8724
8847
|
'is-valid': control?.touched && control?.valid
|
|
8725
8848
|
}"
|
|
8726
8849
|
(input)="update($event.target)"
|
|
8727
|
-
|
|
8728
|
-
|
|
8729
|
-
|
|
8730
|
-
|
|
8731
|
-
|
|
8732
|
-
|
|
8733
|
-
|
|
8734
|
-
|
|
8735
|
-
|
|
8736
|
-
|
|
8737
|
-
|
|
8738
|
-
|
|
8739
|
-
|
|
8740
|
-
[
|
|
8741
|
-
|
|
8742
|
-
|
|
8743
|
-
|
|
8744
|
-
|
|
8745
|
-
|
|
8850
|
+
/>
|
|
8851
|
+
@if (errors && showError) {
|
|
8852
|
+
<rlb-input-validation [errors]="errors"/>
|
|
8853
|
+
}
|
|
8854
|
+
</div>
|
|
8855
|
+
@if (loading || acLoading) {
|
|
8856
|
+
<rlb-progress
|
|
8857
|
+
[height]="2"
|
|
8858
|
+
[infinite]="loading || acLoading"
|
|
8859
|
+
color="primary"
|
|
8860
|
+
class="w-100"
|
|
8861
|
+
/>
|
|
8862
|
+
}
|
|
8863
|
+
<ng-content select="[after]"></ng-content>
|
|
8864
|
+
<div
|
|
8865
|
+
#autocomplete
|
|
8866
|
+
[id]="id+'-ac'"
|
|
8867
|
+
class="dropdown-menu overflow-y-auto w-100 position-relative"
|
|
8868
|
+
aria-labelledby="dropdownMenu"
|
|
8869
|
+
[style.max-height.px]="maxHeight">
|
|
8870
|
+
</div>
|
|
8871
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputValidationComponent, selector: "rlb-input-validation", inputs: ["errors"] }, { kind: "component", type: ProgressComponent, selector: "rlb-progress", inputs: ["max", "min", "value", "height", "animated", "striped", "infinite", "aria-label", "showValue", "color", "text-color"] }] }); }
|
|
8746
8872
|
}
|
|
8747
8873
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AutocompleteCountryDialCodeComponent, decorators: [{
|
|
8748
8874
|
type: Component,
|
|
@@ -8756,8 +8882,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
8756
8882
|
[id]="id"
|
|
8757
8883
|
class="form-control"
|
|
8758
8884
|
type="text"
|
|
8759
|
-
|
|
8760
|
-
|
|
8885
|
+
[attr.autocomplete]="'off'"
|
|
8886
|
+
[attr.disabled]="disabled ? true : undefined"
|
|
8761
8887
|
[attr.readonly]="readonly ? true : undefined"
|
|
8762
8888
|
[attr.placeholder]="placeholder"
|
|
8763
8889
|
[class.form-control-lg]="size === 'large'"
|
|
@@ -8768,25 +8894,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
8768
8894
|
'is-valid': control?.touched && control?.valid
|
|
8769
8895
|
}"
|
|
8770
8896
|
(input)="update($event.target)"
|
|
8771
|
-
|
|
8772
|
-
|
|
8773
|
-
|
|
8774
|
-
|
|
8775
|
-
|
|
8776
|
-
|
|
8777
|
-
|
|
8778
|
-
|
|
8779
|
-
|
|
8780
|
-
|
|
8781
|
-
|
|
8782
|
-
|
|
8783
|
-
|
|
8784
|
-
[
|
|
8785
|
-
|
|
8786
|
-
|
|
8787
|
-
|
|
8788
|
-
|
|
8789
|
-
|
|
8897
|
+
/>
|
|
8898
|
+
@if (errors && showError) {
|
|
8899
|
+
<rlb-input-validation [errors]="errors"/>
|
|
8900
|
+
}
|
|
8901
|
+
</div>
|
|
8902
|
+
@if (loading || acLoading) {
|
|
8903
|
+
<rlb-progress
|
|
8904
|
+
[height]="2"
|
|
8905
|
+
[infinite]="loading || acLoading"
|
|
8906
|
+
color="primary"
|
|
8907
|
+
class="w-100"
|
|
8908
|
+
/>
|
|
8909
|
+
}
|
|
8910
|
+
<ng-content select="[after]"></ng-content>
|
|
8911
|
+
<div
|
|
8912
|
+
#autocomplete
|
|
8913
|
+
[id]="id+'-ac'"
|
|
8914
|
+
class="dropdown-menu overflow-y-auto w-100 position-relative"
|
|
8915
|
+
aria-labelledby="dropdownMenu"
|
|
8916
|
+
[style.max-height.px]="maxHeight">
|
|
8917
|
+
</div>
|
|
8918
|
+
`,
|
|
8790
8919
|
standalone: false
|
|
8791
8920
|
}]
|
|
8792
8921
|
}], ctorParameters: () => [{ type: UniqueIdService }, { type: i0.Renderer2 }, { type: i2$2.NgControl, decorators: [{
|
|
@@ -9044,7 +9173,7 @@ class AutocompleteCountryComponent extends AbstractAutocompleteComponent {
|
|
|
9044
9173
|
}
|
|
9045
9174
|
}
|
|
9046
9175
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AutocompleteCountryComponent, deps: [{ token: UniqueIdService }, { token: i0.Renderer2 }, { token: i2$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9047
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
9176
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AutocompleteCountryComponent, isStandalone: false, selector: "rlb-autocomplete-country", inputs: { enableFlagIcons: ["enable-flag-icons", "enableFlagIcons", booleanAttribute], enableValidation: ["enable-validation", "enableValidation", booleanAttribute] }, usesInheritance: true, ngImport: i0, template: `
|
|
9048
9177
|
<ng-content select="[before]"></ng-content>
|
|
9049
9178
|
<div class="input-group has-validation">
|
|
9050
9179
|
<input
|
|
@@ -9052,8 +9181,8 @@ class AutocompleteCountryComponent extends AbstractAutocompleteComponent {
|
|
|
9052
9181
|
[id]="id"
|
|
9053
9182
|
class="form-control"
|
|
9054
9183
|
type="text"
|
|
9055
|
-
|
|
9056
|
-
|
|
9184
|
+
[attr.autocomplete]="'off'"
|
|
9185
|
+
[attr.disabled]="disabled ? true : undefined"
|
|
9057
9186
|
[attr.readonly]="readonly ? true : undefined"
|
|
9058
9187
|
[attr.placeholder]="placeholder"
|
|
9059
9188
|
[class.form-control-lg]="size === 'large'"
|
|
@@ -9064,25 +9193,28 @@ class AutocompleteCountryComponent extends AbstractAutocompleteComponent {
|
|
|
9064
9193
|
'is-valid': control?.touched && control?.valid && enableValidation
|
|
9065
9194
|
}"
|
|
9066
9195
|
(input)="update($event.target)"
|
|
9067
|
-
|
|
9068
|
-
|
|
9069
|
-
|
|
9070
|
-
|
|
9071
|
-
|
|
9072
|
-
|
|
9073
|
-
|
|
9074
|
-
|
|
9075
|
-
|
|
9076
|
-
|
|
9077
|
-
|
|
9078
|
-
|
|
9079
|
-
|
|
9080
|
-
[
|
|
9081
|
-
|
|
9082
|
-
|
|
9083
|
-
|
|
9084
|
-
|
|
9085
|
-
|
|
9196
|
+
/>
|
|
9197
|
+
@if (errors && showError) {
|
|
9198
|
+
<rlb-input-validation [errors]="errors"/>
|
|
9199
|
+
}
|
|
9200
|
+
</div>
|
|
9201
|
+
@if (loading || acLoading) {
|
|
9202
|
+
<rlb-progress
|
|
9203
|
+
[height]="2"
|
|
9204
|
+
[infinite]="loading || acLoading"
|
|
9205
|
+
color="primary"
|
|
9206
|
+
class="w-100"
|
|
9207
|
+
/>
|
|
9208
|
+
}
|
|
9209
|
+
<ng-content select="[after]"></ng-content>
|
|
9210
|
+
<div
|
|
9211
|
+
#autocomplete
|
|
9212
|
+
[id]="id+'-ac'"
|
|
9213
|
+
class="dropdown-menu overflow-y-auto w-100 position-relative"
|
|
9214
|
+
aria-labelledby="dropdownMenu"
|
|
9215
|
+
[style.max-height.px]="maxHeight">
|
|
9216
|
+
</div>
|
|
9217
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputValidationComponent, selector: "rlb-input-validation", inputs: ["errors"] }, { kind: "component", type: ProgressComponent, selector: "rlb-progress", inputs: ["max", "min", "value", "height", "animated", "striped", "infinite", "aria-label", "showValue", "color", "text-color"] }] }); }
|
|
9086
9218
|
}
|
|
9087
9219
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AutocompleteCountryComponent, decorators: [{
|
|
9088
9220
|
type: Component,
|
|
@@ -9096,8 +9228,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
9096
9228
|
[id]="id"
|
|
9097
9229
|
class="form-control"
|
|
9098
9230
|
type="text"
|
|
9099
|
-
|
|
9100
|
-
|
|
9231
|
+
[attr.autocomplete]="'off'"
|
|
9232
|
+
[attr.disabled]="disabled ? true : undefined"
|
|
9101
9233
|
[attr.readonly]="readonly ? true : undefined"
|
|
9102
9234
|
[attr.placeholder]="placeholder"
|
|
9103
9235
|
[class.form-control-lg]="size === 'large'"
|
|
@@ -9108,25 +9240,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
9108
9240
|
'is-valid': control?.touched && control?.valid && enableValidation
|
|
9109
9241
|
}"
|
|
9110
9242
|
(input)="update($event.target)"
|
|
9111
|
-
|
|
9112
|
-
|
|
9113
|
-
|
|
9114
|
-
|
|
9115
|
-
|
|
9116
|
-
|
|
9117
|
-
|
|
9118
|
-
|
|
9119
|
-
|
|
9120
|
-
|
|
9121
|
-
|
|
9122
|
-
|
|
9123
|
-
|
|
9124
|
-
[
|
|
9125
|
-
|
|
9126
|
-
|
|
9127
|
-
|
|
9128
|
-
|
|
9129
|
-
|
|
9243
|
+
/>
|
|
9244
|
+
@if (errors && showError) {
|
|
9245
|
+
<rlb-input-validation [errors]="errors"/>
|
|
9246
|
+
}
|
|
9247
|
+
</div>
|
|
9248
|
+
@if (loading || acLoading) {
|
|
9249
|
+
<rlb-progress
|
|
9250
|
+
[height]="2"
|
|
9251
|
+
[infinite]="loading || acLoading"
|
|
9252
|
+
color="primary"
|
|
9253
|
+
class="w-100"
|
|
9254
|
+
/>
|
|
9255
|
+
}
|
|
9256
|
+
<ng-content select="[after]"></ng-content>
|
|
9257
|
+
<div
|
|
9258
|
+
#autocomplete
|
|
9259
|
+
[id]="id+'-ac'"
|
|
9260
|
+
class="dropdown-menu overflow-y-auto w-100 position-relative"
|
|
9261
|
+
aria-labelledby="dropdownMenu"
|
|
9262
|
+
[style.max-height.px]="maxHeight">
|
|
9263
|
+
</div>
|
|
9264
|
+
`,
|
|
9130
9265
|
standalone: false
|
|
9131
9266
|
}]
|
|
9132
9267
|
}], ctorParameters: () => [{ type: UniqueIdService }, { type: i0.Renderer2 }, { type: i2$2.NgControl, decorators: [{
|
|
@@ -9172,7 +9307,7 @@ class AutocompleteTimezonesComponent extends AbstractAutocompleteComponent {
|
|
|
9172
9307
|
return '';
|
|
9173
9308
|
}
|
|
9174
9309
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AutocompleteTimezonesComponent, deps: [{ token: UniqueIdService }, { token: i0.Renderer2 }, { token: i2$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9175
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
9310
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AutocompleteTimezonesComponent, isStandalone: false, selector: "rlb-autocomplete-timezones", inputs: { enableFlagIcons: ["enable-flag-icons", "enableFlagIcons", booleanAttribute] }, usesInheritance: true, ngImport: i0, template: `
|
|
9176
9311
|
<ng-content select="[before]"></ng-content>
|
|
9177
9312
|
<div class="input-group has-validation">
|
|
9178
9313
|
<input
|
|
@@ -9183,8 +9318,8 @@ class AutocompleteTimezonesComponent extends AbstractAutocompleteComponent {
|
|
|
9183
9318
|
[attr.disabled]="disabled ? true : undefined"
|
|
9184
9319
|
[attr.readonly]="readonly ? true : undefined"
|
|
9185
9320
|
[attr.placeholder]="placeholder"
|
|
9186
|
-
|
|
9187
|
-
|
|
9321
|
+
[attr.autocomplete]="'off'"
|
|
9322
|
+
[class.form-control-lg]="size === 'large'"
|
|
9188
9323
|
[class.form-control-sm]="size === 'small'"
|
|
9189
9324
|
(blur)="touch()"
|
|
9190
9325
|
[ngClass]="{
|
|
@@ -9192,25 +9327,28 @@ class AutocompleteTimezonesComponent extends AbstractAutocompleteComponent {
|
|
|
9192
9327
|
'is-valid': control?.touched && control?.valid
|
|
9193
9328
|
}"
|
|
9194
9329
|
(input)="update($event.target)"
|
|
9195
|
-
|
|
9196
|
-
|
|
9197
|
-
|
|
9198
|
-
|
|
9199
|
-
|
|
9200
|
-
|
|
9201
|
-
|
|
9202
|
-
|
|
9203
|
-
|
|
9204
|
-
|
|
9205
|
-
|
|
9206
|
-
|
|
9207
|
-
|
|
9208
|
-
[
|
|
9209
|
-
|
|
9210
|
-
|
|
9211
|
-
|
|
9212
|
-
|
|
9213
|
-
|
|
9330
|
+
/>
|
|
9331
|
+
@if (errors && showError) {
|
|
9332
|
+
<rlb-input-validation [errors]="errors"/>
|
|
9333
|
+
}
|
|
9334
|
+
</div>
|
|
9335
|
+
@if (loading || acLoading) {
|
|
9336
|
+
<rlb-progress
|
|
9337
|
+
[height]="2"
|
|
9338
|
+
[infinite]="loading || acLoading"
|
|
9339
|
+
color="primary"
|
|
9340
|
+
class="w-100"
|
|
9341
|
+
/>
|
|
9342
|
+
}
|
|
9343
|
+
<ng-content select="[after]"></ng-content>
|
|
9344
|
+
<div
|
|
9345
|
+
#autocomplete
|
|
9346
|
+
[id]="id+'-ac'"
|
|
9347
|
+
class="dropdown-menu overflow-y-auto w-100 position-relative"
|
|
9348
|
+
aria-labelledby="dropdownMenu"
|
|
9349
|
+
[style.max-height.px]="maxHeight">
|
|
9350
|
+
</div>
|
|
9351
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputValidationComponent, selector: "rlb-input-validation", inputs: ["errors"] }, { kind: "component", type: ProgressComponent, selector: "rlb-progress", inputs: ["max", "min", "value", "height", "animated", "striped", "infinite", "aria-label", "showValue", "color", "text-color"] }] }); }
|
|
9214
9352
|
}
|
|
9215
9353
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AutocompleteTimezonesComponent, decorators: [{
|
|
9216
9354
|
type: Component,
|
|
@@ -9227,8 +9365,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
9227
9365
|
[attr.disabled]="disabled ? true : undefined"
|
|
9228
9366
|
[attr.readonly]="readonly ? true : undefined"
|
|
9229
9367
|
[attr.placeholder]="placeholder"
|
|
9230
|
-
|
|
9231
|
-
|
|
9368
|
+
[attr.autocomplete]="'off'"
|
|
9369
|
+
[class.form-control-lg]="size === 'large'"
|
|
9232
9370
|
[class.form-control-sm]="size === 'small'"
|
|
9233
9371
|
(blur)="touch()"
|
|
9234
9372
|
[ngClass]="{
|
|
@@ -9236,25 +9374,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
9236
9374
|
'is-valid': control?.touched && control?.valid
|
|
9237
9375
|
}"
|
|
9238
9376
|
(input)="update($event.target)"
|
|
9239
|
-
|
|
9240
|
-
|
|
9241
|
-
|
|
9242
|
-
|
|
9243
|
-
|
|
9244
|
-
|
|
9245
|
-
|
|
9246
|
-
|
|
9247
|
-
|
|
9248
|
-
|
|
9249
|
-
|
|
9250
|
-
|
|
9251
|
-
|
|
9252
|
-
[
|
|
9253
|
-
|
|
9254
|
-
|
|
9255
|
-
|
|
9256
|
-
|
|
9257
|
-
|
|
9377
|
+
/>
|
|
9378
|
+
@if (errors && showError) {
|
|
9379
|
+
<rlb-input-validation [errors]="errors"/>
|
|
9380
|
+
}
|
|
9381
|
+
</div>
|
|
9382
|
+
@if (loading || acLoading) {
|
|
9383
|
+
<rlb-progress
|
|
9384
|
+
[height]="2"
|
|
9385
|
+
[infinite]="loading || acLoading"
|
|
9386
|
+
color="primary"
|
|
9387
|
+
class="w-100"
|
|
9388
|
+
/>
|
|
9389
|
+
}
|
|
9390
|
+
<ng-content select="[after]"></ng-content>
|
|
9391
|
+
<div
|
|
9392
|
+
#autocomplete
|
|
9393
|
+
[id]="id+'-ac'"
|
|
9394
|
+
class="dropdown-menu overflow-y-auto w-100 position-relative"
|
|
9395
|
+
aria-labelledby="dropdownMenu"
|
|
9396
|
+
[style.max-height.px]="maxHeight">
|
|
9397
|
+
</div>
|
|
9398
|
+
`,
|
|
9258
9399
|
standalone: false
|
|
9259
9400
|
}]
|
|
9260
9401
|
}], ctorParameters: () => [{ type: UniqueIdService }, { type: i0.Renderer2 }, { type: i2$2.NgControl, decorators: [{
|
|
@@ -9429,7 +9570,7 @@ class AutocompleteComponent extends AbstractComponent {
|
|
|
9429
9570
|
}
|
|
9430
9571
|
}
|
|
9431
9572
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AutocompleteComponent, deps: [{ token: UniqueIdService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9432
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
9573
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AutocompleteComponent, isStandalone: false, selector: "rlb-autocomplete", inputs: { disabled: ["disabled", "disabled", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute], loading: ["loading", "loading", booleanAttribute], maxHeight: ["max-height", "maxHeight", numberAttribute], placeholder: "placeholder", autocomplete: "autocomplete", type: "type", size: "size", charsToSearch: ["chars-to-search", "charsToSearch", numberAttribute], menuMaxWidth: ["menu-max-width", "menuMaxWidth", numberAttribute], userDefinedId: ["id", "userDefinedId", (v) => v || ''], enableValidation: ["enable-validation", "enableValidation", booleanAttribute], inputAutocomplete: "inputAutocomplete" }, outputs: { selected: "selected" }, host: { listeners: { "document:pointerdown": "onDocumentPointerDown($event)", "document:keydown.escape": "onEscape($event)" }, styleAttribute: "position: relative;" }, viewQueries: [{ propertyName: "el", first: true, predicate: ["field"], descendants: true }, { propertyName: "dropdown", first: true, predicate: ["autocomplete"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
9433
9574
|
<ng-content select="[before]"></ng-content>
|
|
9434
9575
|
<div class="input-group has-validation">
|
|
9435
9576
|
<input
|
|
@@ -9451,26 +9592,29 @@ class AutocompleteComponent extends AbstractComponent {
|
|
|
9451
9592
|
}"
|
|
9452
9593
|
(input)="update($event.target)"
|
|
9453
9594
|
(keyup.enter)="onEnter($event.target)"
|
|
9454
|
-
|
|
9455
|
-
|
|
9456
|
-
|
|
9457
|
-
|
|
9458
|
-
|
|
9459
|
-
|
|
9460
|
-
|
|
9461
|
-
|
|
9462
|
-
|
|
9463
|
-
|
|
9464
|
-
|
|
9465
|
-
|
|
9466
|
-
|
|
9467
|
-
[
|
|
9468
|
-
|
|
9469
|
-
|
|
9470
|
-
|
|
9471
|
-
|
|
9595
|
+
/>
|
|
9596
|
+
@if (errors && showError && enableValidation) {
|
|
9597
|
+
<rlb-input-validation [errors]="errors"/>
|
|
9598
|
+
}
|
|
9599
|
+
</div>
|
|
9600
|
+
@if (loading || acLoading) {
|
|
9601
|
+
<rlb-progress
|
|
9602
|
+
[height]="2"
|
|
9603
|
+
[infinite]="loading || acLoading"
|
|
9604
|
+
color="primary"
|
|
9605
|
+
class="w-100"
|
|
9606
|
+
/>
|
|
9607
|
+
}
|
|
9608
|
+
<ng-content select="[after]"></ng-content>
|
|
9609
|
+
<div
|
|
9610
|
+
#autocomplete
|
|
9611
|
+
[id]="id+'-ac'"
|
|
9612
|
+
class="dropdown-menu overflow-y-auto w-100 position-absolute"
|
|
9613
|
+
aria-labelledby="dropdownMenu"
|
|
9614
|
+
[style.max-height.px]="maxHeight"
|
|
9615
|
+
[style.width]="'fit-content !important'"
|
|
9472
9616
|
[style.max-width.px]="menuMaxWidth"></div>
|
|
9473
|
-
|
|
9617
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputValidationComponent, selector: "rlb-input-validation", inputs: ["errors"] }, { kind: "component", type: ProgressComponent, selector: "rlb-progress", inputs: ["max", "min", "value", "height", "animated", "striped", "infinite", "aria-label", "showValue", "color", "text-color"] }] }); }
|
|
9474
9618
|
}
|
|
9475
9619
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AutocompleteComponent, decorators: [{
|
|
9476
9620
|
type: Component,
|
|
@@ -9498,26 +9642,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
9498
9642
|
}"
|
|
9499
9643
|
(input)="update($event.target)"
|
|
9500
9644
|
(keyup.enter)="onEnter($event.target)"
|
|
9501
|
-
|
|
9502
|
-
|
|
9503
|
-
|
|
9504
|
-
|
|
9505
|
-
|
|
9506
|
-
|
|
9507
|
-
|
|
9508
|
-
|
|
9509
|
-
|
|
9510
|
-
|
|
9511
|
-
|
|
9512
|
-
|
|
9513
|
-
|
|
9514
|
-
[
|
|
9515
|
-
|
|
9516
|
-
|
|
9517
|
-
|
|
9518
|
-
|
|
9645
|
+
/>
|
|
9646
|
+
@if (errors && showError && enableValidation) {
|
|
9647
|
+
<rlb-input-validation [errors]="errors"/>
|
|
9648
|
+
}
|
|
9649
|
+
</div>
|
|
9650
|
+
@if (loading || acLoading) {
|
|
9651
|
+
<rlb-progress
|
|
9652
|
+
[height]="2"
|
|
9653
|
+
[infinite]="loading || acLoading"
|
|
9654
|
+
color="primary"
|
|
9655
|
+
class="w-100"
|
|
9656
|
+
/>
|
|
9657
|
+
}
|
|
9658
|
+
<ng-content select="[after]"></ng-content>
|
|
9659
|
+
<div
|
|
9660
|
+
#autocomplete
|
|
9661
|
+
[id]="id+'-ac'"
|
|
9662
|
+
class="dropdown-menu overflow-y-auto w-100 position-absolute"
|
|
9663
|
+
aria-labelledby="dropdownMenu"
|
|
9664
|
+
[style.max-height.px]="maxHeight"
|
|
9665
|
+
[style.width]="'fit-content !important'"
|
|
9519
9666
|
[style.max-width.px]="menuMaxWidth"></div>
|
|
9520
|
-
|
|
9667
|
+
`,
|
|
9521
9668
|
standalone: false,
|
|
9522
9669
|
host: {
|
|
9523
9670
|
style: 'position: relative;',
|
|
@@ -9646,7 +9793,7 @@ class CheckboxComponent extends AbstractComponent {
|
|
|
9646
9793
|
{{ errors | json }}
|
|
9647
9794
|
</div>
|
|
9648
9795
|
<ng-content select="[after]"></ng-content>
|
|
9649
|
-
</div>`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
9796
|
+
</div>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i3.JsonPipe, name: "json" }] }); }
|
|
9650
9797
|
}
|
|
9651
9798
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
9652
9799
|
type: Component,
|
|
@@ -9734,7 +9881,7 @@ class ColorComponent extends AbstractComponent {
|
|
|
9734
9881
|
{{ errors | json }}
|
|
9735
9882
|
</div>
|
|
9736
9883
|
</div>
|
|
9737
|
-
<ng-content select="[after]"></ng-content>`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
9884
|
+
<ng-content select="[after]"></ng-content>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i3.JsonPipe, name: "json" }] }); }
|
|
9738
9885
|
}
|
|
9739
9886
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ColorComponent, decorators: [{
|
|
9740
9887
|
type: Component,
|
|
@@ -9831,7 +9978,7 @@ class DatalistComponent extends AbstractComponent {
|
|
|
9831
9978
|
{{ errors | json }}
|
|
9832
9979
|
</div>
|
|
9833
9980
|
</div>
|
|
9834
|
-
<ng-content select="[after]"></ng-content>`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
9981
|
+
<ng-content select="[after]"></ng-content>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i3.JsonPipe, name: "json" }] }); }
|
|
9835
9982
|
}
|
|
9836
9983
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DatalistComponent, decorators: [{
|
|
9837
9984
|
type: Component,
|
|
@@ -9999,7 +10146,7 @@ class FileDndComponent {
|
|
|
9999
10146
|
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + " " + sizes[i];
|
|
10000
10147
|
}
|
|
10001
10148
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FileDndComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10002
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
10149
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: FileDndComponent, isStandalone: false, selector: "rlb-file-dnd", inputs: { multiple: ["multiple", "multiple", booleanAttribute], data: "data", userDefinedId: ["id", "userDefinedId", (v) => v || ''] }, outputs: { filesChange: "files" }, viewQueries: [{ propertyName: "fileDropEl", first: true, predicate: ["fileDropRef"], descendants: true }], ngImport: i0, template: `
|
|
10003
10150
|
<div class="rlb-file-dnd" rlb-dnd [multiple]="multiple" (fileDropped)="onFileDropped($event)">
|
|
10004
10151
|
<input type="file" #fileDropRef id="fileDropRef" [attr.multiple]="multiple?'':undefined" (change)="fileBrowseHandler($event)" />
|
|
10005
10152
|
<i class="bi bi-upload"></i>
|
|
@@ -10008,18 +10155,20 @@ class FileDndComponent {
|
|
|
10008
10155
|
<label class="btn btn-primary" for="fileDropRef">{{ data.content?.button }}</label>
|
|
10009
10156
|
</div>
|
|
10010
10157
|
<div class="rlb-file-dnd-list">
|
|
10011
|
-
|
|
10012
|
-
<
|
|
10013
|
-
|
|
10014
|
-
<
|
|
10015
|
-
|
|
10016
|
-
|
|
10158
|
+
@for (file of files; track file; let i = $index) {
|
|
10159
|
+
<div class="single-file">
|
|
10160
|
+
<i class="bi bi-file-earmark-image" style="font-size: 36px;"></i>
|
|
10161
|
+
<div class="info">
|
|
10162
|
+
<span class="d-block name"> {{ file.name }} </span>
|
|
10163
|
+
<span class="d-block size">{{ formatBytes(file.size) }}</span>
|
|
10164
|
+
<rlb-progress [height]="3" [value]="10" animated ></rlb-progress>
|
|
10165
|
+
</div>
|
|
10166
|
+
<button rlb-button outline class="p-0 mb-auto border-0">
|
|
10167
|
+
<i class="bi bi-trash" (click)="deleteFile(file)"></i>
|
|
10168
|
+
</button>
|
|
10017
10169
|
</div>
|
|
10018
|
-
|
|
10019
|
-
|
|
10020
|
-
</button>
|
|
10021
|
-
</div>
|
|
10022
|
-
</div>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: DndDirective, selector: "[rlb-dnd]", inputs: ["multiple"], outputs: ["fileDropped"] }, { kind: "component", type: ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "component", type: ProgressComponent, selector: "rlb-progress", inputs: ["max", "min", "value", "height", "animated", "striped", "infinite", "aria-label", "showValue", "color", "text-color"] }] }); }
|
|
10170
|
+
}
|
|
10171
|
+
</div>`, isInline: true, dependencies: [{ kind: "directive", type: DndDirective, selector: "[rlb-dnd]", inputs: ["multiple"], outputs: ["fileDropped"] }, { kind: "component", type: ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "component", type: ProgressComponent, selector: "rlb-progress", inputs: ["max", "min", "value", "height", "animated", "striped", "infinite", "aria-label", "showValue", "color", "text-color"] }] }); }
|
|
10023
10172
|
}
|
|
10024
10173
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FileDndComponent, decorators: [{
|
|
10025
10174
|
type: Component,
|
|
@@ -10034,17 +10183,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
10034
10183
|
<label class="btn btn-primary" for="fileDropRef">{{ data.content?.button }}</label>
|
|
10035
10184
|
</div>
|
|
10036
10185
|
<div class="rlb-file-dnd-list">
|
|
10037
|
-
|
|
10038
|
-
<
|
|
10039
|
-
|
|
10040
|
-
<
|
|
10041
|
-
|
|
10042
|
-
|
|
10186
|
+
@for (file of files; track file; let i = $index) {
|
|
10187
|
+
<div class="single-file">
|
|
10188
|
+
<i class="bi bi-file-earmark-image" style="font-size: 36px;"></i>
|
|
10189
|
+
<div class="info">
|
|
10190
|
+
<span class="d-block name"> {{ file.name }} </span>
|
|
10191
|
+
<span class="d-block size">{{ formatBytes(file.size) }}</span>
|
|
10192
|
+
<rlb-progress [height]="3" [value]="10" animated ></rlb-progress>
|
|
10193
|
+
</div>
|
|
10194
|
+
<button rlb-button outline class="p-0 mb-auto border-0">
|
|
10195
|
+
<i class="bi bi-trash" (click)="deleteFile(file)"></i>
|
|
10196
|
+
</button>
|
|
10043
10197
|
</div>
|
|
10044
|
-
|
|
10045
|
-
<i class="bi bi-trash" (click)="deleteFile(file)"></i>
|
|
10046
|
-
</button>
|
|
10047
|
-
</div>
|
|
10198
|
+
}
|
|
10048
10199
|
</div>`,
|
|
10049
10200
|
standalone: false
|
|
10050
10201
|
}]
|
|
@@ -10111,7 +10262,7 @@ class FileComponent extends AbstractComponent {
|
|
|
10111
10262
|
{{ errors | json }}
|
|
10112
10263
|
</div>
|
|
10113
10264
|
</div>
|
|
10114
|
-
<ng-content select="[after]"></ng-content>`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
10265
|
+
<ng-content select="[after]"></ng-content>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i3.JsonPipe, name: "json" }] }); }
|
|
10115
10266
|
}
|
|
10116
10267
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FileComponent, decorators: [{
|
|
10117
10268
|
type: Component,
|
|
@@ -10338,34 +10489,36 @@ class InputComponent extends AbstractComponent {
|
|
|
10338
10489
|
return result;
|
|
10339
10490
|
}
|
|
10340
10491
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputComponent, deps: [{ token: i0.ViewContainerRef }, { token: UniqueIdService }, { token: i2$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10341
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
10492
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: InputComponent, isStandalone: false, selector: "rlb-input", inputs: { disabled: ["disabled", "disabled", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute], beforeText: ["before-text", "beforeText", booleanAttribute], placeholder: "placeholder", type: "type", size: "size", name: "name", max: ["max", "max", numberAttribute], min: ["min", "min", numberAttribute], step: ["step", "step", numberAttribute], dateType: ["date-type", "dateType"], timezone: "timezone", userDefinedId: ["id", "userDefinedId", (v) => v || ''], extValidation: ["extValidation", "extValidation", booleanAttribute], enableValidation: ["enable-validation", "enableValidation", booleanAttribute] }, viewQueries: [{ propertyName: "el", first: true, predicate: ["field"], descendants: true }, { propertyName: "template", first: true, predicate: ["template"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
|
|
10342
10493
|
<ng-template #template>
|
|
10343
10494
|
<ng-content select="[before]"></ng-content>
|
|
10344
|
-
|
|
10345
|
-
|
|
10346
|
-
|
|
10347
|
-
|
|
10348
|
-
|
|
10349
|
-
|
|
10350
|
-
|
|
10351
|
-
|
|
10352
|
-
|
|
10353
|
-
|
|
10354
|
-
|
|
10355
|
-
|
|
10356
|
-
|
|
10357
|
-
|
|
10358
|
-
|
|
10359
|
-
|
|
10495
|
+
<input
|
|
10496
|
+
#field
|
|
10497
|
+
[id]="id"
|
|
10498
|
+
class="form-control"
|
|
10499
|
+
[type]="_type"
|
|
10500
|
+
[name]="name"
|
|
10501
|
+
[attr.max]="type === 'number' && max !== null && max !== undefined ? max : undefined"
|
|
10502
|
+
[attr.min]="type === 'number' && min !== null && min !== undefined ? min : undefined"
|
|
10503
|
+
[attr.step]="type === 'number' && step !== null && step !== undefined ? step : undefined"
|
|
10504
|
+
[attr.disabled]="disabled ? true : undefined"
|
|
10505
|
+
[attr.readonly]="readonly ? true : undefined"
|
|
10506
|
+
[attr.placeholder]="placeholder"
|
|
10507
|
+
[class.form-control-lg]="size === 'large'"
|
|
10508
|
+
[class.form-control-sm]="size === 'small'"
|
|
10509
|
+
[value]="value || ''"
|
|
10510
|
+
(blur)="touch()"
|
|
10360
10511
|
[ngClass]="{
|
|
10361
10512
|
'is-invalid': control?.touched && control?.invalid && enableValidation,
|
|
10362
10513
|
'is-valid': control?.touched && control?.valid && enableValidation
|
|
10363
10514
|
}"
|
|
10364
|
-
|
|
10515
|
+
(input)="update($event.target)"
|
|
10365
10516
|
/>
|
|
10366
|
-
|
|
10367
|
-
|
|
10368
|
-
|
|
10517
|
+
@if (!extValidation && showError) {
|
|
10518
|
+
<rlb-input-validation [errors]="errors"/>
|
|
10519
|
+
}
|
|
10520
|
+
<ng-content select="[after]"></ng-content>
|
|
10521
|
+
</ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputValidationComponent, selector: "rlb-input-validation", inputs: ["errors"] }] }); }
|
|
10369
10522
|
}
|
|
10370
10523
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputComponent, decorators: [{
|
|
10371
10524
|
type: Component,
|
|
@@ -10374,31 +10527,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
10374
10527
|
template: `
|
|
10375
10528
|
<ng-template #template>
|
|
10376
10529
|
<ng-content select="[before]"></ng-content>
|
|
10377
|
-
|
|
10378
|
-
|
|
10379
|
-
|
|
10380
|
-
|
|
10381
|
-
|
|
10382
|
-
|
|
10383
|
-
|
|
10384
|
-
|
|
10385
|
-
|
|
10386
|
-
|
|
10387
|
-
|
|
10388
|
-
|
|
10389
|
-
|
|
10390
|
-
|
|
10391
|
-
|
|
10392
|
-
|
|
10530
|
+
<input
|
|
10531
|
+
#field
|
|
10532
|
+
[id]="id"
|
|
10533
|
+
class="form-control"
|
|
10534
|
+
[type]="_type"
|
|
10535
|
+
[name]="name"
|
|
10536
|
+
[attr.max]="type === 'number' && max !== null && max !== undefined ? max : undefined"
|
|
10537
|
+
[attr.min]="type === 'number' && min !== null && min !== undefined ? min : undefined"
|
|
10538
|
+
[attr.step]="type === 'number' && step !== null && step !== undefined ? step : undefined"
|
|
10539
|
+
[attr.disabled]="disabled ? true : undefined"
|
|
10540
|
+
[attr.readonly]="readonly ? true : undefined"
|
|
10541
|
+
[attr.placeholder]="placeholder"
|
|
10542
|
+
[class.form-control-lg]="size === 'large'"
|
|
10543
|
+
[class.form-control-sm]="size === 'small'"
|
|
10544
|
+
[value]="value || ''"
|
|
10545
|
+
(blur)="touch()"
|
|
10393
10546
|
[ngClass]="{
|
|
10394
10547
|
'is-invalid': control?.touched && control?.invalid && enableValidation,
|
|
10395
10548
|
'is-valid': control?.touched && control?.valid && enableValidation
|
|
10396
10549
|
}"
|
|
10397
|
-
|
|
10550
|
+
(input)="update($event.target)"
|
|
10398
10551
|
/>
|
|
10399
|
-
|
|
10400
|
-
|
|
10401
|
-
|
|
10552
|
+
@if (!extValidation && showError) {
|
|
10553
|
+
<rlb-input-validation [errors]="errors"/>
|
|
10554
|
+
}
|
|
10555
|
+
<ng-content select="[after]"></ng-content>
|
|
10556
|
+
</ng-template>`,
|
|
10402
10557
|
standalone: false
|
|
10403
10558
|
}]
|
|
10404
10559
|
}], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: UniqueIdService }, { type: i2$2.NgControl, decorators: [{
|
|
@@ -10537,10 +10692,10 @@ class RadioComponent extends AbstractComponent {
|
|
|
10537
10692
|
}
|
|
10538
10693
|
}
|
|
10539
10694
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
10540
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
10695
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: RadioComponent, isStandalone: false, selector: "rlb-radio", inputs: { disabled: ["disabled", "disabled", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute], userDefinedId: ["id", "userDefinedId", (v) => v || ''] }, queries: [{ propertyName: "options", predicate: OptionComponent }], viewQueries: [{ propertyName: "el", first: true, predicate: ["field"], descendants: true }, { propertyName: "contents", predicate: ["content"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: `
|
|
10541
10696
|
<div class="input-group has-validation">
|
|
10542
10697
|
<ng-content select="[before]"></ng-content>
|
|
10543
|
-
|
|
10698
|
+
@for (option of options; track option; let i = $index) {
|
|
10544
10699
|
<div class="form-check">
|
|
10545
10700
|
<input
|
|
10546
10701
|
#field
|
|
@@ -10555,15 +10710,15 @@ class RadioComponent extends AbstractComponent {
|
|
|
10555
10710
|
(blur)="touch()"
|
|
10556
10711
|
[ngClass]="{ 'is-invalid': control?.touched && control?.invalid }"
|
|
10557
10712
|
(change)="update($event.target)"
|
|
10558
|
-
|
|
10559
|
-
|
|
10713
|
+
/>
|
|
10714
|
+
<span #content></span>
|
|
10715
|
+
</div>
|
|
10716
|
+
}
|
|
10717
|
+
<ng-content select="[after]"></ng-content>
|
|
10718
|
+
<div class="invalid-feedback">
|
|
10719
|
+
{{ errors | json }}
|
|
10560
10720
|
</div>
|
|
10561
|
-
</
|
|
10562
|
-
<ng-content select="[after]"></ng-content>
|
|
10563
|
-
<div class="invalid-feedback">
|
|
10564
|
-
{{ errors | json }}
|
|
10565
|
-
</div>
|
|
10566
|
-
</div>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.JsonPipe, name: "json" }] }); }
|
|
10721
|
+
</div>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i3.JsonPipe, name: "json" }] }); }
|
|
10567
10722
|
}
|
|
10568
10723
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RadioComponent, decorators: [{
|
|
10569
10724
|
type: Component,
|
|
@@ -10572,7 +10727,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
10572
10727
|
template: `
|
|
10573
10728
|
<div class="input-group has-validation">
|
|
10574
10729
|
<ng-content select="[before]"></ng-content>
|
|
10575
|
-
|
|
10730
|
+
@for (option of options; track option; let i = $index) {
|
|
10576
10731
|
<div class="form-check">
|
|
10577
10732
|
<input
|
|
10578
10733
|
#field
|
|
@@ -10587,15 +10742,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
10587
10742
|
(blur)="touch()"
|
|
10588
10743
|
[ngClass]="{ 'is-invalid': control?.touched && control?.invalid }"
|
|
10589
10744
|
(change)="update($event.target)"
|
|
10590
|
-
|
|
10591
|
-
|
|
10745
|
+
/>
|
|
10746
|
+
<span #content></span>
|
|
10747
|
+
</div>
|
|
10748
|
+
}
|
|
10749
|
+
<ng-content select="[after]"></ng-content>
|
|
10750
|
+
<div class="invalid-feedback">
|
|
10751
|
+
{{ errors | json }}
|
|
10592
10752
|
</div>
|
|
10593
|
-
</
|
|
10594
|
-
<ng-content select="[after]"></ng-content>
|
|
10595
|
-
<div class="invalid-feedback">
|
|
10596
|
-
{{ errors | json }}
|
|
10597
|
-
</div>
|
|
10598
|
-
</div>`,
|
|
10753
|
+
</div>`,
|
|
10599
10754
|
standalone: false
|
|
10600
10755
|
}]
|
|
10601
10756
|
}], propDecorators: { disabled: [{
|
|
@@ -10662,7 +10817,7 @@ class RangeComponent extends AbstractComponent {
|
|
|
10662
10817
|
{{ errors | json }}
|
|
10663
10818
|
</div>
|
|
10664
10819
|
</div>
|
|
10665
|
-
<ng-content select="[after]"></ng-content>`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
10820
|
+
<ng-content select="[after]"></ng-content>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i3.JsonPipe, name: "json" }] }); }
|
|
10666
10821
|
}
|
|
10667
10822
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RangeComponent, decorators: [{
|
|
10668
10823
|
type: Component,
|
|
@@ -10774,7 +10929,7 @@ class SwitchComponent extends AbstractComponent {
|
|
|
10774
10929
|
|
|
10775
10930
|
<ng-content select="[after]"></ng-content>
|
|
10776
10931
|
</div>
|
|
10777
|
-
`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
10932
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
10778
10933
|
}
|
|
10779
10934
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SwitchComponent, decorators: [{
|
|
10780
10935
|
type: Component,
|
|
@@ -10867,7 +11022,7 @@ class TextAreaComponent extends AbstractComponent {
|
|
|
10867
11022
|
{{ errors | json }}
|
|
10868
11023
|
</div>
|
|
10869
11024
|
</div>
|
|
10870
|
-
<ng-content select="[after]"></ng-content>`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
11025
|
+
<ng-content select="[after]"></ng-content>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i3.JsonPipe, name: "json" }] }); }
|
|
10871
11026
|
}
|
|
10872
11027
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TextAreaComponent, decorators: [{
|
|
10873
11028
|
type: Component,
|
|
@@ -11001,11 +11156,11 @@ class FormFieldsComponent {
|
|
|
11001
11156
|
this.form.onSubmit({});
|
|
11002
11157
|
}
|
|
11003
11158
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FormFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11004
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
11159
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: FormFieldsComponent, isStandalone: false, selector: "rlb-form-fields", inputs: { title: "title", subTitle: ["sub-title", "subTitle"], noSubmit: ["no-submit", "noSubmit", booleanAttribute], noCard: ["no-card", "noCard", booleanAttribute], fields: "fields" }, outputs: { submit: "submit" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["ngForm"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (noCard) {\n <ng-container [ngTemplateOutlet]=\"form\"></ng-container>\n} @else {\n <div class=\"card mb-3\">\n <div class=\"card-body\">\n @if (title) {\n <h5 class=\"card-title\">{{ title | translate }}</h5>\n }\n @if (subTitle) {\n <p class=\"card-text\">{{ subTitle | translate }}</p>\n }\n <ng-container [ngTemplateOutlet]=\"form\"></ng-container>\n </div>\n </div>\n}\n\n\n<ng-template #form>\n @if (filterForm) {\n <form\n [formGroup]=\"filterForm\"\n [class.was-validated]=\"ngForm.submitted\"\n class=\"needs-validation\"\n #ngForm=\"ngForm\"\n (ngSubmit)=\"onFilterSubmit()\"\n >\n <div class=\"row\">\n @for (input of _fields; track identify($index, input)) {\n <div\n class=\"col\"\n [ngClass]=\"input.cols\"\n >\n <div class=\"mb-3\">\n @if (isText(input.type)) {\n <rlb-input\n [formControlName]=\"input.property\"\n [type]=\"input.type\"\n [placeholder]=\"input.name | translate\"\n >\n @if (input.label) {\n <ng-container before>\n <span #after>\n {{ input.label | translate }}\n </span>\n </ng-container>\n }\n </rlb-input>\n }\n @if (isSwitch(input.type)) {\n <rlb-switch\n [formControlName]=\"input.property\"\n />\n }\n </div>\n </div>\n }\n </div>\n @if (!noSubmit) {\n <div class=\"row\">\n <div class=\"col\">\n <button\n class=\"btn btn-primary float-end\"\n [disabled]=\"!filterForm.valid\"\n >\n {{ \"common.filter\" | translate }}\n </button>\n </div>\n </div>\n }\n </form>\n }\n </ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: InputComponent, selector: "rlb-input", inputs: ["disabled", "readonly", "before-text", "placeholder", "type", "size", "name", "max", "min", "step", "date-type", "timezone", "id", "extValidation", "enable-validation"] }, { kind: "component", type: SwitchComponent, selector: "rlb-switch", inputs: ["disabled", "readonly", "size", "id"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
|
|
11005
11160
|
}
|
|
11006
11161
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FormFieldsComponent, decorators: [{
|
|
11007
11162
|
type: Component,
|
|
11008
|
-
args: [{ selector: 'rlb-form-fields', standalone: false, template: "
|
|
11163
|
+
args: [{ selector: 'rlb-form-fields', standalone: false, template: "@if (noCard) {\n <ng-container [ngTemplateOutlet]=\"form\"></ng-container>\n} @else {\n <div class=\"card mb-3\">\n <div class=\"card-body\">\n @if (title) {\n <h5 class=\"card-title\">{{ title | translate }}</h5>\n }\n @if (subTitle) {\n <p class=\"card-text\">{{ subTitle | translate }}</p>\n }\n <ng-container [ngTemplateOutlet]=\"form\"></ng-container>\n </div>\n </div>\n}\n\n\n<ng-template #form>\n @if (filterForm) {\n <form\n [formGroup]=\"filterForm\"\n [class.was-validated]=\"ngForm.submitted\"\n class=\"needs-validation\"\n #ngForm=\"ngForm\"\n (ngSubmit)=\"onFilterSubmit()\"\n >\n <div class=\"row\">\n @for (input of _fields; track identify($index, input)) {\n <div\n class=\"col\"\n [ngClass]=\"input.cols\"\n >\n <div class=\"mb-3\">\n @if (isText(input.type)) {\n <rlb-input\n [formControlName]=\"input.property\"\n [type]=\"input.type\"\n [placeholder]=\"input.name | translate\"\n >\n @if (input.label) {\n <ng-container before>\n <span #after>\n {{ input.label | translate }}\n </span>\n </ng-container>\n }\n </rlb-input>\n }\n @if (isSwitch(input.type)) {\n <rlb-switch\n [formControlName]=\"input.property\"\n />\n }\n </div>\n </div>\n }\n </div>\n @if (!noSubmit) {\n <div class=\"row\">\n <div class=\"col\">\n <button\n class=\"btn btn-primary float-end\"\n [disabled]=\"!filterForm.valid\"\n >\n {{ \"common.filter\" | translate }}\n </button>\n </div>\n </div>\n }\n </form>\n }\n </ng-template>\n" }]
|
|
11009
11164
|
}], propDecorators: { title: [{
|
|
11010
11165
|
type: Input,
|
|
11011
11166
|
args: [{ alias: 'title' }]
|
|
@@ -11132,12 +11287,12 @@ class SearchModalComponent {
|
|
|
11132
11287
|
<i class="bi bi-search"></i>
|
|
11133
11288
|
</button>
|
|
11134
11289
|
</rlb-input>
|
|
11135
|
-
</div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: RlbBootstrapModule }, { kind: "component", type: InputComponent, selector: "rlb-input", inputs: ["disabled", "readonly", "before-text", "placeholder", "type", "size", "name", "max", "min", "step", "date-type", "timezone", "id", "extValidation", "enable-validation"] }, { kind: "component", type: ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }
|
|
11290
|
+
</div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: RlbBootstrapModule }, { kind: "component", type: InputComponent, selector: "rlb-input", inputs: ["disabled", "readonly", "before-text", "placeholder", "type", "size", "name", "max", "min", "step", "date-type", "timezone", "id", "extValidation", "enable-validation"] }, { kind: "component", type: ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
11136
11291
|
}
|
|
11137
11292
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SearchModalComponent, decorators: [{
|
|
11138
11293
|
type: Component,
|
|
11139
11294
|
args: [{
|
|
11140
|
-
imports: [RlbBootstrapModule, FormsModule
|
|
11295
|
+
imports: [RlbBootstrapModule, FormsModule],
|
|
11141
11296
|
standalone: true,
|
|
11142
11297
|
template: ` <div class="modal-header">
|
|
11143
11298
|
<h5 class="modal-title">{{ data.title }}</h5>
|
|
@@ -11190,51 +11345,59 @@ class CommonModalComponent {
|
|
|
11190
11345
|
onEnter() { }
|
|
11191
11346
|
ngOnInit() { }
|
|
11192
11347
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CommonModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11193
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
11348
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: CommonModalComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "btn", first: true, predicate: ["btn"], descendants: true }], hostDirectives: [{ directive: ModalDirective, inputs: ["id", "id", "data-instance", "data-instance", "data-options", "data-options"] }], ngImport: i0, template: `
|
|
11194
11349
|
<div [class]="'modal-header' + headerColor">
|
|
11195
11350
|
<h5 class="modal-title">{{ data.title }}</h5>
|
|
11196
11351
|
<button type="button" class="btn-close" aria-label="Close" data-modal-reason="close"></button>
|
|
11197
11352
|
</div>
|
|
11198
11353
|
<div class="modal-body">
|
|
11199
|
-
|
|
11200
|
-
|
|
11201
|
-
|
|
11354
|
+
@if (data.content.header) {
|
|
11355
|
+
<h6>
|
|
11356
|
+
{{ data.content.header }}
|
|
11357
|
+
</h6>
|
|
11358
|
+
}
|
|
11202
11359
|
<span>
|
|
11203
|
-
|
|
11360
|
+
{{ data.content.body }}
|
|
11204
11361
|
</span>
|
|
11205
11362
|
</div>
|
|
11206
11363
|
<div class="modal-footer">
|
|
11207
|
-
|
|
11208
|
-
|
|
11209
|
-
|
|
11364
|
+
@if (data.cancel) {
|
|
11365
|
+
<button class="me-2" rlb-button outline data-modal-reason="cancel">
|
|
11366
|
+
{{ data.cancel }}
|
|
11367
|
+
</button>
|
|
11368
|
+
}
|
|
11210
11369
|
<button rlb-button data-modal-reason="ok" [disabled]="!valid">
|
|
11211
11370
|
{{ data.ok }}
|
|
11212
11371
|
</button>
|
|
11213
11372
|
</div>
|
|
11214
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: RlbBootstrapModule }, { kind: "component", type: ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "ngmodule", type: FormsModule }
|
|
11373
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: RlbBootstrapModule }, { kind: "component", type: ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "ngmodule", type: FormsModule }] }); }
|
|
11215
11374
|
}
|
|
11216
11375
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CommonModalComponent, decorators: [{
|
|
11217
11376
|
type: Component,
|
|
11218
11377
|
args: [{
|
|
11219
11378
|
standalone: true,
|
|
11220
|
-
imports: [RlbBootstrapModule, FormsModule
|
|
11379
|
+
imports: [RlbBootstrapModule, FormsModule],
|
|
11221
11380
|
template: `
|
|
11222
11381
|
<div [class]="'modal-header' + headerColor">
|
|
11223
11382
|
<h5 class="modal-title">{{ data.title }}</h5>
|
|
11224
11383
|
<button type="button" class="btn-close" aria-label="Close" data-modal-reason="close"></button>
|
|
11225
11384
|
</div>
|
|
11226
11385
|
<div class="modal-body">
|
|
11227
|
-
|
|
11228
|
-
|
|
11229
|
-
|
|
11386
|
+
@if (data.content.header) {
|
|
11387
|
+
<h6>
|
|
11388
|
+
{{ data.content.header }}
|
|
11389
|
+
</h6>
|
|
11390
|
+
}
|
|
11230
11391
|
<span>
|
|
11231
|
-
|
|
11392
|
+
{{ data.content.body }}
|
|
11232
11393
|
</span>
|
|
11233
11394
|
</div>
|
|
11234
11395
|
<div class="modal-footer">
|
|
11235
|
-
|
|
11236
|
-
|
|
11237
|
-
|
|
11396
|
+
@if (data.cancel) {
|
|
11397
|
+
<button class="me-2" rlb-button outline data-modal-reason="cancel">
|
|
11398
|
+
{{ data.cancel }}
|
|
11399
|
+
</button>
|
|
11400
|
+
}
|
|
11238
11401
|
<button rlb-button data-modal-reason="ok" [disabled]="!valid">
|
|
11239
11402
|
{{ data.ok }}
|
|
11240
11403
|
</button>
|
|
@@ -11345,44 +11508,44 @@ class EventCreateEditComponent {
|
|
|
11345
11508
|
return "";
|
|
11346
11509
|
}
|
|
11347
11510
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: EventCreateEditComponent, deps: [{ token: i2$2.FormBuilder }, { token: UniqueIdService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11348
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
11511
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: EventCreateEditComponent, isStandalone: true, selector: "ng-component", hostDirectives: [{ directive: ModalDirective, inputs: ["id", "id", "data-instance", "data-instance", "data-options", "data-options"] }], ngImport: i0, template: `
|
|
11349
11512
|
<div [class]="'modal-header' + headerColor">
|
|
11350
|
-
|
|
11351
|
-
|
|
11513
|
+
<h5 class="modal-title">{{ data.title }}</h5>
|
|
11514
|
+
<button type="button" class="btn-close" aria-label="Close" data-modal-reason="close"></button>
|
|
11515
|
+
</div>
|
|
11516
|
+
<div class="modal-body" [formGroup]="form">
|
|
11517
|
+
<rlb-input enable-validation formControlName="title">
|
|
11518
|
+
<label before>Event title</label>
|
|
11519
|
+
</rlb-input>
|
|
11520
|
+
<rlb-input enable-validation type="datetime-local" date-type="date-tz" formControlName="start">
|
|
11521
|
+
<label before class="mt-3">Event start</label>
|
|
11522
|
+
</rlb-input>
|
|
11523
|
+
<rlb-input enable-validation type="datetime-local" date-type="date-tz" formControlName="end">
|
|
11524
|
+
<label before class="mt-3">Event end</label>
|
|
11525
|
+
</rlb-input>
|
|
11526
|
+
<rlb-select enable-validation [placeholder]="'Choose event color'" formControlName="color">
|
|
11527
|
+
<label before class="mt-3">Event color</label>
|
|
11528
|
+
@for (color of colors; track color) {
|
|
11529
|
+
<rlb-option [value]="color">
|
|
11530
|
+
{{ color }}
|
|
11531
|
+
</rlb-option>
|
|
11532
|
+
}
|
|
11533
|
+
</rlb-select>
|
|
11352
11534
|
</div>
|
|
11353
|
-
<div class="modal-body" [formGroup]="form">
|
|
11354
|
-
<rlb-input enable-validation formControlName="title">
|
|
11355
|
-
<label before>Event title</label>
|
|
11356
|
-
</rlb-input>
|
|
11357
|
-
<rlb-input enable-validation type="datetime-local" date-type="date-tz" formControlName="start">
|
|
11358
|
-
<label before class="mt-3">Event start</label>
|
|
11359
|
-
</rlb-input>
|
|
11360
|
-
<rlb-input enable-validation type="datetime-local" date-type="date-tz" formControlName="end">
|
|
11361
|
-
<label before class="mt-3">Event end</label>
|
|
11362
|
-
</rlb-input>
|
|
11363
|
-
<rlb-select enable-validation [placeholder]="'Choose event color'" formControlName="color">
|
|
11364
|
-
<label before class="mt-3">Event color</label>
|
|
11365
|
-
<ng-container *ngFor="let color of colors">
|
|
11366
|
-
<rlb-option [value]="color">
|
|
11367
|
-
{{ color }}
|
|
11368
|
-
</rlb-option>
|
|
11369
|
-
</ng-container>
|
|
11370
|
-
</rlb-select>
|
|
11371
|
-
</div>
|
|
11372
11535
|
<div class="modal-footer">
|
|
11373
|
-
|
|
11374
|
-
|
|
11375
|
-
|
|
11376
|
-
|
|
11377
|
-
|
|
11378
|
-
|
|
11379
|
-
|
|
11380
|
-
|
|
11381
|
-
|
|
11382
|
-
|
|
11383
|
-
|
|
11536
|
+
<button
|
|
11537
|
+
type="button"
|
|
11538
|
+
class="btn "
|
|
11539
|
+
data-modal-reason="cancel"
|
|
11540
|
+
[ngClass]="{ 'btn-secondary': !eventToEdit, 'btn-danger': eventToEdit }"
|
|
11541
|
+
>
|
|
11542
|
+
{{ eventToEdit ? 'Delete event' : 'Close' }}
|
|
11543
|
+
</button>
|
|
11544
|
+
<button type="button" [disabled]="!valid" class="btn btn-primary" data-modal-reason="ok">
|
|
11545
|
+
Save changes
|
|
11546
|
+
</button>
|
|
11384
11547
|
</div>
|
|
11385
|
-
|
|
11548
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: RlbBootstrapModule }, { kind: "component", type: InputComponent, selector: "rlb-input", inputs: ["disabled", "readonly", "before-text", "placeholder", "type", "size", "name", "max", "min", "step", "date-type", "timezone", "id", "extValidation", "enable-validation"] }, { kind: "component", type: SelectComponent, selector: "rlb-select", inputs: ["placeholder", "size", "disabled", "readonly", "multiple", "display", "id", "enable-validation"] }, { kind: "component", type: OptionComponent, selector: "rlb-option", inputs: ["disabled", "value", "class"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
11386
11549
|
}
|
|
11387
11550
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: EventCreateEditComponent, decorators: [{
|
|
11388
11551
|
type: Component,
|
|
@@ -11390,42 +11553,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
11390
11553
|
standalone: true,
|
|
11391
11554
|
template: `
|
|
11392
11555
|
<div [class]="'modal-header' + headerColor">
|
|
11393
|
-
|
|
11394
|
-
|
|
11556
|
+
<h5 class="modal-title">{{ data.title }}</h5>
|
|
11557
|
+
<button type="button" class="btn-close" aria-label="Close" data-modal-reason="close"></button>
|
|
11558
|
+
</div>
|
|
11559
|
+
<div class="modal-body" [formGroup]="form">
|
|
11560
|
+
<rlb-input enable-validation formControlName="title">
|
|
11561
|
+
<label before>Event title</label>
|
|
11562
|
+
</rlb-input>
|
|
11563
|
+
<rlb-input enable-validation type="datetime-local" date-type="date-tz" formControlName="start">
|
|
11564
|
+
<label before class="mt-3">Event start</label>
|
|
11565
|
+
</rlb-input>
|
|
11566
|
+
<rlb-input enable-validation type="datetime-local" date-type="date-tz" formControlName="end">
|
|
11567
|
+
<label before class="mt-3">Event end</label>
|
|
11568
|
+
</rlb-input>
|
|
11569
|
+
<rlb-select enable-validation [placeholder]="'Choose event color'" formControlName="color">
|
|
11570
|
+
<label before class="mt-3">Event color</label>
|
|
11571
|
+
@for (color of colors; track color) {
|
|
11572
|
+
<rlb-option [value]="color">
|
|
11573
|
+
{{ color }}
|
|
11574
|
+
</rlb-option>
|
|
11575
|
+
}
|
|
11576
|
+
</rlb-select>
|
|
11395
11577
|
</div>
|
|
11396
|
-
<div class="modal-body" [formGroup]="form">
|
|
11397
|
-
<rlb-input enable-validation formControlName="title">
|
|
11398
|
-
<label before>Event title</label>
|
|
11399
|
-
</rlb-input>
|
|
11400
|
-
<rlb-input enable-validation type="datetime-local" date-type="date-tz" formControlName="start">
|
|
11401
|
-
<label before class="mt-3">Event start</label>
|
|
11402
|
-
</rlb-input>
|
|
11403
|
-
<rlb-input enable-validation type="datetime-local" date-type="date-tz" formControlName="end">
|
|
11404
|
-
<label before class="mt-3">Event end</label>
|
|
11405
|
-
</rlb-input>
|
|
11406
|
-
<rlb-select enable-validation [placeholder]="'Choose event color'" formControlName="color">
|
|
11407
|
-
<label before class="mt-3">Event color</label>
|
|
11408
|
-
<ng-container *ngFor="let color of colors">
|
|
11409
|
-
<rlb-option [value]="color">
|
|
11410
|
-
{{ color }}
|
|
11411
|
-
</rlb-option>
|
|
11412
|
-
</ng-container>
|
|
11413
|
-
</rlb-select>
|
|
11414
|
-
</div>
|
|
11415
11578
|
<div class="modal-footer">
|
|
11416
|
-
|
|
11417
|
-
|
|
11418
|
-
|
|
11419
|
-
|
|
11420
|
-
|
|
11421
|
-
|
|
11422
|
-
|
|
11423
|
-
|
|
11424
|
-
|
|
11425
|
-
|
|
11426
|
-
|
|
11579
|
+
<button
|
|
11580
|
+
type="button"
|
|
11581
|
+
class="btn "
|
|
11582
|
+
data-modal-reason="cancel"
|
|
11583
|
+
[ngClass]="{ 'btn-secondary': !eventToEdit, 'btn-danger': eventToEdit }"
|
|
11584
|
+
>
|
|
11585
|
+
{{ eventToEdit ? 'Delete event' : 'Close' }}
|
|
11586
|
+
</button>
|
|
11587
|
+
<button type="button" [disabled]="!valid" class="btn btn-primary" data-modal-reason="ok">
|
|
11588
|
+
Save changes
|
|
11589
|
+
</button>
|
|
11427
11590
|
</div>
|
|
11428
|
-
|
|
11591
|
+
`,
|
|
11429
11592
|
hostDirectives: [
|
|
11430
11593
|
{
|
|
11431
11594
|
directive: ModalDirective,
|
|
@@ -11456,56 +11619,58 @@ class CalendarOverflowEventsContainerComponent {
|
|
|
11456
11619
|
this.result = { event, action };
|
|
11457
11620
|
}
|
|
11458
11621
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CalendarOverflowEventsContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11459
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
11622
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: CalendarOverflowEventsContainerComponent, isStandalone: true, selector: "ng-component", hostDirectives: [{ directive: ModalDirective, inputs: ["id", "id", "data-instance", "data-instance", "data-options", "data-options"] }], ngImport: i0, template: `
|
|
11460
11623
|
<div [class]="'modal-header' + headerColor">
|
|
11461
|
-
|
|
11462
|
-
|
|
11624
|
+
<h5 class="modal-title">{{ data.title }}</h5>
|
|
11625
|
+
<button type="button" class="btn-close" aria-label="Close" data-modal-reason="close"></button>
|
|
11626
|
+
</div>
|
|
11627
|
+
<div class="modal-body">
|
|
11628
|
+
<div class="d-flex flex-column gap-1 overflow-y-auto p-3" [style.height.rem]="containerHeightRem">
|
|
11629
|
+
@for (event of data.content; track event) {
|
|
11630
|
+
<rlb-card class="mb-0 shadow-lg rounded" [border]="event.color">
|
|
11631
|
+
<rlb-card-body class="d-flex align-items-center justify-content-between">
|
|
11632
|
+
<div>
|
|
11633
|
+
<span rlb-badge pill [color]="event.color"> </span>
|
|
11634
|
+
<span>
|
|
11635
|
+
{{ event.title }}
|
|
11636
|
+
</span>
|
|
11637
|
+
</div>
|
|
11638
|
+
<div class="d-flex align-items-center gap-2">
|
|
11639
|
+
<rlb-fab
|
|
11640
|
+
(click)="closeDialog(event, 'edit')"
|
|
11641
|
+
data-modal-reason="ok"
|
|
11642
|
+
class="align-self-end"
|
|
11643
|
+
size="xs"
|
|
11644
|
+
outline
|
|
11645
|
+
>
|
|
11646
|
+
<i class="bi bi-pencil"></i>
|
|
11647
|
+
</rlb-fab>
|
|
11648
|
+
<rlb-fab
|
|
11649
|
+
(click)="closeDialog(event, 'delete')"
|
|
11650
|
+
data-modal-reason="ok"
|
|
11651
|
+
class="align-self-end"
|
|
11652
|
+
size="xs"
|
|
11653
|
+
color="danger"
|
|
11654
|
+
outline
|
|
11655
|
+
>
|
|
11656
|
+
<i class="bi bi-trash"></i>
|
|
11657
|
+
</rlb-fab>
|
|
11658
|
+
</div>
|
|
11659
|
+
</rlb-card-body>
|
|
11660
|
+
</rlb-card>
|
|
11661
|
+
}
|
|
11662
|
+
</div>
|
|
11463
11663
|
</div>
|
|
11464
|
-
<div class="modal-body">
|
|
11465
|
-
<div class="d-flex flex-column gap-1 overflow-y-auto p-3" [style.height.rem]="containerHeightRem">
|
|
11466
|
-
<rlb-card class="mb-0 shadow-lg rounded" [border]="event.color" *ngFor="let event of data.content">
|
|
11467
|
-
<rlb-card-body class="d-flex align-items-center justify-content-between">
|
|
11468
|
-
<div>
|
|
11469
|
-
<span rlb-badge pill [color]="event.color"> </span>
|
|
11470
|
-
<span>
|
|
11471
|
-
{{ event.title }}
|
|
11472
|
-
</span>
|
|
11473
|
-
</div>
|
|
11474
|
-
<div class="d-flex align-items-center gap-2">
|
|
11475
|
-
<rlb-fab
|
|
11476
|
-
(click)="closeDialog(event, 'edit')"
|
|
11477
|
-
data-modal-reason="ok"
|
|
11478
|
-
class="align-self-end"
|
|
11479
|
-
size="xs"
|
|
11480
|
-
outline
|
|
11481
|
-
>
|
|
11482
|
-
<i class="bi bi-pencil"></i>
|
|
11483
|
-
</rlb-fab>
|
|
11484
|
-
<rlb-fab
|
|
11485
|
-
(click)="closeDialog(event, 'delete')"
|
|
11486
|
-
data-modal-reason="ok"
|
|
11487
|
-
class="align-self-end"
|
|
11488
|
-
size="xs"
|
|
11489
|
-
color="danger"
|
|
11490
|
-
outline
|
|
11491
|
-
>
|
|
11492
|
-
<i class="bi bi-trash"></i>
|
|
11493
|
-
</rlb-fab>
|
|
11494
|
-
</div>
|
|
11495
|
-
</rlb-card-body>
|
|
11496
|
-
</rlb-card>
|
|
11497
|
-
</div>
|
|
11498
|
-
</div>
|
|
11499
11664
|
<div class="modal-footer">
|
|
11500
|
-
|
|
11501
|
-
|
|
11502
|
-
|
|
11503
|
-
|
|
11504
|
-
|
|
11505
|
-
|
|
11506
|
-
|
|
11665
|
+
<button
|
|
11666
|
+
rlb-button
|
|
11667
|
+
color="secondary"
|
|
11668
|
+
data-modal-reason="cancel"
|
|
11669
|
+
>
|
|
11670
|
+
{{ 'Close' }}
|
|
11671
|
+
</button>
|
|
11507
11672
|
</div>
|
|
11508
|
-
|
|
11673
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: RlbBootstrapModule }, { kind: "component", type: ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "component", type: RlbFabComponent, selector: "rlb-fab", inputs: ["color", "size", "disabled", "outline", "position"] }, { kind: "component", type: BadgeComponent, selector: "span[rlb-badge], img[rlb-badge]", inputs: ["pill", "color", "hidden-text", "border", "class"] }, { kind: "component", type: CardBodyComponent, selector: "rlb-card-body" }, { kind: "component", type: CardComponent, selector: "rlb-card", inputs: ["align", "overlay", "background", "border"] }] }); }
|
|
11509
11674
|
}
|
|
11510
11675
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CalendarOverflowEventsContainerComponent, decorators: [{
|
|
11511
11676
|
type: Component,
|
|
@@ -11513,61 +11678,63 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
11513
11678
|
standalone: true,
|
|
11514
11679
|
template: `
|
|
11515
11680
|
<div [class]="'modal-header' + headerColor">
|
|
11516
|
-
|
|
11517
|
-
|
|
11681
|
+
<h5 class="modal-title">{{ data.title }}</h5>
|
|
11682
|
+
<button type="button" class="btn-close" aria-label="Close" data-modal-reason="close"></button>
|
|
11683
|
+
</div>
|
|
11684
|
+
<div class="modal-body">
|
|
11685
|
+
<div class="d-flex flex-column gap-1 overflow-y-auto p-3" [style.height.rem]="containerHeightRem">
|
|
11686
|
+
@for (event of data.content; track event) {
|
|
11687
|
+
<rlb-card class="mb-0 shadow-lg rounded" [border]="event.color">
|
|
11688
|
+
<rlb-card-body class="d-flex align-items-center justify-content-between">
|
|
11689
|
+
<div>
|
|
11690
|
+
<span rlb-badge pill [color]="event.color"> </span>
|
|
11691
|
+
<span>
|
|
11692
|
+
{{ event.title }}
|
|
11693
|
+
</span>
|
|
11694
|
+
</div>
|
|
11695
|
+
<div class="d-flex align-items-center gap-2">
|
|
11696
|
+
<rlb-fab
|
|
11697
|
+
(click)="closeDialog(event, 'edit')"
|
|
11698
|
+
data-modal-reason="ok"
|
|
11699
|
+
class="align-self-end"
|
|
11700
|
+
size="xs"
|
|
11701
|
+
outline
|
|
11702
|
+
>
|
|
11703
|
+
<i class="bi bi-pencil"></i>
|
|
11704
|
+
</rlb-fab>
|
|
11705
|
+
<rlb-fab
|
|
11706
|
+
(click)="closeDialog(event, 'delete')"
|
|
11707
|
+
data-modal-reason="ok"
|
|
11708
|
+
class="align-self-end"
|
|
11709
|
+
size="xs"
|
|
11710
|
+
color="danger"
|
|
11711
|
+
outline
|
|
11712
|
+
>
|
|
11713
|
+
<i class="bi bi-trash"></i>
|
|
11714
|
+
</rlb-fab>
|
|
11715
|
+
</div>
|
|
11716
|
+
</rlb-card-body>
|
|
11717
|
+
</rlb-card>
|
|
11718
|
+
}
|
|
11719
|
+
</div>
|
|
11518
11720
|
</div>
|
|
11519
|
-
<div class="modal-body">
|
|
11520
|
-
<div class="d-flex flex-column gap-1 overflow-y-auto p-3" [style.height.rem]="containerHeightRem">
|
|
11521
|
-
<rlb-card class="mb-0 shadow-lg rounded" [border]="event.color" *ngFor="let event of data.content">
|
|
11522
|
-
<rlb-card-body class="d-flex align-items-center justify-content-between">
|
|
11523
|
-
<div>
|
|
11524
|
-
<span rlb-badge pill [color]="event.color"> </span>
|
|
11525
|
-
<span>
|
|
11526
|
-
{{ event.title }}
|
|
11527
|
-
</span>
|
|
11528
|
-
</div>
|
|
11529
|
-
<div class="d-flex align-items-center gap-2">
|
|
11530
|
-
<rlb-fab
|
|
11531
|
-
(click)="closeDialog(event, 'edit')"
|
|
11532
|
-
data-modal-reason="ok"
|
|
11533
|
-
class="align-self-end"
|
|
11534
|
-
size="xs"
|
|
11535
|
-
outline
|
|
11536
|
-
>
|
|
11537
|
-
<i class="bi bi-pencil"></i>
|
|
11538
|
-
</rlb-fab>
|
|
11539
|
-
<rlb-fab
|
|
11540
|
-
(click)="closeDialog(event, 'delete')"
|
|
11541
|
-
data-modal-reason="ok"
|
|
11542
|
-
class="align-self-end"
|
|
11543
|
-
size="xs"
|
|
11544
|
-
color="danger"
|
|
11545
|
-
outline
|
|
11546
|
-
>
|
|
11547
|
-
<i class="bi bi-trash"></i>
|
|
11548
|
-
</rlb-fab>
|
|
11549
|
-
</div>
|
|
11550
|
-
</rlb-card-body>
|
|
11551
|
-
</rlb-card>
|
|
11552
|
-
</div>
|
|
11553
|
-
</div>
|
|
11554
11721
|
<div class="modal-footer">
|
|
11555
|
-
|
|
11556
|
-
|
|
11557
|
-
|
|
11558
|
-
|
|
11559
|
-
|
|
11560
|
-
|
|
11561
|
-
|
|
11722
|
+
<button
|
|
11723
|
+
rlb-button
|
|
11724
|
+
color="secondary"
|
|
11725
|
+
data-modal-reason="cancel"
|
|
11726
|
+
>
|
|
11727
|
+
{{ 'Close' }}
|
|
11728
|
+
</button>
|
|
11562
11729
|
</div>
|
|
11563
|
-
|
|
11730
|
+
`,
|
|
11564
11731
|
hostDirectives: [
|
|
11565
11732
|
{
|
|
11566
11733
|
directive: ModalDirective,
|
|
11567
11734
|
inputs: ['id', 'data-instance', 'data-options'],
|
|
11568
11735
|
},
|
|
11569
11736
|
],
|
|
11570
|
-
imports: [
|
|
11737
|
+
imports: [RlbBootstrapModule]
|
|
11571
11738
|
}]
|
|
11572
11739
|
}] });
|
|
11573
11740
|
|
|
@@ -11576,14 +11743,16 @@ class CalendarToastComponent {
|
|
|
11576
11743
|
this.valid = true;
|
|
11577
11744
|
}
|
|
11578
11745
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CalendarToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11579
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
11746
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: CalendarToastComponent, isStandalone: true, selector: "ng-component", hostDirectives: [{ directive: ToastDirective, inputs: ["id", "id", "data-instance", "data-instance", "data-options", "data-options"] }], ngImport: i0, template: `
|
|
11580
11747
|
<div class="toast-header">
|
|
11581
11748
|
<strong class="me-auto">{{data.title}}</strong>
|
|
11582
|
-
|
|
11749
|
+
@if (data.subtitle) {
|
|
11750
|
+
<small> {{data.subtitle }}</small>
|
|
11751
|
+
}
|
|
11583
11752
|
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
|
|
11584
11753
|
</div>
|
|
11585
11754
|
<div class="toast-body">{{data.content}}</div>
|
|
11586
|
-
|
|
11755
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: RlbBootstrapModule }] }); }
|
|
11587
11756
|
}
|
|
11588
11757
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CalendarToastComponent, decorators: [{
|
|
11589
11758
|
type: Component,
|
|
@@ -11591,11 +11760,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
11591
11760
|
template: `
|
|
11592
11761
|
<div class="toast-header">
|
|
11593
11762
|
<strong class="me-auto">{{data.title}}</strong>
|
|
11594
|
-
|
|
11763
|
+
@if (data.subtitle) {
|
|
11764
|
+
<small> {{data.subtitle }}</small>
|
|
11765
|
+
}
|
|
11595
11766
|
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
|
|
11596
11767
|
</div>
|
|
11597
11768
|
<div class="toast-body">{{data.content}}</div>
|
|
11598
|
-
|
|
11769
|
+
`,
|
|
11599
11770
|
hostDirectives: [
|
|
11600
11771
|
{
|
|
11601
11772
|
directive: ToastDirective,
|
|
@@ -11603,7 +11774,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
11603
11774
|
},
|
|
11604
11775
|
],
|
|
11605
11776
|
standalone: true,
|
|
11606
|
-
imports: [
|
|
11777
|
+
imports: [RlbBootstrapModule]
|
|
11607
11778
|
}]
|
|
11608
11779
|
}] });
|
|
11609
11780
|
|