@tacdaed/fragments 1.0.0-beta.0 → 1.0.0-beta.10

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.
@@ -1,5 +1,5 @@
1
1
  import * as i1 from '@angular/common';
2
- import { NgTemplateOutlet, NgClass, CommonModule, NgFor, formatDate, AsyncPipe } from '@angular/common';
2
+ import { NgTemplateOutlet, NgClass, CommonModule, formatDate, AsyncPipe } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { EventEmitter, TemplateRef, ViewChildren, ContentChild, Output, Input, Component, HostListener, inject, ChangeDetectorRef, ViewChild, ChangeDetectionStrategy, HostBinding, ElementRef, Renderer2, Directive, Pipe, Injector, LOCALE_ID } from '@angular/core';
5
5
  import { RouterLink, RouterLinkActive, Router, ActivatedRoute, NavigationEnd } from '@angular/router';
@@ -1556,11 +1556,11 @@ class BlobMorphComponent extends MorphBase {
1556
1556
  this.loadEvent.emit();
1557
1557
  }
1558
1558
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: BlobMorphComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1559
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: BlobMorphComponent, isStandalone: true, selector: "app-blob-morph", inputs: { imageUrl: "imageUrl", fillColor: "fillColor", pathStart: "pathStart", pathEnd: "pathEnd", duration: "duration" }, outputs: { loadEvent: "loadEvent" }, viewQueries: [{ propertyName: "morphPathRef", first: true, predicate: ["morphPath"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"blob-container\">\r\n <svg\r\n viewBox=\"0 0 200 200\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n class=\"blob-svg\"\r\n [class.hidden]=\"!isLoaded\"\r\n >\r\n <defs>\r\n <clipPath [attr.id]=\"clipId\" transform=\"translate(100 100)\">\r\n <path #morphPath [attr.d]=\"pathStart\" />\r\n </clipPath>\r\n <path [attr.id]=\"'morph-path-end-' + clipId\" [attr.d]=\"pathEnd\" />\r\n </defs>\r\n\r\n @if (imageUrl) {\r\n <image\r\n [attr.href]=\"imageUrl\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n preserveAspectRatio=\"xMidYMid slice\"\r\n [attr.clip-path]=\"'url(#' + clipId + ')'\"\r\n (load)=\"onLoadEvent()\"\r\n />\r\n } @else {\r\n <g [attr.clip-path]=\"'url(#' + clipId + ')'\">\r\n <rect width=\"100%\" height=\"100%\" [attr.fill]=\"fillColor || '#ccc'\" />\r\n </g>\r\n }\r\n </svg>\r\n\r\n @if (!isLoaded) {\r\n <frg-spinner [isOverlayItem]=\"true\"></frg-spinner>\r\n }\r\n</div>\r\n", styles: [":host{display:block}:host .blob-container{position:relative}\n"], dependencies: [{ kind: "component", type: SpinnerComponent, selector: "frg-spinner", inputs: ["size", "isCentered", "isOverlay", "isOverlayItem", "label", "styleType"] }] }); }
1559
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: BlobMorphComponent, isStandalone: true, selector: "frg-blob-morph", inputs: { imageUrl: "imageUrl", fillColor: "fillColor", pathStart: "pathStart", pathEnd: "pathEnd", duration: "duration" }, outputs: { loadEvent: "loadEvent" }, viewQueries: [{ propertyName: "morphPathRef", first: true, predicate: ["morphPath"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"blob-container\">\r\n <svg\r\n viewBox=\"0 0 200 200\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n class=\"blob-svg\"\r\n [class.hidden]=\"!isLoaded\"\r\n >\r\n <defs>\r\n <clipPath [attr.id]=\"clipId\" transform=\"translate(100 100)\">\r\n <path #morphPath [attr.d]=\"pathStart\" />\r\n </clipPath>\r\n <path [attr.id]=\"'morph-path-end-' + clipId\" [attr.d]=\"pathEnd\" />\r\n </defs>\r\n\r\n @if (imageUrl) {\r\n <image\r\n [attr.href]=\"imageUrl\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n preserveAspectRatio=\"xMidYMid slice\"\r\n [attr.clip-path]=\"'url(#' + clipId + ')'\"\r\n (load)=\"onLoadEvent()\"\r\n />\r\n } @else {\r\n <g [attr.clip-path]=\"'url(#' + clipId + ')'\">\r\n <rect width=\"100%\" height=\"100%\" [attr.fill]=\"fillColor || '#ccc'\" />\r\n </g>\r\n }\r\n </svg>\r\n\r\n @if (!isLoaded) {\r\n <frg-spinner [isOverlayItem]=\"true\"></frg-spinner>\r\n }\r\n</div>\r\n", styles: [":host{display:block}:host .blob-container{position:relative}\n"], dependencies: [{ kind: "component", type: SpinnerComponent, selector: "frg-spinner", inputs: ["size", "isCentered", "isOverlay", "isOverlayItem", "label", "styleType"] }] }); }
1560
1560
  }
1561
1561
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: BlobMorphComponent, decorators: [{
1562
1562
  type: Component,
1563
- args: [{ selector: 'app-blob-morph', imports: [SpinnerComponent], template: "<div class=\"blob-container\">\r\n <svg\r\n viewBox=\"0 0 200 200\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n class=\"blob-svg\"\r\n [class.hidden]=\"!isLoaded\"\r\n >\r\n <defs>\r\n <clipPath [attr.id]=\"clipId\" transform=\"translate(100 100)\">\r\n <path #morphPath [attr.d]=\"pathStart\" />\r\n </clipPath>\r\n <path [attr.id]=\"'morph-path-end-' + clipId\" [attr.d]=\"pathEnd\" />\r\n </defs>\r\n\r\n @if (imageUrl) {\r\n <image\r\n [attr.href]=\"imageUrl\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n preserveAspectRatio=\"xMidYMid slice\"\r\n [attr.clip-path]=\"'url(#' + clipId + ')'\"\r\n (load)=\"onLoadEvent()\"\r\n />\r\n } @else {\r\n <g [attr.clip-path]=\"'url(#' + clipId + ')'\">\r\n <rect width=\"100%\" height=\"100%\" [attr.fill]=\"fillColor || '#ccc'\" />\r\n </g>\r\n }\r\n </svg>\r\n\r\n @if (!isLoaded) {\r\n <frg-spinner [isOverlayItem]=\"true\"></frg-spinner>\r\n }\r\n</div>\r\n", styles: [":host{display:block}:host .blob-container{position:relative}\n"] }]
1563
+ args: [{ selector: 'frg-blob-morph', imports: [SpinnerComponent], template: "<div class=\"blob-container\">\r\n <svg\r\n viewBox=\"0 0 200 200\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n class=\"blob-svg\"\r\n [class.hidden]=\"!isLoaded\"\r\n >\r\n <defs>\r\n <clipPath [attr.id]=\"clipId\" transform=\"translate(100 100)\">\r\n <path #morphPath [attr.d]=\"pathStart\" />\r\n </clipPath>\r\n <path [attr.id]=\"'morph-path-end-' + clipId\" [attr.d]=\"pathEnd\" />\r\n </defs>\r\n\r\n @if (imageUrl) {\r\n <image\r\n [attr.href]=\"imageUrl\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n preserveAspectRatio=\"xMidYMid slice\"\r\n [attr.clip-path]=\"'url(#' + clipId + ')'\"\r\n (load)=\"onLoadEvent()\"\r\n />\r\n } @else {\r\n <g [attr.clip-path]=\"'url(#' + clipId + ')'\">\r\n <rect width=\"100%\" height=\"100%\" [attr.fill]=\"fillColor || '#ccc'\" />\r\n </g>\r\n }\r\n </svg>\r\n\r\n @if (!isLoaded) {\r\n <frg-spinner [isOverlayItem]=\"true\"></frg-spinner>\r\n }\r\n</div>\r\n", styles: [":host{display:block}:host .blob-container{position:relative}\n"] }]
1564
1564
  }], propDecorators: { imageUrl: [{
1565
1565
  type: Input
1566
1566
  }], fillColor: [{
@@ -1578,10 +1578,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImpor
1578
1578
  args: ['morphPath', { static: false }]
1579
1579
  }] } });
1580
1580
 
1581
- class SparkleFieldComponent {
1581
+ class SparkleSectionComponent {
1582
1582
  constructor() {
1583
- this.width = 260;
1584
- this.height = 160;
1583
+ /* Layout */
1584
+ this.width = null;
1585
+ this.height = null;
1586
+ /* Sparkles */
1585
1587
  this.count = 12;
1586
1588
  this.minSize = 2;
1587
1589
  this.maxSize = 6;
@@ -1590,23 +1592,24 @@ class SparkleFieldComponent {
1590
1592
  this.maxDuration = 5200;
1591
1593
  this.loop = true;
1592
1594
  this.color = null;
1595
+ this.intensity = 1;
1593
1596
  this.sparkles = [];
1594
- this.sparkleAnimations = [];
1595
- this.sparkleChangesSub = null;
1596
- this.fallbackWidth = 260;
1597
- this.fallbackHeight = 160;
1597
+ this.animations = [];
1598
+ this.changesSub = null;
1598
1599
  }
1600
+ /* Host sizing (ONLY when provided) */
1599
1601
  get hostWidth() {
1600
- return this.widthStyle;
1602
+ return this.width ? this.formatSize(this.width) : null;
1601
1603
  }
1602
1604
  get hostHeight() {
1603
- return this.heightStyle;
1605
+ return this.height ? this.formatSize(this.height) : null;
1604
1606
  }
1605
- get hostMinWidth() {
1606
- return this.needsMinSize(this.width) ? `${this.fallbackWidth}px` : null;
1607
+ get sparkleColorVar() {
1608
+ return this.color || 'currentColor';
1607
1609
  }
1608
- get hostMinHeight() {
1609
- return this.needsMinSize(this.height) ? `${this.fallbackHeight}px` : null;
1610
+ get sparkleIntensityVar() {
1611
+ const clamped = Math.max(0, Math.min(1, this.intensity));
1612
+ return clamped.toString();
1610
1613
  }
1611
1614
  ngOnInit() {
1612
1615
  this.buildSparkles();
@@ -1617,91 +1620,72 @@ class SparkleFieldComponent {
1617
1620
  changes['maxSize'] ||
1618
1621
  changes['drift'] ||
1619
1622
  changes['minDuration'] ||
1620
- changes['maxDuration'] ||
1621
- changes['loop']) {
1623
+ changes['maxDuration']) {
1622
1624
  this.buildSparkles();
1623
1625
  this.restartAnimation();
1624
1626
  }
1625
1627
  }
1626
1628
  ngAfterViewInit() {
1627
- this.sparkleChangesSub = this.sparkleRefs.changes.subscribe(() => this.restartAnimation());
1629
+ this.changesSub = this.sparkleRefs.changes.subscribe(() => this.restartAnimation());
1628
1630
  this.restartAnimation();
1629
1631
  }
1630
1632
  ngOnDestroy() {
1631
- this.sparkleAnimations.forEach((animation) => animation.pause());
1632
- this.sparkleChangesSub?.unsubscribe();
1633
+ this.animations.forEach(a => a.pause());
1634
+ this.changesSub?.unsubscribe();
1633
1635
  }
1634
1636
  buildSparkles() {
1635
1637
  const count = Math.max(0, Math.floor(this.count));
1636
1638
  const minSize = Math.min(this.minSize, this.maxSize);
1637
1639
  const maxSize = Math.max(this.minSize, this.maxSize);
1638
- const minDuration = Math.min(this.minDuration, this.maxDuration);
1639
- const maxDuration = Math.max(this.minDuration, this.maxDuration);
1640
+ const minDur = Math.min(this.minDuration, this.maxDuration);
1641
+ const maxDur = Math.max(this.minDuration, this.maxDuration);
1640
1642
  this.sparkles = Array.from({ length: count }, () => ({
1641
- x: this.randomInRange(0, 100),
1642
- y: this.randomInRange(0, 100),
1643
- size: this.randomInRange(minSize, maxSize),
1644
- delay: this.randomInRange(0, 900),
1645
- duration: this.randomInRange(minDuration, maxDuration),
1646
- driftX: this.randomInRange(-this.drift, this.drift),
1647
- driftY: this.randomInRange(-this.drift, this.drift),
1643
+ x: this.rand(0, 100),
1644
+ y: this.rand(0, 100),
1645
+ size: this.rand(minSize, maxSize),
1646
+ delay: this.rand(0, 900),
1647
+ duration: this.rand(minDur, maxDur),
1648
+ driftX: this.rand(-this.drift, this.drift),
1649
+ driftY: this.rand(-this.drift, this.drift),
1648
1650
  }));
1649
1651
  }
1650
1652
  restartAnimation() {
1651
- if (!this.sparkleRefs || this.sparkleRefs.length === 0) {
1653
+ if (!this.sparkleRefs?.length)
1652
1654
  return;
1653
- }
1654
- this.sparkleAnimations.forEach((animation) => animation.pause());
1655
- this.sparkleAnimations = [];
1656
- const targets = this.sparkleRefs.toArray();
1657
- targets.forEach((ref, i) => {
1655
+ this.animations.forEach(a => a.pause());
1656
+ this.animations = [];
1657
+ this.sparkleRefs.forEach((ref, i) => {
1658
1658
  const sparkle = this.sparkles[i];
1659
- if (!sparkle) {
1659
+ if (!sparkle)
1660
1660
  return;
1661
- }
1662
- const animation = animate(ref.nativeElement, {
1661
+ const anim = animate(ref.nativeElement, {
1663
1662
  translateX: [-sparkle.driftX, sparkle.driftX],
1664
1663
  translateY: [-sparkle.driftY, sparkle.driftY],
1665
1664
  scale: [0.7, 1.2],
1666
1665
  opacity: [0.35, 1],
1667
- duration: sparkle.duration ?? 3000,
1666
+ duration: sparkle.duration,
1668
1667
  alternate: true,
1669
1668
  loop: this.loop,
1670
- ease: 'inOut',
1669
+ easing: 'easeInOutSine',
1671
1670
  });
1672
1671
  if (sparkle.delay > 0) {
1673
- animation.seek(sparkle.delay % (sparkle.duration || 3000));
1672
+ anim.seek(sparkle.delay % sparkle.duration);
1674
1673
  }
1675
- this.sparkleAnimations.push(animation);
1674
+ this.animations.push(anim);
1676
1675
  });
1677
1676
  }
1678
- randomInRange(min, max) {
1679
- if (min === max) {
1680
- return min;
1681
- }
1677
+ rand(min, max) {
1682
1678
  return min + Math.random() * (max - min);
1683
1679
  }
1684
- get widthStyle() {
1685
- return this.formatSize(this.width);
1686
- }
1687
- get heightStyle() {
1688
- return this.formatSize(this.height);
1689
- }
1690
1680
  formatSize(value) {
1691
- if (typeof value === 'number') {
1692
- return `${value}px`;
1693
- }
1694
- return value;
1681
+ return typeof value === 'number' ? `${value}px` : (value || '');
1695
1682
  }
1696
- needsMinSize(value) {
1697
- return typeof value === 'string' && value.trim().endsWith('%');
1698
- }
1699
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: SparkleFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1700
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.3", type: SparkleFieldComponent, isStandalone: true, selector: "frg-sparkle-field", inputs: { width: "width", height: "height", count: "count", minSize: "minSize", maxSize: "maxSize", drift: "drift", minDuration: "minDuration", maxDuration: "maxDuration", loop: "loop", color: "color" }, host: { properties: { "style.width": "this.hostWidth", "style.height": "this.hostHeight", "style.minWidth": "this.hostMinWidth", "style.minHeight": "this.hostMinHeight" } }, viewQueries: [{ propertyName: "sparkleRefs", predicate: ["sparkle"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"frg-sparkle-field\"\r\n [style.--frg-sparkle-color]=\"color || null\"\r\n>\r\n <span\r\n #sparkle\r\n *ngFor=\"let sparkle of sparkles\"\r\n class=\"frg-sparkle\"\r\n [style.left.%]=\"sparkle.x\"\r\n [style.top.%]=\"sparkle.y\"\r\n [style.width.px]=\"sparkle.size\"\r\n [style.height.px]=\"sparkle.size\"\r\n ></span>\r\n</div>\r\n", styles: [":host{display:inline-block}.frg-sparkle-field{position:relative;overflow:hidden;width:100%;height:100%}.frg-sparkle{position:absolute;border-radius:999px;background:var(--frg-sparkle-color, currentColor);opacity:.6;filter:blur(.2px);transform:translateZ(0);will-change:transform,opacity}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
1683
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: SparkleSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1684
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: SparkleSectionComponent, isStandalone: true, selector: "frg-sparkle-section", inputs: { width: "width", height: "height", count: "count", minSize: "minSize", maxSize: "maxSize", drift: "drift", minDuration: "minDuration", maxDuration: "maxDuration", loop: "loop", color: "color", intensity: "intensity" }, host: { properties: { "style.width": "this.hostWidth", "style.height": "this.hostHeight", "style.--sparkle-color": "this.sparkleColorVar", "style.--sparkle-intensity": "this.sparkleIntensityVar" } }, viewQueries: [{ propertyName: "sparkleRefs", predicate: ["sparkle"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"frg-sparkle-layer\" aria-hidden=\"true\">\r\n @for (sparkle of sparkles; track $index) {\r\n <span\r\n #sparkle\r\n class=\"frg-sparkle\"\r\n [style.left.%]=\"sparkle.x\"\r\n [style.top.%]=\"sparkle.y\"\r\n [style.width.px]=\"sparkle.size\"\r\n [style.height.px]=\"sparkle.size\">\r\n </span>\r\n }\r\n</div>\r\n\r\n<div class=\"frg-sparkle-content\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [":host{display:block;position:relative;overflow:hidden}.frg-sparkle-layer{position:absolute;inset:0;pointer-events:none;z-index:0}.frg-sparkle-content{position:relative;z-index:1}.frg-sparkle{position:absolute;border-radius:50%;background:radial-gradient(circle,var(--sparkle-color) 0%,color-mix(in srgb,var(--sparkle-color) calc(100% * var(--sparkle-intensity)),transparent) 70%);opacity:calc(1 * var(--sparkle-intensity));will-change:transform,opacity;transform:translateZ(0)}\n"] }); }
1701
1685
  }
1702
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: SparkleFieldComponent, decorators: [{
1686
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: SparkleSectionComponent, decorators: [{
1703
1687
  type: Component,
1704
- args: [{ selector: 'frg-sparkle-field', imports: [NgFor], template: "<div\r\n class=\"frg-sparkle-field\"\r\n [style.--frg-sparkle-color]=\"color || null\"\r\n>\r\n <span\r\n #sparkle\r\n *ngFor=\"let sparkle of sparkles\"\r\n class=\"frg-sparkle\"\r\n [style.left.%]=\"sparkle.x\"\r\n [style.top.%]=\"sparkle.y\"\r\n [style.width.px]=\"sparkle.size\"\r\n [style.height.px]=\"sparkle.size\"\r\n ></span>\r\n</div>\r\n", styles: [":host{display:inline-block}.frg-sparkle-field{position:relative;overflow:hidden;width:100%;height:100%}.frg-sparkle{position:absolute;border-radius:999px;background:var(--frg-sparkle-color, currentColor);opacity:.6;filter:blur(.2px);transform:translateZ(0);will-change:transform,opacity}\n"] }]
1688
+ args: [{ selector: 'frg-sparkle-section', standalone: true, template: "<div class=\"frg-sparkle-layer\" aria-hidden=\"true\">\r\n @for (sparkle of sparkles; track $index) {\r\n <span\r\n #sparkle\r\n class=\"frg-sparkle\"\r\n [style.left.%]=\"sparkle.x\"\r\n [style.top.%]=\"sparkle.y\"\r\n [style.width.px]=\"sparkle.size\"\r\n [style.height.px]=\"sparkle.size\">\r\n </span>\r\n }\r\n</div>\r\n\r\n<div class=\"frg-sparkle-content\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [":host{display:block;position:relative;overflow:hidden}.frg-sparkle-layer{position:absolute;inset:0;pointer-events:none;z-index:0}.frg-sparkle-content{position:relative;z-index:1}.frg-sparkle{position:absolute;border-radius:50%;background:radial-gradient(circle,var(--sparkle-color) 0%,color-mix(in srgb,var(--sparkle-color) calc(100% * var(--sparkle-intensity)),transparent) 70%);opacity:calc(1 * var(--sparkle-intensity));will-change:transform,opacity;transform:translateZ(0)}\n"] }]
1705
1689
  }], propDecorators: { width: [{
1706
1690
  type: Input
1707
1691
  }], height: [{
@@ -1722,6 +1706,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImpor
1722
1706
  type: Input
1723
1707
  }], color: [{
1724
1708
  type: Input
1709
+ }], intensity: [{
1710
+ type: Input
1725
1711
  }], sparkleRefs: [{
1726
1712
  type: ViewChildren,
1727
1713
  args: ['sparkle']
@@ -1731,12 +1717,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImpor
1731
1717
  }], hostHeight: [{
1732
1718
  type: HostBinding,
1733
1719
  args: ['style.height']
1734
- }], hostMinWidth: [{
1720
+ }], sparkleColorVar: [{
1735
1721
  type: HostBinding,
1736
- args: ['style.minWidth']
1737
- }], hostMinHeight: [{
1722
+ args: ['style.--sparkle-color']
1723
+ }], sparkleIntensityVar: [{
1738
1724
  type: HostBinding,
1739
- args: ['style.minHeight']
1725
+ args: ['style.--sparkle-intensity']
1740
1726
  }] } });
1741
1727
 
1742
1728
  class SmallPaginationComponent {
@@ -1861,11 +1847,11 @@ class SmallPaginationComponent {
1861
1847
  return result;
1862
1848
  }
1863
1849
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: SmallPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1864
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: SmallPaginationComponent, isStandalone: true, selector: "frg-small-pagination", inputs: { totalItems: "totalItems", fullData: "fullData", page: "page", pageSize: "pageSize", hasElipsisPages: "hasElipsisPages", styleType: "styleType" }, outputs: { pageChange: "pageChange" }, usesOnChanges: true, ngImport: i0, template: "@if (totalItems > pageSize) {\r\n <nav\r\n class=\"frg-pagination-small\"\r\n aria-label=\"Paginazione nome lista\"\r\n [ngClass]=\"{\r\n 'frg-pagination-small__primary': styleType === 'primary',\r\n 'frg-pagination-small__secondary': styleType === 'secondary',\r\n 'frg-pagination-small__tertiary': styleType === 'tertiary',\r\n 'frg-pagination-small__dark': styleType === 'dark',\r\n 'frg-pagination-small__light': styleType === 'light'\r\n }\"\r\n >\r\n <ul class=\"frg-pagination-small__list\">\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__prev\">\r\n <a\r\n href=\"javascript:void(0);\"\r\n [class.disabled]=\"page === 1\"\r\n (click)=\"changePage(page - 1)\"\r\n >\r\n <span class=\"visually-hidden\">Pagina precedente</span>\r\n <span class=\"fas fa-angle-left\" aria-hidden=\"true\"></span>\r\n </a>\r\n </li>\r\n @for (pageNum of pagesArray; track pageNum; let i = $index) {\r\n @if (showStartEllipsis && i === 1) {\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__ellipsis\">\r\n <span class=\"ellipsis\">...</span>\r\n </li>\r\n }\r\n <li\r\n class=\"frg-pagination-small__paging frg-pagination-small__page-number\"\r\n >\r\n <a\r\n href=\"javascript:void(0);\"\r\n [attr.aria-current]=\"page === pageNum ? 'page' : null\"\r\n (click)=\"changePage(pageNum)\"\r\n >\r\n <span class=\"visually-hidden\">Pagina</span>\r\n {{ pageNum }}\r\n </a>\r\n </li>\r\n @if (showEndEllipsis && i === pagesArray.length - 2) {\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__ellipsis\">\r\n <span class=\"ellipsis\">...</span>\r\n </li>\r\n }\r\n }\r\n\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__next\">\r\n <a\r\n href=\"javascript:void(0);\"\r\n [class.disabled]=\"page === totalPages\"\r\n (click)=\"changePage(page + 1)\"\r\n >\r\n <span class=\"visually-hidden\">Pagina successiva</span>\r\n <span class=\"fas fa-angle-right\" aria-hidden=\"true\"></span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n}\r\n", styles: [".frg-pagination-small{display:flex;justify-content:center;align-items:center;margin:12px 0;gap:.2rem}.frg-pagination-small__list{list-style:none;padding:0;margin:0;display:flex;justify-content:center;align-items:center}.frg-pagination-small__list li:first-child{margin-right:.5rem}.frg-pagination-small__list li:last-child{margin-left:.5rem}.frg-pagination-small a{display:flex;justify-content:center;align-items:center;border-radius:999px;min-width:1.9rem;height:1.9rem;font-weight:500;border:1px solid transparent;text-decoration:none;text-align:center;transition:background-color .15s ease,border-color .15s ease,color .15s ease;cursor:pointer;background-color:transparent;color:#737579}.frg-pagination-small a.disabled{cursor:default;color:#bfbfbf;background-color:transparent}.frg-pagination-small a:focus-visible{outline:2px solid rgb(160.75,198.45,230.3);outline-offset:2px}.frg-pagination-small__primary a{margin:0 2px}.frg-pagination-small__primary a[aria-current=page]{background-color:#6ea8d9;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__primary a:hover:not([aria-current=page]){background-color:#a8cbe8;color:#fdfdfd}.frg-pagination-small__primary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__secondary a{margin:0 2px}.frg-pagination-small__secondary a[aria-current=page]{background-color:#e6c57a;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__secondary a:hover:not([aria-current=page]){background-color:#f0dcaf;color:#fdfdfd}.frg-pagination-small__secondary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__tertiary a{margin:0 2px}.frg-pagination-small__tertiary a[aria-current=page]{background-color:#d97ebd;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__tertiary a:hover:not([aria-current=page]){background-color:#e8b2d7;color:#fdfdfd}.frg-pagination-small__tertiary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__dark a{margin:0 2px;background-color:#fdfdfd;border:1px solid rgba(253,253,253,.12);color:#737579}.frg-pagination-small__dark a[aria-current=page]{background-color:#3d3d3de6;border-color:#3d3d3dd9;color:#e6e6e6;pointer-events:none}.frg-pagination-small__dark a:hover:not([aria-current=page]){background-color:#a6a7a9;color:#fdfdfd}.frg-pagination-small__dark a.disabled{border-color:#fdfdfd14;color:#bfbfbf}.frg-pagination-small__dark a.disabled:hover{background-color:#5e5f62}.frg-pagination-small__light a{margin:0 2px;color:#cfcece}.frg-pagination-small__light a[aria-current=page]{background-color:#fdfdfd;color:#5e5f62;pointer-events:none}.frg-pagination-small__light a:hover:not([aria-current=page]){background-color:#e6e6e6;color:#5e5f62}.frg-pagination-small__light a.disabled{color:#737579}.frg-pagination-small__light a.disabled:hover{background-color:transparent;color:#737579;pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
1850
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: SmallPaginationComponent, isStandalone: true, selector: "frg-small-pagination", inputs: { totalItems: "totalItems", fullData: "fullData", page: "page", pageSize: "pageSize", hasElipsisPages: "hasElipsisPages", styleType: "styleType" }, outputs: { pageChange: "pageChange" }, usesOnChanges: true, ngImport: i0, template: "@if (totalItems > pageSize) {\r\n <nav\r\n class=\"frg-pagination-small\"\r\n aria-label=\"Paginazione nome lista\"\r\n [ngClass]=\"{\r\n 'frg-pagination-small__primary': styleType === 'primary',\r\n 'frg-pagination-small__secondary': styleType === 'secondary',\r\n 'frg-pagination-small__tertiary': styleType === 'tertiary',\r\n 'frg-pagination-small__dark': styleType === 'dark',\r\n 'frg-pagination-small__light': styleType === 'light'\r\n }\"\r\n >\r\n <ul class=\"frg-pagination-small__list\">\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__prev\">\r\n <a\r\n href=\"javascript:void(0);\"\r\n [class.disabled]=\"page === 1\"\r\n (click)=\"changePage(page - 1)\"\r\n >\r\n <span class=\"frg-visually-hidden\">Pagina precedente</span>\r\n <span class=\"fas fa-angle-left\" aria-hidden=\"true\"></span>\r\n </a>\r\n </li>\r\n @for (pageNum of pagesArray; track pageNum; let i = $index) {\r\n @if (showStartEllipsis && i === 1) {\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__ellipsis\">\r\n <span class=\"ellipsis\">...</span>\r\n </li>\r\n }\r\n <li\r\n class=\"frg-pagination-small__paging frg-pagination-small__page-number\"\r\n >\r\n <a\r\n href=\"javascript:void(0);\"\r\n [attr.aria-current]=\"page === pageNum ? 'page' : null\"\r\n (click)=\"changePage(pageNum)\"\r\n >\r\n <span class=\"frg-visually-hidden\">Pagina</span>\r\n {{ pageNum }}\r\n </a>\r\n </li>\r\n @if (showEndEllipsis && i === pagesArray.length - 2) {\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__ellipsis\">\r\n <span class=\"ellipsis\">...</span>\r\n </li>\r\n }\r\n }\r\n\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__next\">\r\n <a\r\n href=\"javascript:void(0);\"\r\n [class.disabled]=\"page === totalPages\"\r\n (click)=\"changePage(page + 1)\"\r\n >\r\n <span class=\"frg-visually-hidden\">Pagina successiva</span>\r\n <span class=\"fas fa-angle-right\" aria-hidden=\"true\"></span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n}\r\n", styles: [".frg-pagination-small{display:flex;justify-content:center;align-items:center;margin:12px 0;gap:.2rem}.frg-pagination-small__list{list-style:none;padding:0;margin:0;display:flex;justify-content:center;align-items:center}.frg-pagination-small__list li:first-child{margin-right:.5rem}.frg-pagination-small__list li:last-child{margin-left:.5rem}.frg-pagination-small a{display:flex;justify-content:center;align-items:center;border-radius:999px;min-width:1.9rem;height:1.9rem;font-weight:500;border:1px solid transparent;text-decoration:none;text-align:center;transition:background-color .15s ease,border-color .15s ease,color .15s ease;cursor:pointer;background-color:transparent;color:#737579}.frg-pagination-small a.disabled{cursor:default;color:#bfbfbf;background-color:transparent}.frg-pagination-small a:focus-visible{outline:2px solid rgb(160.75,198.45,230.3);outline-offset:2px}.frg-pagination-small__primary a{margin:0 2px}.frg-pagination-small__primary a[aria-current=page]{background-color:#6ea8d9;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__primary a:hover:not([aria-current=page]){background-color:#a8cbe8;color:#fdfdfd}.frg-pagination-small__primary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__secondary a{margin:0 2px}.frg-pagination-small__secondary a[aria-current=page]{background-color:#e6c57a;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__secondary a:hover:not([aria-current=page]){background-color:#f0dcaf;color:#fdfdfd}.frg-pagination-small__secondary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__tertiary a{margin:0 2px}.frg-pagination-small__tertiary a[aria-current=page]{background-color:#d97ebd;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__tertiary a:hover:not([aria-current=page]){background-color:#e8b2d7;color:#fdfdfd}.frg-pagination-small__tertiary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__dark a{margin:0 2px;background-color:#fdfdfd;border:1px solid rgba(253,253,253,.12);color:#737579}.frg-pagination-small__dark a[aria-current=page]{background-color:#3d3d3de6;border-color:#3d3d3dd9;color:#e6e6e6;pointer-events:none}.frg-pagination-small__dark a:hover:not([aria-current=page]){background-color:#a6a7a9;color:#fdfdfd}.frg-pagination-small__dark a.disabled{border-color:#fdfdfd14;color:#bfbfbf}.frg-pagination-small__dark a.disabled:hover{background-color:#5e5f62}.frg-pagination-small__light a{margin:0 2px;color:#cfcece}.frg-pagination-small__light a[aria-current=page]{background-color:#fdfdfd;color:#5e5f62;pointer-events:none}.frg-pagination-small__light a:hover:not([aria-current=page]){background-color:#e6e6e6;color:#5e5f62}.frg-pagination-small__light a.disabled{color:#737579}.frg-pagination-small__light a.disabled:hover{background-color:transparent;color:#737579;pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
1865
1851
  }
1866
1852
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: SmallPaginationComponent, decorators: [{
1867
1853
  type: Component,
1868
- args: [{ selector: 'frg-small-pagination', imports: [CommonModule], template: "@if (totalItems > pageSize) {\r\n <nav\r\n class=\"frg-pagination-small\"\r\n aria-label=\"Paginazione nome lista\"\r\n [ngClass]=\"{\r\n 'frg-pagination-small__primary': styleType === 'primary',\r\n 'frg-pagination-small__secondary': styleType === 'secondary',\r\n 'frg-pagination-small__tertiary': styleType === 'tertiary',\r\n 'frg-pagination-small__dark': styleType === 'dark',\r\n 'frg-pagination-small__light': styleType === 'light'\r\n }\"\r\n >\r\n <ul class=\"frg-pagination-small__list\">\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__prev\">\r\n <a\r\n href=\"javascript:void(0);\"\r\n [class.disabled]=\"page === 1\"\r\n (click)=\"changePage(page - 1)\"\r\n >\r\n <span class=\"visually-hidden\">Pagina precedente</span>\r\n <span class=\"fas fa-angle-left\" aria-hidden=\"true\"></span>\r\n </a>\r\n </li>\r\n @for (pageNum of pagesArray; track pageNum; let i = $index) {\r\n @if (showStartEllipsis && i === 1) {\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__ellipsis\">\r\n <span class=\"ellipsis\">...</span>\r\n </li>\r\n }\r\n <li\r\n class=\"frg-pagination-small__paging frg-pagination-small__page-number\"\r\n >\r\n <a\r\n href=\"javascript:void(0);\"\r\n [attr.aria-current]=\"page === pageNum ? 'page' : null\"\r\n (click)=\"changePage(pageNum)\"\r\n >\r\n <span class=\"visually-hidden\">Pagina</span>\r\n {{ pageNum }}\r\n </a>\r\n </li>\r\n @if (showEndEllipsis && i === pagesArray.length - 2) {\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__ellipsis\">\r\n <span class=\"ellipsis\">...</span>\r\n </li>\r\n }\r\n }\r\n\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__next\">\r\n <a\r\n href=\"javascript:void(0);\"\r\n [class.disabled]=\"page === totalPages\"\r\n (click)=\"changePage(page + 1)\"\r\n >\r\n <span class=\"visually-hidden\">Pagina successiva</span>\r\n <span class=\"fas fa-angle-right\" aria-hidden=\"true\"></span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n}\r\n", styles: [".frg-pagination-small{display:flex;justify-content:center;align-items:center;margin:12px 0;gap:.2rem}.frg-pagination-small__list{list-style:none;padding:0;margin:0;display:flex;justify-content:center;align-items:center}.frg-pagination-small__list li:first-child{margin-right:.5rem}.frg-pagination-small__list li:last-child{margin-left:.5rem}.frg-pagination-small a{display:flex;justify-content:center;align-items:center;border-radius:999px;min-width:1.9rem;height:1.9rem;font-weight:500;border:1px solid transparent;text-decoration:none;text-align:center;transition:background-color .15s ease,border-color .15s ease,color .15s ease;cursor:pointer;background-color:transparent;color:#737579}.frg-pagination-small a.disabled{cursor:default;color:#bfbfbf;background-color:transparent}.frg-pagination-small a:focus-visible{outline:2px solid rgb(160.75,198.45,230.3);outline-offset:2px}.frg-pagination-small__primary a{margin:0 2px}.frg-pagination-small__primary a[aria-current=page]{background-color:#6ea8d9;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__primary a:hover:not([aria-current=page]){background-color:#a8cbe8;color:#fdfdfd}.frg-pagination-small__primary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__secondary a{margin:0 2px}.frg-pagination-small__secondary a[aria-current=page]{background-color:#e6c57a;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__secondary a:hover:not([aria-current=page]){background-color:#f0dcaf;color:#fdfdfd}.frg-pagination-small__secondary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__tertiary a{margin:0 2px}.frg-pagination-small__tertiary a[aria-current=page]{background-color:#d97ebd;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__tertiary a:hover:not([aria-current=page]){background-color:#e8b2d7;color:#fdfdfd}.frg-pagination-small__tertiary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__dark a{margin:0 2px;background-color:#fdfdfd;border:1px solid rgba(253,253,253,.12);color:#737579}.frg-pagination-small__dark a[aria-current=page]{background-color:#3d3d3de6;border-color:#3d3d3dd9;color:#e6e6e6;pointer-events:none}.frg-pagination-small__dark a:hover:not([aria-current=page]){background-color:#a6a7a9;color:#fdfdfd}.frg-pagination-small__dark a.disabled{border-color:#fdfdfd14;color:#bfbfbf}.frg-pagination-small__dark a.disabled:hover{background-color:#5e5f62}.frg-pagination-small__light a{margin:0 2px;color:#cfcece}.frg-pagination-small__light a[aria-current=page]{background-color:#fdfdfd;color:#5e5f62;pointer-events:none}.frg-pagination-small__light a:hover:not([aria-current=page]){background-color:#e6e6e6;color:#5e5f62}.frg-pagination-small__light a.disabled{color:#737579}.frg-pagination-small__light a.disabled:hover{background-color:transparent;color:#737579;pointer-events:none}\n"] }]
1854
+ args: [{ selector: 'frg-small-pagination', imports: [CommonModule], template: "@if (totalItems > pageSize) {\r\n <nav\r\n class=\"frg-pagination-small\"\r\n aria-label=\"Paginazione nome lista\"\r\n [ngClass]=\"{\r\n 'frg-pagination-small__primary': styleType === 'primary',\r\n 'frg-pagination-small__secondary': styleType === 'secondary',\r\n 'frg-pagination-small__tertiary': styleType === 'tertiary',\r\n 'frg-pagination-small__dark': styleType === 'dark',\r\n 'frg-pagination-small__light': styleType === 'light'\r\n }\"\r\n >\r\n <ul class=\"frg-pagination-small__list\">\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__prev\">\r\n <a\r\n href=\"javascript:void(0);\"\r\n [class.disabled]=\"page === 1\"\r\n (click)=\"changePage(page - 1)\"\r\n >\r\n <span class=\"frg-visually-hidden\">Pagina precedente</span>\r\n <span class=\"fas fa-angle-left\" aria-hidden=\"true\"></span>\r\n </a>\r\n </li>\r\n @for (pageNum of pagesArray; track pageNum; let i = $index) {\r\n @if (showStartEllipsis && i === 1) {\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__ellipsis\">\r\n <span class=\"ellipsis\">...</span>\r\n </li>\r\n }\r\n <li\r\n class=\"frg-pagination-small__paging frg-pagination-small__page-number\"\r\n >\r\n <a\r\n href=\"javascript:void(0);\"\r\n [attr.aria-current]=\"page === pageNum ? 'page' : null\"\r\n (click)=\"changePage(pageNum)\"\r\n >\r\n <span class=\"frg-visually-hidden\">Pagina</span>\r\n {{ pageNum }}\r\n </a>\r\n </li>\r\n @if (showEndEllipsis && i === pagesArray.length - 2) {\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__ellipsis\">\r\n <span class=\"ellipsis\">...</span>\r\n </li>\r\n }\r\n }\r\n\r\n <li class=\"frg-pagination-small__paging frg-pagination-small__next\">\r\n <a\r\n href=\"javascript:void(0);\"\r\n [class.disabled]=\"page === totalPages\"\r\n (click)=\"changePage(page + 1)\"\r\n >\r\n <span class=\"frg-visually-hidden\">Pagina successiva</span>\r\n <span class=\"fas fa-angle-right\" aria-hidden=\"true\"></span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n}\r\n", styles: [".frg-pagination-small{display:flex;justify-content:center;align-items:center;margin:12px 0;gap:.2rem}.frg-pagination-small__list{list-style:none;padding:0;margin:0;display:flex;justify-content:center;align-items:center}.frg-pagination-small__list li:first-child{margin-right:.5rem}.frg-pagination-small__list li:last-child{margin-left:.5rem}.frg-pagination-small a{display:flex;justify-content:center;align-items:center;border-radius:999px;min-width:1.9rem;height:1.9rem;font-weight:500;border:1px solid transparent;text-decoration:none;text-align:center;transition:background-color .15s ease,border-color .15s ease,color .15s ease;cursor:pointer;background-color:transparent;color:#737579}.frg-pagination-small a.disabled{cursor:default;color:#bfbfbf;background-color:transparent}.frg-pagination-small a:focus-visible{outline:2px solid rgb(160.75,198.45,230.3);outline-offset:2px}.frg-pagination-small__primary a{margin:0 2px}.frg-pagination-small__primary a[aria-current=page]{background-color:#6ea8d9;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__primary a:hover:not([aria-current=page]){background-color:#a8cbe8;color:#fdfdfd}.frg-pagination-small__primary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__secondary a{margin:0 2px}.frg-pagination-small__secondary a[aria-current=page]{background-color:#e6c57a;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__secondary a:hover:not([aria-current=page]){background-color:#f0dcaf;color:#fdfdfd}.frg-pagination-small__secondary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__tertiary a{margin:0 2px}.frg-pagination-small__tertiary a[aria-current=page]{background-color:#d97ebd;color:#fdfdfd;border-color:transparent;pointer-events:none}.frg-pagination-small__tertiary a:hover:not([aria-current=page]){background-color:#e8b2d7;color:#fdfdfd}.frg-pagination-small__tertiary a.disabled:hover{background-color:#f1f2f5;color:#bfbfbf}.frg-pagination-small__dark a{margin:0 2px;background-color:#fdfdfd;border:1px solid rgba(253,253,253,.12);color:#737579}.frg-pagination-small__dark a[aria-current=page]{background-color:#3d3d3de6;border-color:#3d3d3dd9;color:#e6e6e6;pointer-events:none}.frg-pagination-small__dark a:hover:not([aria-current=page]){background-color:#a6a7a9;color:#fdfdfd}.frg-pagination-small__dark a.disabled{border-color:#fdfdfd14;color:#bfbfbf}.frg-pagination-small__dark a.disabled:hover{background-color:#5e5f62}.frg-pagination-small__light a{margin:0 2px;color:#cfcece}.frg-pagination-small__light a[aria-current=page]{background-color:#fdfdfd;color:#5e5f62;pointer-events:none}.frg-pagination-small__light a:hover:not([aria-current=page]){background-color:#e6e6e6;color:#5e5f62}.frg-pagination-small__light a.disabled{color:#737579}.frg-pagination-small__light a.disabled:hover{background-color:transparent;color:#737579;pointer-events:none}\n"] }]
1869
1855
  }], propDecorators: { totalItems: [{
1870
1856
  type: Input
1871
1857
  }], fullData: [{
@@ -2084,11 +2070,11 @@ class TitleBarComponent {
2084
2070
  this.styleType = 'primary';
2085
2071
  }
2086
2072
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: TitleBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2087
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: TitleBarComponent, isStandalone: true, selector: "frg-title-bar", inputs: { title: "title", styleType: "styleType" }, ngImport: i0, template: "@if (title) {\r\n <div\r\n class=\"frg-title-bar\"\r\n [ngClass]=\"{\r\n 'frg-title-bar__primary': styleType === 'primary',\r\n 'frg-title-bar__secondary': styleType === 'secondary',\r\n 'frg-title-bar__tertiary': styleType === 'tertiary',\r\n 'frg-title-bar__dark': styleType === 'dark',\r\n 'frg-title-bar__light': styleType === 'light'\r\n }\"\r\n >\r\n <div\r\n class=\"frg-title-bar-title d-flex justify-content-between\"\r\n aria-level=\"3\"\r\n >\r\n <div class=\"frg-title-bar-title__text\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/resources/fonts/OpenSans/OpenSans-VariableFont_wdth_wght.ttf) format(\"truetype\")}@font-face{font-family:Open Sans;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/resources/fonts/OpenSans/OpenSans-Italic-VariableFont_wdth_wght.ttf) format(\"truetype\")}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Thin.ttf) format(\"truetype\");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-ThinItalic.ttf) format(\"truetype\");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Light.ttf) format(\"truetype\");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-LightItalic.ttf) format(\"truetype\");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Regular.ttf) format(\"truetype\");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Italic.ttf) format(\"truetype\");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Medium.ttf) format(\"truetype\");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-MediumItalic.ttf) format(\"truetype\");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Bold.ttf) format(\"truetype\");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-BoldItalic.ttf) format(\"truetype\");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Black.ttf) format(\"truetype\");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-BlackItalic.ttf) format(\"truetype\");font-weight:900;font-style:italic;font-display:swap}.frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:frg-opensans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
2073
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: TitleBarComponent, isStandalone: true, selector: "frg-title-bar", inputs: { title: "title", styleType: "styleType" }, ngImport: i0, template: "@if (title) {\r\n <div\r\n class=\"frg-title-bar\"\r\n [ngClass]=\"{\r\n 'frg-title-bar__primary': styleType === 'primary',\r\n 'frg-title-bar__secondary': styleType === 'secondary',\r\n 'frg-title-bar__tertiary': styleType === 'tertiary',\r\n 'frg-title-bar__dark': styleType === 'dark',\r\n 'frg-title-bar__light': styleType === 'light'\r\n }\"\r\n >\r\n <div\r\n class=\"frg-title-bar-title d-flex justify-content-between\"\r\n aria-level=\"3\"\r\n >\r\n <div class=\"frg-title-bar-title__text\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", styles: [".frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:Open Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
2088
2074
  }
2089
2075
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: TitleBarComponent, decorators: [{
2090
2076
  type: Component,
2091
- args: [{ selector: 'frg-title-bar', imports: [CommonModule], template: "@if (title) {\r\n <div\r\n class=\"frg-title-bar\"\r\n [ngClass]=\"{\r\n 'frg-title-bar__primary': styleType === 'primary',\r\n 'frg-title-bar__secondary': styleType === 'secondary',\r\n 'frg-title-bar__tertiary': styleType === 'tertiary',\r\n 'frg-title-bar__dark': styleType === 'dark',\r\n 'frg-title-bar__light': styleType === 'light'\r\n }\"\r\n >\r\n <div\r\n class=\"frg-title-bar-title d-flex justify-content-between\"\r\n aria-level=\"3\"\r\n >\r\n <div class=\"frg-title-bar-title__text\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/resources/fonts/OpenSans/OpenSans-VariableFont_wdth_wght.ttf) format(\"truetype\")}@font-face{font-family:Open Sans;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/resources/fonts/OpenSans/OpenSans-Italic-VariableFont_wdth_wght.ttf) format(\"truetype\")}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Thin.ttf) format(\"truetype\");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-ThinItalic.ttf) format(\"truetype\");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Light.ttf) format(\"truetype\");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-LightItalic.ttf) format(\"truetype\");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Regular.ttf) format(\"truetype\");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Italic.ttf) format(\"truetype\");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Medium.ttf) format(\"truetype\");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-MediumItalic.ttf) format(\"truetype\");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Bold.ttf) format(\"truetype\");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-BoldItalic.ttf) format(\"truetype\");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Black.ttf) format(\"truetype\");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-BlackItalic.ttf) format(\"truetype\");font-weight:900;font-style:italic;font-display:swap}.frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:frg-opensans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}\n"] }]
2077
+ args: [{ selector: 'frg-title-bar', imports: [CommonModule], template: "@if (title) {\r\n <div\r\n class=\"frg-title-bar\"\r\n [ngClass]=\"{\r\n 'frg-title-bar__primary': styleType === 'primary',\r\n 'frg-title-bar__secondary': styleType === 'secondary',\r\n 'frg-title-bar__tertiary': styleType === 'tertiary',\r\n 'frg-title-bar__dark': styleType === 'dark',\r\n 'frg-title-bar__light': styleType === 'light'\r\n }\"\r\n >\r\n <div\r\n class=\"frg-title-bar-title d-flex justify-content-between\"\r\n aria-level=\"3\"\r\n >\r\n <div class=\"frg-title-bar-title__text\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", styles: [".frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:Open Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}\n"] }]
2092
2078
  }], propDecorators: { title: [{
2093
2079
  type: Input
2094
2080
  }], styleType: [{
@@ -2351,7 +2337,7 @@ class TableComponent {
2351
2337
  }
2352
2338
  }
2353
2339
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2354
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: TableComponent, isStandalone: true, selector: "frg-table", inputs: { configTable: "configTable", styleType: "styleType", rowSize: "rowSize" }, outputs: { reloadTableEvent: "reloadTableEvent" }, viewQueries: [{ propertyName: "tableHead", first: true, predicate: ["tableHead"], descendants: true, read: ElementRef }], ngImport: i0, template: "@if (configTable.tTitleBar?.title) {\r\n <frg-title-bar\r\n [title]=\"configTable.tTitleBar?.title ?? ''\"\r\n [styleType]=\"styleType\"\r\n ></frg-title-bar>\r\n}\r\n@if (configTable.tBody.data && configTable.tBody.data.length > 0) {\r\n <div class=\"frg-table-responsive\">\r\n <table\r\n class=\"frg-table\"\r\n id=\"table1\"\r\n [ngClass]=\"{\r\n 'frg-table__primary': styleType === 'primary',\r\n 'frg-table__secondary': styleType === 'secondary',\r\n 'frg-table__tertiary': styleType === 'tertiary',\r\n 'frg-table__dark': styleType === 'dark',\r\n 'frg-table__light': styleType === 'light',\r\n 'frg-table--row-small': rowSize === 'small',\r\n 'frg-table--row-medium': rowSize === 'medium',\r\n 'frg-table--row-large': rowSize === 'large'\r\n }\"\r\n >\r\n @if (configTable.tCaption && configTable.tCaption.srOnly) {\r\n <caption class=\"visually-hidden\">\r\n {{ configTable.tCaption.srOnly }}\r\n </caption>\r\n }\r\n @if (configTable.tHead.columns.length > 0) {\r\n <thead #tableHead>\r\n <tr>\r\n <!--Sort-->\r\n @if (configTable.tHead) {\r\n @for (hColumn of configTable.tHead.columns; track $index) {\r\n @if (hColumn.fieldOrder) {\r\n <th\r\n scope=\"col\"\r\n [tabindex]=\"hColumn.fieldOrder ? 0 : null\"\r\n [attr.aria-sort]=\"\r\n !(hColumn.fieldOrder === configTable.tPagination.order)\r\n ? null\r\n : configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc\r\n ? 'ascending'\r\n : 'descending'\r\n \"\r\n [ngClass]=\"{\r\n 'frg-sorting': hColumn.fieldOrder,\r\n 'frg-sorting-asc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc &&\r\n hColumn.fieldOrder === configTable.tPagination.order,\r\n 'frg-sorting-desc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.desc &&\r\n hColumn.fieldOrder === configTable.tPagination.order\r\n }\"\r\n (click)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n (keydown.enter)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n >\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n } @else {\r\n <th scope=\"col\">\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n }\r\n }\r\n }\r\n <!--End Sort-->\r\n @if (configTable.tHead.action) {\r\n <th\r\n scope=\"col\"\r\n [ngClass]=\"configTable.tHead.action.customClass ?? ''\"\r\n >\r\n {{ configTable.tHead.action.label }}\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n }\r\n <tbody>\r\n @for (item of configTable.tBody.data; let i = $index; track $index) {\r\n <tr\r\n [attr.id]=\"i === 0 ? idFirstTr : null\"\r\n [ngClass]=\"\r\n configTable.tBody.rowClick?.behaviourAction?.clickEvent\r\n ? 'cursor-pointer'\r\n : ''\r\n \"\r\n [routerLink]=\"\r\n configTable.tBody.rowClick?.disabled &&\r\n configTable.tBody.rowClick?.disabled(item)\r\n ? null\r\n : configTable.tBody.rowClick?.behaviourAction?.link\r\n ? [\r\n configTable.tBody.rowClick?.behaviourAction?.link\r\n ? configTable.tBody.rowClick?.behaviourAction?.link\r\n : './',\r\n configTable.tBody.rowClick?.behaviourAction\r\n ?.customParamsLink ||\r\n (item | fieldArrayPosition: configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (click)=\"handleRowClick($event, item)\"\r\n (keyup.enter)=\"handleRowClick($event, item)\"\r\n (keydown)=\"handleRowClick($event, item)\"\r\n >\r\n @for (column of configTable.tBody.columns; let i = $index; track $index) {\r\n <td>\r\n <div [ngClass]=\"column.customClass\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"\r\n (column.cells | typeOfArray) ? cellForTpl : cellTpl\r\n \"\r\n [ngTemplateOutletContext]=\"{\r\n cells: column.cells,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n </div>\r\n </td>\r\n }\r\n @if (configTable.tBody.action ?? false) {\r\n <td\r\n class=\"table-action\"\r\n [ngClass]=\"configTable.tBody.action?.customClasses ?? ''\"\r\n >\r\n @for (act of configTable.tBody.action?.buttons ?? []; track $index) {\r\n @if (act.visible && act.visible(item) ? true : null) {\r\n <frg-button\r\n [ariaLabel]=\"act.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"act.iconClass ? act.iconClass(item) : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n act.tooltip &&\r\n act.tooltip.apply &&\r\n act.visible &&\r\n act.visible(item)\r\n ? act.tooltip.apply\r\n : true,\r\n text:\r\n act.tooltip && act.tooltip.text\r\n ? act.tooltip.text(item)\r\n : '',\r\n textContent:\r\n act.tooltip && act.tooltip.textContent\r\n ? act.tooltip.textContent(item)\r\n : '',\r\n position:\r\n act.tooltip && act.tooltip.position\r\n ? act.tooltip.position\r\n : 'top',\r\n gap: act.tooltip && act.tooltip.gap ? act.tooltip.gap : 0\r\n }\"\r\n [disabled]=\"act.disabled ? act.disabled(item) : null\"\r\n [buttonRouterLink]=\"\r\n act.disabled && act.disabled(item)\r\n ? null\r\n : act.behaviourAction.link\r\n ? [\r\n act.behaviourAction.link\r\n ? act.behaviourAction.link\r\n : './',\r\n act.behaviourAction.customParamsLink ||\r\n (item\r\n | fieldArrayPosition\r\n : configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (clickEvent)=\"\r\n act.behaviourAction.clickEvent\r\n ? act.behaviourAction.clickEvent(item)\r\n : null\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n @if (configTable.tPagination) {\r\n <frg-small-pagination\r\n [hasElipsisPages]=\"configTable.tPagination.hasElipsisPages ?? false\"\r\n [pageSize]=\"configTable.tPagination.pageSize ?? 10\"\r\n [page]=\"configTable.tPagination.page ?? 0\"\r\n [totalItems]=\"configTable.tPagination.fullData?.length ?? 0\"\r\n [fullData]=\"configTable.tPagination.fullData ?? []\"\r\n [styleType]=\"styleType\"\r\n (pageChange)=\"updateCurrentPage($event)\"\r\n ></frg-small-pagination>\r\n }\r\n} @else {\r\n <div class=\"d-flex justify-content-center my-4\">\r\n <div class=\"text-center\">No Elements</div>\r\n </div>\r\n}\r\n\r\n<ng-template #cellForTpl let-cells=\"cells\" let-item=\"item\">\r\n @for (cell of $any(cells); track $index) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"cellTpl\"\r\n [ngTemplateOutletContext]=\"{\r\n cell: cell,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n <br />\r\n }\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-cell=\"cells\" let-item=\"item\">\r\n @if (!cell.fieldPipe) {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\">\r\n {{ item | fieldArrayPosition: cell.fieldArrayPosition }}\r\n </span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n } @else {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span\r\n [innerHtml]=\"\r\n item\r\n | fieldArrayPosition: cell.fieldArrayPosition\r\n | dynamicPipe: cell.fieldPipe.type : cell.fieldPipe.args\r\n | safeHtml\r\n \"\r\n [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\"\r\n ></span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n</ng-template>\r\n", styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/resources/fonts/OpenSans/OpenSans-VariableFont_wdth_wght.ttf) format(\"truetype\")}@font-face{font-family:Open Sans;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/resources/fonts/OpenSans/OpenSans-Italic-VariableFont_wdth_wght.ttf) format(\"truetype\")}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Thin.ttf) format(\"truetype\");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-ThinItalic.ttf) format(\"truetype\");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Light.ttf) format(\"truetype\");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-LightItalic.ttf) format(\"truetype\");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Regular.ttf) format(\"truetype\");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Italic.ttf) format(\"truetype\");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Medium.ttf) format(\"truetype\");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-MediumItalic.ttf) format(\"truetype\");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Bold.ttf) format(\"truetype\");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-BoldItalic.ttf) format(\"truetype\");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Black.ttf) format(\"truetype\");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-BlackItalic.ttf) format(\"truetype\");font-weight:900;font-style:italic;font-display:swap}.frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:frg-opensans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}.frg-filter label,.frg-search label{display:block;font-size:.875rem;font-weight:400;margin-bottom:.5rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";text-transform:uppercase;letter-spacing:.05rem}.frg-filter input,.frg-search input{display:block;width:100%;padding:10px;font-size:1rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";line-height:1.5;color:#3d3d3d;background-color:#fdfdfd;background-clip:padding-box;border:1px solid rgb(184.7584745763,185.9194915254,188.2415254237);border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.frg-filter input::placeholder,.frg-search input::placeholder{color:#737579;opacity:1}.frg-filter input:focus,.frg-search input:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;box-shadow:0 0 0 .2rem #2e6ea640}.frg-filter input.is-invalid,.frg-search input.is-invalid{border-color:#d66a6a;padding-right:calc(10px + 2rem);background-image:url(data:image/svg+xml,\\ ...);background-repeat:no-repeat;background-position:center right 5px;background-size:6.6666666667px 6.6666666667px}.frg-filter input.is-invalid:focus,.frg-search input.is-invalid:focus{border-color:#d66a6a;box-shadow:0 0 0 .2rem #da1e2840}.frg-filter input:disabled,.frg-search input:disabled{background-color:#bfbfbf;border-color:#737579}.frg-table-responsive{border:1px solid #e6e9ef;border-radius:.25rem;overflow:hidden;background-color:#fdfdfd}frg-title-bar+.frg-table-responsive{border-top:none;border-radius:0 0 .25rem .25rem}.frg-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem;background-color:#fdfdfd}.frg-table-responsive{border-radius:0 0 .25rem .25rem;border:1px solid #e6e9ef;overflow:hidden;background-color:#fdfdfd}.frg-table td,.frg-table th{text-align:left;padding:.75rem .9rem;border-bottom:1px solid #e6e9ef;vertical-align:middle}.frg-table--row-small td,.frg-table--row-small th{padding:.35rem .6rem}.frg-table--row-medium td,.frg-table--row-medium th{padding:.75rem .9rem}.frg-table--row-large td,.frg-table--row-large th{padding:1rem 1.2rem}.frg-table thead th{background-color:#edf0f6;font-weight:600;color:#1f252e;letter-spacing:.01em;border-bottom:1px solid #e6e9ef}.frg-table tbody tr{transition:background-color .18s ease}.frg-table tbody tr:hover{background-color:#f1f4f9}.frg-table .frg-sorting{position:relative;cursor:pointer;padding-right:1.4rem}.frg-table .frg-sorting:before,.frg-table .frg-sorting:after{content:\"\";position:absolute;right:.65rem;border-left:4px solid transparent;border-right:4px solid transparent;opacity:.5}.frg-table .frg-sorting:before{top:calc(50% - 6px);border-bottom:5px solid currentColor}.frg-table .frg-sorting:after{top:calc(50% + 2px);border-top:5px solid currentColor}.frg-table .frg-sorting-asc:after{opacity:.5}.frg-table .frg-sorting-asc:before{opacity:1}.frg-table .frg-sorting-desc:before{opacity:.5}.frg-table .frg-sorting-desc:after{opacity:1}.frg-table__primary{overflow:hidden}.frg-table__primary thead th,.frg-table__primary.frg-table thead th{background-color:#83b5de;color:#fdfdfd;border-bottom-color:#a1c6e6}.frg-table__primary tbody tr:hover{background-color:#e8f0f8}.frg-table__secondary{overflow:hidden}.frg-table__secondary thead th,.frg-table__secondary.frg-table thead th{background-color:#e9cd8e;color:#fdfdfd;border-bottom-color:#efd9a9}.frg-table__secondary tbody tr:hover{background-color:#faf5e9}.frg-table__tertiary{overflow:hidden}.frg-table__tertiary thead th,.frg-table__tertiary.frg-table thead th{background-color:#de91c7;color:#fdfdfd;border-bottom-color:#e6abd4}.frg-table__tertiary tbody tr:hover{background-color:#f8eaf3}.frg-table__dark{background-color:#3d3d3d;color:#fdfdfd}.frg-table__dark td,.frg-table__dark th{border-bottom-color:#fdfdfd1f}.frg-table__dark thead th{background-color:#505050;color:#fdfdfd;border-bottom-color:#fdfdfd29}.frg-table__dark tbody tr:hover{background-color:#4d4d4d}.frg-table__light,.frg-table__light thead th{background-color:#fdfdfd;color:#3d3d3d}.frg-table__light tbody tr:hover{background-color:#f1f4f9}@media screen and (max-width: 768px){.frg-table-responsive{overflow:auto}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: TitleBarComponent, selector: "frg-title-bar", inputs: ["title", "styleType"] }, { kind: "component", type: SmallPaginationComponent, selector: "frg-small-pagination", inputs: ["totalItems", "fullData", "page", "pageSize", "hasElipsisPages", "styleType"], outputs: ["pageChange"] }, { kind: "directive", type: FragmentsTooltipDirective, selector: "[frgTooltip]", inputs: ["tooltipConfig"] }, { kind: "component", type: ButtonComponent, selector: "frg-button", inputs: ["id", "class", "textClass", "iconClass", "iconStyleType", "iconPosition", "type", "size", "buttonRouterLink", "buttonRouterLinkActive", "disabled", "styleType", "shape", "text", "ariaLabel"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "pipe", type: FieldArrayPositionPipe, name: "fieldArrayPosition" }, { kind: "pipe", type: TypeOfArrayPipe, name: "typeOfArray" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }, { kind: "pipe", type: DynamicPipe, name: "dynamicPipe" }] }); }
2340
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: TableComponent, isStandalone: true, selector: "frg-table", inputs: { configTable: "configTable", styleType: "styleType", rowSize: "rowSize" }, outputs: { reloadTableEvent: "reloadTableEvent" }, viewQueries: [{ propertyName: "tableHead", first: true, predicate: ["tableHead"], descendants: true, read: ElementRef }], ngImport: i0, template: "@if (configTable.tTitleBar?.title) {\r\n <frg-title-bar\r\n [title]=\"configTable.tTitleBar?.title ?? ''\"\r\n [styleType]=\"styleType\"\r\n ></frg-title-bar>\r\n}\r\n@if (configTable.tBody.data && configTable.tBody.data.length > 0) {\r\n <div class=\"frg-table-responsive\">\r\n <table\r\n class=\"frg-table\"\r\n id=\"table1\"\r\n [ngClass]=\"{\r\n 'frg-table__primary': styleType === 'primary',\r\n 'frg-table__secondary': styleType === 'secondary',\r\n 'frg-table__tertiary': styleType === 'tertiary',\r\n 'frg-table__dark': styleType === 'dark',\r\n 'frg-table__light': styleType === 'light',\r\n 'frg-table--row-small': rowSize === 'small',\r\n 'frg-table--row-medium': rowSize === 'medium',\r\n 'frg-table--row-large': rowSize === 'large'\r\n }\"\r\n >\r\n @if (configTable.tCaption && configTable.tCaption.srOnly) {\r\n <caption class=\"frg-visually-hidden\">\r\n {{ configTable.tCaption.srOnly }}\r\n </caption>\r\n }\r\n @if (configTable.tHead.columns.length > 0) {\r\n <thead #tableHead>\r\n <tr>\r\n <!--Sort-->\r\n @if (configTable.tHead) {\r\n @for (hColumn of configTable.tHead.columns; track $index) {\r\n @if (hColumn.fieldOrder) {\r\n <th\r\n scope=\"col\"\r\n [tabindex]=\"hColumn.fieldOrder ? 0 : null\"\r\n [attr.aria-sort]=\"\r\n !(hColumn.fieldOrder === configTable.tPagination.order)\r\n ? null\r\n : configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc\r\n ? 'ascending'\r\n : 'descending'\r\n \"\r\n [ngClass]=\"{\r\n 'frg-sorting': hColumn.fieldOrder,\r\n 'frg-sorting-asc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc &&\r\n hColumn.fieldOrder === configTable.tPagination.order,\r\n 'frg-sorting-desc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.desc &&\r\n hColumn.fieldOrder === configTable.tPagination.order\r\n }\"\r\n (click)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n (keydown.enter)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n >\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n } @else {\r\n <th scope=\"col\">\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n }\r\n }\r\n }\r\n <!--End Sort-->\r\n @if (configTable.tHead.action) {\r\n <th\r\n scope=\"col\"\r\n [ngClass]=\"configTable.tHead.action.customClass ?? ''\"\r\n >\r\n {{ configTable.tHead.action.label }}\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n }\r\n <tbody>\r\n @for (item of configTable.tBody.data; let i = $index; track $index) {\r\n <tr\r\n [attr.id]=\"i === 0 ? idFirstTr : null\"\r\n [ngClass]=\"\r\n configTable.tBody.rowClick?.behaviourAction?.clickEvent\r\n ? 'cursor-pointer'\r\n : ''\r\n \"\r\n [routerLink]=\"\r\n configTable.tBody.rowClick?.disabled &&\r\n configTable.tBody.rowClick?.disabled(item)\r\n ? null\r\n : configTable.tBody.rowClick?.behaviourAction?.link\r\n ? [\r\n configTable.tBody.rowClick?.behaviourAction?.link\r\n ? configTable.tBody.rowClick?.behaviourAction?.link\r\n : './',\r\n configTable.tBody.rowClick?.behaviourAction\r\n ?.customParamsLink ||\r\n (item | fieldArrayPosition: configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (click)=\"handleRowClick($event, item)\"\r\n (keyup.enter)=\"handleRowClick($event, item)\"\r\n (keydown)=\"handleRowClick($event, item)\"\r\n >\r\n @for (column of configTable.tBody.columns; let i = $index; track $index) {\r\n <td>\r\n <div [ngClass]=\"column.customClass\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"\r\n (column.cells | typeOfArray) ? cellForTpl : cellTpl\r\n \"\r\n [ngTemplateOutletContext]=\"{\r\n cells: column.cells,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n </div>\r\n </td>\r\n }\r\n @if (configTable.tBody.action ?? false) {\r\n <td\r\n class=\"table-action\"\r\n [ngClass]=\"configTable.tBody.action?.customClasses ?? ''\"\r\n >\r\n @for (act of configTable.tBody.action?.buttons ?? []; track $index) {\r\n @if (act.visible && act.visible(item) ? true : null) {\r\n <frg-button\r\n [ariaLabel]=\"act.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"act.iconClass ? act.iconClass(item) : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n act.tooltip &&\r\n act.tooltip.apply &&\r\n act.visible &&\r\n act.visible(item)\r\n ? act.tooltip.apply\r\n : true,\r\n text:\r\n act.tooltip && act.tooltip.text\r\n ? act.tooltip.text(item)\r\n : '',\r\n textContent:\r\n act.tooltip && act.tooltip.textContent\r\n ? act.tooltip.textContent(item)\r\n : '',\r\n position:\r\n act.tooltip && act.tooltip.position\r\n ? act.tooltip.position\r\n : 'top',\r\n gap: act.tooltip && act.tooltip.gap ? act.tooltip.gap : 0\r\n }\"\r\n [disabled]=\"act.disabled ? act.disabled(item) : null\"\r\n [buttonRouterLink]=\"\r\n act.disabled && act.disabled(item)\r\n ? null\r\n : act.behaviourAction.link\r\n ? [\r\n act.behaviourAction.link\r\n ? act.behaviourAction.link\r\n : './',\r\n act.behaviourAction.customParamsLink ||\r\n (item\r\n | fieldArrayPosition\r\n : configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (clickEvent)=\"\r\n act.behaviourAction.clickEvent\r\n ? act.behaviourAction.clickEvent(item)\r\n : null\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n @if (configTable.tPagination) {\r\n <frg-small-pagination\r\n [hasElipsisPages]=\"configTable.tPagination.hasElipsisPages ?? false\"\r\n [pageSize]=\"configTable.tPagination.pageSize ?? 10\"\r\n [page]=\"configTable.tPagination.page ?? 0\"\r\n [totalItems]=\"configTable.tPagination.fullData?.length ?? 0\"\r\n [fullData]=\"configTable.tPagination.fullData ?? []\"\r\n [styleType]=\"styleType\"\r\n (pageChange)=\"updateCurrentPage($event)\"\r\n ></frg-small-pagination>\r\n }\r\n} @else {\r\n <div class=\"d-flex justify-content-center my-4\">\r\n <div class=\"text-center\">No Elements</div>\r\n </div>\r\n}\r\n\r\n<ng-template #cellForTpl let-cells=\"cells\" let-item=\"item\">\r\n @for (cell of $any(cells); track $index) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"cellTpl\"\r\n [ngTemplateOutletContext]=\"{\r\n cell: cell,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n <br />\r\n }\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-cell=\"cells\" let-item=\"item\">\r\n @if (!cell.fieldPipe) {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\">\r\n {{ item | fieldArrayPosition: cell.fieldArrayPosition }}\r\n </span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n } @else {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span\r\n [innerHtml]=\"\r\n item\r\n | fieldArrayPosition: cell.fieldArrayPosition\r\n | dynamicPipe: cell.fieldPipe.type : cell.fieldPipe.args\r\n | safeHtml\r\n \"\r\n [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\"\r\n ></span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n</ng-template>\r\n", styles: [".frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:Open Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}.frg-filter label,.frg-search label{display:block;font-size:.875rem;font-weight:400;margin-bottom:.5rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";text-transform:uppercase;letter-spacing:.05rem}.frg-filter input,.frg-search input{display:block;width:100%;padding:10px;font-size:1rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";line-height:1.5;color:#3d3d3d;background-color:#fdfdfd;background-clip:padding-box;border:1px solid rgb(184.7584745763,185.9194915254,188.2415254237);border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.frg-filter input::placeholder,.frg-search input::placeholder{color:#737579;opacity:1}.frg-filter input:focus,.frg-search input:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;box-shadow:0 0 0 .2rem #2e6ea640}.frg-filter input.is-invalid,.frg-search input.is-invalid{border-color:#d66a6a;padding-right:calc(10px + 2rem);background-image:url(data:image/svg+xml,\\ ...);background-repeat:no-repeat;background-position:center right 5px;background-size:6.6666666667px 6.6666666667px}.frg-filter input.is-invalid:focus,.frg-search input.is-invalid:focus{border-color:#d66a6a;box-shadow:0 0 0 .2rem #da1e2840}.frg-filter input:disabled,.frg-search input:disabled{background-color:#bfbfbf;border-color:#737579}.frg-table-responsive{border:1px solid #e6e9ef;border-radius:.25rem;overflow:hidden;background-color:#fdfdfd}frg-title-bar+.frg-table-responsive{border-top:none;border-radius:0 0 .25rem .25rem}.frg-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem;background-color:#fdfdfd}.frg-table-responsive{border-radius:0 0 .25rem .25rem;border:1px solid #e6e9ef;overflow:hidden;background-color:#fdfdfd}.frg-table td,.frg-table th{text-align:left;padding:.75rem .9rem;border-bottom:1px solid #e6e9ef;vertical-align:middle}.frg-table--row-small td,.frg-table--row-small th{padding:.35rem .6rem}.frg-table--row-medium td,.frg-table--row-medium th{padding:.75rem .9rem}.frg-table--row-large td,.frg-table--row-large th{padding:1rem 1.2rem}.frg-table thead th{background-color:#edf0f6;font-weight:600;color:#1f252e;letter-spacing:.01em;border-bottom:1px solid #e6e9ef}.frg-table tbody tr{transition:background-color .18s ease}.frg-table tbody tr:hover{background-color:#f1f4f9}.frg-table .frg-sorting{position:relative;cursor:pointer;padding-right:1.4rem}.frg-table .frg-sorting:before,.frg-table .frg-sorting:after{content:\"\";position:absolute;right:.65rem;border-left:4px solid transparent;border-right:4px solid transparent;opacity:.5}.frg-table .frg-sorting:before{top:calc(50% - 6px);border-bottom:5px solid currentColor}.frg-table .frg-sorting:after{top:calc(50% + 2px);border-top:5px solid currentColor}.frg-table .frg-sorting-asc:after{opacity:.5}.frg-table .frg-sorting-asc:before{opacity:1}.frg-table .frg-sorting-desc:before{opacity:.5}.frg-table .frg-sorting-desc:after{opacity:1}.frg-table__primary{overflow:hidden}.frg-table__primary thead th,.frg-table__primary.frg-table thead th{background-color:#83b5de;color:#fdfdfd;border-bottom-color:#a1c6e6}.frg-table__primary tbody tr:hover{background-color:#e8f0f8}.frg-table__secondary{overflow:hidden}.frg-table__secondary thead th,.frg-table__secondary.frg-table thead th{background-color:#e9cd8e;color:#fdfdfd;border-bottom-color:#efd9a9}.frg-table__secondary tbody tr:hover{background-color:#faf5e9}.frg-table__tertiary{overflow:hidden}.frg-table__tertiary thead th,.frg-table__tertiary.frg-table thead th{background-color:#de91c7;color:#fdfdfd;border-bottom-color:#e6abd4}.frg-table__tertiary tbody tr:hover{background-color:#f8eaf3}.frg-table__dark{background-color:#3d3d3d;color:#fdfdfd}.frg-table__dark td,.frg-table__dark th{border-bottom-color:#fdfdfd1f}.frg-table__dark thead th{background-color:#505050;color:#fdfdfd;border-bottom-color:#fdfdfd29}.frg-table__dark tbody tr:hover{background-color:#4d4d4d}.frg-table__light,.frg-table__light thead th{background-color:#fdfdfd;color:#3d3d3d}.frg-table__light tbody tr:hover{background-color:#f1f4f9}@media screen and (max-width: 768px){.frg-table-responsive{overflow:auto}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: TitleBarComponent, selector: "frg-title-bar", inputs: ["title", "styleType"] }, { kind: "component", type: SmallPaginationComponent, selector: "frg-small-pagination", inputs: ["totalItems", "fullData", "page", "pageSize", "hasElipsisPages", "styleType"], outputs: ["pageChange"] }, { kind: "directive", type: FragmentsTooltipDirective, selector: "[frgTooltip]", inputs: ["tooltipConfig"] }, { kind: "component", type: ButtonComponent, selector: "frg-button", inputs: ["id", "class", "textClass", "iconClass", "iconStyleType", "iconPosition", "type", "size", "buttonRouterLink", "buttonRouterLinkActive", "disabled", "styleType", "shape", "text", "ariaLabel"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "pipe", type: FieldArrayPositionPipe, name: "fieldArrayPosition" }, { kind: "pipe", type: TypeOfArrayPipe, name: "typeOfArray" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }, { kind: "pipe", type: DynamicPipe, name: "dynamicPipe" }] }); }
2355
2341
  }
2356
2342
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: TableComponent, decorators: [{
2357
2343
  type: Component,
@@ -2367,7 +2353,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImpor
2367
2353
  FragmentsTooltipDirective,
2368
2354
  ButtonComponent,
2369
2355
  ReactiveFormsModule,
2370
- ], template: "@if (configTable.tTitleBar?.title) {\r\n <frg-title-bar\r\n [title]=\"configTable.tTitleBar?.title ?? ''\"\r\n [styleType]=\"styleType\"\r\n ></frg-title-bar>\r\n}\r\n@if (configTable.tBody.data && configTable.tBody.data.length > 0) {\r\n <div class=\"frg-table-responsive\">\r\n <table\r\n class=\"frg-table\"\r\n id=\"table1\"\r\n [ngClass]=\"{\r\n 'frg-table__primary': styleType === 'primary',\r\n 'frg-table__secondary': styleType === 'secondary',\r\n 'frg-table__tertiary': styleType === 'tertiary',\r\n 'frg-table__dark': styleType === 'dark',\r\n 'frg-table__light': styleType === 'light',\r\n 'frg-table--row-small': rowSize === 'small',\r\n 'frg-table--row-medium': rowSize === 'medium',\r\n 'frg-table--row-large': rowSize === 'large'\r\n }\"\r\n >\r\n @if (configTable.tCaption && configTable.tCaption.srOnly) {\r\n <caption class=\"visually-hidden\">\r\n {{ configTable.tCaption.srOnly }}\r\n </caption>\r\n }\r\n @if (configTable.tHead.columns.length > 0) {\r\n <thead #tableHead>\r\n <tr>\r\n <!--Sort-->\r\n @if (configTable.tHead) {\r\n @for (hColumn of configTable.tHead.columns; track $index) {\r\n @if (hColumn.fieldOrder) {\r\n <th\r\n scope=\"col\"\r\n [tabindex]=\"hColumn.fieldOrder ? 0 : null\"\r\n [attr.aria-sort]=\"\r\n !(hColumn.fieldOrder === configTable.tPagination.order)\r\n ? null\r\n : configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc\r\n ? 'ascending'\r\n : 'descending'\r\n \"\r\n [ngClass]=\"{\r\n 'frg-sorting': hColumn.fieldOrder,\r\n 'frg-sorting-asc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc &&\r\n hColumn.fieldOrder === configTable.tPagination.order,\r\n 'frg-sorting-desc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.desc &&\r\n hColumn.fieldOrder === configTable.tPagination.order\r\n }\"\r\n (click)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n (keydown.enter)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n >\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n } @else {\r\n <th scope=\"col\">\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n }\r\n }\r\n }\r\n <!--End Sort-->\r\n @if (configTable.tHead.action) {\r\n <th\r\n scope=\"col\"\r\n [ngClass]=\"configTable.tHead.action.customClass ?? ''\"\r\n >\r\n {{ configTable.tHead.action.label }}\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n }\r\n <tbody>\r\n @for (item of configTable.tBody.data; let i = $index; track $index) {\r\n <tr\r\n [attr.id]=\"i === 0 ? idFirstTr : null\"\r\n [ngClass]=\"\r\n configTable.tBody.rowClick?.behaviourAction?.clickEvent\r\n ? 'cursor-pointer'\r\n : ''\r\n \"\r\n [routerLink]=\"\r\n configTable.tBody.rowClick?.disabled &&\r\n configTable.tBody.rowClick?.disabled(item)\r\n ? null\r\n : configTable.tBody.rowClick?.behaviourAction?.link\r\n ? [\r\n configTable.tBody.rowClick?.behaviourAction?.link\r\n ? configTable.tBody.rowClick?.behaviourAction?.link\r\n : './',\r\n configTable.tBody.rowClick?.behaviourAction\r\n ?.customParamsLink ||\r\n (item | fieldArrayPosition: configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (click)=\"handleRowClick($event, item)\"\r\n (keyup.enter)=\"handleRowClick($event, item)\"\r\n (keydown)=\"handleRowClick($event, item)\"\r\n >\r\n @for (column of configTable.tBody.columns; let i = $index; track $index) {\r\n <td>\r\n <div [ngClass]=\"column.customClass\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"\r\n (column.cells | typeOfArray) ? cellForTpl : cellTpl\r\n \"\r\n [ngTemplateOutletContext]=\"{\r\n cells: column.cells,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n </div>\r\n </td>\r\n }\r\n @if (configTable.tBody.action ?? false) {\r\n <td\r\n class=\"table-action\"\r\n [ngClass]=\"configTable.tBody.action?.customClasses ?? ''\"\r\n >\r\n @for (act of configTable.tBody.action?.buttons ?? []; track $index) {\r\n @if (act.visible && act.visible(item) ? true : null) {\r\n <frg-button\r\n [ariaLabel]=\"act.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"act.iconClass ? act.iconClass(item) : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n act.tooltip &&\r\n act.tooltip.apply &&\r\n act.visible &&\r\n act.visible(item)\r\n ? act.tooltip.apply\r\n : true,\r\n text:\r\n act.tooltip && act.tooltip.text\r\n ? act.tooltip.text(item)\r\n : '',\r\n textContent:\r\n act.tooltip && act.tooltip.textContent\r\n ? act.tooltip.textContent(item)\r\n : '',\r\n position:\r\n act.tooltip && act.tooltip.position\r\n ? act.tooltip.position\r\n : 'top',\r\n gap: act.tooltip && act.tooltip.gap ? act.tooltip.gap : 0\r\n }\"\r\n [disabled]=\"act.disabled ? act.disabled(item) : null\"\r\n [buttonRouterLink]=\"\r\n act.disabled && act.disabled(item)\r\n ? null\r\n : act.behaviourAction.link\r\n ? [\r\n act.behaviourAction.link\r\n ? act.behaviourAction.link\r\n : './',\r\n act.behaviourAction.customParamsLink ||\r\n (item\r\n | fieldArrayPosition\r\n : configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (clickEvent)=\"\r\n act.behaviourAction.clickEvent\r\n ? act.behaviourAction.clickEvent(item)\r\n : null\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n @if (configTable.tPagination) {\r\n <frg-small-pagination\r\n [hasElipsisPages]=\"configTable.tPagination.hasElipsisPages ?? false\"\r\n [pageSize]=\"configTable.tPagination.pageSize ?? 10\"\r\n [page]=\"configTable.tPagination.page ?? 0\"\r\n [totalItems]=\"configTable.tPagination.fullData?.length ?? 0\"\r\n [fullData]=\"configTable.tPagination.fullData ?? []\"\r\n [styleType]=\"styleType\"\r\n (pageChange)=\"updateCurrentPage($event)\"\r\n ></frg-small-pagination>\r\n }\r\n} @else {\r\n <div class=\"d-flex justify-content-center my-4\">\r\n <div class=\"text-center\">No Elements</div>\r\n </div>\r\n}\r\n\r\n<ng-template #cellForTpl let-cells=\"cells\" let-item=\"item\">\r\n @for (cell of $any(cells); track $index) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"cellTpl\"\r\n [ngTemplateOutletContext]=\"{\r\n cell: cell,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n <br />\r\n }\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-cell=\"cells\" let-item=\"item\">\r\n @if (!cell.fieldPipe) {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\">\r\n {{ item | fieldArrayPosition: cell.fieldArrayPosition }}\r\n </span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n } @else {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span\r\n [innerHtml]=\"\r\n item\r\n | fieldArrayPosition: cell.fieldArrayPosition\r\n | dynamicPipe: cell.fieldPipe.type : cell.fieldPipe.args\r\n | safeHtml\r\n \"\r\n [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\"\r\n ></span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n</ng-template>\r\n", styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/resources/fonts/OpenSans/OpenSans-VariableFont_wdth_wght.ttf) format(\"truetype\")}@font-face{font-family:Open Sans;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/resources/fonts/OpenSans/OpenSans-Italic-VariableFont_wdth_wght.ttf) format(\"truetype\")}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Thin.ttf) format(\"truetype\");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-ThinItalic.ttf) format(\"truetype\");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Light.ttf) format(\"truetype\");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-LightItalic.ttf) format(\"truetype\");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Regular.ttf) format(\"truetype\");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Italic.ttf) format(\"truetype\");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Medium.ttf) format(\"truetype\");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-MediumItalic.ttf) format(\"truetype\");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Bold.ttf) format(\"truetype\");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-BoldItalic.ttf) format(\"truetype\");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-Black.ttf) format(\"truetype\");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/assets/resources/fonts/Roboto/Roboto-BlackItalic.ttf) format(\"truetype\");font-weight:900;font-style:italic;font-display:swap}.frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:frg-opensans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}.frg-filter label,.frg-search label{display:block;font-size:.875rem;font-weight:400;margin-bottom:.5rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";text-transform:uppercase;letter-spacing:.05rem}.frg-filter input,.frg-search input{display:block;width:100%;padding:10px;font-size:1rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";line-height:1.5;color:#3d3d3d;background-color:#fdfdfd;background-clip:padding-box;border:1px solid rgb(184.7584745763,185.9194915254,188.2415254237);border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.frg-filter input::placeholder,.frg-search input::placeholder{color:#737579;opacity:1}.frg-filter input:focus,.frg-search input:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;box-shadow:0 0 0 .2rem #2e6ea640}.frg-filter input.is-invalid,.frg-search input.is-invalid{border-color:#d66a6a;padding-right:calc(10px + 2rem);background-image:url(data:image/svg+xml,\\ ...);background-repeat:no-repeat;background-position:center right 5px;background-size:6.6666666667px 6.6666666667px}.frg-filter input.is-invalid:focus,.frg-search input.is-invalid:focus{border-color:#d66a6a;box-shadow:0 0 0 .2rem #da1e2840}.frg-filter input:disabled,.frg-search input:disabled{background-color:#bfbfbf;border-color:#737579}.frg-table-responsive{border:1px solid #e6e9ef;border-radius:.25rem;overflow:hidden;background-color:#fdfdfd}frg-title-bar+.frg-table-responsive{border-top:none;border-radius:0 0 .25rem .25rem}.frg-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem;background-color:#fdfdfd}.frg-table-responsive{border-radius:0 0 .25rem .25rem;border:1px solid #e6e9ef;overflow:hidden;background-color:#fdfdfd}.frg-table td,.frg-table th{text-align:left;padding:.75rem .9rem;border-bottom:1px solid #e6e9ef;vertical-align:middle}.frg-table--row-small td,.frg-table--row-small th{padding:.35rem .6rem}.frg-table--row-medium td,.frg-table--row-medium th{padding:.75rem .9rem}.frg-table--row-large td,.frg-table--row-large th{padding:1rem 1.2rem}.frg-table thead th{background-color:#edf0f6;font-weight:600;color:#1f252e;letter-spacing:.01em;border-bottom:1px solid #e6e9ef}.frg-table tbody tr{transition:background-color .18s ease}.frg-table tbody tr:hover{background-color:#f1f4f9}.frg-table .frg-sorting{position:relative;cursor:pointer;padding-right:1.4rem}.frg-table .frg-sorting:before,.frg-table .frg-sorting:after{content:\"\";position:absolute;right:.65rem;border-left:4px solid transparent;border-right:4px solid transparent;opacity:.5}.frg-table .frg-sorting:before{top:calc(50% - 6px);border-bottom:5px solid currentColor}.frg-table .frg-sorting:after{top:calc(50% + 2px);border-top:5px solid currentColor}.frg-table .frg-sorting-asc:after{opacity:.5}.frg-table .frg-sorting-asc:before{opacity:1}.frg-table .frg-sorting-desc:before{opacity:.5}.frg-table .frg-sorting-desc:after{opacity:1}.frg-table__primary{overflow:hidden}.frg-table__primary thead th,.frg-table__primary.frg-table thead th{background-color:#83b5de;color:#fdfdfd;border-bottom-color:#a1c6e6}.frg-table__primary tbody tr:hover{background-color:#e8f0f8}.frg-table__secondary{overflow:hidden}.frg-table__secondary thead th,.frg-table__secondary.frg-table thead th{background-color:#e9cd8e;color:#fdfdfd;border-bottom-color:#efd9a9}.frg-table__secondary tbody tr:hover{background-color:#faf5e9}.frg-table__tertiary{overflow:hidden}.frg-table__tertiary thead th,.frg-table__tertiary.frg-table thead th{background-color:#de91c7;color:#fdfdfd;border-bottom-color:#e6abd4}.frg-table__tertiary tbody tr:hover{background-color:#f8eaf3}.frg-table__dark{background-color:#3d3d3d;color:#fdfdfd}.frg-table__dark td,.frg-table__dark th{border-bottom-color:#fdfdfd1f}.frg-table__dark thead th{background-color:#505050;color:#fdfdfd;border-bottom-color:#fdfdfd29}.frg-table__dark tbody tr:hover{background-color:#4d4d4d}.frg-table__light,.frg-table__light thead th{background-color:#fdfdfd;color:#3d3d3d}.frg-table__light tbody tr:hover{background-color:#f1f4f9}@media screen and (max-width: 768px){.frg-table-responsive{overflow:auto}}\n"] }]
2356
+ ], template: "@if (configTable.tTitleBar?.title) {\r\n <frg-title-bar\r\n [title]=\"configTable.tTitleBar?.title ?? ''\"\r\n [styleType]=\"styleType\"\r\n ></frg-title-bar>\r\n}\r\n@if (configTable.tBody.data && configTable.tBody.data.length > 0) {\r\n <div class=\"frg-table-responsive\">\r\n <table\r\n class=\"frg-table\"\r\n id=\"table1\"\r\n [ngClass]=\"{\r\n 'frg-table__primary': styleType === 'primary',\r\n 'frg-table__secondary': styleType === 'secondary',\r\n 'frg-table__tertiary': styleType === 'tertiary',\r\n 'frg-table__dark': styleType === 'dark',\r\n 'frg-table__light': styleType === 'light',\r\n 'frg-table--row-small': rowSize === 'small',\r\n 'frg-table--row-medium': rowSize === 'medium',\r\n 'frg-table--row-large': rowSize === 'large'\r\n }\"\r\n >\r\n @if (configTable.tCaption && configTable.tCaption.srOnly) {\r\n <caption class=\"frg-visually-hidden\">\r\n {{ configTable.tCaption.srOnly }}\r\n </caption>\r\n }\r\n @if (configTable.tHead.columns.length > 0) {\r\n <thead #tableHead>\r\n <tr>\r\n <!--Sort-->\r\n @if (configTable.tHead) {\r\n @for (hColumn of configTable.tHead.columns; track $index) {\r\n @if (hColumn.fieldOrder) {\r\n <th\r\n scope=\"col\"\r\n [tabindex]=\"hColumn.fieldOrder ? 0 : null\"\r\n [attr.aria-sort]=\"\r\n !(hColumn.fieldOrder === configTable.tPagination.order)\r\n ? null\r\n : configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc\r\n ? 'ascending'\r\n : 'descending'\r\n \"\r\n [ngClass]=\"{\r\n 'frg-sorting': hColumn.fieldOrder,\r\n 'frg-sorting-asc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc &&\r\n hColumn.fieldOrder === configTable.tPagination.order,\r\n 'frg-sorting-desc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.desc &&\r\n hColumn.fieldOrder === configTable.tPagination.order\r\n }\"\r\n (click)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n (keydown.enter)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n >\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n } @else {\r\n <th scope=\"col\">\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n }\r\n }\r\n }\r\n <!--End Sort-->\r\n @if (configTable.tHead.action) {\r\n <th\r\n scope=\"col\"\r\n [ngClass]=\"configTable.tHead.action.customClass ?? ''\"\r\n >\r\n {{ configTable.tHead.action.label }}\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n }\r\n <tbody>\r\n @for (item of configTable.tBody.data; let i = $index; track $index) {\r\n <tr\r\n [attr.id]=\"i === 0 ? idFirstTr : null\"\r\n [ngClass]=\"\r\n configTable.tBody.rowClick?.behaviourAction?.clickEvent\r\n ? 'cursor-pointer'\r\n : ''\r\n \"\r\n [routerLink]=\"\r\n configTable.tBody.rowClick?.disabled &&\r\n configTable.tBody.rowClick?.disabled(item)\r\n ? null\r\n : configTable.tBody.rowClick?.behaviourAction?.link\r\n ? [\r\n configTable.tBody.rowClick?.behaviourAction?.link\r\n ? configTable.tBody.rowClick?.behaviourAction?.link\r\n : './',\r\n configTable.tBody.rowClick?.behaviourAction\r\n ?.customParamsLink ||\r\n (item | fieldArrayPosition: configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (click)=\"handleRowClick($event, item)\"\r\n (keyup.enter)=\"handleRowClick($event, item)\"\r\n (keydown)=\"handleRowClick($event, item)\"\r\n >\r\n @for (column of configTable.tBody.columns; let i = $index; track $index) {\r\n <td>\r\n <div [ngClass]=\"column.customClass\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"\r\n (column.cells | typeOfArray) ? cellForTpl : cellTpl\r\n \"\r\n [ngTemplateOutletContext]=\"{\r\n cells: column.cells,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n </div>\r\n </td>\r\n }\r\n @if (configTable.tBody.action ?? false) {\r\n <td\r\n class=\"table-action\"\r\n [ngClass]=\"configTable.tBody.action?.customClasses ?? ''\"\r\n >\r\n @for (act of configTable.tBody.action?.buttons ?? []; track $index) {\r\n @if (act.visible && act.visible(item) ? true : null) {\r\n <frg-button\r\n [ariaLabel]=\"act.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"act.iconClass ? act.iconClass(item) : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n act.tooltip &&\r\n act.tooltip.apply &&\r\n act.visible &&\r\n act.visible(item)\r\n ? act.tooltip.apply\r\n : true,\r\n text:\r\n act.tooltip && act.tooltip.text\r\n ? act.tooltip.text(item)\r\n : '',\r\n textContent:\r\n act.tooltip && act.tooltip.textContent\r\n ? act.tooltip.textContent(item)\r\n : '',\r\n position:\r\n act.tooltip && act.tooltip.position\r\n ? act.tooltip.position\r\n : 'top',\r\n gap: act.tooltip && act.tooltip.gap ? act.tooltip.gap : 0\r\n }\"\r\n [disabled]=\"act.disabled ? act.disabled(item) : null\"\r\n [buttonRouterLink]=\"\r\n act.disabled && act.disabled(item)\r\n ? null\r\n : act.behaviourAction.link\r\n ? [\r\n act.behaviourAction.link\r\n ? act.behaviourAction.link\r\n : './',\r\n act.behaviourAction.customParamsLink ||\r\n (item\r\n | fieldArrayPosition\r\n : configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (clickEvent)=\"\r\n act.behaviourAction.clickEvent\r\n ? act.behaviourAction.clickEvent(item)\r\n : null\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n @if (configTable.tPagination) {\r\n <frg-small-pagination\r\n [hasElipsisPages]=\"configTable.tPagination.hasElipsisPages ?? false\"\r\n [pageSize]=\"configTable.tPagination.pageSize ?? 10\"\r\n [page]=\"configTable.tPagination.page ?? 0\"\r\n [totalItems]=\"configTable.tPagination.fullData?.length ?? 0\"\r\n [fullData]=\"configTable.tPagination.fullData ?? []\"\r\n [styleType]=\"styleType\"\r\n (pageChange)=\"updateCurrentPage($event)\"\r\n ></frg-small-pagination>\r\n }\r\n} @else {\r\n <div class=\"d-flex justify-content-center my-4\">\r\n <div class=\"text-center\">No Elements</div>\r\n </div>\r\n}\r\n\r\n<ng-template #cellForTpl let-cells=\"cells\" let-item=\"item\">\r\n @for (cell of $any(cells); track $index) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"cellTpl\"\r\n [ngTemplateOutletContext]=\"{\r\n cell: cell,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n <br />\r\n }\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-cell=\"cells\" let-item=\"item\">\r\n @if (!cell.fieldPipe) {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\">\r\n {{ item | fieldArrayPosition: cell.fieldArrayPosition }}\r\n </span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n } @else {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span\r\n [innerHtml]=\"\r\n item\r\n | fieldArrayPosition: cell.fieldArrayPosition\r\n | dynamicPipe: cell.fieldPipe.type : cell.fieldPipe.args\r\n | safeHtml\r\n \"\r\n [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\"\r\n ></span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n</ng-template>\r\n", styles: [".frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:Open Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}.frg-filter label,.frg-search label{display:block;font-size:.875rem;font-weight:400;margin-bottom:.5rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";text-transform:uppercase;letter-spacing:.05rem}.frg-filter input,.frg-search input{display:block;width:100%;padding:10px;font-size:1rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";line-height:1.5;color:#3d3d3d;background-color:#fdfdfd;background-clip:padding-box;border:1px solid rgb(184.7584745763,185.9194915254,188.2415254237);border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.frg-filter input::placeholder,.frg-search input::placeholder{color:#737579;opacity:1}.frg-filter input:focus,.frg-search input:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;box-shadow:0 0 0 .2rem #2e6ea640}.frg-filter input.is-invalid,.frg-search input.is-invalid{border-color:#d66a6a;padding-right:calc(10px + 2rem);background-image:url(data:image/svg+xml,\\ ...);background-repeat:no-repeat;background-position:center right 5px;background-size:6.6666666667px 6.6666666667px}.frg-filter input.is-invalid:focus,.frg-search input.is-invalid:focus{border-color:#d66a6a;box-shadow:0 0 0 .2rem #da1e2840}.frg-filter input:disabled,.frg-search input:disabled{background-color:#bfbfbf;border-color:#737579}.frg-table-responsive{border:1px solid #e6e9ef;border-radius:.25rem;overflow:hidden;background-color:#fdfdfd}frg-title-bar+.frg-table-responsive{border-top:none;border-radius:0 0 .25rem .25rem}.frg-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem;background-color:#fdfdfd}.frg-table-responsive{border-radius:0 0 .25rem .25rem;border:1px solid #e6e9ef;overflow:hidden;background-color:#fdfdfd}.frg-table td,.frg-table th{text-align:left;padding:.75rem .9rem;border-bottom:1px solid #e6e9ef;vertical-align:middle}.frg-table--row-small td,.frg-table--row-small th{padding:.35rem .6rem}.frg-table--row-medium td,.frg-table--row-medium th{padding:.75rem .9rem}.frg-table--row-large td,.frg-table--row-large th{padding:1rem 1.2rem}.frg-table thead th{background-color:#edf0f6;font-weight:600;color:#1f252e;letter-spacing:.01em;border-bottom:1px solid #e6e9ef}.frg-table tbody tr{transition:background-color .18s ease}.frg-table tbody tr:hover{background-color:#f1f4f9}.frg-table .frg-sorting{position:relative;cursor:pointer;padding-right:1.4rem}.frg-table .frg-sorting:before,.frg-table .frg-sorting:after{content:\"\";position:absolute;right:.65rem;border-left:4px solid transparent;border-right:4px solid transparent;opacity:.5}.frg-table .frg-sorting:before{top:calc(50% - 6px);border-bottom:5px solid currentColor}.frg-table .frg-sorting:after{top:calc(50% + 2px);border-top:5px solid currentColor}.frg-table .frg-sorting-asc:after{opacity:.5}.frg-table .frg-sorting-asc:before{opacity:1}.frg-table .frg-sorting-desc:before{opacity:.5}.frg-table .frg-sorting-desc:after{opacity:1}.frg-table__primary{overflow:hidden}.frg-table__primary thead th,.frg-table__primary.frg-table thead th{background-color:#83b5de;color:#fdfdfd;border-bottom-color:#a1c6e6}.frg-table__primary tbody tr:hover{background-color:#e8f0f8}.frg-table__secondary{overflow:hidden}.frg-table__secondary thead th,.frg-table__secondary.frg-table thead th{background-color:#e9cd8e;color:#fdfdfd;border-bottom-color:#efd9a9}.frg-table__secondary tbody tr:hover{background-color:#faf5e9}.frg-table__tertiary{overflow:hidden}.frg-table__tertiary thead th,.frg-table__tertiary.frg-table thead th{background-color:#de91c7;color:#fdfdfd;border-bottom-color:#e6abd4}.frg-table__tertiary tbody tr:hover{background-color:#f8eaf3}.frg-table__dark{background-color:#3d3d3d;color:#fdfdfd}.frg-table__dark td,.frg-table__dark th{border-bottom-color:#fdfdfd1f}.frg-table__dark thead th{background-color:#505050;color:#fdfdfd;border-bottom-color:#fdfdfd29}.frg-table__dark tbody tr:hover{background-color:#4d4d4d}.frg-table__light,.frg-table__light thead th{background-color:#fdfdfd;color:#3d3d3d}.frg-table__light tbody tr:hover{background-color:#f1f4f9}@media screen and (max-width: 768px){.frg-table-responsive{overflow:auto}}\n"] }]
2371
2357
  }], propDecorators: { configTable: [{
2372
2358
  type: Input
2373
2359
  }], styleType: [{
@@ -4637,11 +4623,11 @@ class InputCalendarComponent {
4637
4623
  this.hasYearSelectionOpen$.next(false);
4638
4624
  }
4639
4625
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: InputCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4640
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: InputCalendarComponent, isStandalone: true, selector: "frg-input-calendar", inputs: { minDate: "minDate", maxDate: "maxDate", selectedValue: "selectedValue" }, outputs: { selectDate: "selectDate", handleMaxDate: "handleMaxDate", handleMinDate: "handleMinDate" }, ngImport: i0, template: "<div class=\"frg-calendar\" tabindex=\"-1\">\r\n <div class=\"frg-calendar__head\">\r\n <button class=\"frg__\" href=\"javascript:void(0);\" (click)=\"changeMonth(currentMonth - 1)\">\r\n <span class=\"visually-hidden\">Previous Page</span>\r\n <span class=\"fas fa-angle-left\" aria-hidden=\"true\"></span>\r\n </button>\r\n <button class=\"frg-calendar__month\" (click)=\"openMonthSelection()\">\r\n {{month}}\r\n </button>\r\n @if((hasMonthSelectionOpen$ | async)){\r\n <div class=\"frg-date-selection\">\r\n <div class=\"frg-date-selection__month\">\r\n <ul class=\"frg-date-selection__month__list\">\r\n @for(month of months; let i = $index; track $index){\r\n <li class=\"frg-date-selection__month__item-list\"\r\n [class.selected-month]=\"isSelectedYearOrMonth(i + 1, currentMonth)\"\r\n >\r\n <button (click)=\"selectMonth($event, i + 1)\">\r\n {{month}} \r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n <button class=\"frg-calendar__year\" (click)=\"openYearSelection()\">\r\n {{year}}\r\n </button>\r\n @if((hasYearSelectionOpen$ | async)){\r\n <div class=\"frg-date-selection\">\r\n <div class=\"frg-date-selection__year\">\r\n <ul class=\"frg-date-selection__year__list\">\r\n @for(year of years; track $index){\r\n <li class=\"frg-date-selection__year__item-list\"\r\n [class.selected-year]=\"isSelectedYearOrMonth(year, currentYear)\"\r\n >\r\n <button (click)=\"selectYear($event, year)\">\r\n {{year}}\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n <button href=\"javascript:void(0);\" (click)=\"changeMonth(currentMonth + 1)\">\r\n <span class=\"visually-hidden\">Next Page</span>\r\n <span class=\"fas fa-angle-right\" aria-hidden=\"true\"></span>\r\n </button>\r\n </div>\r\n <div class=\"frg-calendar__body\">\r\n <div class=\"frg-calendar__week-day\">\r\n @for (dayName of weekDays; track $index) {\r\n <span>{{dayName}}</span>\r\n }\r\n </div>\r\n @for (week of calendarDays | chunk:7; track $index) {\r\n <div class=\"frg-calendar__week\">\r\n @for (day of week; track $index){\r\n <span class=\"frg-calendar__day\"\r\n [class.other-month]=\"day.getMonth() !== currentMonth - 1\"\r\n [class.current-date]=\"isToday(day)\"\r\n [class.selected-date]=\"isSelected(day, selectedValue)\"\r\n [class.disabled-date]=\"isDisabled(day)\"\r\n >\r\n <button type=\"button\" class=\"frg-calendar__day-button\"\r\n (click)=\"onSelectDate($event, day)\">\r\n {{ day.getDate() }}\r\n </button>\r\n </span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [":host{display:block}:host .frg-calendar{display:grid;background-color:#fdfdfd;color:#5e5f62;box-shadow:0 4px 6px #0000000f,0 2px 4px #0000001a;border-radius:.2rem;padding:.5rem;margin-top:.3rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}:host .frg-calendar__head{display:inline-flex;position:relative;align-items:center;justify-content:space-between}:host .frg-calendar__head button{background:transparent;border:none;color:#5e5f62;padding:.25rem}:host .frg-calendar__head button:hover{background:#4c7aae;color:#fdfdfd}:host .frg-calendar__body{display:flex;flex-direction:column;gap:.25rem}:host .frg-calendar__week-day{padding:.25rem 0;font-size:.75rem;text-align:center}:host .frg-calendar__week,:host .frg-calendar__week-day{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}:host .frg-calendar__day{display:flex;justify-content:center;align-items:center;min-height:2rem}:host .frg-calendar__day:hover{background-color:#6ea8d9;color:#fdfdfd;cursor:pointer}:host .frg-calendar__day.current-date{background-color:#b3d1f0;color:#fdfdfd;text-decoration:underline}:host .frg-calendar__day.other-month{opacity:.5}:host .frg-calendar__day.selected-date{background-color:#6ea8d9;color:#fdfdfd}:host .frg-calendar__day.disabled-date,:host .frg-calendar__day.disabled-date button{text-decoration:line-through;pointer-events:none}:host .frg-calendar__day.disabled-date:hover,:host .frg-calendar__day.disabled-date button:hover,:host .frg-calendar__day.disabled-date button button:hover{cursor:not-allowed}:host .frg-calendar__day-button{background:inherit;color:inherit;border:none}:host .frg-date-selection{position:absolute;overflow-y:scroll;max-height:250px;right:1rem;top:2rem;border-radius:.1rem;background:#fdfdfd;box-shadow:0 1px 2px #00000014,0 1px 3px #0000001f;z-index:1;scrollbar-width:thin;scrollbar-color:#6ea8d9 transparent}:host .frg-date-selection__year__list{list-style:none;padding:0}:host .frg-date-selection__year__item-list button{padding:.5rem 1rem;width:100%}:host .frg-date-selection__year__item-list button:hover{background-color:#b3d1f0;color:#fdfdfd;cursor:pointer}:host .frg-date-selection__year__item-list.selected-year{background-color:#6ea8d9;color:#fdfdfd}:host .frg-date-selection__year__item-list.selected-year button{color:#fdfdfd}:host .frg-date-selection__month__list{list-style:none;padding:0}:host .frg-date-selection__month__item-list button{padding:.5rem 1rem;width:100%}:host .frg-date-selection__month__item-list button:hover{background-color:#6ea8d9;color:#fdfdfd;cursor:pointer}:host .frg-date-selection__month__item-list.selected-month{background-color:#6ea8d9;color:#fdfdfd}:host .frg-date-selection__month__item-list.selected-month button{color:#fdfdfd}\n"], dependencies: [{ kind: "pipe", type: ChunkPipe, name: "chunk" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
4626
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: InputCalendarComponent, isStandalone: true, selector: "frg-input-calendar", inputs: { minDate: "minDate", maxDate: "maxDate", selectedValue: "selectedValue" }, outputs: { selectDate: "selectDate", handleMaxDate: "handleMaxDate", handleMinDate: "handleMinDate" }, ngImport: i0, template: "<div class=\"frg-calendar\" tabindex=\"-1\">\r\n <div class=\"frg-calendar__head\">\r\n <button class=\"frg__\" href=\"javascript:void(0);\" (click)=\"changeMonth(currentMonth - 1)\">\r\n <span class=\"frg-visually-hidden\">Previous Page</span>\r\n <span class=\"fas fa-angle-left\" aria-hidden=\"true\"></span>\r\n </button>\r\n <button class=\"frg-calendar__month\" (click)=\"openMonthSelection()\">\r\n {{month}}\r\n </button>\r\n @if((hasMonthSelectionOpen$ | async)){\r\n <div class=\"frg-date-selection\">\r\n <div class=\"frg-date-selection__month\">\r\n <ul class=\"frg-date-selection__month__list\">\r\n @for(month of months; let i = $index; track $index){\r\n <li class=\"frg-date-selection__month__item-list\"\r\n [class.selected-month]=\"isSelectedYearOrMonth(i + 1, currentMonth)\"\r\n >\r\n <button (click)=\"selectMonth($event, i + 1)\">\r\n {{month}} \r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n <button class=\"frg-calendar__year\" (click)=\"openYearSelection()\">\r\n {{year}}\r\n </button>\r\n @if((hasYearSelectionOpen$ | async)){\r\n <div class=\"frg-date-selection\">\r\n <div class=\"frg-date-selection__year\">\r\n <ul class=\"frg-date-selection__year__list\">\r\n @for(year of years; track $index){\r\n <li class=\"frg-date-selection__year__item-list\"\r\n [class.selected-year]=\"isSelectedYearOrMonth(year, currentYear)\"\r\n >\r\n <button (click)=\"selectYear($event, year)\">\r\n {{year}}\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n <button href=\"javascript:void(0);\" (click)=\"changeMonth(currentMonth + 1)\">\r\n <span class=\"frg-visually-hidden\">Next Page</span>\r\n <span class=\"fas fa-angle-right\" aria-hidden=\"true\"></span>\r\n </button>\r\n </div>\r\n <div class=\"frg-calendar__body\">\r\n <div class=\"frg-calendar__week-day\">\r\n @for (dayName of weekDays; track $index) {\r\n <span>{{dayName}}</span>\r\n }\r\n </div>\r\n @for (week of calendarDays | chunk:7; track $index) {\r\n <div class=\"frg-calendar__week\">\r\n @for (day of week; track $index){\r\n <span class=\"frg-calendar__day\"\r\n [class.other-month]=\"day.getMonth() !== currentMonth - 1\"\r\n [class.current-date]=\"isToday(day)\"\r\n [class.selected-date]=\"isSelected(day, selectedValue)\"\r\n [class.disabled-date]=\"isDisabled(day)\"\r\n >\r\n <button type=\"button\" class=\"frg-calendar__day-button\"\r\n (click)=\"onSelectDate($event, day)\">\r\n {{ day.getDate() }}\r\n </button>\r\n </span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [":host{display:block}:host .frg-calendar{display:grid;background-color:#fdfdfd;color:#5e5f62;box-shadow:0 4px 6px #0000000f,0 2px 4px #0000001a;border-radius:.2rem;padding:.5rem;margin-top:.3rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}:host .frg-calendar__head{display:inline-flex;position:relative;align-items:center;justify-content:space-between}:host .frg-calendar__head button{background:transparent;border:none;color:#5e5f62;padding:.25rem}:host .frg-calendar__head button:hover{background:#4c7aae;color:#fdfdfd}:host .frg-calendar__body{display:flex;flex-direction:column;gap:.25rem}:host .frg-calendar__week-day{padding:.25rem 0;font-size:.75rem;text-align:center}:host .frg-calendar__week,:host .frg-calendar__week-day{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}:host .frg-calendar__day{display:flex;justify-content:center;align-items:center;min-height:2rem}:host .frg-calendar__day:hover{background-color:#6ea8d9;color:#fdfdfd;cursor:pointer}:host .frg-calendar__day.current-date{background-color:#b3d1f0;color:#fdfdfd;text-decoration:underline}:host .frg-calendar__day.other-month{opacity:.5}:host .frg-calendar__day.selected-date{background-color:#6ea8d9;color:#fdfdfd}:host .frg-calendar__day.disabled-date,:host .frg-calendar__day.disabled-date button{text-decoration:line-through;pointer-events:none}:host .frg-calendar__day.disabled-date:hover,:host .frg-calendar__day.disabled-date button:hover,:host .frg-calendar__day.disabled-date button button:hover{cursor:not-allowed}:host .frg-calendar__day-button{background:inherit;color:inherit;border:none}:host .frg-date-selection{position:absolute;overflow-y:scroll;max-height:250px;right:1rem;top:2rem;border-radius:.1rem;background:#fdfdfd;box-shadow:0 1px 2px #00000014,0 1px 3px #0000001f;z-index:1;scrollbar-width:thin;scrollbar-color:#6ea8d9 transparent}:host .frg-date-selection__year__list{list-style:none;padding:0}:host .frg-date-selection__year__item-list button{padding:.5rem 1rem;width:100%}:host .frg-date-selection__year__item-list button:hover{background-color:#b3d1f0;color:#fdfdfd;cursor:pointer}:host .frg-date-selection__year__item-list.selected-year{background-color:#6ea8d9;color:#fdfdfd}:host .frg-date-selection__year__item-list.selected-year button{color:#fdfdfd}:host .frg-date-selection__month__list{list-style:none;padding:0}:host .frg-date-selection__month__item-list button{padding:.5rem 1rem;width:100%}:host .frg-date-selection__month__item-list button:hover{background-color:#6ea8d9;color:#fdfdfd;cursor:pointer}:host .frg-date-selection__month__item-list.selected-month{background-color:#6ea8d9;color:#fdfdfd}:host .frg-date-selection__month__item-list.selected-month button{color:#fdfdfd}\n"], dependencies: [{ kind: "pipe", type: ChunkPipe, name: "chunk" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
4641
4627
  }
4642
4628
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: InputCalendarComponent, decorators: [{
4643
4629
  type: Component,
4644
- args: [{ selector: 'frg-input-calendar', imports: [ChunkPipe, AsyncPipe], template: "<div class=\"frg-calendar\" tabindex=\"-1\">\r\n <div class=\"frg-calendar__head\">\r\n <button class=\"frg__\" href=\"javascript:void(0);\" (click)=\"changeMonth(currentMonth - 1)\">\r\n <span class=\"visually-hidden\">Previous Page</span>\r\n <span class=\"fas fa-angle-left\" aria-hidden=\"true\"></span>\r\n </button>\r\n <button class=\"frg-calendar__month\" (click)=\"openMonthSelection()\">\r\n {{month}}\r\n </button>\r\n @if((hasMonthSelectionOpen$ | async)){\r\n <div class=\"frg-date-selection\">\r\n <div class=\"frg-date-selection__month\">\r\n <ul class=\"frg-date-selection__month__list\">\r\n @for(month of months; let i = $index; track $index){\r\n <li class=\"frg-date-selection__month__item-list\"\r\n [class.selected-month]=\"isSelectedYearOrMonth(i + 1, currentMonth)\"\r\n >\r\n <button (click)=\"selectMonth($event, i + 1)\">\r\n {{month}} \r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n <button class=\"frg-calendar__year\" (click)=\"openYearSelection()\">\r\n {{year}}\r\n </button>\r\n @if((hasYearSelectionOpen$ | async)){\r\n <div class=\"frg-date-selection\">\r\n <div class=\"frg-date-selection__year\">\r\n <ul class=\"frg-date-selection__year__list\">\r\n @for(year of years; track $index){\r\n <li class=\"frg-date-selection__year__item-list\"\r\n [class.selected-year]=\"isSelectedYearOrMonth(year, currentYear)\"\r\n >\r\n <button (click)=\"selectYear($event, year)\">\r\n {{year}}\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n <button href=\"javascript:void(0);\" (click)=\"changeMonth(currentMonth + 1)\">\r\n <span class=\"visually-hidden\">Next Page</span>\r\n <span class=\"fas fa-angle-right\" aria-hidden=\"true\"></span>\r\n </button>\r\n </div>\r\n <div class=\"frg-calendar__body\">\r\n <div class=\"frg-calendar__week-day\">\r\n @for (dayName of weekDays; track $index) {\r\n <span>{{dayName}}</span>\r\n }\r\n </div>\r\n @for (week of calendarDays | chunk:7; track $index) {\r\n <div class=\"frg-calendar__week\">\r\n @for (day of week; track $index){\r\n <span class=\"frg-calendar__day\"\r\n [class.other-month]=\"day.getMonth() !== currentMonth - 1\"\r\n [class.current-date]=\"isToday(day)\"\r\n [class.selected-date]=\"isSelected(day, selectedValue)\"\r\n [class.disabled-date]=\"isDisabled(day)\"\r\n >\r\n <button type=\"button\" class=\"frg-calendar__day-button\"\r\n (click)=\"onSelectDate($event, day)\">\r\n {{ day.getDate() }}\r\n </button>\r\n </span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [":host{display:block}:host .frg-calendar{display:grid;background-color:#fdfdfd;color:#5e5f62;box-shadow:0 4px 6px #0000000f,0 2px 4px #0000001a;border-radius:.2rem;padding:.5rem;margin-top:.3rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}:host .frg-calendar__head{display:inline-flex;position:relative;align-items:center;justify-content:space-between}:host .frg-calendar__head button{background:transparent;border:none;color:#5e5f62;padding:.25rem}:host .frg-calendar__head button:hover{background:#4c7aae;color:#fdfdfd}:host .frg-calendar__body{display:flex;flex-direction:column;gap:.25rem}:host .frg-calendar__week-day{padding:.25rem 0;font-size:.75rem;text-align:center}:host .frg-calendar__week,:host .frg-calendar__week-day{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}:host .frg-calendar__day{display:flex;justify-content:center;align-items:center;min-height:2rem}:host .frg-calendar__day:hover{background-color:#6ea8d9;color:#fdfdfd;cursor:pointer}:host .frg-calendar__day.current-date{background-color:#b3d1f0;color:#fdfdfd;text-decoration:underline}:host .frg-calendar__day.other-month{opacity:.5}:host .frg-calendar__day.selected-date{background-color:#6ea8d9;color:#fdfdfd}:host .frg-calendar__day.disabled-date,:host .frg-calendar__day.disabled-date button{text-decoration:line-through;pointer-events:none}:host .frg-calendar__day.disabled-date:hover,:host .frg-calendar__day.disabled-date button:hover,:host .frg-calendar__day.disabled-date button button:hover{cursor:not-allowed}:host .frg-calendar__day-button{background:inherit;color:inherit;border:none}:host .frg-date-selection{position:absolute;overflow-y:scroll;max-height:250px;right:1rem;top:2rem;border-radius:.1rem;background:#fdfdfd;box-shadow:0 1px 2px #00000014,0 1px 3px #0000001f;z-index:1;scrollbar-width:thin;scrollbar-color:#6ea8d9 transparent}:host .frg-date-selection__year__list{list-style:none;padding:0}:host .frg-date-selection__year__item-list button{padding:.5rem 1rem;width:100%}:host .frg-date-selection__year__item-list button:hover{background-color:#b3d1f0;color:#fdfdfd;cursor:pointer}:host .frg-date-selection__year__item-list.selected-year{background-color:#6ea8d9;color:#fdfdfd}:host .frg-date-selection__year__item-list.selected-year button{color:#fdfdfd}:host .frg-date-selection__month__list{list-style:none;padding:0}:host .frg-date-selection__month__item-list button{padding:.5rem 1rem;width:100%}:host .frg-date-selection__month__item-list button:hover{background-color:#6ea8d9;color:#fdfdfd;cursor:pointer}:host .frg-date-selection__month__item-list.selected-month{background-color:#6ea8d9;color:#fdfdfd}:host .frg-date-selection__month__item-list.selected-month button{color:#fdfdfd}\n"] }]
4630
+ args: [{ selector: 'frg-input-calendar', imports: [ChunkPipe, AsyncPipe], template: "<div class=\"frg-calendar\" tabindex=\"-1\">\r\n <div class=\"frg-calendar__head\">\r\n <button class=\"frg__\" href=\"javascript:void(0);\" (click)=\"changeMonth(currentMonth - 1)\">\r\n <span class=\"frg-visually-hidden\">Previous Page</span>\r\n <span class=\"fas fa-angle-left\" aria-hidden=\"true\"></span>\r\n </button>\r\n <button class=\"frg-calendar__month\" (click)=\"openMonthSelection()\">\r\n {{month}}\r\n </button>\r\n @if((hasMonthSelectionOpen$ | async)){\r\n <div class=\"frg-date-selection\">\r\n <div class=\"frg-date-selection__month\">\r\n <ul class=\"frg-date-selection__month__list\">\r\n @for(month of months; let i = $index; track $index){\r\n <li class=\"frg-date-selection__month__item-list\"\r\n [class.selected-month]=\"isSelectedYearOrMonth(i + 1, currentMonth)\"\r\n >\r\n <button (click)=\"selectMonth($event, i + 1)\">\r\n {{month}} \r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n <button class=\"frg-calendar__year\" (click)=\"openYearSelection()\">\r\n {{year}}\r\n </button>\r\n @if((hasYearSelectionOpen$ | async)){\r\n <div class=\"frg-date-selection\">\r\n <div class=\"frg-date-selection__year\">\r\n <ul class=\"frg-date-selection__year__list\">\r\n @for(year of years; track $index){\r\n <li class=\"frg-date-selection__year__item-list\"\r\n [class.selected-year]=\"isSelectedYearOrMonth(year, currentYear)\"\r\n >\r\n <button (click)=\"selectYear($event, year)\">\r\n {{year}}\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n <button href=\"javascript:void(0);\" (click)=\"changeMonth(currentMonth + 1)\">\r\n <span class=\"frg-visually-hidden\">Next Page</span>\r\n <span class=\"fas fa-angle-right\" aria-hidden=\"true\"></span>\r\n </button>\r\n </div>\r\n <div class=\"frg-calendar__body\">\r\n <div class=\"frg-calendar__week-day\">\r\n @for (dayName of weekDays; track $index) {\r\n <span>{{dayName}}</span>\r\n }\r\n </div>\r\n @for (week of calendarDays | chunk:7; track $index) {\r\n <div class=\"frg-calendar__week\">\r\n @for (day of week; track $index){\r\n <span class=\"frg-calendar__day\"\r\n [class.other-month]=\"day.getMonth() !== currentMonth - 1\"\r\n [class.current-date]=\"isToday(day)\"\r\n [class.selected-date]=\"isSelected(day, selectedValue)\"\r\n [class.disabled-date]=\"isDisabled(day)\"\r\n >\r\n <button type=\"button\" class=\"frg-calendar__day-button\"\r\n (click)=\"onSelectDate($event, day)\">\r\n {{ day.getDate() }}\r\n </button>\r\n </span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [":host{display:block}:host .frg-calendar{display:grid;background-color:#fdfdfd;color:#5e5f62;box-shadow:0 4px 6px #0000000f,0 2px 4px #0000001a;border-radius:.2rem;padding:.5rem;margin-top:.3rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}:host .frg-calendar__head{display:inline-flex;position:relative;align-items:center;justify-content:space-between}:host .frg-calendar__head button{background:transparent;border:none;color:#5e5f62;padding:.25rem}:host .frg-calendar__head button:hover{background:#4c7aae;color:#fdfdfd}:host .frg-calendar__body{display:flex;flex-direction:column;gap:.25rem}:host .frg-calendar__week-day{padding:.25rem 0;font-size:.75rem;text-align:center}:host .frg-calendar__week,:host .frg-calendar__week-day{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}:host .frg-calendar__day{display:flex;justify-content:center;align-items:center;min-height:2rem}:host .frg-calendar__day:hover{background-color:#6ea8d9;color:#fdfdfd;cursor:pointer}:host .frg-calendar__day.current-date{background-color:#b3d1f0;color:#fdfdfd;text-decoration:underline}:host .frg-calendar__day.other-month{opacity:.5}:host .frg-calendar__day.selected-date{background-color:#6ea8d9;color:#fdfdfd}:host .frg-calendar__day.disabled-date,:host .frg-calendar__day.disabled-date button{text-decoration:line-through;pointer-events:none}:host .frg-calendar__day.disabled-date:hover,:host .frg-calendar__day.disabled-date button:hover,:host .frg-calendar__day.disabled-date button button:hover{cursor:not-allowed}:host .frg-calendar__day-button{background:inherit;color:inherit;border:none}:host .frg-date-selection{position:absolute;overflow-y:scroll;max-height:250px;right:1rem;top:2rem;border-radius:.1rem;background:#fdfdfd;box-shadow:0 1px 2px #00000014,0 1px 3px #0000001f;z-index:1;scrollbar-width:thin;scrollbar-color:#6ea8d9 transparent}:host .frg-date-selection__year__list{list-style:none;padding:0}:host .frg-date-selection__year__item-list button{padding:.5rem 1rem;width:100%}:host .frg-date-selection__year__item-list button:hover{background-color:#b3d1f0;color:#fdfdfd;cursor:pointer}:host .frg-date-selection__year__item-list.selected-year{background-color:#6ea8d9;color:#fdfdfd}:host .frg-date-selection__year__item-list.selected-year button{color:#fdfdfd}:host .frg-date-selection__month__list{list-style:none;padding:0}:host .frg-date-selection__month__item-list button{padding:.5rem 1rem;width:100%}:host .frg-date-selection__month__item-list button:hover{background-color:#6ea8d9;color:#fdfdfd;cursor:pointer}:host .frg-date-selection__month__item-list.selected-month{background-color:#6ea8d9;color:#fdfdfd}:host .frg-date-selection__month__item-list.selected-month button{color:#fdfdfd}\n"] }]
4645
4631
  }], propDecorators: { minDate: [{
4646
4632
  type: Input
4647
4633
  }], maxDate: [{
@@ -8924,5 +8910,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImpor
8924
8910
  * Generated bundle index. Do not edit.
8925
8911
  */
8926
8912
 
8927
- export { AccordionComponent, BlobMorphComponent, BreadcrumbComponent, ButtonComponent, CardComponent, ChipComponent, ChunkPipe, CodeBlockComponent, ContainerComponent, ContentBlurComponent, DividerComponent, DynamicPipe, EnumDirectionSortTable, FieldArrayPositionPipe, FragmentsPopoverDirective, FragmentsTooltipDirective, FrgBadgeDirective, InputCalendarComponent, InputCheckboxComponent, InputCheckboxGroupComponent, InputClockPickerComponent, InputDateComponent, InputDateTimeComponent, InputFileUploadComponent, InputNumberComponent, InputRadioGroupComponent, InputSliderComponent, InputTextComponent, InputTimeComponent, InputToggleSwitchComponent, InputValidationComponent, ModalComponent, MultiSelectComponent, PillComponent, ProgressBarComponent, PulseLoaderComponent, SafeHtmlPipe, SanitizeHtmlPipe, SectionComponent, SelectionListComponent, SeparatorComponent, SideNavComponent, SkeletonLoaderComponent, SmallPaginationComponent, SnackbarComponent, SparkleFieldComponent, SpinnerComponent, StepperComponent, TableComponent, TabsComponent, TagComponent, TitleBarComponent, ToastComponent, ToastStackComponent, TypeOfArrayPipe, generateId, generateNumberId, generateUUID, generateUniqueId, getActivatedRouteChild, getTimestampISO, getTimestampMillis, isObjectEmpty, normalizeNumber, orderList, paginationList, sortTable };
8928
- //# sourceMappingURL=fragments.mjs.map
8913
+ export { AccordionComponent, BlobMorphComponent, BreadcrumbComponent, ButtonComponent, CardComponent, ChipComponent, ChunkPipe, CodeBlockComponent, ContainerComponent, ContentBlurComponent, DividerComponent, DynamicPipe, EnumDirectionSortTable, FieldArrayPositionPipe, FragmentsPopoverDirective, FragmentsTooltipDirective, FrgBadgeDirective, InputCalendarComponent, InputCheckboxComponent, InputCheckboxGroupComponent, InputClockPickerComponent, InputDateComponent, InputDateTimeComponent, InputFileUploadComponent, InputNumberComponent, InputRadioGroupComponent, InputSliderComponent, InputTextComponent, InputTimeComponent, InputToggleSwitchComponent, InputValidationComponent, ModalComponent, MultiSelectComponent, PillComponent, ProgressBarComponent, PulseLoaderComponent, SafeHtmlPipe, SanitizeHtmlPipe, SectionComponent, SelectionListComponent, SeparatorComponent, SideNavComponent, SkeletonLoaderComponent, SmallPaginationComponent, SnackbarComponent, SparkleSectionComponent, SpinnerComponent, StepperComponent, TableComponent, TabsComponent, TagComponent, TitleBarComponent, ToastComponent, ToastStackComponent, TypeOfArrayPipe, generateId, generateNumberId, generateUUID, generateUniqueId, getActivatedRouteChild, getTimestampISO, getTimestampMillis, isObjectEmpty, normalizeNumber, orderList, paginationList, sortTable };
8914
+ //# sourceMappingURL=tacdaed-fragments.mjs.map