@lesterarte/sefin-ui 0.0.47 → 0.0.49

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.
@@ -790,11 +790,11 @@ class IconComponent {
790
790
  return transforms.length > 0 ? transforms.join(' ') : '';
791
791
  }
792
792
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IconComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
793
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: IconComponent, isStandalone: true, selector: "sefin-icon", inputs: { name: "name", size: "size", color: "color", rotate: "rotate", flipH: "flipH", flipV: "flipV", class: "class" }, ngImport: i0, template: "<span\n [class]=\"iconClasses\"\n [attr.aria-hidden]=\"true\"\n role=\"img\"\n style=\"display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 100%;\"\n>\n <span [innerHTML]=\"iconSvgHtml\" style=\"display: inline-block; width: 100%; height: 100%;\"></span>\n</span>\n\n", styles: [".sefin-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle;box-sizing:border-box;color:currentColor;line-height:1}.sefin-icon--xs{width:12px;height:12px;font-size:12px}.sefin-icon--xs ::ng-deep svg{width:12px;height:12px}.sefin-icon--sm{width:16px;height:16px;font-size:16px}.sefin-icon--sm ::ng-deep svg{width:16px;height:16px}.sefin-icon--md{width:24px;height:24px;font-size:24px}.sefin-icon--md ::ng-deep svg{width:24px;height:24px}.sefin-icon--lg{width:32px;height:32px;font-size:32px}.sefin-icon--lg ::ng-deep svg{width:32px;height:32px}.sefin-icon--xl{width:48px;height:48px;font-size:48px}.sefin-icon--xl ::ng-deep svg{width:48px;height:48px}.sefin-icon--rotate{transform:rotate(180deg)}.sefin-icon--flip-h{transform:scaleX(-1)}.sefin-icon--flip-v{transform:scaleY(-1)}.sefin-icon--flip-h.sefin-icon--flip-v{transform:scale(-1)}.sefin-icon ::ng-deep svg{display:block!important;width:100%!important;height:100%!important;max-width:100%;max-height:100%}.sefin-icon>*{display:inline-block;width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
793
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: IconComponent, isStandalone: true, selector: "sefin-icon", inputs: { name: "name", size: "size", color: "color", rotate: "rotate", flipH: "flipH", flipV: "flipV", class: "class" }, ngImport: i0, template: "<span\n [class]=\"iconClasses\"\n [attr.aria-hidden]=\"true\"\n role=\"img\"\n style=\"display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 100%;\"\n>\n <span [innerHTML]=\"iconSvgHtml\" style=\"display: inline-block; width: 100%; height: 100%;\"></span>\n</span>\n\n", styles: [".sefin-icon{display:flex;align-items:center;justify-content:center;width:100%;flex-shrink:0;vertical-align:middle;box-sizing:border-box;color:currentColor;line-height:1}.sefin-icon--xs{width:12px;height:12px;font-size:12px}.sefin-icon--xs ::ng-deep svg{width:12px;height:12px}.sefin-icon--sm{width:16px;height:16px;font-size:16px}.sefin-icon--sm ::ng-deep svg{width:16px;height:16px}.sefin-icon--md{width:24px;height:24px;font-size:24px}.sefin-icon--md ::ng-deep svg{width:24px;height:24px}.sefin-icon--lg{width:32px;height:32px;font-size:32px}.sefin-icon--lg ::ng-deep svg{width:32px;height:32px}.sefin-icon--xl{width:48px;height:48px;font-size:48px}.sefin-icon--xl ::ng-deep svg{width:48px;height:48px}.sefin-icon--rotate{transform:rotate(180deg)}.sefin-icon--flip-h{transform:scaleX(-1)}.sefin-icon--flip-v{transform:scaleY(-1)}.sefin-icon--flip-h.sefin-icon--flip-v{transform:scale(-1)}.sefin-icon ::ng-deep svg{display:block!important;width:100%!important;height:100%!important;max-width:100%;max-height:100%}.sefin-icon>*{display:inline-block;width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
794
794
  }
795
795
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IconComponent, decorators: [{
796
796
  type: Component,
797
- args: [{ selector: 'sefin-icon', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n [class]=\"iconClasses\"\n [attr.aria-hidden]=\"true\"\n role=\"img\"\n style=\"display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 100%;\"\n>\n <span [innerHTML]=\"iconSvgHtml\" style=\"display: inline-block; width: 100%; height: 100%;\"></span>\n</span>\n\n", styles: [".sefin-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle;box-sizing:border-box;color:currentColor;line-height:1}.sefin-icon--xs{width:12px;height:12px;font-size:12px}.sefin-icon--xs ::ng-deep svg{width:12px;height:12px}.sefin-icon--sm{width:16px;height:16px;font-size:16px}.sefin-icon--sm ::ng-deep svg{width:16px;height:16px}.sefin-icon--md{width:24px;height:24px;font-size:24px}.sefin-icon--md ::ng-deep svg{width:24px;height:24px}.sefin-icon--lg{width:32px;height:32px;font-size:32px}.sefin-icon--lg ::ng-deep svg{width:32px;height:32px}.sefin-icon--xl{width:48px;height:48px;font-size:48px}.sefin-icon--xl ::ng-deep svg{width:48px;height:48px}.sefin-icon--rotate{transform:rotate(180deg)}.sefin-icon--flip-h{transform:scaleX(-1)}.sefin-icon--flip-v{transform:scaleY(-1)}.sefin-icon--flip-h.sefin-icon--flip-v{transform:scale(-1)}.sefin-icon ::ng-deep svg{display:block!important;width:100%!important;height:100%!important;max-width:100%;max-height:100%}.sefin-icon>*{display:inline-block;width:100%;height:100%}\n"] }]
797
+ args: [{ selector: 'sefin-icon', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n [class]=\"iconClasses\"\n [attr.aria-hidden]=\"true\"\n role=\"img\"\n style=\"display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 100%;\"\n>\n <span [innerHTML]=\"iconSvgHtml\" style=\"display: inline-block; width: 100%; height: 100%;\"></span>\n</span>\n\n", styles: [".sefin-icon{display:flex;align-items:center;justify-content:center;width:100%;flex-shrink:0;vertical-align:middle;box-sizing:border-box;color:currentColor;line-height:1}.sefin-icon--xs{width:12px;height:12px;font-size:12px}.sefin-icon--xs ::ng-deep svg{width:12px;height:12px}.sefin-icon--sm{width:16px;height:16px;font-size:16px}.sefin-icon--sm ::ng-deep svg{width:16px;height:16px}.sefin-icon--md{width:24px;height:24px;font-size:24px}.sefin-icon--md ::ng-deep svg{width:24px;height:24px}.sefin-icon--lg{width:32px;height:32px;font-size:32px}.sefin-icon--lg ::ng-deep svg{width:32px;height:32px}.sefin-icon--xl{width:48px;height:48px;font-size:48px}.sefin-icon--xl ::ng-deep svg{width:48px;height:48px}.sefin-icon--rotate{transform:rotate(180deg)}.sefin-icon--flip-h{transform:scaleX(-1)}.sefin-icon--flip-v{transform:scaleY(-1)}.sefin-icon--flip-h.sefin-icon--flip-v{transform:scale(-1)}.sefin-icon ::ng-deep svg{display:block!important;width:100%!important;height:100%!important;max-width:100%;max-height:100%}.sefin-icon>*{display:inline-block;width:100%;height:100%}\n"] }]
798
798
  }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { name: [{
799
799
  type: Input
800
800
  }], size: [{
@@ -856,11 +856,11 @@ class AvatarComponent {
856
856
  return sizeMap[this.size];
857
857
  }
858
858
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
859
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: AvatarComponent, isStandalone: true, selector: "sefin-avatar", inputs: { size: "size", src: "src", alt: "alt", initials: "initials", bordered: "bordered", class: "class" }, ngImport: i0, template: "<div [class]=\"avatarClasses\">\n <img\n *ngIf=\"src\"\n [src]=\"src\"\n [alt]=\"alt || 'Avatar'\"\n (error)=\"onImageError($event)\"\n class=\"sefin-avatar__image\"\n />\n <span *ngIf=\"!src && displayInitials\" class=\"sefin-avatar__initials\">\n {{ displayInitials }}\n </span>\n <sefin-icon\n *ngIf=\"!src && !displayInitials\"\n name=\"user\"\n [size]=\"iconSize\"\n class=\"sefin-avatar__icon\"\n ></sefin-icon>\n</div>\n\n", styles: [".sefin-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;overflow:hidden;background-color:var(--sefin-color-surface);color:var(--sefin-color-text-secondary);font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);-webkit-user-select:none;user-select:none}.sefin-avatar--xs{width:24px;height:24px;font-size:var(--sefin-font-size-xs, 10px)}.sefin-avatar--sm{width:32px;height:32px;font-size:var(--sefin-font-size-xs, 11px)}.sefin-avatar--md{width:40px;height:40px;font-size:var(--sefin-font-size-sm, 13px)}.sefin-avatar--lg{width:56px;height:56px;font-size:var(--sefin-font-size-base, 16px)}.sefin-avatar--xl{width:80px;height:80px;font-size:var(--sefin-font-size-lg, 20px)}.sefin-avatar--bordered{border:2px solid var(--sefin-color-border);box-shadow:0 0 0 2px var(--sefin-color-surface)}.sefin-avatar__image{width:100%;height:100%;object-fit:cover;display:block}.sefin-avatar__initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--sefin-color-text);background-color:var(--sefin-color-primary);background:linear-gradient(135deg,var(--sefin-color-primary) 0%,var(--sefin-color-primary-dark, var(--sefin-color-primary)) 100%);color:#fff;font-weight:var(--sefin-font-weight-semibold);line-height:1}.sefin-avatar__icon{display:flex;align-items:center;justify-content:center;color:var(--sefin-color-text-secondary)}.sefin-avatar__icon sefin-icon{color:inherit}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "sefin-icon", inputs: ["name", "size", "color", "rotate", "flipH", "flipV", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
859
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: AvatarComponent, isStandalone: true, selector: "sefin-avatar", inputs: { size: "size", src: "src", alt: "alt", initials: "initials", bordered: "bordered", class: "class" }, ngImport: i0, template: "<div [class]=\"avatarClasses\">\n <img\n *ngIf=\"src\"\n [src]=\"src\"\n [alt]=\"alt || 'Avatar'\"\n (error)=\"onImageError($event)\"\n class=\"sefin-avatar__image\"\n />\n <span *ngIf=\"!src && displayInitials\" class=\"sefin-avatar__initials\">\n {{ displayInitials }}\n </span>\n <sefin-icon\n *ngIf=\"!src && !displayInitials\"\n name=\"user\"\n [size]=\"iconSize\"\n class=\"sefin-avatar__icon\"\n ></sefin-icon>\n</div>\n\n", styles: [".sefin-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:100%;flex-shrink:0;border-radius:50%;overflow:hidden;background-color:var(--sefin-color-surface);color:var(--sefin-color-text-secondary);font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);-webkit-user-select:none;user-select:none;box-sizing:border-box}.sefin-avatar--xs{width:24px;height:24px;font-size:var(--sefin-font-size-xs, 10px)}.sefin-avatar--sm{width:32px;height:32px;font-size:var(--sefin-font-size-xs, 11px)}.sefin-avatar--md{width:40px;height:40px;font-size:var(--sefin-font-size-sm, 13px)}.sefin-avatar--lg{width:56px;height:56px;font-size:var(--sefin-font-size-base, 16px)}.sefin-avatar--xl{width:80px;height:80px;font-size:var(--sefin-font-size-lg, 20px)}.sefin-avatar--bordered{border:2px solid var(--sefin-color-border);box-shadow:0 0 0 2px var(--sefin-color-surface)}.sefin-avatar__image{width:100%;height:100%;object-fit:cover;display:block}.sefin-avatar__initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--sefin-color-text);background-color:var(--sefin-color-primary);background:linear-gradient(135deg,var(--sefin-color-primary) 0%,var(--sefin-color-primary-dark, var(--sefin-color-primary)) 100%);color:#fff;font-weight:var(--sefin-font-weight-semibold);line-height:1}.sefin-avatar__icon{display:flex;align-items:center;justify-content:center;color:var(--sefin-color-text-secondary)}.sefin-avatar__icon sefin-icon{color:inherit}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "sefin-icon", inputs: ["name", "size", "color", "rotate", "flipH", "flipV", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
860
860
  }
861
861
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: AvatarComponent, decorators: [{
862
862
  type: Component,
863
- args: [{ selector: 'sefin-avatar', standalone: true, imports: [CommonModule, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"avatarClasses\">\n <img\n *ngIf=\"src\"\n [src]=\"src\"\n [alt]=\"alt || 'Avatar'\"\n (error)=\"onImageError($event)\"\n class=\"sefin-avatar__image\"\n />\n <span *ngIf=\"!src && displayInitials\" class=\"sefin-avatar__initials\">\n {{ displayInitials }}\n </span>\n <sefin-icon\n *ngIf=\"!src && !displayInitials\"\n name=\"user\"\n [size]=\"iconSize\"\n class=\"sefin-avatar__icon\"\n ></sefin-icon>\n</div>\n\n", styles: [".sefin-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;overflow:hidden;background-color:var(--sefin-color-surface);color:var(--sefin-color-text-secondary);font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);-webkit-user-select:none;user-select:none}.sefin-avatar--xs{width:24px;height:24px;font-size:var(--sefin-font-size-xs, 10px)}.sefin-avatar--sm{width:32px;height:32px;font-size:var(--sefin-font-size-xs, 11px)}.sefin-avatar--md{width:40px;height:40px;font-size:var(--sefin-font-size-sm, 13px)}.sefin-avatar--lg{width:56px;height:56px;font-size:var(--sefin-font-size-base, 16px)}.sefin-avatar--xl{width:80px;height:80px;font-size:var(--sefin-font-size-lg, 20px)}.sefin-avatar--bordered{border:2px solid var(--sefin-color-border);box-shadow:0 0 0 2px var(--sefin-color-surface)}.sefin-avatar__image{width:100%;height:100%;object-fit:cover;display:block}.sefin-avatar__initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--sefin-color-text);background-color:var(--sefin-color-primary);background:linear-gradient(135deg,var(--sefin-color-primary) 0%,var(--sefin-color-primary-dark, var(--sefin-color-primary)) 100%);color:#fff;font-weight:var(--sefin-font-weight-semibold);line-height:1}.sefin-avatar__icon{display:flex;align-items:center;justify-content:center;color:var(--sefin-color-text-secondary)}.sefin-avatar__icon sefin-icon{color:inherit}\n"] }]
863
+ args: [{ selector: 'sefin-avatar', standalone: true, imports: [CommonModule, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"avatarClasses\">\n <img\n *ngIf=\"src\"\n [src]=\"src\"\n [alt]=\"alt || 'Avatar'\"\n (error)=\"onImageError($event)\"\n class=\"sefin-avatar__image\"\n />\n <span *ngIf=\"!src && displayInitials\" class=\"sefin-avatar__initials\">\n {{ displayInitials }}\n </span>\n <sefin-icon\n *ngIf=\"!src && !displayInitials\"\n name=\"user\"\n [size]=\"iconSize\"\n class=\"sefin-avatar__icon\"\n ></sefin-icon>\n</div>\n\n", styles: [".sefin-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:100%;flex-shrink:0;border-radius:50%;overflow:hidden;background-color:var(--sefin-color-surface);color:var(--sefin-color-text-secondary);font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);-webkit-user-select:none;user-select:none;box-sizing:border-box}.sefin-avatar--xs{width:24px;height:24px;font-size:var(--sefin-font-size-xs, 10px)}.sefin-avatar--sm{width:32px;height:32px;font-size:var(--sefin-font-size-xs, 11px)}.sefin-avatar--md{width:40px;height:40px;font-size:var(--sefin-font-size-sm, 13px)}.sefin-avatar--lg{width:56px;height:56px;font-size:var(--sefin-font-size-base, 16px)}.sefin-avatar--xl{width:80px;height:80px;font-size:var(--sefin-font-size-lg, 20px)}.sefin-avatar--bordered{border:2px solid var(--sefin-color-border);box-shadow:0 0 0 2px var(--sefin-color-surface)}.sefin-avatar__image{width:100%;height:100%;object-fit:cover;display:block}.sefin-avatar__initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--sefin-color-text);background-color:var(--sefin-color-primary);background:linear-gradient(135deg,var(--sefin-color-primary) 0%,var(--sefin-color-primary-dark, var(--sefin-color-primary)) 100%);color:#fff;font-weight:var(--sefin-font-weight-semibold);line-height:1}.sefin-avatar__icon{display:flex;align-items:center;justify-content:center;color:var(--sefin-color-text-secondary)}.sefin-avatar__icon sefin-icon{color:inherit}\n"] }]
864
864
  }], propDecorators: { size: [{
865
865
  type: Input
866
866
  }], src: [{
@@ -915,11 +915,11 @@ class BadgeComponent {
915
915
  return String(this.value);
916
916
  }
917
917
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
918
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: BadgeComponent, isStandalone: true, selector: "sefin-badge", inputs: { variant: "variant", size: "size", dot: "dot", max: "max", value: "value", class: "class" }, ngImport: i0, template: "<span [class]=\"badgeClasses\" [attr.aria-label]=\"displayValue || 'Badge'\">\n <span *ngIf=\"!dot\" class=\"sefin-badge__content\">{{ displayValue }}</span>\n</span>", styles: [".sefin-badge{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:1;border-radius:var(--sefin-border-radius-full, 9999px);white-space:nowrap;vertical-align:middle;box-sizing:border-box}.sefin-badge--sm{min-width:16px;height:16px;padding:0 var(--sefin-spacing-xs, 4px);font-size:var(--sefin-font-size-xs, 10px)}.sefin-badge--sm:not(.sefin-badge--dot){padding:0 var(--sefin-spacing-xs, 4px)}.sefin-badge--md{min-width:20px;height:20px;padding:0 var(--sefin-spacing-xs, 4px);font-size:var(--sefin-font-size-xs, 11px)}.sefin-badge--md:not(.sefin-badge--dot){padding:0 var(--sefin-spacing-sm, 6px)}.sefin-badge--lg{min-width:24px;height:24px;padding:0 var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-sm, 12px)}.sefin-badge--lg:not(.sefin-badge--dot){padding:0 var(--sefin-spacing-md, 8px)}.sefin-badge--dot{width:8px;height:8px;min-width:8px;padding:0;border-radius:50%!important}.sefin-badge--dot.sefin-badge--sm{width:6px;height:6px;min-width:6px;border-radius:50%!important}.sefin-badge--dot.sefin-badge--md{width:8px;height:8px;min-width:8px;border-radius:50%!important}.sefin-badge--dot.sefin-badge--lg{width:10px;height:10px;min-width:10px;border-radius:50%!important}.sefin-badge--default{background-color:var(--sefin-color-surface-hover);color:var(--sefin-color-text)}.sefin-badge--primary{background-color:var(--sefin-color-primary);color:#fff}.sefin-badge--secondary{background-color:var(--sefin-color-secondary);color:#fff}.sefin-badge--success{background-color:var(--sefin-color-success);color:#fff}.sefin-badge--warning{background-color:var(--sefin-color-warning);color:#fff}.sefin-badge--error{background-color:var(--sefin-color-error);color:#fff}.sefin-badge__content{display:inline-block;line-height:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
918
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: BadgeComponent, isStandalone: true, selector: "sefin-badge", inputs: { variant: "variant", size: "size", dot: "dot", max: "max", value: "value", class: "class" }, ngImport: i0, template: "<span [class]=\"badgeClasses\" [attr.aria-label]=\"displayValue || 'Badge'\">\n <span *ngIf=\"!dot\" class=\"sefin-badge__content\">{{ displayValue }}</span>\n</span>", styles: [".sefin-badge{display:flex;align-items:center;justify-content:center;width:100%;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:1;border-radius:var(--sefin-border-radius-full, 9999px);white-space:nowrap;vertical-align:middle;box-sizing:border-box}.sefin-badge--sm{min-width:16px;height:16px;padding:0 var(--sefin-spacing-xs, 4px);font-size:var(--sefin-font-size-xs, 10px)}.sefin-badge--sm:not(.sefin-badge--dot){padding:0 var(--sefin-spacing-xs, 4px)}.sefin-badge--md{min-width:20px;height:20px;padding:0 var(--sefin-spacing-xs, 4px);font-size:var(--sefin-font-size-xs, 11px)}.sefin-badge--md:not(.sefin-badge--dot){padding:0 var(--sefin-spacing-sm, 6px)}.sefin-badge--lg{min-width:24px;height:24px;padding:0 var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-sm, 12px)}.sefin-badge--lg:not(.sefin-badge--dot){padding:0 var(--sefin-spacing-md, 8px)}.sefin-badge--dot{width:8px;height:8px;min-width:8px;padding:0;border-radius:50%!important}.sefin-badge--dot.sefin-badge--sm{width:6px;height:6px;min-width:6px;border-radius:50%!important}.sefin-badge--dot.sefin-badge--md{width:8px;height:8px;min-width:8px;border-radius:50%!important}.sefin-badge--dot.sefin-badge--lg{width:10px;height:10px;min-width:10px;border-radius:50%!important}.sefin-badge--default{background-color:var(--sefin-color-surface-hover);color:var(--sefin-color-text)}.sefin-badge--primary{background-color:var(--sefin-color-primary);color:#fff}.sefin-badge--secondary{background-color:var(--sefin-color-secondary);color:#fff}.sefin-badge--success{background-color:var(--sefin-color-success);color:#fff}.sefin-badge--warning{background-color:var(--sefin-color-warning);color:#fff}.sefin-badge--error{background-color:var(--sefin-color-error);color:#fff}.sefin-badge__content{display:inline-block;line-height:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
919
919
  }
920
920
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: BadgeComponent, decorators: [{
921
921
  type: Component,
922
- args: [{ selector: 'sefin-badge', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [class]=\"badgeClasses\" [attr.aria-label]=\"displayValue || 'Badge'\">\n <span *ngIf=\"!dot\" class=\"sefin-badge__content\">{{ displayValue }}</span>\n</span>", styles: [".sefin-badge{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:1;border-radius:var(--sefin-border-radius-full, 9999px);white-space:nowrap;vertical-align:middle;box-sizing:border-box}.sefin-badge--sm{min-width:16px;height:16px;padding:0 var(--sefin-spacing-xs, 4px);font-size:var(--sefin-font-size-xs, 10px)}.sefin-badge--sm:not(.sefin-badge--dot){padding:0 var(--sefin-spacing-xs, 4px)}.sefin-badge--md{min-width:20px;height:20px;padding:0 var(--sefin-spacing-xs, 4px);font-size:var(--sefin-font-size-xs, 11px)}.sefin-badge--md:not(.sefin-badge--dot){padding:0 var(--sefin-spacing-sm, 6px)}.sefin-badge--lg{min-width:24px;height:24px;padding:0 var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-sm, 12px)}.sefin-badge--lg:not(.sefin-badge--dot){padding:0 var(--sefin-spacing-md, 8px)}.sefin-badge--dot{width:8px;height:8px;min-width:8px;padding:0;border-radius:50%!important}.sefin-badge--dot.sefin-badge--sm{width:6px;height:6px;min-width:6px;border-radius:50%!important}.sefin-badge--dot.sefin-badge--md{width:8px;height:8px;min-width:8px;border-radius:50%!important}.sefin-badge--dot.sefin-badge--lg{width:10px;height:10px;min-width:10px;border-radius:50%!important}.sefin-badge--default{background-color:var(--sefin-color-surface-hover);color:var(--sefin-color-text)}.sefin-badge--primary{background-color:var(--sefin-color-primary);color:#fff}.sefin-badge--secondary{background-color:var(--sefin-color-secondary);color:#fff}.sefin-badge--success{background-color:var(--sefin-color-success);color:#fff}.sefin-badge--warning{background-color:var(--sefin-color-warning);color:#fff}.sefin-badge--error{background-color:var(--sefin-color-error);color:#fff}.sefin-badge__content{display:inline-block;line-height:1}\n"] }]
922
+ args: [{ selector: 'sefin-badge', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span [class]=\"badgeClasses\" [attr.aria-label]=\"displayValue || 'Badge'\">\n <span *ngIf=\"!dot\" class=\"sefin-badge__content\">{{ displayValue }}</span>\n</span>", styles: [".sefin-badge{display:flex;align-items:center;justify-content:center;width:100%;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:1;border-radius:var(--sefin-border-radius-full, 9999px);white-space:nowrap;vertical-align:middle;box-sizing:border-box}.sefin-badge--sm{min-width:16px;height:16px;padding:0 var(--sefin-spacing-xs, 4px);font-size:var(--sefin-font-size-xs, 10px)}.sefin-badge--sm:not(.sefin-badge--dot){padding:0 var(--sefin-spacing-xs, 4px)}.sefin-badge--md{min-width:20px;height:20px;padding:0 var(--sefin-spacing-xs, 4px);font-size:var(--sefin-font-size-xs, 11px)}.sefin-badge--md:not(.sefin-badge--dot){padding:0 var(--sefin-spacing-sm, 6px)}.sefin-badge--lg{min-width:24px;height:24px;padding:0 var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-sm, 12px)}.sefin-badge--lg:not(.sefin-badge--dot){padding:0 var(--sefin-spacing-md, 8px)}.sefin-badge--dot{width:8px;height:8px;min-width:8px;padding:0;border-radius:50%!important}.sefin-badge--dot.sefin-badge--sm{width:6px;height:6px;min-width:6px;border-radius:50%!important}.sefin-badge--dot.sefin-badge--md{width:8px;height:8px;min-width:8px;border-radius:50%!important}.sefin-badge--dot.sefin-badge--lg{width:10px;height:10px;min-width:10px;border-radius:50%!important}.sefin-badge--default{background-color:var(--sefin-color-surface-hover);color:var(--sefin-color-text)}.sefin-badge--primary{background-color:var(--sefin-color-primary);color:#fff}.sefin-badge--secondary{background-color:var(--sefin-color-secondary);color:#fff}.sefin-badge--success{background-color:var(--sefin-color-success);color:#fff}.sefin-badge--warning{background-color:var(--sefin-color-warning);color:#fff}.sefin-badge--error{background-color:var(--sefin-color-error);color:#fff}.sefin-badge__content{display:inline-block;line-height:1}\n"] }]
923
923
  }], propDecorators: { variant: [{
924
924
  type: Input
925
925
  }], size: [{
@@ -966,11 +966,11 @@ class ButtonComponent {
966
966
  .join(' ');
967
967
  }
968
968
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
969
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: ButtonComponent, isStandalone: true, selector: "sefin-button", inputs: { variant: "variant", size: "size", disabled: "disabled", fullWidth: "fullWidth", type: "type", class: "class" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<button [type]=\"type\" [disabled]=\"disabled\" [class]=\"buttonClasses\" (click)=\"onClick($event)\">\n <ng-content></ng-content>\n</button>\n", styles: [".sefin-button{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border-radius:var(--sefin-radius-md);transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent}.sefin-button--full-width{display:flex;width:100%}.sefin-button:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-button--sm{padding:var(--sefin-spacing-sm) var(--sefin-spacing-md);font-size:var(--sefin-font-size-sm);line-height:var(--sefin-line-height-normal);min-height:32px}.sefin-button--md{padding:var(--sefin-spacing-md) var(--sefin-spacing-lg);font-size:var(--sefin-font-size-base);line-height:var(--sefin-line-height-normal);min-height:40px}.sefin-button--lg{padding:var(--sefin-spacing-lg) var(--sefin-spacing-xl);font-size:var(--sefin-font-size-lg);line-height:var(--sefin-line-height-normal);min-height:48px}.sefin-button--primary{background-color:var(--sefin-color-primary);color:#fff}.sefin-button--primary:hover:not(:disabled){background-color:var(--sefin-color-primary-dark)}.sefin-button--primary:active:not(:disabled){transform:translateY(1px)}.sefin-button--secondary{background-color:var(--sefin-color-secondary);color:#fff}.sefin-button--secondary:hover:not(:disabled){background-color:var(--sefin-color-secondary-dark)}.sefin-button--secondary:active:not(:disabled){transform:translateY(1px)}.sefin-button--outline{background-color:transparent;color:var(--sefin-color-primary);border-color:var(--sefin-color-primary)}.sefin-button--outline:hover:not(:disabled){background-color:var(--sefin-color-primary);color:#fff}.sefin-button--ghost{background-color:transparent;color:var(--sefin-color-primary)}.sefin-button--ghost:hover:not(:disabled){background-color:var(--sefin-color-surface-hover)}.sefin-button--danger{background-color:var(--sefin-color-error);color:#fff}.sefin-button--danger:hover:not(:disabled){background-color:var(--sefin-color-error);opacity:.9}.sefin-button--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
969
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: ButtonComponent, isStandalone: true, selector: "sefin-button", inputs: { variant: "variant", size: "size", disabled: "disabled", fullWidth: "fullWidth", type: "type", class: "class" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<button [type]=\"type\" [disabled]=\"disabled\" [class]=\"buttonClasses\" (click)=\"onClick($event)\">\n <ng-content></ng-content>\n</button>\n", styles: [".sefin-button{display:flex;align-items:center;justify-content:center;width:100%;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border-radius:var(--sefin-radius-md);transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;box-sizing:border-box}.sefin-button--full-width{display:flex;width:100%}.sefin-button:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-button--sm{padding:var(--sefin-spacing-sm) var(--sefin-spacing-md);font-size:var(--sefin-font-size-sm);line-height:var(--sefin-line-height-normal);min-height:32px}.sefin-button--md{padding:var(--sefin-spacing-md) var(--sefin-spacing-lg);font-size:var(--sefin-font-size-base);line-height:var(--sefin-line-height-normal);min-height:40px}.sefin-button--lg{padding:var(--sefin-spacing-lg) var(--sefin-spacing-xl);font-size:var(--sefin-font-size-lg);line-height:var(--sefin-line-height-normal);min-height:48px}.sefin-button--primary{background-color:var(--sefin-color-primary);color:#fff}.sefin-button--primary:hover:not(:disabled){background-color:var(--sefin-color-primary-dark)}.sefin-button--primary:active:not(:disabled){transform:translateY(1px)}.sefin-button--secondary{background-color:var(--sefin-color-secondary);color:#fff}.sefin-button--secondary:hover:not(:disabled){background-color:var(--sefin-color-secondary-dark)}.sefin-button--secondary:active:not(:disabled){transform:translateY(1px)}.sefin-button--outline{background-color:transparent;color:var(--sefin-color-primary);border-color:var(--sefin-color-primary)}.sefin-button--outline:hover:not(:disabled){background-color:var(--sefin-color-primary);color:#fff}.sefin-button--ghost{background-color:transparent;color:var(--sefin-color-primary)}.sefin-button--ghost:hover:not(:disabled){background-color:var(--sefin-color-surface-hover)}.sefin-button--danger{background-color:var(--sefin-color-error);color:#fff}.sefin-button--danger:hover:not(:disabled){background-color:var(--sefin-color-error);opacity:.9}.sefin-button--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
970
970
  }
971
971
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ButtonComponent, decorators: [{
972
972
  type: Component,
973
- args: [{ selector: 'sefin-button', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button [type]=\"type\" [disabled]=\"disabled\" [class]=\"buttonClasses\" (click)=\"onClick($event)\">\n <ng-content></ng-content>\n</button>\n", styles: [".sefin-button{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border-radius:var(--sefin-radius-md);transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent}.sefin-button--full-width{display:flex;width:100%}.sefin-button:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-button--sm{padding:var(--sefin-spacing-sm) var(--sefin-spacing-md);font-size:var(--sefin-font-size-sm);line-height:var(--sefin-line-height-normal);min-height:32px}.sefin-button--md{padding:var(--sefin-spacing-md) var(--sefin-spacing-lg);font-size:var(--sefin-font-size-base);line-height:var(--sefin-line-height-normal);min-height:40px}.sefin-button--lg{padding:var(--sefin-spacing-lg) var(--sefin-spacing-xl);font-size:var(--sefin-font-size-lg);line-height:var(--sefin-line-height-normal);min-height:48px}.sefin-button--primary{background-color:var(--sefin-color-primary);color:#fff}.sefin-button--primary:hover:not(:disabled){background-color:var(--sefin-color-primary-dark)}.sefin-button--primary:active:not(:disabled){transform:translateY(1px)}.sefin-button--secondary{background-color:var(--sefin-color-secondary);color:#fff}.sefin-button--secondary:hover:not(:disabled){background-color:var(--sefin-color-secondary-dark)}.sefin-button--secondary:active:not(:disabled){transform:translateY(1px)}.sefin-button--outline{background-color:transparent;color:var(--sefin-color-primary);border-color:var(--sefin-color-primary)}.sefin-button--outline:hover:not(:disabled){background-color:var(--sefin-color-primary);color:#fff}.sefin-button--ghost{background-color:transparent;color:var(--sefin-color-primary)}.sefin-button--ghost:hover:not(:disabled){background-color:var(--sefin-color-surface-hover)}.sefin-button--danger{background-color:var(--sefin-color-error);color:#fff}.sefin-button--danger:hover:not(:disabled){background-color:var(--sefin-color-error);opacity:.9}.sefin-button--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}\n"] }]
973
+ args: [{ selector: 'sefin-button', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button [type]=\"type\" [disabled]=\"disabled\" [class]=\"buttonClasses\" (click)=\"onClick($event)\">\n <ng-content></ng-content>\n</button>\n", styles: [".sefin-button{display:flex;align-items:center;justify-content:center;width:100%;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border-radius:var(--sefin-radius-md);transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;box-sizing:border-box}.sefin-button--full-width{display:flex;width:100%}.sefin-button:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-button--sm{padding:var(--sefin-spacing-sm) var(--sefin-spacing-md);font-size:var(--sefin-font-size-sm);line-height:var(--sefin-line-height-normal);min-height:32px}.sefin-button--md{padding:var(--sefin-spacing-md) var(--sefin-spacing-lg);font-size:var(--sefin-font-size-base);line-height:var(--sefin-line-height-normal);min-height:40px}.sefin-button--lg{padding:var(--sefin-spacing-lg) var(--sefin-spacing-xl);font-size:var(--sefin-font-size-lg);line-height:var(--sefin-line-height-normal);min-height:48px}.sefin-button--primary{background-color:var(--sefin-color-primary);color:#fff}.sefin-button--primary:hover:not(:disabled){background-color:var(--sefin-color-primary-dark)}.sefin-button--primary:active:not(:disabled){transform:translateY(1px)}.sefin-button--secondary{background-color:var(--sefin-color-secondary);color:#fff}.sefin-button--secondary:hover:not(:disabled){background-color:var(--sefin-color-secondary-dark)}.sefin-button--secondary:active:not(:disabled){transform:translateY(1px)}.sefin-button--outline{background-color:transparent;color:var(--sefin-color-primary);border-color:var(--sefin-color-primary)}.sefin-button--outline:hover:not(:disabled){background-color:var(--sefin-color-primary);color:#fff}.sefin-button--ghost{background-color:transparent;color:var(--sefin-color-primary)}.sefin-button--ghost:hover:not(:disabled){background-color:var(--sefin-color-surface-hover)}.sefin-button--danger{background-color:var(--sefin-color-error);color:#fff}.sefin-button--danger:hover:not(:disabled){background-color:var(--sefin-color-error);opacity:.9}.sefin-button--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}\n"] }]
974
974
  }], propDecorators: { variant: [{
975
975
  type: Input
976
976
  }], size: [{
@@ -1026,11 +1026,11 @@ class IconButtonComponent {
1026
1026
  .join(' ');
1027
1027
  }
1028
1028
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1029
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: IconButtonComponent, isStandalone: true, selector: "sefin-icon-button", inputs: { variant: "variant", size: "size", disabled: "disabled", type: "type", class: "class", ariaLabel: "ariaLabel", rounded: "rounded" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<button \n [type]=\"type\" \n [disabled]=\"disabled\" \n [class]=\"buttonClasses\" \n (click)=\"onClick($event)\"\n [attr.aria-label]=\"ariaLabel || null\"\n>\n <ng-content></ng-content>\n</button>\n\n", styles: [".sefin-icon-button{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sefin-font-family-base);border-radius:var(--sefin-radius-md);transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;padding:0;aspect-ratio:1;flex-shrink:0}.sefin-icon-button:focus-visible{outline:none}.sefin-icon-button--sm{width:32px;height:32px;min-width:32px;min-height:32px}.sefin-icon-button--md{width:40px;height:40px;min-width:40px;min-height:40px}.sefin-icon-button--lg{width:48px;height:48px;min-width:48px;min-height:48px}.sefin-icon-button--rounded{border-radius:50%}.sefin-icon-button--primary{background-color:var(--sefin-color-primary);color:#fff}.sefin-icon-button--primary:hover:not(:disabled){background-color:var(--sefin-color-primary-dark)}.sefin-icon-button--primary:active:not(:disabled){transform:translateY(1px)}.sefin-icon-button--secondary{background-color:var(--sefin-color-secondary);color:#fff}.sefin-icon-button--secondary:hover:not(:disabled){background-color:var(--sefin-color-secondary-dark)}.sefin-icon-button--secondary:active:not(:disabled){transform:translateY(1px)}.sefin-icon-button--outline{background-color:transparent;color:var(--sefin-color-primary);border-color:var(--sefin-color-primary)}.sefin-icon-button--outline:hover:not(:disabled){background-color:var(--sefin-color-primary);color:#fff}.sefin-icon-button--ghost{background-color:transparent;color:var(--sefin-color-primary)}.sefin-icon-button--ghost:hover:not(:disabled){background-color:var(--sefin-color-surface-hover)}.sefin-icon-button--danger{background-color:var(--sefin-color-error);color:#fff}.sefin-icon-button--danger:hover:not(:disabled){background-color:var(--sefin-color-error);opacity:.9}.sefin-icon-button--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-icon-button svg{width:100%;height:100%;display:block}.sefin-icon-button--sm svg{width:16px;height:16px}.sefin-icon-button--md svg{width:20px;height:20px}.sefin-icon-button--lg svg{width:24px;height:24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1029
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: IconButtonComponent, isStandalone: true, selector: "sefin-icon-button", inputs: { variant: "variant", size: "size", disabled: "disabled", type: "type", class: "class", ariaLabel: "ariaLabel", rounded: "rounded" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<button \n [type]=\"type\" \n [disabled]=\"disabled\" \n [class]=\"buttonClasses\" \n (click)=\"onClick($event)\"\n [attr.aria-label]=\"ariaLabel || null\"\n>\n <ng-content></ng-content>\n</button>\n\n", styles: [".sefin-icon-button{display:flex;align-items:center;justify-content:center;width:100%;font-family:var(--sefin-font-family-base);border-radius:var(--sefin-radius-md);transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;padding:0;aspect-ratio:1;flex-shrink:0;box-sizing:border-box}.sefin-icon-button:focus-visible{outline:none}.sefin-icon-button--sm{width:32px;height:32px;min-width:32px;min-height:32px}.sefin-icon-button--md{width:40px;height:40px;min-width:40px;min-height:40px}.sefin-icon-button--lg{width:48px;height:48px;min-width:48px;min-height:48px}.sefin-icon-button--rounded{border-radius:50%}.sefin-icon-button--primary{background-color:var(--sefin-color-primary);color:#fff}.sefin-icon-button--primary:hover:not(:disabled){background-color:var(--sefin-color-primary-dark)}.sefin-icon-button--primary:active:not(:disabled){transform:translateY(1px)}.sefin-icon-button--secondary{background-color:var(--sefin-color-secondary);color:#fff}.sefin-icon-button--secondary:hover:not(:disabled){background-color:var(--sefin-color-secondary-dark)}.sefin-icon-button--secondary:active:not(:disabled){transform:translateY(1px)}.sefin-icon-button--outline{background-color:transparent;color:var(--sefin-color-primary);border-color:var(--sefin-color-primary)}.sefin-icon-button--outline:hover:not(:disabled){background-color:var(--sefin-color-primary);color:#fff}.sefin-icon-button--ghost{background-color:transparent;color:var(--sefin-color-primary)}.sefin-icon-button--ghost:hover:not(:disabled){background-color:var(--sefin-color-surface-hover)}.sefin-icon-button--danger{background-color:var(--sefin-color-error);color:#fff}.sefin-icon-button--danger:hover:not(:disabled){background-color:var(--sefin-color-error);opacity:.9}.sefin-icon-button--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-icon-button svg{width:100%;height:100%;display:block}.sefin-icon-button--sm svg{width:16px;height:16px}.sefin-icon-button--md svg{width:20px;height:20px}.sefin-icon-button--lg svg{width:24px;height:24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1030
1030
  }
1031
1031
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IconButtonComponent, decorators: [{
1032
1032
  type: Component,
1033
- args: [{ selector: 'sefin-icon-button', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button \n [type]=\"type\" \n [disabled]=\"disabled\" \n [class]=\"buttonClasses\" \n (click)=\"onClick($event)\"\n [attr.aria-label]=\"ariaLabel || null\"\n>\n <ng-content></ng-content>\n</button>\n\n", styles: [".sefin-icon-button{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sefin-font-family-base);border-radius:var(--sefin-radius-md);transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;padding:0;aspect-ratio:1;flex-shrink:0}.sefin-icon-button:focus-visible{outline:none}.sefin-icon-button--sm{width:32px;height:32px;min-width:32px;min-height:32px}.sefin-icon-button--md{width:40px;height:40px;min-width:40px;min-height:40px}.sefin-icon-button--lg{width:48px;height:48px;min-width:48px;min-height:48px}.sefin-icon-button--rounded{border-radius:50%}.sefin-icon-button--primary{background-color:var(--sefin-color-primary);color:#fff}.sefin-icon-button--primary:hover:not(:disabled){background-color:var(--sefin-color-primary-dark)}.sefin-icon-button--primary:active:not(:disabled){transform:translateY(1px)}.sefin-icon-button--secondary{background-color:var(--sefin-color-secondary);color:#fff}.sefin-icon-button--secondary:hover:not(:disabled){background-color:var(--sefin-color-secondary-dark)}.sefin-icon-button--secondary:active:not(:disabled){transform:translateY(1px)}.sefin-icon-button--outline{background-color:transparent;color:var(--sefin-color-primary);border-color:var(--sefin-color-primary)}.sefin-icon-button--outline:hover:not(:disabled){background-color:var(--sefin-color-primary);color:#fff}.sefin-icon-button--ghost{background-color:transparent;color:var(--sefin-color-primary)}.sefin-icon-button--ghost:hover:not(:disabled){background-color:var(--sefin-color-surface-hover)}.sefin-icon-button--danger{background-color:var(--sefin-color-error);color:#fff}.sefin-icon-button--danger:hover:not(:disabled){background-color:var(--sefin-color-error);opacity:.9}.sefin-icon-button--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-icon-button svg{width:100%;height:100%;display:block}.sefin-icon-button--sm svg{width:16px;height:16px}.sefin-icon-button--md svg{width:20px;height:20px}.sefin-icon-button--lg svg{width:24px;height:24px}\n"] }]
1033
+ args: [{ selector: 'sefin-icon-button', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button \n [type]=\"type\" \n [disabled]=\"disabled\" \n [class]=\"buttonClasses\" \n (click)=\"onClick($event)\"\n [attr.aria-label]=\"ariaLabel || null\"\n>\n <ng-content></ng-content>\n</button>\n\n", styles: [".sefin-icon-button{display:flex;align-items:center;justify-content:center;width:100%;font-family:var(--sefin-font-family-base);border-radius:var(--sefin-radius-md);transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;padding:0;aspect-ratio:1;flex-shrink:0;box-sizing:border-box}.sefin-icon-button:focus-visible{outline:none}.sefin-icon-button--sm{width:32px;height:32px;min-width:32px;min-height:32px}.sefin-icon-button--md{width:40px;height:40px;min-width:40px;min-height:40px}.sefin-icon-button--lg{width:48px;height:48px;min-width:48px;min-height:48px}.sefin-icon-button--rounded{border-radius:50%}.sefin-icon-button--primary{background-color:var(--sefin-color-primary);color:#fff}.sefin-icon-button--primary:hover:not(:disabled){background-color:var(--sefin-color-primary-dark)}.sefin-icon-button--primary:active:not(:disabled){transform:translateY(1px)}.sefin-icon-button--secondary{background-color:var(--sefin-color-secondary);color:#fff}.sefin-icon-button--secondary:hover:not(:disabled){background-color:var(--sefin-color-secondary-dark)}.sefin-icon-button--secondary:active:not(:disabled){transform:translateY(1px)}.sefin-icon-button--outline{background-color:transparent;color:var(--sefin-color-primary);border-color:var(--sefin-color-primary)}.sefin-icon-button--outline:hover:not(:disabled){background-color:var(--sefin-color-primary);color:#fff}.sefin-icon-button--ghost{background-color:transparent;color:var(--sefin-color-primary)}.sefin-icon-button--ghost:hover:not(:disabled){background-color:var(--sefin-color-surface-hover)}.sefin-icon-button--danger{background-color:var(--sefin-color-error);color:#fff}.sefin-icon-button--danger:hover:not(:disabled){background-color:var(--sefin-color-error);opacity:.9}.sefin-icon-button--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-icon-button svg{width:100%;height:100%;display:block}.sefin-icon-button--sm svg{width:16px;height:16px}.sefin-icon-button--md svg{width:20px;height:20px}.sefin-icon-button--lg svg{width:24px;height:24px}\n"] }]
1034
1034
  }], propDecorators: { variant: [{
1035
1035
  type: Input
1036
1036
  }], size: [{
@@ -1080,11 +1080,11 @@ class FabButtonComponent {
1080
1080
  .join(' ');
1081
1081
  }
1082
1082
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: FabButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1083
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: FabButtonComponent, isStandalone: true, selector: "sefin-fab-button", inputs: { variant: "variant", size: "size", disabled: "disabled", type: "type", class: "class", ariaLabel: "ariaLabel" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<button \n [type]=\"type\" \n [disabled]=\"disabled\" \n [class]=\"buttonClasses\" \n (click)=\"onClick($event)\"\n [attr.aria-label]=\"ariaLabel || null\"\n>\n <ng-content></ng-content>\n</button>\n\n", styles: [".sefin-fab-button{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sefin-font-family-base);border-radius:50%;transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;padding:0;aspect-ratio:1;flex-shrink:0;box-shadow:var(--sefin-shadow-lg);position:relative}.sefin-fab-button:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-fab-button--sm{width:40px;height:40px;min-width:40px;min-height:40px;box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--md{width:56px;height:56px;min-width:56px;min-height:56px;box-shadow:var(--sefin-shadow-lg)}.sefin-fab-button--lg{width:64px;height:64px;min-width:64px;min-height:64px;box-shadow:var(--sefin-shadow-xl)}.sefin-fab-button--primary{background-color:var(--sefin-color-primary);color:#fff}.sefin-fab-button--primary:hover:not(:disabled){background-color:var(--sefin-color-primary-dark);box-shadow:var(--sefin-shadow-xl);transform:translateY(-2px)}.sefin-fab-button--primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--secondary{background-color:var(--sefin-color-secondary);color:#fff}.sefin-fab-button--secondary:hover:not(:disabled){background-color:var(--sefin-color-secondary-dark);box-shadow:var(--sefin-shadow-xl);transform:translateY(-2px)}.sefin-fab-button--secondary:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--outline{background-color:var(--sefin-color-surface);color:var(--sefin-color-primary);border-color:var(--sefin-color-primary);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--outline:hover:not(:disabled){background-color:var(--sefin-color-primary);color:#fff;box-shadow:var(--sefin-shadow-lg);transform:translateY(-2px)}.sefin-fab-button--outline:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--ghost{background-color:var(--sefin-color-surface);color:var(--sefin-color-primary);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--ghost:hover:not(:disabled){background-color:var(--sefin-color-surface-hover);box-shadow:var(--sefin-shadow-lg);transform:translateY(-2px)}.sefin-fab-button--ghost:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-sm)}.sefin-fab-button--danger{background-color:var(--sefin-color-error);color:#fff}.sefin-fab-button--danger:hover:not(:disabled){opacity:.9;box-shadow:var(--sefin-shadow-xl);transform:translateY(-2px)}.sefin-fab-button--danger:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--disabled{opacity:.6;cursor:not-allowed;pointer-events:none;box-shadow:var(--sefin-shadow-sm)}.sefin-fab-button svg,.sefin-fab-button sefin-icon{display:block;flex-shrink:0}.sefin-fab-button--sm sefin-icon{width:20px;height:20px}.sefin-fab-button--sm svg{width:20px;height:20px}.sefin-fab-button--md sefin-icon{width:24px;height:24px}.sefin-fab-button--md svg{width:24px;height:24px}.sefin-fab-button--lg sefin-icon{width:28px;height:28px}.sefin-fab-button--lg svg{width:28px;height:28px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1083
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: FabButtonComponent, isStandalone: true, selector: "sefin-fab-button", inputs: { variant: "variant", size: "size", disabled: "disabled", type: "type", class: "class", ariaLabel: "ariaLabel" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<button \n [type]=\"type\" \n [disabled]=\"disabled\" \n [class]=\"buttonClasses\" \n (click)=\"onClick($event)\"\n [attr.aria-label]=\"ariaLabel || null\"\n>\n <ng-content></ng-content>\n</button>\n\n", styles: [".sefin-fab-button{display:flex;align-items:center;justify-content:center;width:100%;font-family:var(--sefin-font-family-base);border-radius:50%;transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;padding:0;aspect-ratio:1;flex-shrink:0;box-shadow:var(--sefin-shadow-lg);position:relative;box-sizing:border-box}.sefin-fab-button:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-fab-button--sm{width:40px;height:40px;min-width:40px;min-height:40px;box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--md{width:56px;height:56px;min-width:56px;min-height:56px;box-shadow:var(--sefin-shadow-lg)}.sefin-fab-button--lg{width:64px;height:64px;min-width:64px;min-height:64px;box-shadow:var(--sefin-shadow-xl)}.sefin-fab-button--primary{background-color:var(--sefin-color-primary);color:#fff}.sefin-fab-button--primary:hover:not(:disabled){background-color:var(--sefin-color-primary-dark);box-shadow:var(--sefin-shadow-xl);transform:translateY(-2px)}.sefin-fab-button--primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--secondary{background-color:var(--sefin-color-secondary);color:#fff}.sefin-fab-button--secondary:hover:not(:disabled){background-color:var(--sefin-color-secondary-dark);box-shadow:var(--sefin-shadow-xl);transform:translateY(-2px)}.sefin-fab-button--secondary:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--outline{background-color:var(--sefin-color-surface);color:var(--sefin-color-primary);border-color:var(--sefin-color-primary);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--outline:hover:not(:disabled){background-color:var(--sefin-color-primary);color:#fff;box-shadow:var(--sefin-shadow-lg);transform:translateY(-2px)}.sefin-fab-button--outline:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--ghost{background-color:var(--sefin-color-surface);color:var(--sefin-color-primary);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--ghost:hover:not(:disabled){background-color:var(--sefin-color-surface-hover);box-shadow:var(--sefin-shadow-lg);transform:translateY(-2px)}.sefin-fab-button--ghost:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-sm)}.sefin-fab-button--danger{background-color:var(--sefin-color-error);color:#fff}.sefin-fab-button--danger:hover:not(:disabled){opacity:.9;box-shadow:var(--sefin-shadow-xl);transform:translateY(-2px)}.sefin-fab-button--danger:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--disabled{opacity:.6;cursor:not-allowed;pointer-events:none;box-shadow:var(--sefin-shadow-sm)}.sefin-fab-button svg,.sefin-fab-button sefin-icon{display:block;flex-shrink:0}.sefin-fab-button--sm sefin-icon{width:20px;height:20px}.sefin-fab-button--sm svg{width:20px;height:20px}.sefin-fab-button--md sefin-icon{width:24px;height:24px}.sefin-fab-button--md svg{width:24px;height:24px}.sefin-fab-button--lg sefin-icon{width:28px;height:28px}.sefin-fab-button--lg svg{width:28px;height:28px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1084
1084
  }
1085
1085
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: FabButtonComponent, decorators: [{
1086
1086
  type: Component,
1087
- args: [{ selector: 'sefin-fab-button', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button \n [type]=\"type\" \n [disabled]=\"disabled\" \n [class]=\"buttonClasses\" \n (click)=\"onClick($event)\"\n [attr.aria-label]=\"ariaLabel || null\"\n>\n <ng-content></ng-content>\n</button>\n\n", styles: [".sefin-fab-button{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sefin-font-family-base);border-radius:50%;transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;padding:0;aspect-ratio:1;flex-shrink:0;box-shadow:var(--sefin-shadow-lg);position:relative}.sefin-fab-button:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-fab-button--sm{width:40px;height:40px;min-width:40px;min-height:40px;box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--md{width:56px;height:56px;min-width:56px;min-height:56px;box-shadow:var(--sefin-shadow-lg)}.sefin-fab-button--lg{width:64px;height:64px;min-width:64px;min-height:64px;box-shadow:var(--sefin-shadow-xl)}.sefin-fab-button--primary{background-color:var(--sefin-color-primary);color:#fff}.sefin-fab-button--primary:hover:not(:disabled){background-color:var(--sefin-color-primary-dark);box-shadow:var(--sefin-shadow-xl);transform:translateY(-2px)}.sefin-fab-button--primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--secondary{background-color:var(--sefin-color-secondary);color:#fff}.sefin-fab-button--secondary:hover:not(:disabled){background-color:var(--sefin-color-secondary-dark);box-shadow:var(--sefin-shadow-xl);transform:translateY(-2px)}.sefin-fab-button--secondary:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--outline{background-color:var(--sefin-color-surface);color:var(--sefin-color-primary);border-color:var(--sefin-color-primary);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--outline:hover:not(:disabled){background-color:var(--sefin-color-primary);color:#fff;box-shadow:var(--sefin-shadow-lg);transform:translateY(-2px)}.sefin-fab-button--outline:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--ghost{background-color:var(--sefin-color-surface);color:var(--sefin-color-primary);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--ghost:hover:not(:disabled){background-color:var(--sefin-color-surface-hover);box-shadow:var(--sefin-shadow-lg);transform:translateY(-2px)}.sefin-fab-button--ghost:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-sm)}.sefin-fab-button--danger{background-color:var(--sefin-color-error);color:#fff}.sefin-fab-button--danger:hover:not(:disabled){opacity:.9;box-shadow:var(--sefin-shadow-xl);transform:translateY(-2px)}.sefin-fab-button--danger:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--disabled{opacity:.6;cursor:not-allowed;pointer-events:none;box-shadow:var(--sefin-shadow-sm)}.sefin-fab-button svg,.sefin-fab-button sefin-icon{display:block;flex-shrink:0}.sefin-fab-button--sm sefin-icon{width:20px;height:20px}.sefin-fab-button--sm svg{width:20px;height:20px}.sefin-fab-button--md sefin-icon{width:24px;height:24px}.sefin-fab-button--md svg{width:24px;height:24px}.sefin-fab-button--lg sefin-icon{width:28px;height:28px}.sefin-fab-button--lg svg{width:28px;height:28px}\n"] }]
1087
+ args: [{ selector: 'sefin-fab-button', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button \n [type]=\"type\" \n [disabled]=\"disabled\" \n [class]=\"buttonClasses\" \n (click)=\"onClick($event)\"\n [attr.aria-label]=\"ariaLabel || null\"\n>\n <ng-content></ng-content>\n</button>\n\n", styles: [".sefin-fab-button{display:flex;align-items:center;justify-content:center;width:100%;font-family:var(--sefin-font-family-base);border-radius:50%;transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;padding:0;aspect-ratio:1;flex-shrink:0;box-shadow:var(--sefin-shadow-lg);position:relative;box-sizing:border-box}.sefin-fab-button:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-fab-button--sm{width:40px;height:40px;min-width:40px;min-height:40px;box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--md{width:56px;height:56px;min-width:56px;min-height:56px;box-shadow:var(--sefin-shadow-lg)}.sefin-fab-button--lg{width:64px;height:64px;min-width:64px;min-height:64px;box-shadow:var(--sefin-shadow-xl)}.sefin-fab-button--primary{background-color:var(--sefin-color-primary);color:#fff}.sefin-fab-button--primary:hover:not(:disabled){background-color:var(--sefin-color-primary-dark);box-shadow:var(--sefin-shadow-xl);transform:translateY(-2px)}.sefin-fab-button--primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--secondary{background-color:var(--sefin-color-secondary);color:#fff}.sefin-fab-button--secondary:hover:not(:disabled){background-color:var(--sefin-color-secondary-dark);box-shadow:var(--sefin-shadow-xl);transform:translateY(-2px)}.sefin-fab-button--secondary:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--outline{background-color:var(--sefin-color-surface);color:var(--sefin-color-primary);border-color:var(--sefin-color-primary);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--outline:hover:not(:disabled){background-color:var(--sefin-color-primary);color:#fff;box-shadow:var(--sefin-shadow-lg);transform:translateY(-2px)}.sefin-fab-button--outline:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--ghost{background-color:var(--sefin-color-surface);color:var(--sefin-color-primary);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--ghost:hover:not(:disabled){background-color:var(--sefin-color-surface-hover);box-shadow:var(--sefin-shadow-lg);transform:translateY(-2px)}.sefin-fab-button--ghost:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-sm)}.sefin-fab-button--danger{background-color:var(--sefin-color-error);color:#fff}.sefin-fab-button--danger:hover:not(:disabled){opacity:.9;box-shadow:var(--sefin-shadow-xl);transform:translateY(-2px)}.sefin-fab-button--danger:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-md)}.sefin-fab-button--disabled{opacity:.6;cursor:not-allowed;pointer-events:none;box-shadow:var(--sefin-shadow-sm)}.sefin-fab-button svg,.sefin-fab-button sefin-icon{display:block;flex-shrink:0}.sefin-fab-button--sm sefin-icon{width:20px;height:20px}.sefin-fab-button--sm svg{width:20px;height:20px}.sefin-fab-button--md sefin-icon{width:24px;height:24px}.sefin-fab-button--md svg{width:24px;height:24px}.sefin-fab-button--lg sefin-icon{width:28px;height:28px}.sefin-fab-button--lg svg{width:28px;height:28px}\n"] }]
1088
1088
  }], propDecorators: { variant: [{
1089
1089
  type: Input
1090
1090
  }], size: [{
@@ -1140,11 +1140,11 @@ class ChipComponent {
1140
1140
  .join(' ');
1141
1141
  }
1142
1142
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1143
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: ChipComponent, isStandalone: true, selector: "sefin-chip", inputs: { variant: "variant", size: "size", disabled: "disabled", removable: "removable", selected: "selected", class: "class" }, outputs: { removed: "removed", clicked: "clicked" }, ngImport: i0, template: "<div\n [class]=\"chipClasses\"\n (click)=\"onClick($event)\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-selected]=\"selected\"\n role=\"button\"\n tabindex=\"0\"\n>\n <span class=\"sefin-chip__content\">\n <ng-content></ng-content>\n </span>\n <button\n *ngIf=\"removable && !disabled\"\n type=\"button\"\n class=\"sefin-chip__remove\"\n (click)=\"onRemove($event)\"\n aria-label=\"Remove\"\n tabindex=\"-1\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M10.5 3.5L3.5 10.5M3.5 3.5L10.5 10.5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n</div>\n\n", styles: [".sefin-chip{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px);font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border-radius:var(--sefin-radius-full);transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;white-space:nowrap;-webkit-user-select:none;user-select:none}.sefin-chip:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-chip--sm{padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-xs, 12px);min-height:24px}.sefin-chip--md{padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-md, 16px);font-size:var(--sefin-font-size-sm, 14px);min-height:32px}.sefin-chip--lg{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-lg, 24px);font-size:var(--sefin-font-size-base, 16px);min-height:40px}.sefin-chip--default{background-color:var(--sefin-color-surface);color:var(--sefin-color-text);border-color:var(--sefin-color-border)}.sefin-chip--default:hover:not(:disabled){background-color:var(--sefin-color-surface-hover)}.sefin-chip--default.sefin-chip--selected,.sefin-chip--primary{background-color:var(--sefin-color-primary);color:#fff;border-color:var(--sefin-color-primary)}.sefin-chip--primary:hover:not(:disabled){background-color:var(--sefin-color-primary-dark)}.sefin-chip--secondary{background-color:var(--sefin-color-secondary);color:#fff;border-color:var(--sefin-color-secondary)}.sefin-chip--secondary:hover:not(:disabled){background-color:var(--sefin-color-secondary-dark)}.sefin-chip--outline{background-color:transparent;color:var(--sefin-color-primary);border-color:var(--sefin-color-primary)}.sefin-chip--outline:hover:not(:disabled){background-color:var(--sefin-color-primary);color:#fff}.sefin-chip--outline.sefin-chip--selected{background-color:var(--sefin-color-primary);color:#fff}.sefin-chip--ghost{background-color:transparent;color:var(--sefin-color-text)}.sefin-chip--ghost:hover:not(:disabled){background-color:var(--sefin-color-surface-hover)}.sefin-chip--ghost.sefin-chip--selected{background-color:var(--sefin-color-surface-hover);color:var(--sefin-color-primary)}.sefin-chip--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-chip__content{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-chip__remove{display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:var(--sefin-spacing-xs, 4px);background:none;border:none;cursor:pointer;outline:none;color:currentColor;opacity:.7;transition:opacity .2s ease-in-out;border-radius:50%;width:16px;height:16px;flex-shrink:0}.sefin-chip__remove:hover{opacity:1;background-color:#0000001a}.sefin-chip__remove:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sefin-chip__remove svg{display:block;width:12px;height:12px}.sefin-chip ::ng-deep svg,.sefin-chip ::ng-deep sefin-icon{flex-shrink:0}.sefin-chip--sm ::ng-deep svg{width:12px;height:12px}.sefin-chip--md ::ng-deep svg{width:14px;height:14px}.sefin-chip--lg ::ng-deep svg{width:16px;height:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1143
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: ChipComponent, isStandalone: true, selector: "sefin-chip", inputs: { variant: "variant", size: "size", disabled: "disabled", removable: "removable", selected: "selected", class: "class" }, outputs: { removed: "removed", clicked: "clicked" }, ngImport: i0, template: "<div\n [class]=\"chipClasses\"\n (click)=\"onClick($event)\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-selected]=\"selected\"\n role=\"button\"\n tabindex=\"0\"\n>\n <span class=\"sefin-chip__content\">\n <ng-content></ng-content>\n </span>\n <button\n *ngIf=\"removable && !disabled\"\n type=\"button\"\n class=\"sefin-chip__remove\"\n (click)=\"onRemove($event)\"\n aria-label=\"Remove\"\n tabindex=\"-1\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M10.5 3.5L3.5 10.5M3.5 3.5L10.5 10.5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n</div>\n\n", styles: [".sefin-chip{display:flex;align-items:center;gap:var(--sefin-spacing-xs, 4px);width:100%;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border-radius:var(--sefin-radius-full);transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;white-space:nowrap;-webkit-user-select:none;user-select:none;box-sizing:border-box}.sefin-chip:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-chip--sm{padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-xs, 12px);min-height:24px}.sefin-chip--md{padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-md, 16px);font-size:var(--sefin-font-size-sm, 14px);min-height:32px}.sefin-chip--lg{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-lg, 24px);font-size:var(--sefin-font-size-base, 16px);min-height:40px}.sefin-chip--default{background-color:var(--sefin-color-surface);color:var(--sefin-color-text);border-color:var(--sefin-color-border)}.sefin-chip--default:hover:not(:disabled){background-color:var(--sefin-color-surface-hover)}.sefin-chip--default.sefin-chip--selected,.sefin-chip--primary{background-color:var(--sefin-color-primary);color:#fff;border-color:var(--sefin-color-primary)}.sefin-chip--primary:hover:not(:disabled){background-color:var(--sefin-color-primary-dark)}.sefin-chip--secondary{background-color:var(--sefin-color-secondary);color:#fff;border-color:var(--sefin-color-secondary)}.sefin-chip--secondary:hover:not(:disabled){background-color:var(--sefin-color-secondary-dark)}.sefin-chip--outline{background-color:transparent;color:var(--sefin-color-primary);border-color:var(--sefin-color-primary)}.sefin-chip--outline:hover:not(:disabled){background-color:var(--sefin-color-primary);color:#fff}.sefin-chip--outline.sefin-chip--selected{background-color:var(--sefin-color-primary);color:#fff}.sefin-chip--ghost{background-color:transparent;color:var(--sefin-color-text)}.sefin-chip--ghost:hover:not(:disabled){background-color:var(--sefin-color-surface-hover)}.sefin-chip--ghost.sefin-chip--selected{background-color:var(--sefin-color-surface-hover);color:var(--sefin-color-primary)}.sefin-chip--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-chip__content{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-chip__remove{display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:var(--sefin-spacing-xs, 4px);background:none;border:none;cursor:pointer;outline:none;color:currentColor;opacity:.7;transition:opacity .2s ease-in-out;border-radius:50%;width:16px;height:16px;flex-shrink:0}.sefin-chip__remove:hover{opacity:1;background-color:#0000001a}.sefin-chip__remove:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sefin-chip__remove svg{display:block;width:12px;height:12px}.sefin-chip ::ng-deep svg,.sefin-chip ::ng-deep sefin-icon{flex-shrink:0}.sefin-chip--sm ::ng-deep svg{width:12px;height:12px}.sefin-chip--md ::ng-deep svg{width:14px;height:14px}.sefin-chip--lg ::ng-deep svg{width:16px;height:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1144
1144
  }
1145
1145
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ChipComponent, decorators: [{
1146
1146
  type: Component,
1147
- args: [{ selector: 'sefin-chip', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class]=\"chipClasses\"\n (click)=\"onClick($event)\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-selected]=\"selected\"\n role=\"button\"\n tabindex=\"0\"\n>\n <span class=\"sefin-chip__content\">\n <ng-content></ng-content>\n </span>\n <button\n *ngIf=\"removable && !disabled\"\n type=\"button\"\n class=\"sefin-chip__remove\"\n (click)=\"onRemove($event)\"\n aria-label=\"Remove\"\n tabindex=\"-1\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M10.5 3.5L3.5 10.5M3.5 3.5L10.5 10.5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n</div>\n\n", styles: [".sefin-chip{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px);font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border-radius:var(--sefin-radius-full);transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;white-space:nowrap;-webkit-user-select:none;user-select:none}.sefin-chip:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-chip--sm{padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-xs, 12px);min-height:24px}.sefin-chip--md{padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-md, 16px);font-size:var(--sefin-font-size-sm, 14px);min-height:32px}.sefin-chip--lg{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-lg, 24px);font-size:var(--sefin-font-size-base, 16px);min-height:40px}.sefin-chip--default{background-color:var(--sefin-color-surface);color:var(--sefin-color-text);border-color:var(--sefin-color-border)}.sefin-chip--default:hover:not(:disabled){background-color:var(--sefin-color-surface-hover)}.sefin-chip--default.sefin-chip--selected,.sefin-chip--primary{background-color:var(--sefin-color-primary);color:#fff;border-color:var(--sefin-color-primary)}.sefin-chip--primary:hover:not(:disabled){background-color:var(--sefin-color-primary-dark)}.sefin-chip--secondary{background-color:var(--sefin-color-secondary);color:#fff;border-color:var(--sefin-color-secondary)}.sefin-chip--secondary:hover:not(:disabled){background-color:var(--sefin-color-secondary-dark)}.sefin-chip--outline{background-color:transparent;color:var(--sefin-color-primary);border-color:var(--sefin-color-primary)}.sefin-chip--outline:hover:not(:disabled){background-color:var(--sefin-color-primary);color:#fff}.sefin-chip--outline.sefin-chip--selected{background-color:var(--sefin-color-primary);color:#fff}.sefin-chip--ghost{background-color:transparent;color:var(--sefin-color-text)}.sefin-chip--ghost:hover:not(:disabled){background-color:var(--sefin-color-surface-hover)}.sefin-chip--ghost.sefin-chip--selected{background-color:var(--sefin-color-surface-hover);color:var(--sefin-color-primary)}.sefin-chip--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-chip__content{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-chip__remove{display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:var(--sefin-spacing-xs, 4px);background:none;border:none;cursor:pointer;outline:none;color:currentColor;opacity:.7;transition:opacity .2s ease-in-out;border-radius:50%;width:16px;height:16px;flex-shrink:0}.sefin-chip__remove:hover{opacity:1;background-color:#0000001a}.sefin-chip__remove:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sefin-chip__remove svg{display:block;width:12px;height:12px}.sefin-chip ::ng-deep svg,.sefin-chip ::ng-deep sefin-icon{flex-shrink:0}.sefin-chip--sm ::ng-deep svg{width:12px;height:12px}.sefin-chip--md ::ng-deep svg{width:14px;height:14px}.sefin-chip--lg ::ng-deep svg{width:16px;height:16px}\n"] }]
1147
+ args: [{ selector: 'sefin-chip', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class]=\"chipClasses\"\n (click)=\"onClick($event)\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-selected]=\"selected\"\n role=\"button\"\n tabindex=\"0\"\n>\n <span class=\"sefin-chip__content\">\n <ng-content></ng-content>\n </span>\n <button\n *ngIf=\"removable && !disabled\"\n type=\"button\"\n class=\"sefin-chip__remove\"\n (click)=\"onRemove($event)\"\n aria-label=\"Remove\"\n tabindex=\"-1\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M10.5 3.5L3.5 10.5M3.5 3.5L10.5 10.5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n</div>\n\n", styles: [".sefin-chip{display:flex;align-items:center;gap:var(--sefin-spacing-xs, 4px);width:100%;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border-radius:var(--sefin-radius-full);transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;white-space:nowrap;-webkit-user-select:none;user-select:none;box-sizing:border-box}.sefin-chip:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-chip--sm{padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-xs, 12px);min-height:24px}.sefin-chip--md{padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-md, 16px);font-size:var(--sefin-font-size-sm, 14px);min-height:32px}.sefin-chip--lg{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-lg, 24px);font-size:var(--sefin-font-size-base, 16px);min-height:40px}.sefin-chip--default{background-color:var(--sefin-color-surface);color:var(--sefin-color-text);border-color:var(--sefin-color-border)}.sefin-chip--default:hover:not(:disabled){background-color:var(--sefin-color-surface-hover)}.sefin-chip--default.sefin-chip--selected,.sefin-chip--primary{background-color:var(--sefin-color-primary);color:#fff;border-color:var(--sefin-color-primary)}.sefin-chip--primary:hover:not(:disabled){background-color:var(--sefin-color-primary-dark)}.sefin-chip--secondary{background-color:var(--sefin-color-secondary);color:#fff;border-color:var(--sefin-color-secondary)}.sefin-chip--secondary:hover:not(:disabled){background-color:var(--sefin-color-secondary-dark)}.sefin-chip--outline{background-color:transparent;color:var(--sefin-color-primary);border-color:var(--sefin-color-primary)}.sefin-chip--outline:hover:not(:disabled){background-color:var(--sefin-color-primary);color:#fff}.sefin-chip--outline.sefin-chip--selected{background-color:var(--sefin-color-primary);color:#fff}.sefin-chip--ghost{background-color:transparent;color:var(--sefin-color-text)}.sefin-chip--ghost:hover:not(:disabled){background-color:var(--sefin-color-surface-hover)}.sefin-chip--ghost.sefin-chip--selected{background-color:var(--sefin-color-surface-hover);color:var(--sefin-color-primary)}.sefin-chip--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-chip__content{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-chip__remove{display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:var(--sefin-spacing-xs, 4px);background:none;border:none;cursor:pointer;outline:none;color:currentColor;opacity:.7;transition:opacity .2s ease-in-out;border-radius:50%;width:16px;height:16px;flex-shrink:0}.sefin-chip__remove:hover{opacity:1;background-color:#0000001a}.sefin-chip__remove:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sefin-chip__remove svg{display:block;width:12px;height:12px}.sefin-chip ::ng-deep svg,.sefin-chip ::ng-deep sefin-icon{flex-shrink:0}.sefin-chip--sm ::ng-deep svg{width:12px;height:12px}.sefin-chip--md ::ng-deep svg{width:14px;height:14px}.sefin-chip--lg ::ng-deep svg{width:16px;height:16px}\n"] }]
1148
1148
  }], propDecorators: { variant: [{
1149
1149
  type: Input
1150
1150
  }], size: [{
@@ -1203,11 +1203,11 @@ class TagComponent {
1203
1203
  return 'sm';
1204
1204
  }
1205
1205
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: TagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1206
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: TagComponent, isStandalone: true, selector: "sefin-tag", inputs: { variant: "variant", size: "size", icon: "icon", removable: "removable", disabled: "disabled", class: "class" }, outputs: { removed: "removed" }, ngImport: i0, template: "<span\n [class]=\"tagClasses\"\n [attr.aria-disabled]=\"disabled\"\n role=\"status\"\n>\n <span class=\"sefin-tag__content\">\n <sefin-icon\n *ngIf=\"icon\"\n [name]=\"icon\"\n [size]=\"iconSize\"\n class=\"sefin-tag__icon\"\n ></sefin-icon>\n <ng-content></ng-content>\n </span>\n <button\n *ngIf=\"removable && !disabled\"\n type=\"button\"\n class=\"sefin-tag__remove\"\n (click)=\"onRemove($event)\"\n aria-label=\"Remove tag\"\n tabindex=\"-1\"\n >\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n</span>\n\n", styles: [".sefin-tag{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px);font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border-radius:var(--sefin-border-radius-sm, 4px);white-space:nowrap;vertical-align:middle;box-sizing:border-box;-webkit-user-select:none;user-select:none}.sefin-tag--sm{padding:var(--sefin-spacing-xs, 2px) var(--sefin-spacing-sm, 6px);font-size:var(--sefin-font-size-xs, 10px);min-height:20px}.sefin-tag--md{padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-sm, 12px);min-height:24px}.sefin-tag--lg{padding:var(--sefin-spacing-sm, 6px) var(--sefin-spacing-md, 12px);font-size:var(--sefin-font-size-base, 14px);min-height:28px}.sefin-tag--default{background-color:var(--sefin-color-surface-hover, #f0f0f0);color:var(--sefin-color-text, #333);border:1px solid var(--sefin-color-border, #e0e0e0)}.sefin-tag--primary{background-color:var(--sefin-color-primary-light, #e3f2fd);color:var(--sefin-color-primary-dark, #0d47a1);border:1px solid var(--sefin-color-primary, #1976d2)}.sefin-tag--secondary{background-color:var(--sefin-color-secondary-light, #fce4ec);color:var(--sefin-color-secondary-dark, #880e4f);border:1px solid var(--sefin-color-secondary, #dc004e)}.sefin-tag--success{background-color:var(--sefin-color-success-light, #e8f5e9);color:var(--sefin-color-success-dark, #2e7d32);border:1px solid var(--sefin-color-success, #4caf50)}.sefin-tag--warning{background-color:var(--sefin-color-warning-light, #fff3e0);color:var(--sefin-color-warning-dark, #e65100);border:1px solid var(--sefin-color-warning, #ff9800)}.sefin-tag--error{background-color:var(--sefin-color-error-light, #ffebee);color:var(--sefin-color-error-dark, #c62828);border:1px solid var(--sefin-color-error, #f44336)}.sefin-tag--info{background-color:var(--sefin-color-primary-light, #e3f2fd);color:var(--sefin-color-text, #1a1a1a);border:1px solid var(--sefin-color-primary, #1976d2)}.sefin-tag--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-tag__content{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-tag__icon{flex-shrink:0;display:inline-flex;align-items:center}.sefin-tag__remove{display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:var(--sefin-spacing-xs, 4px);background:none;border:none;cursor:pointer;outline:none;color:currentColor;opacity:.7;transition:opacity .2s ease-in-out,background-color .2s ease-in-out;border-radius:var(--sefin-border-radius-sm, 4px);width:16px;height:16px;flex-shrink:0}.sefin-tag__remove:hover{opacity:1;background-color:#0000001a}.sefin-tag__remove:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sefin-tag__remove svg{display:block;width:12px;height:12px}.sefin-tag ::ng-deep svg,.sefin-tag ::ng-deep sefin-icon{flex-shrink:0}.sefin-tag--sm ::ng-deep svg{width:10px;height:10px}.sefin-tag--md ::ng-deep svg{width:12px;height:12px}.sefin-tag--lg ::ng-deep svg{width:14px;height:14px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "sefin-icon", inputs: ["name", "size", "color", "rotate", "flipH", "flipV", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1206
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: TagComponent, isStandalone: true, selector: "sefin-tag", inputs: { variant: "variant", size: "size", icon: "icon", removable: "removable", disabled: "disabled", class: "class" }, outputs: { removed: "removed" }, ngImport: i0, template: "<span\n [class]=\"tagClasses\"\n [attr.aria-disabled]=\"disabled\"\n role=\"status\"\n>\n <span class=\"sefin-tag__content\">\n <sefin-icon\n *ngIf=\"icon\"\n [name]=\"icon\"\n [size]=\"iconSize\"\n class=\"sefin-tag__icon\"\n ></sefin-icon>\n <ng-content></ng-content>\n </span>\n <button\n *ngIf=\"removable && !disabled\"\n type=\"button\"\n class=\"sefin-tag__remove\"\n (click)=\"onRemove($event)\"\n aria-label=\"Remove tag\"\n tabindex=\"-1\"\n >\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n</span>\n\n", styles: [".sefin-tag{display:flex;align-items:center;gap:var(--sefin-spacing-xs, 4px);width:100%;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border-radius:var(--sefin-border-radius-sm, 4px);white-space:nowrap;vertical-align:middle;box-sizing:border-box;-webkit-user-select:none;user-select:none}.sefin-tag--sm{padding:var(--sefin-spacing-xs, 2px) var(--sefin-spacing-sm, 6px);font-size:var(--sefin-font-size-xs, 10px);min-height:20px}.sefin-tag--md{padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-sm, 12px);min-height:24px}.sefin-tag--lg{padding:var(--sefin-spacing-sm, 6px) var(--sefin-spacing-md, 12px);font-size:var(--sefin-font-size-base, 14px);min-height:28px}.sefin-tag--default{background-color:var(--sefin-color-surface-hover, #f0f0f0);color:var(--sefin-color-text, #333);border:1px solid var(--sefin-color-border, #e0e0e0)}.sefin-tag--primary{background-color:var(--sefin-color-primary-light, #e3f2fd);color:var(--sefin-color-primary-dark, #0d47a1);border:1px solid var(--sefin-color-primary, #1976d2)}.sefin-tag--secondary{background-color:var(--sefin-color-secondary-light, #fce4ec);color:var(--sefin-color-secondary-dark, #880e4f);border:1px solid var(--sefin-color-secondary, #dc004e)}.sefin-tag--success{background-color:var(--sefin-color-success-light, #e8f5e9);color:var(--sefin-color-success-dark, #2e7d32);border:1px solid var(--sefin-color-success, #4caf50)}.sefin-tag--warning{background-color:var(--sefin-color-warning-light, #fff3e0);color:var(--sefin-color-warning-dark, #e65100);border:1px solid var(--sefin-color-warning, #ff9800)}.sefin-tag--error{background-color:var(--sefin-color-error-light, #ffebee);color:var(--sefin-color-error-dark, #c62828);border:1px solid var(--sefin-color-error, #f44336)}.sefin-tag--info{background-color:var(--sefin-color-primary-light, #e3f2fd);color:var(--sefin-color-text, #1a1a1a);border:1px solid var(--sefin-color-primary, #1976d2)}.sefin-tag--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-tag__content{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-tag__icon{flex-shrink:0;display:inline-flex;align-items:center}.sefin-tag__remove{display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:var(--sefin-spacing-xs, 4px);background:none;border:none;cursor:pointer;outline:none;color:currentColor;opacity:.7;transition:opacity .2s ease-in-out,background-color .2s ease-in-out;border-radius:var(--sefin-border-radius-sm, 4px);width:16px;height:16px;flex-shrink:0}.sefin-tag__remove:hover{opacity:1;background-color:#0000001a}.sefin-tag__remove:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sefin-tag__remove svg{display:block;width:12px;height:12px}.sefin-tag ::ng-deep svg,.sefin-tag ::ng-deep sefin-icon{flex-shrink:0}.sefin-tag--sm ::ng-deep svg{width:10px;height:10px}.sefin-tag--md ::ng-deep svg{width:12px;height:12px}.sefin-tag--lg ::ng-deep svg{width:14px;height:14px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "sefin-icon", inputs: ["name", "size", "color", "rotate", "flipH", "flipV", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1207
1207
  }
1208
1208
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: TagComponent, decorators: [{
1209
1209
  type: Component,
1210
- args: [{ selector: 'sefin-tag', standalone: true, imports: [CommonModule, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n [class]=\"tagClasses\"\n [attr.aria-disabled]=\"disabled\"\n role=\"status\"\n>\n <span class=\"sefin-tag__content\">\n <sefin-icon\n *ngIf=\"icon\"\n [name]=\"icon\"\n [size]=\"iconSize\"\n class=\"sefin-tag__icon\"\n ></sefin-icon>\n <ng-content></ng-content>\n </span>\n <button\n *ngIf=\"removable && !disabled\"\n type=\"button\"\n class=\"sefin-tag__remove\"\n (click)=\"onRemove($event)\"\n aria-label=\"Remove tag\"\n tabindex=\"-1\"\n >\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n</span>\n\n", styles: [".sefin-tag{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px);font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border-radius:var(--sefin-border-radius-sm, 4px);white-space:nowrap;vertical-align:middle;box-sizing:border-box;-webkit-user-select:none;user-select:none}.sefin-tag--sm{padding:var(--sefin-spacing-xs, 2px) var(--sefin-spacing-sm, 6px);font-size:var(--sefin-font-size-xs, 10px);min-height:20px}.sefin-tag--md{padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-sm, 12px);min-height:24px}.sefin-tag--lg{padding:var(--sefin-spacing-sm, 6px) var(--sefin-spacing-md, 12px);font-size:var(--sefin-font-size-base, 14px);min-height:28px}.sefin-tag--default{background-color:var(--sefin-color-surface-hover, #f0f0f0);color:var(--sefin-color-text, #333);border:1px solid var(--sefin-color-border, #e0e0e0)}.sefin-tag--primary{background-color:var(--sefin-color-primary-light, #e3f2fd);color:var(--sefin-color-primary-dark, #0d47a1);border:1px solid var(--sefin-color-primary, #1976d2)}.sefin-tag--secondary{background-color:var(--sefin-color-secondary-light, #fce4ec);color:var(--sefin-color-secondary-dark, #880e4f);border:1px solid var(--sefin-color-secondary, #dc004e)}.sefin-tag--success{background-color:var(--sefin-color-success-light, #e8f5e9);color:var(--sefin-color-success-dark, #2e7d32);border:1px solid var(--sefin-color-success, #4caf50)}.sefin-tag--warning{background-color:var(--sefin-color-warning-light, #fff3e0);color:var(--sefin-color-warning-dark, #e65100);border:1px solid var(--sefin-color-warning, #ff9800)}.sefin-tag--error{background-color:var(--sefin-color-error-light, #ffebee);color:var(--sefin-color-error-dark, #c62828);border:1px solid var(--sefin-color-error, #f44336)}.sefin-tag--info{background-color:var(--sefin-color-primary-light, #e3f2fd);color:var(--sefin-color-text, #1a1a1a);border:1px solid var(--sefin-color-primary, #1976d2)}.sefin-tag--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-tag__content{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-tag__icon{flex-shrink:0;display:inline-flex;align-items:center}.sefin-tag__remove{display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:var(--sefin-spacing-xs, 4px);background:none;border:none;cursor:pointer;outline:none;color:currentColor;opacity:.7;transition:opacity .2s ease-in-out,background-color .2s ease-in-out;border-radius:var(--sefin-border-radius-sm, 4px);width:16px;height:16px;flex-shrink:0}.sefin-tag__remove:hover{opacity:1;background-color:#0000001a}.sefin-tag__remove:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sefin-tag__remove svg{display:block;width:12px;height:12px}.sefin-tag ::ng-deep svg,.sefin-tag ::ng-deep sefin-icon{flex-shrink:0}.sefin-tag--sm ::ng-deep svg{width:10px;height:10px}.sefin-tag--md ::ng-deep svg{width:12px;height:12px}.sefin-tag--lg ::ng-deep svg{width:14px;height:14px}\n"] }]
1210
+ args: [{ selector: 'sefin-tag', standalone: true, imports: [CommonModule, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n [class]=\"tagClasses\"\n [attr.aria-disabled]=\"disabled\"\n role=\"status\"\n>\n <span class=\"sefin-tag__content\">\n <sefin-icon\n *ngIf=\"icon\"\n [name]=\"icon\"\n [size]=\"iconSize\"\n class=\"sefin-tag__icon\"\n ></sefin-icon>\n <ng-content></ng-content>\n </span>\n <button\n *ngIf=\"removable && !disabled\"\n type=\"button\"\n class=\"sefin-tag__remove\"\n (click)=\"onRemove($event)\"\n aria-label=\"Remove tag\"\n tabindex=\"-1\"\n >\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n</span>\n\n", styles: [".sefin-tag{display:flex;align-items:center;gap:var(--sefin-spacing-xs, 4px);width:100%;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border-radius:var(--sefin-border-radius-sm, 4px);white-space:nowrap;vertical-align:middle;box-sizing:border-box;-webkit-user-select:none;user-select:none}.sefin-tag--sm{padding:var(--sefin-spacing-xs, 2px) var(--sefin-spacing-sm, 6px);font-size:var(--sefin-font-size-xs, 10px);min-height:20px}.sefin-tag--md{padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-sm, 12px);min-height:24px}.sefin-tag--lg{padding:var(--sefin-spacing-sm, 6px) var(--sefin-spacing-md, 12px);font-size:var(--sefin-font-size-base, 14px);min-height:28px}.sefin-tag--default{background-color:var(--sefin-color-surface-hover, #f0f0f0);color:var(--sefin-color-text, #333);border:1px solid var(--sefin-color-border, #e0e0e0)}.sefin-tag--primary{background-color:var(--sefin-color-primary-light, #e3f2fd);color:var(--sefin-color-primary-dark, #0d47a1);border:1px solid var(--sefin-color-primary, #1976d2)}.sefin-tag--secondary{background-color:var(--sefin-color-secondary-light, #fce4ec);color:var(--sefin-color-secondary-dark, #880e4f);border:1px solid var(--sefin-color-secondary, #dc004e)}.sefin-tag--success{background-color:var(--sefin-color-success-light, #e8f5e9);color:var(--sefin-color-success-dark, #2e7d32);border:1px solid var(--sefin-color-success, #4caf50)}.sefin-tag--warning{background-color:var(--sefin-color-warning-light, #fff3e0);color:var(--sefin-color-warning-dark, #e65100);border:1px solid var(--sefin-color-warning, #ff9800)}.sefin-tag--error{background-color:var(--sefin-color-error-light, #ffebee);color:var(--sefin-color-error-dark, #c62828);border:1px solid var(--sefin-color-error, #f44336)}.sefin-tag--info{background-color:var(--sefin-color-primary-light, #e3f2fd);color:var(--sefin-color-text, #1a1a1a);border:1px solid var(--sefin-color-primary, #1976d2)}.sefin-tag--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-tag__content{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-tag__icon{flex-shrink:0;display:inline-flex;align-items:center}.sefin-tag__remove{display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:var(--sefin-spacing-xs, 4px);background:none;border:none;cursor:pointer;outline:none;color:currentColor;opacity:.7;transition:opacity .2s ease-in-out,background-color .2s ease-in-out;border-radius:var(--sefin-border-radius-sm, 4px);width:16px;height:16px;flex-shrink:0}.sefin-tag__remove:hover{opacity:1;background-color:#0000001a}.sefin-tag__remove:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sefin-tag__remove svg{display:block;width:12px;height:12px}.sefin-tag ::ng-deep svg,.sefin-tag ::ng-deep sefin-icon{flex-shrink:0}.sefin-tag--sm ::ng-deep svg{width:10px;height:10px}.sefin-tag--md ::ng-deep svg{width:12px;height:12px}.sefin-tag--lg ::ng-deep svg{width:14px;height:14px}\n"] }]
1211
1211
  }], propDecorators: { variant: [{
1212
1212
  type: Input
1213
1213
  }], size: [{
@@ -1260,11 +1260,11 @@ class LinkComponent {
1260
1260
  }
1261
1261
  }
1262
1262
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1263
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: LinkComponent, isStandalone: true, selector: "sefin-link", inputs: { variant: "variant", size: "size", disabled: "disabled", href: "href", target: "target", rel: "rel", class: "class", underline: "underline" }, ngImport: i0, template: "<a\n [class]=\"linkClasses\"\n [href]=\"disabled ? null : (href || '#')\"\n [attr.target]=\"target\"\n [attr.rel]=\"rel\"\n [attr.aria-disabled]=\"disabled ? true : null\"\n (click)=\"onClick($event)\"\n>\n <ng-content></ng-content>\n</a>\n\n", styles: [".sefin-link{display:inline-flex;align-items:center;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);text-decoration:none;transition:all .2s ease-in-out;cursor:pointer;outline:none}.sefin-link:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px;border-radius:2px}.sefin-link--sm{font-size:var(--sefin-font-size-sm)}.sefin-link--md{font-size:var(--sefin-font-size-base)}.sefin-link--lg{font-size:var(--sefin-font-size-lg)}.sefin-link--default{color:var(--sefin-color-text);text-decoration:none}.sefin-link--default:hover:not(.sefin-link--default--disabled){color:var(--sefin-color-primary)}.sefin-link--primary{color:var(--sefin-color-primary);text-decoration:none}.sefin-link--primary:hover:not(.sefin-link--primary--disabled){color:var(--sefin-color-primary-dark)}.sefin-link--primary:active:not(.sefin-link--primary--disabled){color:var(--sefin-color-primary-dark)}.sefin-link--secondary{color:var(--sefin-color-text-secondary);text-decoration:none}.sefin-link--secondary:hover:not(.sefin-link--secondary--disabled){color:var(--sefin-color-primary)}.sefin-link--underline{color:var(--sefin-color-primary);text-decoration:underline;text-underline-offset:2px}.sefin-link--underline:hover:not(.sefin-link--underline--disabled){color:var(--sefin-color-primary-dark);text-decoration-thickness:2px}.sefin-link--underline.sefin-link--default{color:var(--sefin-color-text);text-decoration:underline;text-underline-offset:2px}.sefin-link--underline.sefin-link--default:hover:not(.sefin-link--underline.sefin-link--default--disabled){color:var(--sefin-color-primary);text-decoration-thickness:2px}.sefin-link--disabled{opacity:.6;cursor:not-allowed;pointer-events:none;color:var(--sefin-color-text-disabled)}.sefin-link--disabled:hover{color:var(--sefin-color-text-disabled)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.Default });
1263
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: LinkComponent, isStandalone: true, selector: "sefin-link", inputs: { variant: "variant", size: "size", disabled: "disabled", href: "href", target: "target", rel: "rel", class: "class", underline: "underline" }, ngImport: i0, template: "<a\n [class]=\"linkClasses\"\n [href]=\"disabled ? null : (href || '#')\"\n [attr.target]=\"target\"\n [attr.rel]=\"rel\"\n [attr.aria-disabled]=\"disabled ? true : null\"\n (click)=\"onClick($event)\"\n>\n <ng-content></ng-content>\n</a>\n\n", styles: [".sefin-link{display:flex;align-items:center;width:100%;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);text-decoration:none;transition:all .2s ease-in-out;cursor:pointer;outline:none;box-sizing:border-box}.sefin-link:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px;border-radius:2px}.sefin-link--sm{font-size:var(--sefin-font-size-sm)}.sefin-link--md{font-size:var(--sefin-font-size-base)}.sefin-link--lg{font-size:var(--sefin-font-size-lg)}.sefin-link--default{color:var(--sefin-color-text);text-decoration:none}.sefin-link--default:hover:not(.sefin-link--default--disabled){color:var(--sefin-color-primary)}.sefin-link--primary{color:var(--sefin-color-primary);text-decoration:none}.sefin-link--primary:hover:not(.sefin-link--primary--disabled){color:var(--sefin-color-primary-dark)}.sefin-link--primary:active:not(.sefin-link--primary--disabled){color:var(--sefin-color-primary-dark)}.sefin-link--secondary{color:var(--sefin-color-text-secondary);text-decoration:none}.sefin-link--secondary:hover:not(.sefin-link--secondary--disabled){color:var(--sefin-color-primary)}.sefin-link--underline{color:var(--sefin-color-primary);text-decoration:underline;text-underline-offset:2px}.sefin-link--underline:hover:not(.sefin-link--underline--disabled){color:var(--sefin-color-primary-dark);text-decoration-thickness:2px}.sefin-link--underline.sefin-link--default{color:var(--sefin-color-text);text-decoration:underline;text-underline-offset:2px}.sefin-link--underline.sefin-link--default:hover:not(.sefin-link--underline.sefin-link--default--disabled){color:var(--sefin-color-primary);text-decoration-thickness:2px}.sefin-link--disabled{opacity:.6;cursor:not-allowed;pointer-events:none;color:var(--sefin-color-text-disabled)}.sefin-link--disabled:hover{color:var(--sefin-color-text-disabled)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.Default });
1264
1264
  }
1265
1265
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LinkComponent, decorators: [{
1266
1266
  type: Component,
1267
- args: [{ selector: 'sefin-link', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.Default, template: "<a\n [class]=\"linkClasses\"\n [href]=\"disabled ? null : (href || '#')\"\n [attr.target]=\"target\"\n [attr.rel]=\"rel\"\n [attr.aria-disabled]=\"disabled ? true : null\"\n (click)=\"onClick($event)\"\n>\n <ng-content></ng-content>\n</a>\n\n", styles: [".sefin-link{display:inline-flex;align-items:center;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);text-decoration:none;transition:all .2s ease-in-out;cursor:pointer;outline:none}.sefin-link:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px;border-radius:2px}.sefin-link--sm{font-size:var(--sefin-font-size-sm)}.sefin-link--md{font-size:var(--sefin-font-size-base)}.sefin-link--lg{font-size:var(--sefin-font-size-lg)}.sefin-link--default{color:var(--sefin-color-text);text-decoration:none}.sefin-link--default:hover:not(.sefin-link--default--disabled){color:var(--sefin-color-primary)}.sefin-link--primary{color:var(--sefin-color-primary);text-decoration:none}.sefin-link--primary:hover:not(.sefin-link--primary--disabled){color:var(--sefin-color-primary-dark)}.sefin-link--primary:active:not(.sefin-link--primary--disabled){color:var(--sefin-color-primary-dark)}.sefin-link--secondary{color:var(--sefin-color-text-secondary);text-decoration:none}.sefin-link--secondary:hover:not(.sefin-link--secondary--disabled){color:var(--sefin-color-primary)}.sefin-link--underline{color:var(--sefin-color-primary);text-decoration:underline;text-underline-offset:2px}.sefin-link--underline:hover:not(.sefin-link--underline--disabled){color:var(--sefin-color-primary-dark);text-decoration-thickness:2px}.sefin-link--underline.sefin-link--default{color:var(--sefin-color-text);text-decoration:underline;text-underline-offset:2px}.sefin-link--underline.sefin-link--default:hover:not(.sefin-link--underline.sefin-link--default--disabled){color:var(--sefin-color-primary);text-decoration-thickness:2px}.sefin-link--disabled{opacity:.6;cursor:not-allowed;pointer-events:none;color:var(--sefin-color-text-disabled)}.sefin-link--disabled:hover{color:var(--sefin-color-text-disabled)}\n"] }]
1267
+ args: [{ selector: 'sefin-link', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.Default, template: "<a\n [class]=\"linkClasses\"\n [href]=\"disabled ? null : (href || '#')\"\n [attr.target]=\"target\"\n [attr.rel]=\"rel\"\n [attr.aria-disabled]=\"disabled ? true : null\"\n (click)=\"onClick($event)\"\n>\n <ng-content></ng-content>\n</a>\n\n", styles: [".sefin-link{display:flex;align-items:center;width:100%;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);text-decoration:none;transition:all .2s ease-in-out;cursor:pointer;outline:none;box-sizing:border-box}.sefin-link:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px;border-radius:2px}.sefin-link--sm{font-size:var(--sefin-font-size-sm)}.sefin-link--md{font-size:var(--sefin-font-size-base)}.sefin-link--lg{font-size:var(--sefin-font-size-lg)}.sefin-link--default{color:var(--sefin-color-text);text-decoration:none}.sefin-link--default:hover:not(.sefin-link--default--disabled){color:var(--sefin-color-primary)}.sefin-link--primary{color:var(--sefin-color-primary);text-decoration:none}.sefin-link--primary:hover:not(.sefin-link--primary--disabled){color:var(--sefin-color-primary-dark)}.sefin-link--primary:active:not(.sefin-link--primary--disabled){color:var(--sefin-color-primary-dark)}.sefin-link--secondary{color:var(--sefin-color-text-secondary);text-decoration:none}.sefin-link--secondary:hover:not(.sefin-link--secondary--disabled){color:var(--sefin-color-primary)}.sefin-link--underline{color:var(--sefin-color-primary);text-decoration:underline;text-underline-offset:2px}.sefin-link--underline:hover:not(.sefin-link--underline--disabled){color:var(--sefin-color-primary-dark);text-decoration-thickness:2px}.sefin-link--underline.sefin-link--default{color:var(--sefin-color-text);text-decoration:underline;text-underline-offset:2px}.sefin-link--underline.sefin-link--default:hover:not(.sefin-link--underline.sefin-link--default--disabled){color:var(--sefin-color-primary);text-decoration-thickness:2px}.sefin-link--disabled{opacity:.6;cursor:not-allowed;pointer-events:none;color:var(--sefin-color-text-disabled)}.sefin-link--disabled:hover{color:var(--sefin-color-text-disabled)}\n"] }]
1268
1268
  }], propDecorators: { variant: [{
1269
1269
  type: Input
1270
1270
  }], size: [{
@@ -1450,7 +1450,7 @@ class CheckboxComponent {
1450
1450
  useExisting: forwardRef(() => CheckboxComponent),
1451
1451
  multi: true,
1452
1452
  },
1453
- ], viewQueries: [{ propertyName: "checkboxInput", first: true, predicate: ["checkboxInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<label [class]=\"wrapperClasses\">\n <input\n type=\"checkbox\"\n class=\"sefin-checkbox\"\n [class.sefin-checkbox--sm]=\"size === 'sm'\"\n [class.sefin-checkbox--md]=\"size === 'md'\"\n [class.sefin-checkbox--lg]=\"size === 'lg'\"\n [class.sefin-checkbox--disabled]=\"disabled\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n (change)=\"onCheckboxChange($event)\"\n #checkboxInput\n />\n <span \n class=\"sefin-checkbox__checkmark\" \n [class.sefin-checkbox__checkmark--sm]=\"size === 'sm'\" \n [class.sefin-checkbox__checkmark--md]=\"size === 'md'\" \n [class.sefin-checkbox__checkmark--lg]=\"size === 'lg'\" \n [class.sefin-checkbox__checkmark--checked]=\"value\" \n [class.sefin-checkbox__checkmark--indeterminate]=\"indeterminate && !value\"\n >\n <svg\n *ngIf=\"value\"\n class=\"sefin-checkbox__icon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.3333 4L6 11.3333L2.66667 8\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <svg\n *ngIf=\"indeterminate && !value\"\n class=\"sefin-checkbox__icon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4 8H12\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n />\n </svg>\n </span>\n <span *ngIf=\"label\" class=\"sefin-checkbox__label\" [class.sefin-checkbox__label--sm]=\"size === 'sm'\" [class.sefin-checkbox__label--md]=\"size === 'md'\" [class.sefin-checkbox__label--lg]=\"size === 'lg'\">{{ label }}</span>\n</label>\n\n\n", styles: [".sefin-checkbox__wrapper{display:inline-flex;align-items:center;gap:var(--sefin-spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.sefin-checkbox__wrapper--disabled{cursor:not-allowed;opacity:.6}.sefin-checkbox{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.sefin-checkbox__checkmark{display:flex;align-items:center;justify-content:center;border:2px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);border-radius:var(--sefin-radius-sm);transition:background-color .2s ease-in-out,border-color .2s ease-in-out,color .2s ease-in-out;flex-shrink:0;color:transparent;box-sizing:border-box}.sefin-checkbox__checkmark--checked,.sefin-checkbox__checkmark--indeterminate{background-color:var(--sefin-color-primary);border-color:var(--sefin-color-primary);color:#fff}.sefin-checkbox__checkmark--sm{width:16px;height:16px;min-width:16px;min-height:16px}.sefin-checkbox__checkmark--md{width:20px;height:20px;min-width:20px;min-height:20px}.sefin-checkbox__checkmark--lg{width:24px;height:24px;min-width:24px;min-height:24px}.sefin-checkbox__wrapper:hover .sefin-checkbox__checkmark{border-color:var(--sefin-color-border-focus)}.sefin-checkbox__wrapper--disabled:hover .sefin-checkbox__checkmark{border-color:var(--sefin-color-border)}.sefin-checkbox__wrapper:focus-within .sefin-checkbox__checkmark{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-checkbox__wrapper:focus-within{outline:none}.sefin-checkbox__wrapper--disabled .sefin-checkbox__checkmark{background-color:var(--sefin-color-surface-hover);border-color:var(--sefin-color-border);cursor:not-allowed}.sefin-checkbox__wrapper--disabled .sefin-checkbox__checkmark--checked,.sefin-checkbox__wrapper--disabled .sefin-checkbox__checkmark--indeterminate{background-color:var(--sefin-color-border);border-color:var(--sefin-color-border);opacity:.6}.sefin-checkbox__icon{width:12px;height:12px;stroke-width:2;flex-shrink:0}.sefin-checkbox__checkmark--sm .sefin-checkbox__icon{width:10px;height:10px}.sefin-checkbox__checkmark--md .sefin-checkbox__icon{width:12px;height:12px}.sefin-checkbox__checkmark--lg .sefin-checkbox__icon{width:14px;height:14px}.sefin-checkbox__label{font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);-webkit-user-select:none;user-select:none}.sefin-checkbox__label--sm{font-size:var(--sefin-font-size-sm)}.sefin-checkbox__label--md{font-size:var(--sefin-font-size-base)}.sefin-checkbox__label--lg{font-size:var(--sefin-font-size-lg)}.sefin-checkbox__wrapper--disabled .sefin-checkbox__label{color:var(--sefin-color-text-disabled)}.sefin-checkbox--disabled{cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
1453
+ ], viewQueries: [{ propertyName: "checkboxInput", first: true, predicate: ["checkboxInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<label [class]=\"wrapperClasses\">\n <input\n type=\"checkbox\"\n class=\"sefin-checkbox\"\n [class.sefin-checkbox--sm]=\"size === 'sm'\"\n [class.sefin-checkbox--md]=\"size === 'md'\"\n [class.sefin-checkbox--lg]=\"size === 'lg'\"\n [class.sefin-checkbox--disabled]=\"disabled\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n (change)=\"onCheckboxChange($event)\"\n #checkboxInput\n />\n <span \n class=\"sefin-checkbox__checkmark\" \n [class.sefin-checkbox__checkmark--sm]=\"size === 'sm'\" \n [class.sefin-checkbox__checkmark--md]=\"size === 'md'\" \n [class.sefin-checkbox__checkmark--lg]=\"size === 'lg'\" \n [class.sefin-checkbox__checkmark--checked]=\"value\" \n [class.sefin-checkbox__checkmark--indeterminate]=\"indeterminate && !value\"\n >\n <svg\n *ngIf=\"value\"\n class=\"sefin-checkbox__icon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.3333 4L6 11.3333L2.66667 8\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <svg\n *ngIf=\"indeterminate && !value\"\n class=\"sefin-checkbox__icon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4 8H12\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n />\n </svg>\n </span>\n <span *ngIf=\"label\" class=\"sefin-checkbox__label\" [class.sefin-checkbox__label--sm]=\"size === 'sm'\" [class.sefin-checkbox__label--md]=\"size === 'md'\" [class.sefin-checkbox__label--lg]=\"size === 'lg'\">{{ label }}</span>\n</label>\n\n\n", styles: [".sefin-checkbox__wrapper{display:flex;align-items:center;gap:var(--sefin-spacing-sm);width:100%;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;box-sizing:border-box}.sefin-checkbox__wrapper--disabled{cursor:not-allowed;opacity:.6}.sefin-checkbox{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.sefin-checkbox__checkmark{display:flex;align-items:center;justify-content:center;border:2px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);border-radius:var(--sefin-radius-sm);transition:background-color .2s ease-in-out,border-color .2s ease-in-out,color .2s ease-in-out;flex-shrink:0;color:transparent;box-sizing:border-box}.sefin-checkbox__checkmark--checked,.sefin-checkbox__checkmark--indeterminate{background-color:var(--sefin-color-primary);border-color:var(--sefin-color-primary);color:#fff}.sefin-checkbox__checkmark--sm{width:16px;height:16px;min-width:16px;min-height:16px}.sefin-checkbox__checkmark--md{width:20px;height:20px;min-width:20px;min-height:20px}.sefin-checkbox__checkmark--lg{width:24px;height:24px;min-width:24px;min-height:24px}.sefin-checkbox__wrapper:hover .sefin-checkbox__checkmark{border-color:var(--sefin-color-border-focus)}.sefin-checkbox__wrapper--disabled:hover .sefin-checkbox__checkmark{border-color:var(--sefin-color-border)}.sefin-checkbox__wrapper:focus-within .sefin-checkbox__checkmark{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-checkbox__wrapper:focus-within{outline:none}.sefin-checkbox__wrapper--disabled .sefin-checkbox__checkmark{background-color:var(--sefin-color-surface-hover);border-color:var(--sefin-color-border);cursor:not-allowed}.sefin-checkbox__wrapper--disabled .sefin-checkbox__checkmark--checked,.sefin-checkbox__wrapper--disabled .sefin-checkbox__checkmark--indeterminate{background-color:var(--sefin-color-border);border-color:var(--sefin-color-border);opacity:.6}.sefin-checkbox__icon{width:12px;height:12px;stroke-width:2;flex-shrink:0}.sefin-checkbox__checkmark--sm .sefin-checkbox__icon{width:10px;height:10px}.sefin-checkbox__checkmark--md .sefin-checkbox__icon{width:12px;height:12px}.sefin-checkbox__checkmark--lg .sefin-checkbox__icon{width:14px;height:14px}.sefin-checkbox__label{font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);-webkit-user-select:none;user-select:none}.sefin-checkbox__label--sm{font-size:var(--sefin-font-size-sm)}.sefin-checkbox__label--md{font-size:var(--sefin-font-size-base)}.sefin-checkbox__label--lg{font-size:var(--sefin-font-size-lg)}.sefin-checkbox__wrapper--disabled .sefin-checkbox__label{color:var(--sefin-color-text-disabled)}.sefin-checkbox--disabled{cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
1454
1454
  }
1455
1455
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: CheckboxComponent, decorators: [{
1456
1456
  type: Component,
@@ -1460,7 +1460,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
1460
1460
  useExisting: forwardRef(() => CheckboxComponent),
1461
1461
  multi: true,
1462
1462
  },
1463
- ], template: "<label [class]=\"wrapperClasses\">\n <input\n type=\"checkbox\"\n class=\"sefin-checkbox\"\n [class.sefin-checkbox--sm]=\"size === 'sm'\"\n [class.sefin-checkbox--md]=\"size === 'md'\"\n [class.sefin-checkbox--lg]=\"size === 'lg'\"\n [class.sefin-checkbox--disabled]=\"disabled\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n (change)=\"onCheckboxChange($event)\"\n #checkboxInput\n />\n <span \n class=\"sefin-checkbox__checkmark\" \n [class.sefin-checkbox__checkmark--sm]=\"size === 'sm'\" \n [class.sefin-checkbox__checkmark--md]=\"size === 'md'\" \n [class.sefin-checkbox__checkmark--lg]=\"size === 'lg'\" \n [class.sefin-checkbox__checkmark--checked]=\"value\" \n [class.sefin-checkbox__checkmark--indeterminate]=\"indeterminate && !value\"\n >\n <svg\n *ngIf=\"value\"\n class=\"sefin-checkbox__icon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.3333 4L6 11.3333L2.66667 8\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <svg\n *ngIf=\"indeterminate && !value\"\n class=\"sefin-checkbox__icon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4 8H12\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n />\n </svg>\n </span>\n <span *ngIf=\"label\" class=\"sefin-checkbox__label\" [class.sefin-checkbox__label--sm]=\"size === 'sm'\" [class.sefin-checkbox__label--md]=\"size === 'md'\" [class.sefin-checkbox__label--lg]=\"size === 'lg'\">{{ label }}</span>\n</label>\n\n\n", styles: [".sefin-checkbox__wrapper{display:inline-flex;align-items:center;gap:var(--sefin-spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.sefin-checkbox__wrapper--disabled{cursor:not-allowed;opacity:.6}.sefin-checkbox{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.sefin-checkbox__checkmark{display:flex;align-items:center;justify-content:center;border:2px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);border-radius:var(--sefin-radius-sm);transition:background-color .2s ease-in-out,border-color .2s ease-in-out,color .2s ease-in-out;flex-shrink:0;color:transparent;box-sizing:border-box}.sefin-checkbox__checkmark--checked,.sefin-checkbox__checkmark--indeterminate{background-color:var(--sefin-color-primary);border-color:var(--sefin-color-primary);color:#fff}.sefin-checkbox__checkmark--sm{width:16px;height:16px;min-width:16px;min-height:16px}.sefin-checkbox__checkmark--md{width:20px;height:20px;min-width:20px;min-height:20px}.sefin-checkbox__checkmark--lg{width:24px;height:24px;min-width:24px;min-height:24px}.sefin-checkbox__wrapper:hover .sefin-checkbox__checkmark{border-color:var(--sefin-color-border-focus)}.sefin-checkbox__wrapper--disabled:hover .sefin-checkbox__checkmark{border-color:var(--sefin-color-border)}.sefin-checkbox__wrapper:focus-within .sefin-checkbox__checkmark{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-checkbox__wrapper:focus-within{outline:none}.sefin-checkbox__wrapper--disabled .sefin-checkbox__checkmark{background-color:var(--sefin-color-surface-hover);border-color:var(--sefin-color-border);cursor:not-allowed}.sefin-checkbox__wrapper--disabled .sefin-checkbox__checkmark--checked,.sefin-checkbox__wrapper--disabled .sefin-checkbox__checkmark--indeterminate{background-color:var(--sefin-color-border);border-color:var(--sefin-color-border);opacity:.6}.sefin-checkbox__icon{width:12px;height:12px;stroke-width:2;flex-shrink:0}.sefin-checkbox__checkmark--sm .sefin-checkbox__icon{width:10px;height:10px}.sefin-checkbox__checkmark--md .sefin-checkbox__icon{width:12px;height:12px}.sefin-checkbox__checkmark--lg .sefin-checkbox__icon{width:14px;height:14px}.sefin-checkbox__label{font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);-webkit-user-select:none;user-select:none}.sefin-checkbox__label--sm{font-size:var(--sefin-font-size-sm)}.sefin-checkbox__label--md{font-size:var(--sefin-font-size-base)}.sefin-checkbox__label--lg{font-size:var(--sefin-font-size-lg)}.sefin-checkbox__wrapper--disabled .sefin-checkbox__label{color:var(--sefin-color-text-disabled)}.sefin-checkbox--disabled{cursor:not-allowed}\n"] }]
1463
+ ], template: "<label [class]=\"wrapperClasses\">\n <input\n type=\"checkbox\"\n class=\"sefin-checkbox\"\n [class.sefin-checkbox--sm]=\"size === 'sm'\"\n [class.sefin-checkbox--md]=\"size === 'md'\"\n [class.sefin-checkbox--lg]=\"size === 'lg'\"\n [class.sefin-checkbox--disabled]=\"disabled\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n (change)=\"onCheckboxChange($event)\"\n #checkboxInput\n />\n <span \n class=\"sefin-checkbox__checkmark\" \n [class.sefin-checkbox__checkmark--sm]=\"size === 'sm'\" \n [class.sefin-checkbox__checkmark--md]=\"size === 'md'\" \n [class.sefin-checkbox__checkmark--lg]=\"size === 'lg'\" \n [class.sefin-checkbox__checkmark--checked]=\"value\" \n [class.sefin-checkbox__checkmark--indeterminate]=\"indeterminate && !value\"\n >\n <svg\n *ngIf=\"value\"\n class=\"sefin-checkbox__icon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.3333 4L6 11.3333L2.66667 8\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <svg\n *ngIf=\"indeterminate && !value\"\n class=\"sefin-checkbox__icon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4 8H12\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n />\n </svg>\n </span>\n <span *ngIf=\"label\" class=\"sefin-checkbox__label\" [class.sefin-checkbox__label--sm]=\"size === 'sm'\" [class.sefin-checkbox__label--md]=\"size === 'md'\" [class.sefin-checkbox__label--lg]=\"size === 'lg'\">{{ label }}</span>\n</label>\n\n\n", styles: [".sefin-checkbox__wrapper{display:flex;align-items:center;gap:var(--sefin-spacing-sm);width:100%;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;box-sizing:border-box}.sefin-checkbox__wrapper--disabled{cursor:not-allowed;opacity:.6}.sefin-checkbox{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.sefin-checkbox__checkmark{display:flex;align-items:center;justify-content:center;border:2px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);border-radius:var(--sefin-radius-sm);transition:background-color .2s ease-in-out,border-color .2s ease-in-out,color .2s ease-in-out;flex-shrink:0;color:transparent;box-sizing:border-box}.sefin-checkbox__checkmark--checked,.sefin-checkbox__checkmark--indeterminate{background-color:var(--sefin-color-primary);border-color:var(--sefin-color-primary);color:#fff}.sefin-checkbox__checkmark--sm{width:16px;height:16px;min-width:16px;min-height:16px}.sefin-checkbox__checkmark--md{width:20px;height:20px;min-width:20px;min-height:20px}.sefin-checkbox__checkmark--lg{width:24px;height:24px;min-width:24px;min-height:24px}.sefin-checkbox__wrapper:hover .sefin-checkbox__checkmark{border-color:var(--sefin-color-border-focus)}.sefin-checkbox__wrapper--disabled:hover .sefin-checkbox__checkmark{border-color:var(--sefin-color-border)}.sefin-checkbox__wrapper:focus-within .sefin-checkbox__checkmark{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-checkbox__wrapper:focus-within{outline:none}.sefin-checkbox__wrapper--disabled .sefin-checkbox__checkmark{background-color:var(--sefin-color-surface-hover);border-color:var(--sefin-color-border);cursor:not-allowed}.sefin-checkbox__wrapper--disabled .sefin-checkbox__checkmark--checked,.sefin-checkbox__wrapper--disabled .sefin-checkbox__checkmark--indeterminate{background-color:var(--sefin-color-border);border-color:var(--sefin-color-border);opacity:.6}.sefin-checkbox__icon{width:12px;height:12px;stroke-width:2;flex-shrink:0}.sefin-checkbox__checkmark--sm .sefin-checkbox__icon{width:10px;height:10px}.sefin-checkbox__checkmark--md .sefin-checkbox__icon{width:12px;height:12px}.sefin-checkbox__checkmark--lg .sefin-checkbox__icon{width:14px;height:14px}.sefin-checkbox__label{font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);-webkit-user-select:none;user-select:none}.sefin-checkbox__label--sm{font-size:var(--sefin-font-size-sm)}.sefin-checkbox__label--md{font-size:var(--sefin-font-size-base)}.sefin-checkbox__label--lg{font-size:var(--sefin-font-size-lg)}.sefin-checkbox__wrapper--disabled .sefin-checkbox__label{color:var(--sefin-color-text-disabled)}.sefin-checkbox--disabled{cursor:not-allowed}\n"] }]
1464
1464
  }], propDecorators: { checkboxInput: [{
1465
1465
  type: ViewChild,
1466
1466
  args: ['checkboxInput', { static: false }]
@@ -1543,7 +1543,7 @@ class RadioComponent {
1543
1543
  useExisting: forwardRef(() => RadioComponent),
1544
1544
  multi: true,
1545
1545
  },
1546
- ], viewQueries: [{ propertyName: "radioInput", first: true, predicate: ["radioInput"], descendants: true }], ngImport: i0, template: "<label [class]=\"wrapperClasses\">\n <input\n type=\"radio\"\n class=\"sefin-radio\"\n [class.sefin-radio--sm]=\"size === 'sm'\"\n [class.sefin-radio--md]=\"size === 'md'\"\n [class.sefin-radio--lg]=\"size === 'lg'\"\n [class.sefin-radio--disabled]=\"disabled\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [value]=\"value\"\n (change)=\"onRadioChange($event)\"\n #radioInput\n />\n <span \n class=\"sefin-radio__circle\" \n [class.sefin-radio__circle--sm]=\"size === 'sm'\" \n [class.sefin-radio__circle--md]=\"size === 'md'\" \n [class.sefin-radio__circle--lg]=\"size === 'lg'\" \n [class.sefin-radio__circle--checked]=\"checked\"\n >\n <span *ngIf=\"checked\" class=\"sefin-radio__dot\"></span>\n </span>\n <span *ngIf=\"label\" class=\"sefin-radio__label\" [class.sefin-radio__label--sm]=\"size === 'sm'\" [class.sefin-radio__label--md]=\"size === 'md'\" [class.sefin-radio__label--lg]=\"size === 'lg'\">{{ label }}</span>\n</label>\n\n", styles: [".sefin-radio__wrapper{display:inline-flex;align-items:center;gap:var(--sefin-spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.sefin-radio__wrapper--disabled{cursor:not-allowed;opacity:.6}.sefin-radio{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.sefin-radio__circle{display:flex;align-items:center;justify-content:center;border:2px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);border-radius:50%;transition:background-color .2s ease-in-out,border-color .2s ease-in-out;flex-shrink:0;box-sizing:border-box}.sefin-radio__circle--checked{border-color:var(--sefin-color-primary)}.sefin-radio__circle--sm{width:16px;height:16px;min-width:16px;min-height:16px}.sefin-radio__circle--md{width:20px;height:20px;min-width:20px;min-height:20px}.sefin-radio__circle--lg{width:24px;height:24px;min-width:24px;min-height:24px}.sefin-radio__dot{width:8px;height:8px;border-radius:50%;background-color:var(--sefin-color-primary);transition:transform .2s ease-in-out;transform:scale(0);animation:radio-dot-appear .2s ease-in-out forwards}.sefin-radio__circle--sm .sefin-radio__dot{width:6px;height:6px}.sefin-radio__circle--md .sefin-radio__dot{width:8px;height:8px}.sefin-radio__circle--lg .sefin-radio__dot{width:10px;height:10px}.sefin-radio__wrapper:hover .sefin-radio__circle{border-color:var(--sefin-color-border-focus)}.sefin-radio__wrapper--disabled:hover .sefin-radio__circle{border-color:var(--sefin-color-border)}.sefin-radio__wrapper:focus-within .sefin-radio__circle{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-radio__wrapper:focus-within{outline:none}.sefin-radio__wrapper--disabled .sefin-radio__circle{background-color:var(--sefin-color-surface-hover);border-color:var(--sefin-color-border);cursor:not-allowed}.sefin-radio__wrapper--disabled .sefin-radio__circle--checked{border-color:var(--sefin-color-border);opacity:.6}.sefin-radio__wrapper--disabled .sefin-radio__dot{background-color:var(--sefin-color-text-disabled)}.sefin-radio__label{font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);-webkit-user-select:none;user-select:none}.sefin-radio__label--sm{font-size:var(--sefin-font-size-sm)}.sefin-radio__label--md{font-size:var(--sefin-font-size-base)}.sefin-radio__label--lg{font-size:var(--sefin-font-size-lg)}.sefin-radio__wrapper--disabled .sefin-radio__label{color:var(--sefin-color-text-disabled)}.sefin-radio--disabled{cursor:not-allowed}@keyframes radio-dot-appear{0%{transform:scale(0)}to{transform:scale(1)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
1546
+ ], viewQueries: [{ propertyName: "radioInput", first: true, predicate: ["radioInput"], descendants: true }], ngImport: i0, template: "<label [class]=\"wrapperClasses\">\n <input\n type=\"radio\"\n class=\"sefin-radio\"\n [class.sefin-radio--sm]=\"size === 'sm'\"\n [class.sefin-radio--md]=\"size === 'md'\"\n [class.sefin-radio--lg]=\"size === 'lg'\"\n [class.sefin-radio--disabled]=\"disabled\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [value]=\"value\"\n (change)=\"onRadioChange($event)\"\n #radioInput\n />\n <span \n class=\"sefin-radio__circle\" \n [class.sefin-radio__circle--sm]=\"size === 'sm'\" \n [class.sefin-radio__circle--md]=\"size === 'md'\" \n [class.sefin-radio__circle--lg]=\"size === 'lg'\" \n [class.sefin-radio__circle--checked]=\"checked\"\n >\n <span *ngIf=\"checked\" class=\"sefin-radio__dot\"></span>\n </span>\n <span *ngIf=\"label\" class=\"sefin-radio__label\" [class.sefin-radio__label--sm]=\"size === 'sm'\" [class.sefin-radio__label--md]=\"size === 'md'\" [class.sefin-radio__label--lg]=\"size === 'lg'\">{{ label }}</span>\n</label>\n\n", styles: [".sefin-radio__wrapper{display:flex;align-items:center;gap:var(--sefin-spacing-sm);width:100%;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;box-sizing:border-box}.sefin-radio__wrapper--disabled{cursor:not-allowed;opacity:.6}.sefin-radio{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.sefin-radio__circle{display:flex;align-items:center;justify-content:center;border:2px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);border-radius:50%;transition:background-color .2s ease-in-out,border-color .2s ease-in-out;flex-shrink:0;box-sizing:border-box}.sefin-radio__circle--checked{border-color:var(--sefin-color-primary)}.sefin-radio__circle--sm{width:16px;height:16px;min-width:16px;min-height:16px}.sefin-radio__circle--md{width:20px;height:20px;min-width:20px;min-height:20px}.sefin-radio__circle--lg{width:24px;height:24px;min-width:24px;min-height:24px}.sefin-radio__dot{width:8px;height:8px;border-radius:50%;background-color:var(--sefin-color-primary);transition:transform .2s ease-in-out;transform:scale(0);animation:radio-dot-appear .2s ease-in-out forwards}.sefin-radio__circle--sm .sefin-radio__dot{width:6px;height:6px}.sefin-radio__circle--md .sefin-radio__dot{width:8px;height:8px}.sefin-radio__circle--lg .sefin-radio__dot{width:10px;height:10px}.sefin-radio__wrapper:hover .sefin-radio__circle{border-color:var(--sefin-color-border-focus)}.sefin-radio__wrapper--disabled:hover .sefin-radio__circle{border-color:var(--sefin-color-border)}.sefin-radio__wrapper:focus-within .sefin-radio__circle{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-radio__wrapper:focus-within{outline:none}.sefin-radio__wrapper--disabled .sefin-radio__circle{background-color:var(--sefin-color-surface-hover);border-color:var(--sefin-color-border);cursor:not-allowed}.sefin-radio__wrapper--disabled .sefin-radio__circle--checked{border-color:var(--sefin-color-border);opacity:.6}.sefin-radio__wrapper--disabled .sefin-radio__dot{background-color:var(--sefin-color-text-disabled)}.sefin-radio__label{font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);-webkit-user-select:none;user-select:none}.sefin-radio__label--sm{font-size:var(--sefin-font-size-sm)}.sefin-radio__label--md{font-size:var(--sefin-font-size-base)}.sefin-radio__label--lg{font-size:var(--sefin-font-size-lg)}.sefin-radio__wrapper--disabled .sefin-radio__label{color:var(--sefin-color-text-disabled)}.sefin-radio--disabled{cursor:not-allowed}@keyframes radio-dot-appear{0%{transform:scale(0)}to{transform:scale(1)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
1547
1547
  }
1548
1548
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: RadioComponent, decorators: [{
1549
1549
  type: Component,
@@ -1553,7 +1553,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
1553
1553
  useExisting: forwardRef(() => RadioComponent),
1554
1554
  multi: true,
1555
1555
  },
1556
- ], template: "<label [class]=\"wrapperClasses\">\n <input\n type=\"radio\"\n class=\"sefin-radio\"\n [class.sefin-radio--sm]=\"size === 'sm'\"\n [class.sefin-radio--md]=\"size === 'md'\"\n [class.sefin-radio--lg]=\"size === 'lg'\"\n [class.sefin-radio--disabled]=\"disabled\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [value]=\"value\"\n (change)=\"onRadioChange($event)\"\n #radioInput\n />\n <span \n class=\"sefin-radio__circle\" \n [class.sefin-radio__circle--sm]=\"size === 'sm'\" \n [class.sefin-radio__circle--md]=\"size === 'md'\" \n [class.sefin-radio__circle--lg]=\"size === 'lg'\" \n [class.sefin-radio__circle--checked]=\"checked\"\n >\n <span *ngIf=\"checked\" class=\"sefin-radio__dot\"></span>\n </span>\n <span *ngIf=\"label\" class=\"sefin-radio__label\" [class.sefin-radio__label--sm]=\"size === 'sm'\" [class.sefin-radio__label--md]=\"size === 'md'\" [class.sefin-radio__label--lg]=\"size === 'lg'\">{{ label }}</span>\n</label>\n\n", styles: [".sefin-radio__wrapper{display:inline-flex;align-items:center;gap:var(--sefin-spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.sefin-radio__wrapper--disabled{cursor:not-allowed;opacity:.6}.sefin-radio{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.sefin-radio__circle{display:flex;align-items:center;justify-content:center;border:2px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);border-radius:50%;transition:background-color .2s ease-in-out,border-color .2s ease-in-out;flex-shrink:0;box-sizing:border-box}.sefin-radio__circle--checked{border-color:var(--sefin-color-primary)}.sefin-radio__circle--sm{width:16px;height:16px;min-width:16px;min-height:16px}.sefin-radio__circle--md{width:20px;height:20px;min-width:20px;min-height:20px}.sefin-radio__circle--lg{width:24px;height:24px;min-width:24px;min-height:24px}.sefin-radio__dot{width:8px;height:8px;border-radius:50%;background-color:var(--sefin-color-primary);transition:transform .2s ease-in-out;transform:scale(0);animation:radio-dot-appear .2s ease-in-out forwards}.sefin-radio__circle--sm .sefin-radio__dot{width:6px;height:6px}.sefin-radio__circle--md .sefin-radio__dot{width:8px;height:8px}.sefin-radio__circle--lg .sefin-radio__dot{width:10px;height:10px}.sefin-radio__wrapper:hover .sefin-radio__circle{border-color:var(--sefin-color-border-focus)}.sefin-radio__wrapper--disabled:hover .sefin-radio__circle{border-color:var(--sefin-color-border)}.sefin-radio__wrapper:focus-within .sefin-radio__circle{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-radio__wrapper:focus-within{outline:none}.sefin-radio__wrapper--disabled .sefin-radio__circle{background-color:var(--sefin-color-surface-hover);border-color:var(--sefin-color-border);cursor:not-allowed}.sefin-radio__wrapper--disabled .sefin-radio__circle--checked{border-color:var(--sefin-color-border);opacity:.6}.sefin-radio__wrapper--disabled .sefin-radio__dot{background-color:var(--sefin-color-text-disabled)}.sefin-radio__label{font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);-webkit-user-select:none;user-select:none}.sefin-radio__label--sm{font-size:var(--sefin-font-size-sm)}.sefin-radio__label--md{font-size:var(--sefin-font-size-base)}.sefin-radio__label--lg{font-size:var(--sefin-font-size-lg)}.sefin-radio__wrapper--disabled .sefin-radio__label{color:var(--sefin-color-text-disabled)}.sefin-radio--disabled{cursor:not-allowed}@keyframes radio-dot-appear{0%{transform:scale(0)}to{transform:scale(1)}}\n"] }]
1556
+ ], template: "<label [class]=\"wrapperClasses\">\n <input\n type=\"radio\"\n class=\"sefin-radio\"\n [class.sefin-radio--sm]=\"size === 'sm'\"\n [class.sefin-radio--md]=\"size === 'md'\"\n [class.sefin-radio--lg]=\"size === 'lg'\"\n [class.sefin-radio--disabled]=\"disabled\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [value]=\"value\"\n (change)=\"onRadioChange($event)\"\n #radioInput\n />\n <span \n class=\"sefin-radio__circle\" \n [class.sefin-radio__circle--sm]=\"size === 'sm'\" \n [class.sefin-radio__circle--md]=\"size === 'md'\" \n [class.sefin-radio__circle--lg]=\"size === 'lg'\" \n [class.sefin-radio__circle--checked]=\"checked\"\n >\n <span *ngIf=\"checked\" class=\"sefin-radio__dot\"></span>\n </span>\n <span *ngIf=\"label\" class=\"sefin-radio__label\" [class.sefin-radio__label--sm]=\"size === 'sm'\" [class.sefin-radio__label--md]=\"size === 'md'\" [class.sefin-radio__label--lg]=\"size === 'lg'\">{{ label }}</span>\n</label>\n\n", styles: [".sefin-radio__wrapper{display:flex;align-items:center;gap:var(--sefin-spacing-sm);width:100%;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;box-sizing:border-box}.sefin-radio__wrapper--disabled{cursor:not-allowed;opacity:.6}.sefin-radio{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.sefin-radio__circle{display:flex;align-items:center;justify-content:center;border:2px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);border-radius:50%;transition:background-color .2s ease-in-out,border-color .2s ease-in-out;flex-shrink:0;box-sizing:border-box}.sefin-radio__circle--checked{border-color:var(--sefin-color-primary)}.sefin-radio__circle--sm{width:16px;height:16px;min-width:16px;min-height:16px}.sefin-radio__circle--md{width:20px;height:20px;min-width:20px;min-height:20px}.sefin-radio__circle--lg{width:24px;height:24px;min-width:24px;min-height:24px}.sefin-radio__dot{width:8px;height:8px;border-radius:50%;background-color:var(--sefin-color-primary);transition:transform .2s ease-in-out;transform:scale(0);animation:radio-dot-appear .2s ease-in-out forwards}.sefin-radio__circle--sm .sefin-radio__dot{width:6px;height:6px}.sefin-radio__circle--md .sefin-radio__dot{width:8px;height:8px}.sefin-radio__circle--lg .sefin-radio__dot{width:10px;height:10px}.sefin-radio__wrapper:hover .sefin-radio__circle{border-color:var(--sefin-color-border-focus)}.sefin-radio__wrapper--disabled:hover .sefin-radio__circle{border-color:var(--sefin-color-border)}.sefin-radio__wrapper:focus-within .sefin-radio__circle{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-radio__wrapper:focus-within{outline:none}.sefin-radio__wrapper--disabled .sefin-radio__circle{background-color:var(--sefin-color-surface-hover);border-color:var(--sefin-color-border);cursor:not-allowed}.sefin-radio__wrapper--disabled .sefin-radio__circle--checked{border-color:var(--sefin-color-border);opacity:.6}.sefin-radio__wrapper--disabled .sefin-radio__dot{background-color:var(--sefin-color-text-disabled)}.sefin-radio__label{font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);-webkit-user-select:none;user-select:none}.sefin-radio__label--sm{font-size:var(--sefin-font-size-sm)}.sefin-radio__label--md{font-size:var(--sefin-font-size-base)}.sefin-radio__label--lg{font-size:var(--sefin-font-size-lg)}.sefin-radio__wrapper--disabled .sefin-radio__label{color:var(--sefin-color-text-disabled)}.sefin-radio--disabled{cursor:not-allowed}@keyframes radio-dot-appear{0%{transform:scale(0)}to{transform:scale(1)}}\n"] }]
1557
1557
  }], propDecorators: { radioInput: [{
1558
1558
  type: ViewChild,
1559
1559
  args: ['radioInput', { static: false }]
@@ -1909,7 +1909,7 @@ class SwitchComponent {
1909
1909
  useExisting: forwardRef(() => SwitchComponent),
1910
1910
  multi: true,
1911
1911
  },
1912
- ], ngImport: i0, template: "<label [class]=\"wrapperClasses\">\n <input\n type=\"checkbox\"\n class=\"sefin-switch\"\n [class.sefin-switch--sm]=\"size === 'sm'\"\n [class.sefin-switch--md]=\"size === 'md'\"\n [class.sefin-switch--lg]=\"size === 'lg'\"\n [class.sefin-switch--disabled]=\"disabled\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n (change)=\"onSwitchChange($event)\"\n />\n <span \n class=\"sefin-switch__track\" \n [class.sefin-switch__track--sm]=\"size === 'sm'\" \n [class.sefin-switch__track--md]=\"size === 'md'\" \n [class.sefin-switch__track--lg]=\"size === 'lg'\" \n [class.sefin-switch__track--checked]=\"value\" \n >\n <span \n class=\"sefin-switch__thumb\"\n [class.sefin-switch__thumb--sm]=\"size === 'sm'\"\n [class.sefin-switch__thumb--md]=\"size === 'md'\"\n [class.sefin-switch__thumb--lg]=\"size === 'lg'\"\n ></span>\n </span>\n <span *ngIf=\"label\" class=\"sefin-switch__label\" [class.sefin-switch__label--sm]=\"size === 'sm'\" [class.sefin-switch__label--md]=\"size === 'md'\" [class.sefin-switch__label--lg]=\"size === 'lg'\">{{ label }}</span>\n</label>\n\n", styles: [".sefin-switch__wrapper{display:inline-flex;align-items:center;gap:var(--sefin-spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.sefin-switch__wrapper--disabled{cursor:not-allowed;opacity:.6}.sefin-switch{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.sefin-switch__track{position:relative;display:inline-block;background-color:var(--sefin-color-border);border-radius:9999px;transition:background-color .2s ease-in-out;flex-shrink:0;box-sizing:border-box}.sefin-switch__track--checked{background-color:var(--sefin-color-primary)}.sefin-switch__track--sm{width:32px;height:18px}.sefin-switch__track--md{width:40px;height:22px}.sefin-switch__track--lg{width:48px;height:26px}.sefin-switch__thumb{position:absolute;top:50%;left:2px;transform:translateY(-50%);background-color:#fff;border-radius:50%;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;box-shadow:0 2px 4px #0003;box-sizing:border-box}.sefin-switch__thumb--sm{width:14px;height:14px}.sefin-switch__thumb--md{width:18px;height:18px}.sefin-switch__thumb--lg{width:22px;height:22px}.sefin-switch__track--sm.sefin-switch__track--checked .sefin-switch__thumb{transform:translateY(-50%) translate(14px)}.sefin-switch__track--md.sefin-switch__track--checked .sefin-switch__thumb{transform:translateY(-50%) translate(18px)}.sefin-switch__track--lg.sefin-switch__track--checked .sefin-switch__thumb{transform:translateY(-50%) translate(22px)}.sefin-switch__wrapper:hover .sefin-switch__track:not(.sefin-switch__track--checked){background-color:var(--sefin-color-border-focus)}.sefin-switch__wrapper--disabled:hover .sefin-switch__track{background-color:var(--sefin-color-border)}.sefin-switch__wrapper:focus-within .sefin-switch__track{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-switch__wrapper:focus-within{outline:none}.sefin-switch__wrapper--disabled .sefin-switch__track{background-color:var(--sefin-color-border);cursor:not-allowed}.sefin-switch__wrapper--disabled .sefin-switch__track--checked{background-color:var(--sefin-color-border);opacity:.6}.sefin-switch__wrapper--disabled .sefin-switch__thumb{box-shadow:0 1px 2px #0000001a}.sefin-switch__label{font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);-webkit-user-select:none;user-select:none}.sefin-switch__label--sm{font-size:var(--sefin-font-size-sm)}.sefin-switch__label--md{font-size:var(--sefin-font-size-base)}.sefin-switch__label--lg{font-size:var(--sefin-font-size-lg)}.sefin-switch__wrapper--disabled .sefin-switch__label{color:var(--sefin-color-text-disabled)}.sefin-switch--disabled{cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
1912
+ ], ngImport: i0, template: "<label [class]=\"wrapperClasses\">\n <input\n type=\"checkbox\"\n class=\"sefin-switch\"\n [class.sefin-switch--sm]=\"size === 'sm'\"\n [class.sefin-switch--md]=\"size === 'md'\"\n [class.sefin-switch--lg]=\"size === 'lg'\"\n [class.sefin-switch--disabled]=\"disabled\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n (change)=\"onSwitchChange($event)\"\n />\n <span \n class=\"sefin-switch__track\" \n [class.sefin-switch__track--sm]=\"size === 'sm'\" \n [class.sefin-switch__track--md]=\"size === 'md'\" \n [class.sefin-switch__track--lg]=\"size === 'lg'\" \n [class.sefin-switch__track--checked]=\"value\" \n >\n <span \n class=\"sefin-switch__thumb\"\n [class.sefin-switch__thumb--sm]=\"size === 'sm'\"\n [class.sefin-switch__thumb--md]=\"size === 'md'\"\n [class.sefin-switch__thumb--lg]=\"size === 'lg'\"\n ></span>\n </span>\n <span *ngIf=\"label\" class=\"sefin-switch__label\" [class.sefin-switch__label--sm]=\"size === 'sm'\" [class.sefin-switch__label--md]=\"size === 'md'\" [class.sefin-switch__label--lg]=\"size === 'lg'\">{{ label }}</span>\n</label>\n\n", styles: [".sefin-switch__wrapper{display:flex;align-items:center;gap:var(--sefin-spacing-sm);width:100%;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;box-sizing:border-box}.sefin-switch__wrapper--disabled{cursor:not-allowed;opacity:.6}.sefin-switch{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.sefin-switch__track{position:relative;display:inline-block;background-color:var(--sefin-color-border);border-radius:9999px;transition:background-color .2s ease-in-out;flex-shrink:0;box-sizing:border-box}.sefin-switch__track--checked{background-color:var(--sefin-color-primary)}.sefin-switch__track--sm{width:32px;height:18px}.sefin-switch__track--md{width:40px;height:22px}.sefin-switch__track--lg{width:48px;height:26px}.sefin-switch__thumb{position:absolute;top:50%;left:2px;transform:translateY(-50%);background-color:#fff;border-radius:50%;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;box-shadow:0 2px 4px #0003;box-sizing:border-box}.sefin-switch__thumb--sm{width:14px;height:14px}.sefin-switch__thumb--md{width:18px;height:18px}.sefin-switch__thumb--lg{width:22px;height:22px}.sefin-switch__track--sm.sefin-switch__track--checked .sefin-switch__thumb{transform:translateY(-50%) translate(14px)}.sefin-switch__track--md.sefin-switch__track--checked .sefin-switch__thumb{transform:translateY(-50%) translate(18px)}.sefin-switch__track--lg.sefin-switch__track--checked .sefin-switch__thumb{transform:translateY(-50%) translate(22px)}.sefin-switch__wrapper:hover .sefin-switch__track:not(.sefin-switch__track--checked){background-color:var(--sefin-color-border-focus)}.sefin-switch__wrapper--disabled:hover .sefin-switch__track{background-color:var(--sefin-color-border)}.sefin-switch__wrapper:focus-within .sefin-switch__track{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-switch__wrapper:focus-within{outline:none}.sefin-switch__wrapper--disabled .sefin-switch__track{background-color:var(--sefin-color-border);cursor:not-allowed}.sefin-switch__wrapper--disabled .sefin-switch__track--checked{background-color:var(--sefin-color-border);opacity:.6}.sefin-switch__wrapper--disabled .sefin-switch__thumb{box-shadow:0 1px 2px #0000001a}.sefin-switch__label{font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);-webkit-user-select:none;user-select:none}.sefin-switch__label--sm{font-size:var(--sefin-font-size-sm)}.sefin-switch__label--md{font-size:var(--sefin-font-size-base)}.sefin-switch__label--lg{font-size:var(--sefin-font-size-lg)}.sefin-switch__wrapper--disabled .sefin-switch__label{color:var(--sefin-color-text-disabled)}.sefin-switch--disabled{cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
1913
1913
  }
1914
1914
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SwitchComponent, decorators: [{
1915
1915
  type: Component,
@@ -1919,7 +1919,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
1919
1919
  useExisting: forwardRef(() => SwitchComponent),
1920
1920
  multi: true,
1921
1921
  },
1922
- ], template: "<label [class]=\"wrapperClasses\">\n <input\n type=\"checkbox\"\n class=\"sefin-switch\"\n [class.sefin-switch--sm]=\"size === 'sm'\"\n [class.sefin-switch--md]=\"size === 'md'\"\n [class.sefin-switch--lg]=\"size === 'lg'\"\n [class.sefin-switch--disabled]=\"disabled\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n (change)=\"onSwitchChange($event)\"\n />\n <span \n class=\"sefin-switch__track\" \n [class.sefin-switch__track--sm]=\"size === 'sm'\" \n [class.sefin-switch__track--md]=\"size === 'md'\" \n [class.sefin-switch__track--lg]=\"size === 'lg'\" \n [class.sefin-switch__track--checked]=\"value\" \n >\n <span \n class=\"sefin-switch__thumb\"\n [class.sefin-switch__thumb--sm]=\"size === 'sm'\"\n [class.sefin-switch__thumb--md]=\"size === 'md'\"\n [class.sefin-switch__thumb--lg]=\"size === 'lg'\"\n ></span>\n </span>\n <span *ngIf=\"label\" class=\"sefin-switch__label\" [class.sefin-switch__label--sm]=\"size === 'sm'\" [class.sefin-switch__label--md]=\"size === 'md'\" [class.sefin-switch__label--lg]=\"size === 'lg'\">{{ label }}</span>\n</label>\n\n", styles: [".sefin-switch__wrapper{display:inline-flex;align-items:center;gap:var(--sefin-spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.sefin-switch__wrapper--disabled{cursor:not-allowed;opacity:.6}.sefin-switch{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.sefin-switch__track{position:relative;display:inline-block;background-color:var(--sefin-color-border);border-radius:9999px;transition:background-color .2s ease-in-out;flex-shrink:0;box-sizing:border-box}.sefin-switch__track--checked{background-color:var(--sefin-color-primary)}.sefin-switch__track--sm{width:32px;height:18px}.sefin-switch__track--md{width:40px;height:22px}.sefin-switch__track--lg{width:48px;height:26px}.sefin-switch__thumb{position:absolute;top:50%;left:2px;transform:translateY(-50%);background-color:#fff;border-radius:50%;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;box-shadow:0 2px 4px #0003;box-sizing:border-box}.sefin-switch__thumb--sm{width:14px;height:14px}.sefin-switch__thumb--md{width:18px;height:18px}.sefin-switch__thumb--lg{width:22px;height:22px}.sefin-switch__track--sm.sefin-switch__track--checked .sefin-switch__thumb{transform:translateY(-50%) translate(14px)}.sefin-switch__track--md.sefin-switch__track--checked .sefin-switch__thumb{transform:translateY(-50%) translate(18px)}.sefin-switch__track--lg.sefin-switch__track--checked .sefin-switch__thumb{transform:translateY(-50%) translate(22px)}.sefin-switch__wrapper:hover .sefin-switch__track:not(.sefin-switch__track--checked){background-color:var(--sefin-color-border-focus)}.sefin-switch__wrapper--disabled:hover .sefin-switch__track{background-color:var(--sefin-color-border)}.sefin-switch__wrapper:focus-within .sefin-switch__track{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-switch__wrapper:focus-within{outline:none}.sefin-switch__wrapper--disabled .sefin-switch__track{background-color:var(--sefin-color-border);cursor:not-allowed}.sefin-switch__wrapper--disabled .sefin-switch__track--checked{background-color:var(--sefin-color-border);opacity:.6}.sefin-switch__wrapper--disabled .sefin-switch__thumb{box-shadow:0 1px 2px #0000001a}.sefin-switch__label{font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);-webkit-user-select:none;user-select:none}.sefin-switch__label--sm{font-size:var(--sefin-font-size-sm)}.sefin-switch__label--md{font-size:var(--sefin-font-size-base)}.sefin-switch__label--lg{font-size:var(--sefin-font-size-lg)}.sefin-switch__wrapper--disabled .sefin-switch__label{color:var(--sefin-color-text-disabled)}.sefin-switch--disabled{cursor:not-allowed}\n"] }]
1922
+ ], template: "<label [class]=\"wrapperClasses\">\n <input\n type=\"checkbox\"\n class=\"sefin-switch\"\n [class.sefin-switch--sm]=\"size === 'sm'\"\n [class.sefin-switch--md]=\"size === 'md'\"\n [class.sefin-switch--lg]=\"size === 'lg'\"\n [class.sefin-switch--disabled]=\"disabled\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n (change)=\"onSwitchChange($event)\"\n />\n <span \n class=\"sefin-switch__track\" \n [class.sefin-switch__track--sm]=\"size === 'sm'\" \n [class.sefin-switch__track--md]=\"size === 'md'\" \n [class.sefin-switch__track--lg]=\"size === 'lg'\" \n [class.sefin-switch__track--checked]=\"value\" \n >\n <span \n class=\"sefin-switch__thumb\"\n [class.sefin-switch__thumb--sm]=\"size === 'sm'\"\n [class.sefin-switch__thumb--md]=\"size === 'md'\"\n [class.sefin-switch__thumb--lg]=\"size === 'lg'\"\n ></span>\n </span>\n <span *ngIf=\"label\" class=\"sefin-switch__label\" [class.sefin-switch__label--sm]=\"size === 'sm'\" [class.sefin-switch__label--md]=\"size === 'md'\" [class.sefin-switch__label--lg]=\"size === 'lg'\">{{ label }}</span>\n</label>\n\n", styles: [".sefin-switch__wrapper{display:flex;align-items:center;gap:var(--sefin-spacing-sm);width:100%;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;box-sizing:border-box}.sefin-switch__wrapper--disabled{cursor:not-allowed;opacity:.6}.sefin-switch{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.sefin-switch__track{position:relative;display:inline-block;background-color:var(--sefin-color-border);border-radius:9999px;transition:background-color .2s ease-in-out;flex-shrink:0;box-sizing:border-box}.sefin-switch__track--checked{background-color:var(--sefin-color-primary)}.sefin-switch__track--sm{width:32px;height:18px}.sefin-switch__track--md{width:40px;height:22px}.sefin-switch__track--lg{width:48px;height:26px}.sefin-switch__thumb{position:absolute;top:50%;left:2px;transform:translateY(-50%);background-color:#fff;border-radius:50%;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;box-shadow:0 2px 4px #0003;box-sizing:border-box}.sefin-switch__thumb--sm{width:14px;height:14px}.sefin-switch__thumb--md{width:18px;height:18px}.sefin-switch__thumb--lg{width:22px;height:22px}.sefin-switch__track--sm.sefin-switch__track--checked .sefin-switch__thumb{transform:translateY(-50%) translate(14px)}.sefin-switch__track--md.sefin-switch__track--checked .sefin-switch__thumb{transform:translateY(-50%) translate(18px)}.sefin-switch__track--lg.sefin-switch__track--checked .sefin-switch__thumb{transform:translateY(-50%) translate(22px)}.sefin-switch__wrapper:hover .sefin-switch__track:not(.sefin-switch__track--checked){background-color:var(--sefin-color-border-focus)}.sefin-switch__wrapper--disabled:hover .sefin-switch__track{background-color:var(--sefin-color-border)}.sefin-switch__wrapper:focus-within .sefin-switch__track{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-switch__wrapper:focus-within{outline:none}.sefin-switch__wrapper--disabled .sefin-switch__track{background-color:var(--sefin-color-border);cursor:not-allowed}.sefin-switch__wrapper--disabled .sefin-switch__track--checked{background-color:var(--sefin-color-border);opacity:.6}.sefin-switch__wrapper--disabled .sefin-switch__thumb{box-shadow:0 1px 2px #0000001a}.sefin-switch__label{font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);-webkit-user-select:none;user-select:none}.sefin-switch__label--sm{font-size:var(--sefin-font-size-sm)}.sefin-switch__label--md{font-size:var(--sefin-font-size-base)}.sefin-switch__label--lg{font-size:var(--sefin-font-size-lg)}.sefin-switch__wrapper--disabled .sefin-switch__label{color:var(--sefin-color-text-disabled)}.sefin-switch--disabled{cursor:not-allowed}\n"] }]
1923
1923
  }], propDecorators: { size: [{
1924
1924
  type: Input
1925
1925
  }], disabled: [{
@@ -1960,13 +1960,13 @@ class TypographyComponent {
1960
1960
  .join(' ');
1961
1961
  }
1962
1962
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: TypographyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1963
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: TypographyComponent, isStandalone: true, selector: "sefin-typography", inputs: { variant: "variant", size: "size", weight: "weight", color: "color", lineHeight: "lineHeight", class: "class", text: "text" }, host: { properties: { "attr.data-variant": "variant" } }, ngImport: i0, template: "@switch (variant) {\n @case ('h1') {\n <h1 [class]=\"typographyClasses\">{{ text }}</h1>\n }\n @case ('h2') {\n <h2 [class]=\"typographyClasses\">{{ text }}</h2>\n }\n @case ('h3') {\n <h3 [class]=\"typographyClasses\">{{ text }}</h3>\n }\n @case ('h4') {\n <h4 [class]=\"typographyClasses\">{{ text }}</h4>\n }\n @case ('h5') {\n <h5 [class]=\"typographyClasses\">{{ text }}</h5>\n }\n @case ('h6') {\n <h6 [class]=\"typographyClasses\">{{ text }}</h6>\n }\n @case ('p') {\n <p [class]=\"typographyClasses\">{{ text }}</p>\n }\n @default {\n <span [class]=\"typographyClasses\">{{ text }}</span>\n }\n}\n", styles: [".sefin-typography{font-family:var(--sefin-font-family-base);margin:0;padding:0}.sefin-typography--h1{font-size:var(--sefin-font-size-4xl);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h2{font-size:var(--sefin-font-size-3xl);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h3{font-size:var(--sefin-font-size-2xl);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h4{font-size:var(--sefin-font-size-xl);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h5{font-size:var(--sefin-font-size-lg);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h6{font-size:var(--sefin-font-size-base);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--p,.sefin-typography--span{font-size:var(--sefin-font-size-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal)}.sefin-typography--xs{font-size:var(--sefin-font-size-xs)}.sefin-typography--sm{font-size:var(--sefin-font-size-sm)}.sefin-typography--base{font-size:var(--sefin-font-size-base)}.sefin-typography--lg{font-size:var(--sefin-font-size-lg)}.sefin-typography--xl{font-size:var(--sefin-font-size-xl)}.sefin-typography--2xl{font-size:var(--sefin-font-size-2xl)}.sefin-typography--3xl{font-size:var(--sefin-font-size-3xl)}.sefin-typography--4xl{font-size:var(--sefin-font-size-4xl)}.sefin-typography--5xl{font-size:var(--sefin-font-size-5xl)}.sefin-typography--light{font-weight:var(--sefin-font-weight-light)}.sefin-typography--normal{font-weight:var(--sefin-font-weight-normal)}.sefin-typography--medium{font-weight:var(--sefin-font-weight-medium)}.sefin-typography--semibold{font-weight:var(--sefin-font-weight-semibold)}.sefin-typography--bold{font-weight:var(--sefin-font-weight-bold)}.sefin-typography--text{color:var(--sefin-color-text)}.sefin-typography--text-secondary{color:var(--sefin-color-text-secondary)}.sefin-typography--text-disabled{color:var(--sefin-color-text-disabled)}.sefin-typography--primary{color:var(--sefin-color-primary)}.sefin-typography--secondary{color:var(--sefin-color-secondary)}.sefin-typography--success{color:var(--sefin-color-success)}.sefin-typography--warning{color:var(--sefin-color-warning)}.sefin-typography--error{color:var(--sefin-color-error)}.sefin-typography--line-height-tight{line-height:var(--sefin-line-height-tight)}.sefin-typography--line-height-normal{line-height:var(--sefin-line-height-normal)}.sefin-typography--line-height-relaxed{line-height:var(--sefin-line-height-relaxed)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.Default });
1963
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: TypographyComponent, isStandalone: true, selector: "sefin-typography", inputs: { variant: "variant", size: "size", weight: "weight", color: "color", lineHeight: "lineHeight", class: "class", text: "text" }, host: { properties: { "attr.data-variant": "variant" } }, ngImport: i0, template: "@switch (variant) {\n @case ('h1') {\n <h1 [class]=\"typographyClasses\">{{ text }}</h1>\n }\n @case ('h2') {\n <h2 [class]=\"typographyClasses\">{{ text }}</h2>\n }\n @case ('h3') {\n <h3 [class]=\"typographyClasses\">{{ text }}</h3>\n }\n @case ('h4') {\n <h4 [class]=\"typographyClasses\">{{ text }}</h4>\n }\n @case ('h5') {\n <h5 [class]=\"typographyClasses\">{{ text }}</h5>\n }\n @case ('h6') {\n <h6 [class]=\"typographyClasses\">{{ text }}</h6>\n }\n @case ('p') {\n <p [class]=\"typographyClasses\">{{ text }}</p>\n }\n @default {\n <span [class]=\"typographyClasses\">{{ text }}</span>\n }\n}\n", styles: [".sefin-typography{display:block;width:100%;font-family:var(--sefin-font-family-base);margin:0;padding:0;box-sizing:border-box}.sefin-typography--h1{font-size:var(--sefin-font-size-4xl);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h2{font-size:var(--sefin-font-size-3xl);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h3{font-size:var(--sefin-font-size-2xl);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h4{font-size:var(--sefin-font-size-xl);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h5{font-size:var(--sefin-font-size-lg);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h6{font-size:var(--sefin-font-size-base);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--p,.sefin-typography--span{font-size:var(--sefin-font-size-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal)}.sefin-typography--xs{font-size:var(--sefin-font-size-xs)}.sefin-typography--sm{font-size:var(--sefin-font-size-sm)}.sefin-typography--base{font-size:var(--sefin-font-size-base)}.sefin-typography--lg{font-size:var(--sefin-font-size-lg)}.sefin-typography--xl{font-size:var(--sefin-font-size-xl)}.sefin-typography--2xl{font-size:var(--sefin-font-size-2xl)}.sefin-typography--3xl{font-size:var(--sefin-font-size-3xl)}.sefin-typography--4xl{font-size:var(--sefin-font-size-4xl)}.sefin-typography--5xl{font-size:var(--sefin-font-size-5xl)}.sefin-typography--light{font-weight:var(--sefin-font-weight-light)}.sefin-typography--normal{font-weight:var(--sefin-font-weight-normal)}.sefin-typography--medium{font-weight:var(--sefin-font-weight-medium)}.sefin-typography--semibold{font-weight:var(--sefin-font-weight-semibold)}.sefin-typography--bold{font-weight:var(--sefin-font-weight-bold)}.sefin-typography--text{color:var(--sefin-color-text)}.sefin-typography--text-secondary{color:var(--sefin-color-text-secondary)}.sefin-typography--text-disabled{color:var(--sefin-color-text-disabled)}.sefin-typography--primary{color:var(--sefin-color-primary)}.sefin-typography--secondary{color:var(--sefin-color-secondary)}.sefin-typography--success{color:var(--sefin-color-success)}.sefin-typography--warning{color:var(--sefin-color-warning)}.sefin-typography--error{color:var(--sefin-color-error)}.sefin-typography--line-height-tight{line-height:var(--sefin-line-height-tight)}.sefin-typography--line-height-normal{line-height:var(--sefin-line-height-normal)}.sefin-typography--line-height-relaxed{line-height:var(--sefin-line-height-relaxed)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.Default });
1964
1964
  }
1965
1965
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: TypographyComponent, decorators: [{
1966
1966
  type: Component,
1967
1967
  args: [{ selector: 'sefin-typography', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.Default, host: {
1968
1968
  '[attr.data-variant]': 'variant',
1969
- }, template: "@switch (variant) {\n @case ('h1') {\n <h1 [class]=\"typographyClasses\">{{ text }}</h1>\n }\n @case ('h2') {\n <h2 [class]=\"typographyClasses\">{{ text }}</h2>\n }\n @case ('h3') {\n <h3 [class]=\"typographyClasses\">{{ text }}</h3>\n }\n @case ('h4') {\n <h4 [class]=\"typographyClasses\">{{ text }}</h4>\n }\n @case ('h5') {\n <h5 [class]=\"typographyClasses\">{{ text }}</h5>\n }\n @case ('h6') {\n <h6 [class]=\"typographyClasses\">{{ text }}</h6>\n }\n @case ('p') {\n <p [class]=\"typographyClasses\">{{ text }}</p>\n }\n @default {\n <span [class]=\"typographyClasses\">{{ text }}</span>\n }\n}\n", styles: [".sefin-typography{font-family:var(--sefin-font-family-base);margin:0;padding:0}.sefin-typography--h1{font-size:var(--sefin-font-size-4xl);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h2{font-size:var(--sefin-font-size-3xl);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h3{font-size:var(--sefin-font-size-2xl);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h4{font-size:var(--sefin-font-size-xl);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h5{font-size:var(--sefin-font-size-lg);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h6{font-size:var(--sefin-font-size-base);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--p,.sefin-typography--span{font-size:var(--sefin-font-size-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal)}.sefin-typography--xs{font-size:var(--sefin-font-size-xs)}.sefin-typography--sm{font-size:var(--sefin-font-size-sm)}.sefin-typography--base{font-size:var(--sefin-font-size-base)}.sefin-typography--lg{font-size:var(--sefin-font-size-lg)}.sefin-typography--xl{font-size:var(--sefin-font-size-xl)}.sefin-typography--2xl{font-size:var(--sefin-font-size-2xl)}.sefin-typography--3xl{font-size:var(--sefin-font-size-3xl)}.sefin-typography--4xl{font-size:var(--sefin-font-size-4xl)}.sefin-typography--5xl{font-size:var(--sefin-font-size-5xl)}.sefin-typography--light{font-weight:var(--sefin-font-weight-light)}.sefin-typography--normal{font-weight:var(--sefin-font-weight-normal)}.sefin-typography--medium{font-weight:var(--sefin-font-weight-medium)}.sefin-typography--semibold{font-weight:var(--sefin-font-weight-semibold)}.sefin-typography--bold{font-weight:var(--sefin-font-weight-bold)}.sefin-typography--text{color:var(--sefin-color-text)}.sefin-typography--text-secondary{color:var(--sefin-color-text-secondary)}.sefin-typography--text-disabled{color:var(--sefin-color-text-disabled)}.sefin-typography--primary{color:var(--sefin-color-primary)}.sefin-typography--secondary{color:var(--sefin-color-secondary)}.sefin-typography--success{color:var(--sefin-color-success)}.sefin-typography--warning{color:var(--sefin-color-warning)}.sefin-typography--error{color:var(--sefin-color-error)}.sefin-typography--line-height-tight{line-height:var(--sefin-line-height-tight)}.sefin-typography--line-height-normal{line-height:var(--sefin-line-height-normal)}.sefin-typography--line-height-relaxed{line-height:var(--sefin-line-height-relaxed)}\n"] }]
1969
+ }, template: "@switch (variant) {\n @case ('h1') {\n <h1 [class]=\"typographyClasses\">{{ text }}</h1>\n }\n @case ('h2') {\n <h2 [class]=\"typographyClasses\">{{ text }}</h2>\n }\n @case ('h3') {\n <h3 [class]=\"typographyClasses\">{{ text }}</h3>\n }\n @case ('h4') {\n <h4 [class]=\"typographyClasses\">{{ text }}</h4>\n }\n @case ('h5') {\n <h5 [class]=\"typographyClasses\">{{ text }}</h5>\n }\n @case ('h6') {\n <h6 [class]=\"typographyClasses\">{{ text }}</h6>\n }\n @case ('p') {\n <p [class]=\"typographyClasses\">{{ text }}</p>\n }\n @default {\n <span [class]=\"typographyClasses\">{{ text }}</span>\n }\n}\n", styles: [".sefin-typography{display:block;width:100%;font-family:var(--sefin-font-family-base);margin:0;padding:0;box-sizing:border-box}.sefin-typography--h1{font-size:var(--sefin-font-size-4xl);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h2{font-size:var(--sefin-font-size-3xl);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h3{font-size:var(--sefin-font-size-2xl);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h4{font-size:var(--sefin-font-size-xl);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h5{font-size:var(--sefin-font-size-lg);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--h6{font-size:var(--sefin-font-size-base);font-weight:var(--sefin-font-weight-bold);line-height:var(--sefin-line-height-tight)}.sefin-typography--p,.sefin-typography--span{font-size:var(--sefin-font-size-base);font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal)}.sefin-typography--xs{font-size:var(--sefin-font-size-xs)}.sefin-typography--sm{font-size:var(--sefin-font-size-sm)}.sefin-typography--base{font-size:var(--sefin-font-size-base)}.sefin-typography--lg{font-size:var(--sefin-font-size-lg)}.sefin-typography--xl{font-size:var(--sefin-font-size-xl)}.sefin-typography--2xl{font-size:var(--sefin-font-size-2xl)}.sefin-typography--3xl{font-size:var(--sefin-font-size-3xl)}.sefin-typography--4xl{font-size:var(--sefin-font-size-4xl)}.sefin-typography--5xl{font-size:var(--sefin-font-size-5xl)}.sefin-typography--light{font-weight:var(--sefin-font-weight-light)}.sefin-typography--normal{font-weight:var(--sefin-font-weight-normal)}.sefin-typography--medium{font-weight:var(--sefin-font-weight-medium)}.sefin-typography--semibold{font-weight:var(--sefin-font-weight-semibold)}.sefin-typography--bold{font-weight:var(--sefin-font-weight-bold)}.sefin-typography--text{color:var(--sefin-color-text)}.sefin-typography--text-secondary{color:var(--sefin-color-text-secondary)}.sefin-typography--text-disabled{color:var(--sefin-color-text-disabled)}.sefin-typography--primary{color:var(--sefin-color-primary)}.sefin-typography--secondary{color:var(--sefin-color-secondary)}.sefin-typography--success{color:var(--sefin-color-success)}.sefin-typography--warning{color:var(--sefin-color-warning)}.sefin-typography--error{color:var(--sefin-color-error)}.sefin-typography--line-height-tight{line-height:var(--sefin-line-height-tight)}.sefin-typography--line-height-normal{line-height:var(--sefin-line-height-normal)}.sefin-typography--line-height-relaxed{line-height:var(--sefin-line-height-relaxed)}\n"] }]
1970
1970
  }], propDecorators: { variant: [{
1971
1971
  type: Input
1972
1972
  }], size: [{
@@ -2007,11 +2007,11 @@ class DividerComponent {
2007
2007
  .join(' ');
2008
2008
  }
2009
2009
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2010
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: DividerComponent, isStandalone: true, selector: "sefin-divider", inputs: { orientation: "orientation", variant: "variant", spacing: "spacing", thickness: "thickness", class: "class" }, ngImport: i0, template: "<hr [class]=\"dividerClasses\" [attr.aria-orientation]=\"orientation\" />\n\n", styles: [".sefin-divider{border:none;margin:0;padding:0;box-sizing:border-box}.sefin-divider--horizontal{width:100%;height:0;border-top-width:1px;border-top-style:solid;border-top-color:var(--sefin-color-border, #e0e0e0)}.sefin-divider--vertical{width:0;height:100%;min-height:1em;border-left-width:1px;border-left-style:solid;border-left-color:var(--sefin-color-border, #e0e0e0);align-self:stretch}.sefin-divider--solid.sefin-divider--horizontal{border-top-style:solid}.sefin-divider--solid.sefin-divider--vertical{border-left-style:solid}.sefin-divider--dashed.sefin-divider--horizontal{border-top-style:dashed}.sefin-divider--dashed.sefin-divider--vertical{border-left-style:dashed}.sefin-divider--dotted.sefin-divider--horizontal{border-top-style:dotted}.sefin-divider--dotted.sefin-divider--vertical{border-left-style:dotted}.sefin-divider--thin.sefin-divider--horizontal{border-top-width:1px}.sefin-divider--thin.sefin-divider--vertical{border-left-width:1px}.sefin-divider--medium.sefin-divider--horizontal{border-top-width:2px}.sefin-divider--medium.sefin-divider--vertical{border-left-width:2px}.sefin-divider--thick.sefin-divider--horizontal{border-top-width:3px}.sefin-divider--thick.sefin-divider--vertical{border-left-width:3px}.sefin-divider--spacing-none{margin:0}.sefin-divider--spacing-xs.sefin-divider--horizontal{margin-top:var(--sefin-spacing-xs, 4px);margin-bottom:var(--sefin-spacing-xs, 4px)}.sefin-divider--spacing-xs.sefin-divider--vertical{margin-left:var(--sefin-spacing-xs, 4px);margin-right:var(--sefin-spacing-xs, 4px)}.sefin-divider--spacing-sm.sefin-divider--horizontal{margin-top:var(--sefin-spacing-sm, 8px);margin-bottom:var(--sefin-spacing-sm, 8px)}.sefin-divider--spacing-sm.sefin-divider--vertical{margin-left:var(--sefin-spacing-sm, 8px);margin-right:var(--sefin-spacing-sm, 8px)}.sefin-divider--spacing-md.sefin-divider--horizontal{margin-top:var(--sefin-spacing-md, 16px);margin-bottom:var(--sefin-spacing-md, 16px)}.sefin-divider--spacing-md.sefin-divider--vertical{margin-left:var(--sefin-spacing-md, 16px);margin-right:var(--sefin-spacing-md, 16px)}.sefin-divider--spacing-lg.sefin-divider--horizontal{margin-top:var(--sefin-spacing-lg, 24px);margin-bottom:var(--sefin-spacing-lg, 24px)}.sefin-divider--spacing-lg.sefin-divider--vertical{margin-left:var(--sefin-spacing-lg, 24px);margin-right:var(--sefin-spacing-lg, 24px)}.sefin-divider--spacing-xl.sefin-divider--horizontal{margin-top:var(--sefin-spacing-xl, 32px);margin-bottom:var(--sefin-spacing-xl, 32px)}.sefin-divider--spacing-xl.sefin-divider--vertical{margin-left:var(--sefin-spacing-xl, 32px);margin-right:var(--sefin-spacing-xl, 32px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2010
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: DividerComponent, isStandalone: true, selector: "sefin-divider", inputs: { orientation: "orientation", variant: "variant", spacing: "spacing", thickness: "thickness", class: "class" }, ngImport: i0, template: "<hr [class]=\"dividerClasses\" [attr.aria-orientation]=\"orientation\" />\n\n", styles: [".sefin-divider{display:block;width:100%;border:none;margin:0;padding:0;box-sizing:border-box}.sefin-divider--horizontal{width:100%;height:0;border-top-width:1px;border-top-style:solid;border-top-color:var(--sefin-color-border, #e0e0e0)}.sefin-divider--vertical{width:0;height:100%;min-height:1em;border-left-width:1px;border-left-style:solid;border-left-color:var(--sefin-color-border, #e0e0e0);align-self:stretch}.sefin-divider--solid.sefin-divider--horizontal{border-top-style:solid}.sefin-divider--solid.sefin-divider--vertical{border-left-style:solid}.sefin-divider--dashed.sefin-divider--horizontal{border-top-style:dashed}.sefin-divider--dashed.sefin-divider--vertical{border-left-style:dashed}.sefin-divider--dotted.sefin-divider--horizontal{border-top-style:dotted}.sefin-divider--dotted.sefin-divider--vertical{border-left-style:dotted}.sefin-divider--thin.sefin-divider--horizontal{border-top-width:1px}.sefin-divider--thin.sefin-divider--vertical{border-left-width:1px}.sefin-divider--medium.sefin-divider--horizontal{border-top-width:2px}.sefin-divider--medium.sefin-divider--vertical{border-left-width:2px}.sefin-divider--thick.sefin-divider--horizontal{border-top-width:3px}.sefin-divider--thick.sefin-divider--vertical{border-left-width:3px}.sefin-divider--spacing-none{margin:0}.sefin-divider--spacing-xs.sefin-divider--horizontal{margin-top:var(--sefin-spacing-xs, 4px);margin-bottom:var(--sefin-spacing-xs, 4px)}.sefin-divider--spacing-xs.sefin-divider--vertical{margin-left:var(--sefin-spacing-xs, 4px);margin-right:var(--sefin-spacing-xs, 4px)}.sefin-divider--spacing-sm.sefin-divider--horizontal{margin-top:var(--sefin-spacing-sm, 8px);margin-bottom:var(--sefin-spacing-sm, 8px)}.sefin-divider--spacing-sm.sefin-divider--vertical{margin-left:var(--sefin-spacing-sm, 8px);margin-right:var(--sefin-spacing-sm, 8px)}.sefin-divider--spacing-md.sefin-divider--horizontal{margin-top:var(--sefin-spacing-md, 16px);margin-bottom:var(--sefin-spacing-md, 16px)}.sefin-divider--spacing-md.sefin-divider--vertical{margin-left:var(--sefin-spacing-md, 16px);margin-right:var(--sefin-spacing-md, 16px)}.sefin-divider--spacing-lg.sefin-divider--horizontal{margin-top:var(--sefin-spacing-lg, 24px);margin-bottom:var(--sefin-spacing-lg, 24px)}.sefin-divider--spacing-lg.sefin-divider--vertical{margin-left:var(--sefin-spacing-lg, 24px);margin-right:var(--sefin-spacing-lg, 24px)}.sefin-divider--spacing-xl.sefin-divider--horizontal{margin-top:var(--sefin-spacing-xl, 32px);margin-bottom:var(--sefin-spacing-xl, 32px)}.sefin-divider--spacing-xl.sefin-divider--vertical{margin-left:var(--sefin-spacing-xl, 32px);margin-right:var(--sefin-spacing-xl, 32px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2011
2011
  }
2012
2012
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DividerComponent, decorators: [{
2013
2013
  type: Component,
2014
- args: [{ selector: 'sefin-divider', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<hr [class]=\"dividerClasses\" [attr.aria-orientation]=\"orientation\" />\n\n", styles: [".sefin-divider{border:none;margin:0;padding:0;box-sizing:border-box}.sefin-divider--horizontal{width:100%;height:0;border-top-width:1px;border-top-style:solid;border-top-color:var(--sefin-color-border, #e0e0e0)}.sefin-divider--vertical{width:0;height:100%;min-height:1em;border-left-width:1px;border-left-style:solid;border-left-color:var(--sefin-color-border, #e0e0e0);align-self:stretch}.sefin-divider--solid.sefin-divider--horizontal{border-top-style:solid}.sefin-divider--solid.sefin-divider--vertical{border-left-style:solid}.sefin-divider--dashed.sefin-divider--horizontal{border-top-style:dashed}.sefin-divider--dashed.sefin-divider--vertical{border-left-style:dashed}.sefin-divider--dotted.sefin-divider--horizontal{border-top-style:dotted}.sefin-divider--dotted.sefin-divider--vertical{border-left-style:dotted}.sefin-divider--thin.sefin-divider--horizontal{border-top-width:1px}.sefin-divider--thin.sefin-divider--vertical{border-left-width:1px}.sefin-divider--medium.sefin-divider--horizontal{border-top-width:2px}.sefin-divider--medium.sefin-divider--vertical{border-left-width:2px}.sefin-divider--thick.sefin-divider--horizontal{border-top-width:3px}.sefin-divider--thick.sefin-divider--vertical{border-left-width:3px}.sefin-divider--spacing-none{margin:0}.sefin-divider--spacing-xs.sefin-divider--horizontal{margin-top:var(--sefin-spacing-xs, 4px);margin-bottom:var(--sefin-spacing-xs, 4px)}.sefin-divider--spacing-xs.sefin-divider--vertical{margin-left:var(--sefin-spacing-xs, 4px);margin-right:var(--sefin-spacing-xs, 4px)}.sefin-divider--spacing-sm.sefin-divider--horizontal{margin-top:var(--sefin-spacing-sm, 8px);margin-bottom:var(--sefin-spacing-sm, 8px)}.sefin-divider--spacing-sm.sefin-divider--vertical{margin-left:var(--sefin-spacing-sm, 8px);margin-right:var(--sefin-spacing-sm, 8px)}.sefin-divider--spacing-md.sefin-divider--horizontal{margin-top:var(--sefin-spacing-md, 16px);margin-bottom:var(--sefin-spacing-md, 16px)}.sefin-divider--spacing-md.sefin-divider--vertical{margin-left:var(--sefin-spacing-md, 16px);margin-right:var(--sefin-spacing-md, 16px)}.sefin-divider--spacing-lg.sefin-divider--horizontal{margin-top:var(--sefin-spacing-lg, 24px);margin-bottom:var(--sefin-spacing-lg, 24px)}.sefin-divider--spacing-lg.sefin-divider--vertical{margin-left:var(--sefin-spacing-lg, 24px);margin-right:var(--sefin-spacing-lg, 24px)}.sefin-divider--spacing-xl.sefin-divider--horizontal{margin-top:var(--sefin-spacing-xl, 32px);margin-bottom:var(--sefin-spacing-xl, 32px)}.sefin-divider--spacing-xl.sefin-divider--vertical{margin-left:var(--sefin-spacing-xl, 32px);margin-right:var(--sefin-spacing-xl, 32px)}\n"] }]
2014
+ args: [{ selector: 'sefin-divider', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<hr [class]=\"dividerClasses\" [attr.aria-orientation]=\"orientation\" />\n\n", styles: [".sefin-divider{display:block;width:100%;border:none;margin:0;padding:0;box-sizing:border-box}.sefin-divider--horizontal{width:100%;height:0;border-top-width:1px;border-top-style:solid;border-top-color:var(--sefin-color-border, #e0e0e0)}.sefin-divider--vertical{width:0;height:100%;min-height:1em;border-left-width:1px;border-left-style:solid;border-left-color:var(--sefin-color-border, #e0e0e0);align-self:stretch}.sefin-divider--solid.sefin-divider--horizontal{border-top-style:solid}.sefin-divider--solid.sefin-divider--vertical{border-left-style:solid}.sefin-divider--dashed.sefin-divider--horizontal{border-top-style:dashed}.sefin-divider--dashed.sefin-divider--vertical{border-left-style:dashed}.sefin-divider--dotted.sefin-divider--horizontal{border-top-style:dotted}.sefin-divider--dotted.sefin-divider--vertical{border-left-style:dotted}.sefin-divider--thin.sefin-divider--horizontal{border-top-width:1px}.sefin-divider--thin.sefin-divider--vertical{border-left-width:1px}.sefin-divider--medium.sefin-divider--horizontal{border-top-width:2px}.sefin-divider--medium.sefin-divider--vertical{border-left-width:2px}.sefin-divider--thick.sefin-divider--horizontal{border-top-width:3px}.sefin-divider--thick.sefin-divider--vertical{border-left-width:3px}.sefin-divider--spacing-none{margin:0}.sefin-divider--spacing-xs.sefin-divider--horizontal{margin-top:var(--sefin-spacing-xs, 4px);margin-bottom:var(--sefin-spacing-xs, 4px)}.sefin-divider--spacing-xs.sefin-divider--vertical{margin-left:var(--sefin-spacing-xs, 4px);margin-right:var(--sefin-spacing-xs, 4px)}.sefin-divider--spacing-sm.sefin-divider--horizontal{margin-top:var(--sefin-spacing-sm, 8px);margin-bottom:var(--sefin-spacing-sm, 8px)}.sefin-divider--spacing-sm.sefin-divider--vertical{margin-left:var(--sefin-spacing-sm, 8px);margin-right:var(--sefin-spacing-sm, 8px)}.sefin-divider--spacing-md.sefin-divider--horizontal{margin-top:var(--sefin-spacing-md, 16px);margin-bottom:var(--sefin-spacing-md, 16px)}.sefin-divider--spacing-md.sefin-divider--vertical{margin-left:var(--sefin-spacing-md, 16px);margin-right:var(--sefin-spacing-md, 16px)}.sefin-divider--spacing-lg.sefin-divider--horizontal{margin-top:var(--sefin-spacing-lg, 24px);margin-bottom:var(--sefin-spacing-lg, 24px)}.sefin-divider--spacing-lg.sefin-divider--vertical{margin-left:var(--sefin-spacing-lg, 24px);margin-right:var(--sefin-spacing-lg, 24px)}.sefin-divider--spacing-xl.sefin-divider--horizontal{margin-top:var(--sefin-spacing-xl, 32px);margin-bottom:var(--sefin-spacing-xl, 32px)}.sefin-divider--spacing-xl.sefin-divider--vertical{margin-left:var(--sefin-spacing-xl, 32px);margin-right:var(--sefin-spacing-xl, 32px)}\n"] }]
2015
2015
  }], propDecorators: { orientation: [{
2016
2016
  type: Input
2017
2017
  }], variant: [{
@@ -2045,11 +2045,11 @@ class SpinnerComponent {
2045
2045
  .join(' ');
2046
2046
  }
2047
2047
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2048
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: SpinnerComponent, isStandalone: true, selector: "sefin-spinner", inputs: { size: "size", variant: "variant", inline: "inline", class: "class" }, ngImport: i0, template: "<div [class]=\"spinnerClasses\" role=\"status\" [attr.aria-label]=\"'Loading'\">\n <div class=\"sefin-spinner__circle\"></div>\n <span class=\"sr-only\">Loading...</span>\n</div>\n\n", styles: [".sefin-spinner{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.sefin-spinner--inline{margin:0}.sefin-spinner:not(.sefin-spinner--inline){padding:var(--sefin-spacing-lg, 24px)}.sefin-spinner--sm .sefin-spinner__circle{width:16px;height:16px;border-width:2px}.sefin-spinner--md .sefin-spinner__circle{width:32px;height:32px;border-width:3px}.sefin-spinner--lg .sefin-spinner__circle{width:48px;height:48px;border-width:4px}.sefin-spinner--primary .sefin-spinner__circle{border-color:var(--sefin-color-primary, #1976d2);border-top-color:transparent}.sefin-spinner--secondary .sefin-spinner__circle{border-color:var(--sefin-color-secondary, #dc004e);border-top-color:transparent}.sefin-spinner--success .sefin-spinner__circle{border-color:var(--sefin-color-success, #4caf50);border-top-color:transparent}.sefin-spinner--warning .sefin-spinner__circle{border-color:var(--sefin-color-warning, #ff9800);border-top-color:transparent}.sefin-spinner--error .sefin-spinner__circle{border-color:var(--sefin-color-error, #f44336);border-top-color:transparent}.sefin-spinner--default .sefin-spinner__circle{border-color:var(--sefin-color-text-secondary, #666);border-top-color:transparent}.sefin-spinner__circle{border-style:solid;border-radius:50%;animation:sefin-spinner-rotate .8s linear infinite;box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes sefin-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2048
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: SpinnerComponent, isStandalone: true, selector: "sefin-spinner", inputs: { size: "size", variant: "variant", inline: "inline", class: "class" }, ngImport: i0, template: "<div [class]=\"spinnerClasses\" role=\"status\" [attr.aria-label]=\"'Loading'\">\n <div class=\"sefin-spinner__circle\"></div>\n <span class=\"sr-only\">Loading...</span>\n</div>\n\n", styles: [".sefin-spinner{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box}.sefin-spinner--inline{margin:0}.sefin-spinner:not(.sefin-spinner--inline){padding:var(--sefin-spacing-lg, 24px)}.sefin-spinner--sm .sefin-spinner__circle{width:16px;height:16px;border-width:2px}.sefin-spinner--md .sefin-spinner__circle{width:32px;height:32px;border-width:3px}.sefin-spinner--lg .sefin-spinner__circle{width:48px;height:48px;border-width:4px}.sefin-spinner--primary .sefin-spinner__circle{border-color:var(--sefin-color-primary, #1976d2);border-top-color:transparent}.sefin-spinner--secondary .sefin-spinner__circle{border-color:var(--sefin-color-secondary, #dc004e);border-top-color:transparent}.sefin-spinner--success .sefin-spinner__circle{border-color:var(--sefin-color-success, #4caf50);border-top-color:transparent}.sefin-spinner--warning .sefin-spinner__circle{border-color:var(--sefin-color-warning, #ff9800);border-top-color:transparent}.sefin-spinner--error .sefin-spinner__circle{border-color:var(--sefin-color-error, #f44336);border-top-color:transparent}.sefin-spinner--default .sefin-spinner__circle{border-color:var(--sefin-color-text-secondary, #666);border-top-color:transparent}.sefin-spinner__circle{border-style:solid;border-radius:50%;animation:sefin-spinner-rotate .8s linear infinite;box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes sefin-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2049
2049
  }
2050
2050
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SpinnerComponent, decorators: [{
2051
2051
  type: Component,
2052
- args: [{ selector: 'sefin-spinner', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"spinnerClasses\" role=\"status\" [attr.aria-label]=\"'Loading'\">\n <div class=\"sefin-spinner__circle\"></div>\n <span class=\"sr-only\">Loading...</span>\n</div>\n\n", styles: [".sefin-spinner{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.sefin-spinner--inline{margin:0}.sefin-spinner:not(.sefin-spinner--inline){padding:var(--sefin-spacing-lg, 24px)}.sefin-spinner--sm .sefin-spinner__circle{width:16px;height:16px;border-width:2px}.sefin-spinner--md .sefin-spinner__circle{width:32px;height:32px;border-width:3px}.sefin-spinner--lg .sefin-spinner__circle{width:48px;height:48px;border-width:4px}.sefin-spinner--primary .sefin-spinner__circle{border-color:var(--sefin-color-primary, #1976d2);border-top-color:transparent}.sefin-spinner--secondary .sefin-spinner__circle{border-color:var(--sefin-color-secondary, #dc004e);border-top-color:transparent}.sefin-spinner--success .sefin-spinner__circle{border-color:var(--sefin-color-success, #4caf50);border-top-color:transparent}.sefin-spinner--warning .sefin-spinner__circle{border-color:var(--sefin-color-warning, #ff9800);border-top-color:transparent}.sefin-spinner--error .sefin-spinner__circle{border-color:var(--sefin-color-error, #f44336);border-top-color:transparent}.sefin-spinner--default .sefin-spinner__circle{border-color:var(--sefin-color-text-secondary, #666);border-top-color:transparent}.sefin-spinner__circle{border-style:solid;border-radius:50%;animation:sefin-spinner-rotate .8s linear infinite;box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes sefin-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
2052
+ args: [{ selector: 'sefin-spinner', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"spinnerClasses\" role=\"status\" [attr.aria-label]=\"'Loading'\">\n <div class=\"sefin-spinner__circle\"></div>\n <span class=\"sr-only\">Loading...</span>\n</div>\n\n", styles: [".sefin-spinner{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box}.sefin-spinner--inline{margin:0}.sefin-spinner:not(.sefin-spinner--inline){padding:var(--sefin-spacing-lg, 24px)}.sefin-spinner--sm .sefin-spinner__circle{width:16px;height:16px;border-width:2px}.sefin-spinner--md .sefin-spinner__circle{width:32px;height:32px;border-width:3px}.sefin-spinner--lg .sefin-spinner__circle{width:48px;height:48px;border-width:4px}.sefin-spinner--primary .sefin-spinner__circle{border-color:var(--sefin-color-primary, #1976d2);border-top-color:transparent}.sefin-spinner--secondary .sefin-spinner__circle{border-color:var(--sefin-color-secondary, #dc004e);border-top-color:transparent}.sefin-spinner--success .sefin-spinner__circle{border-color:var(--sefin-color-success, #4caf50);border-top-color:transparent}.sefin-spinner--warning .sefin-spinner__circle{border-color:var(--sefin-color-warning, #ff9800);border-top-color:transparent}.sefin-spinner--error .sefin-spinner__circle{border-color:var(--sefin-color-error, #f44336);border-top-color:transparent}.sefin-spinner--default .sefin-spinner__circle{border-color:var(--sefin-color-text-secondary, #666);border-top-color:transparent}.sefin-spinner__circle{border-style:solid;border-radius:50%;animation:sefin-spinner-rotate .8s linear infinite;box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes sefin-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
2053
2053
  }], propDecorators: { size: [{
2054
2054
  type: Input
2055
2055
  }], variant: [{
@@ -2221,11 +2221,11 @@ class TooltipComponent {
2221
2221
  .join(' ');
2222
2222
  }
2223
2223
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: TooltipComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2224
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: TooltipComponent, isStandalone: true, selector: "sefin-tooltip", inputs: { text: "text", position: "position", trigger: "trigger", delay: "delay", disabled: "disabled", class: "class" }, host: { listeners: { "mouseenter": "onMouseEnter($event)", "mouseleave": "onMouseLeave($event)", "click": "onClick($event)", "focus": "onFocus($event)", "blur": "onBlur($event)" } }, viewQueries: [{ propertyName: "tooltipContent", first: true, predicate: ["tooltipContent"], descendants: true }, { propertyName: "tooltipTrigger", first: true, predicate: ["tooltipTrigger"], descendants: true }], ngImport: i0, template: "<div #tooltipTrigger class=\"sefin-tooltip__wrapper\">\n <ng-content></ng-content>\n <div\n #tooltipContent\n [class]=\"tooltipClasses\"\n role=\"tooltip\"\n [attr.aria-hidden]=\"!isVisible\"\n *ngIf=\"text && !disabled\"\n >\n <div class=\"sefin-tooltip__content\">{{ text }}</div>\n <div class=\"sefin-tooltip__arrow\"></div>\n </div>\n</div>\n\n", styles: [".sefin-tooltip__wrapper{display:inline-block;position:relative}.sefin-tooltip{position:absolute;z-index:1000;pointer-events:none;opacity:0;transform:scale(.95);transition:opacity .2s ease-in-out,transform .2s ease-in-out;white-space:nowrap}.sefin-tooltip--visible{opacity:1;transform:scale(1);pointer-events:auto}.sefin-tooltip__content{background-color:var(--sefin-color-surface-inverse, #333);color:var(--sefin-color-text-inverse, #ffffff);font-family:var(--sefin-font-family-base, sans-serif);font-size:var(--sefin-font-size-sm, 12px);font-weight:var(--sefin-font-weight-normal, 400);line-height:var(--sefin-line-height-normal, 1.5);padding:var(--sefin-spacing-xs, 6px) var(--sefin-spacing-sm, 10px);border-radius:var(--sefin-border-radius-sm, 4px);box-shadow:var(--sefin-shadow-md, 0 4px 6px rgba(0, 0, 0, .1));max-width:200px;white-space:normal;word-wrap:break-word;box-sizing:border-box}.sefin-tooltip__arrow{position:absolute;width:0;height:0;border-style:solid}.sefin-tooltip--top{bottom:calc(100% + 8px);left:50%;transform:translate(-50%) scale(.95)}.sefin-tooltip--top.sefin-tooltip--visible{transform:translate(-50%) scale(1)}.sefin-tooltip--top .sefin-tooltip__arrow{top:100%;left:50%;transform:translate(-50%);border-width:6px 6px 0 6px;border-color:var(--sefin-color-surface-inverse, #333) transparent transparent transparent}.sefin-tooltip--bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%) scale(.95)}.sefin-tooltip--bottom.sefin-tooltip--visible{transform:translate(-50%) scale(1)}.sefin-tooltip--bottom .sefin-tooltip__arrow{bottom:100%;left:50%;transform:translate(-50%);border-width:0 6px 6px 6px;border-color:transparent transparent var(--sefin-color-surface-inverse, #333) transparent}.sefin-tooltip--left{right:calc(100% + 8px);top:50%;transform:translateY(-50%) scale(.95)}.sefin-tooltip--left.sefin-tooltip--visible{transform:translateY(-50%) scale(1)}.sefin-tooltip--left .sefin-tooltip__arrow{left:100%;top:50%;transform:translateY(-50%);border-width:6px 0 6px 6px;border-color:transparent transparent transparent var(--sefin-color-surface-inverse, #333)}.sefin-tooltip--right{left:calc(100% + 8px);top:50%;transform:translateY(-50%) scale(.95)}.sefin-tooltip--right.sefin-tooltip--visible{transform:translateY(-50%) scale(1)}.sefin-tooltip--right .sefin-tooltip__arrow{right:100%;top:50%;transform:translateY(-50%);border-width:6px 6px 6px 0;border-color:transparent var(--sefin-color-surface-inverse, #333) transparent transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2224
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: TooltipComponent, isStandalone: true, selector: "sefin-tooltip", inputs: { text: "text", position: "position", trigger: "trigger", delay: "delay", disabled: "disabled", class: "class" }, host: { listeners: { "mouseenter": "onMouseEnter($event)", "mouseleave": "onMouseLeave($event)", "click": "onClick($event)", "focus": "onFocus($event)", "blur": "onBlur($event)" } }, viewQueries: [{ propertyName: "tooltipContent", first: true, predicate: ["tooltipContent"], descendants: true }, { propertyName: "tooltipTrigger", first: true, predicate: ["tooltipTrigger"], descendants: true }], ngImport: i0, template: "<div #tooltipTrigger class=\"sefin-tooltip__wrapper\">\n <ng-content></ng-content>\n <div\n #tooltipContent\n [class]=\"tooltipClasses\"\n role=\"tooltip\"\n [attr.aria-hidden]=\"!isVisible\"\n *ngIf=\"text && !disabled\"\n >\n <div class=\"sefin-tooltip__content\">{{ text }}</div>\n <div class=\"sefin-tooltip__arrow\"></div>\n </div>\n</div>\n\n", styles: [".sefin-tooltip__wrapper{display:block;width:100%;position:relative;box-sizing:border-box}.sefin-tooltip{position:absolute;z-index:1000;pointer-events:none;opacity:0;transform:scale(.95);transition:opacity .2s ease-in-out,transform .2s ease-in-out;white-space:nowrap}.sefin-tooltip--visible{opacity:1;transform:scale(1);pointer-events:auto}.sefin-tooltip__content{background-color:var(--sefin-color-surface-inverse, #333);color:var(--sefin-color-text-inverse, #ffffff);font-family:var(--sefin-font-family-base, sans-serif);font-size:var(--sefin-font-size-sm, 12px);font-weight:var(--sefin-font-weight-normal, 400);line-height:var(--sefin-line-height-normal, 1.5);padding:var(--sefin-spacing-xs, 6px) var(--sefin-spacing-sm, 10px);border-radius:var(--sefin-border-radius-sm, 4px);box-shadow:var(--sefin-shadow-md, 0 4px 6px rgba(0, 0, 0, .1));max-width:200px;white-space:normal;word-wrap:break-word;box-sizing:border-box}.sefin-tooltip__arrow{position:absolute;width:0;height:0;border-style:solid}.sefin-tooltip--top{bottom:calc(100% + 8px);left:50%;transform:translate(-50%) scale(.95)}.sefin-tooltip--top.sefin-tooltip--visible{transform:translate(-50%) scale(1)}.sefin-tooltip--top .sefin-tooltip__arrow{top:100%;left:50%;transform:translate(-50%);border-width:6px 6px 0 6px;border-color:var(--sefin-color-surface-inverse, #333) transparent transparent transparent}.sefin-tooltip--bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%) scale(.95)}.sefin-tooltip--bottom.sefin-tooltip--visible{transform:translate(-50%) scale(1)}.sefin-tooltip--bottom .sefin-tooltip__arrow{bottom:100%;left:50%;transform:translate(-50%);border-width:0 6px 6px 6px;border-color:transparent transparent var(--sefin-color-surface-inverse, #333) transparent}.sefin-tooltip--left{right:calc(100% + 8px);top:50%;transform:translateY(-50%) scale(.95)}.sefin-tooltip--left.sefin-tooltip--visible{transform:translateY(-50%) scale(1)}.sefin-tooltip--left .sefin-tooltip__arrow{left:100%;top:50%;transform:translateY(-50%);border-width:6px 0 6px 6px;border-color:transparent transparent transparent var(--sefin-color-surface-inverse, #333)}.sefin-tooltip--right{left:calc(100% + 8px);top:50%;transform:translateY(-50%) scale(.95)}.sefin-tooltip--right.sefin-tooltip--visible{transform:translateY(-50%) scale(1)}.sefin-tooltip--right .sefin-tooltip__arrow{right:100%;top:50%;transform:translateY(-50%);border-width:6px 6px 6px 0;border-color:transparent var(--sefin-color-surface-inverse, #333) transparent transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2225
2225
  }
2226
2226
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: TooltipComponent, decorators: [{
2227
2227
  type: Component,
2228
- args: [{ selector: 'sefin-tooltip', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #tooltipTrigger class=\"sefin-tooltip__wrapper\">\n <ng-content></ng-content>\n <div\n #tooltipContent\n [class]=\"tooltipClasses\"\n role=\"tooltip\"\n [attr.aria-hidden]=\"!isVisible\"\n *ngIf=\"text && !disabled\"\n >\n <div class=\"sefin-tooltip__content\">{{ text }}</div>\n <div class=\"sefin-tooltip__arrow\"></div>\n </div>\n</div>\n\n", styles: [".sefin-tooltip__wrapper{display:inline-block;position:relative}.sefin-tooltip{position:absolute;z-index:1000;pointer-events:none;opacity:0;transform:scale(.95);transition:opacity .2s ease-in-out,transform .2s ease-in-out;white-space:nowrap}.sefin-tooltip--visible{opacity:1;transform:scale(1);pointer-events:auto}.sefin-tooltip__content{background-color:var(--sefin-color-surface-inverse, #333);color:var(--sefin-color-text-inverse, #ffffff);font-family:var(--sefin-font-family-base, sans-serif);font-size:var(--sefin-font-size-sm, 12px);font-weight:var(--sefin-font-weight-normal, 400);line-height:var(--sefin-line-height-normal, 1.5);padding:var(--sefin-spacing-xs, 6px) var(--sefin-spacing-sm, 10px);border-radius:var(--sefin-border-radius-sm, 4px);box-shadow:var(--sefin-shadow-md, 0 4px 6px rgba(0, 0, 0, .1));max-width:200px;white-space:normal;word-wrap:break-word;box-sizing:border-box}.sefin-tooltip__arrow{position:absolute;width:0;height:0;border-style:solid}.sefin-tooltip--top{bottom:calc(100% + 8px);left:50%;transform:translate(-50%) scale(.95)}.sefin-tooltip--top.sefin-tooltip--visible{transform:translate(-50%) scale(1)}.sefin-tooltip--top .sefin-tooltip__arrow{top:100%;left:50%;transform:translate(-50%);border-width:6px 6px 0 6px;border-color:var(--sefin-color-surface-inverse, #333) transparent transparent transparent}.sefin-tooltip--bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%) scale(.95)}.sefin-tooltip--bottom.sefin-tooltip--visible{transform:translate(-50%) scale(1)}.sefin-tooltip--bottom .sefin-tooltip__arrow{bottom:100%;left:50%;transform:translate(-50%);border-width:0 6px 6px 6px;border-color:transparent transparent var(--sefin-color-surface-inverse, #333) transparent}.sefin-tooltip--left{right:calc(100% + 8px);top:50%;transform:translateY(-50%) scale(.95)}.sefin-tooltip--left.sefin-tooltip--visible{transform:translateY(-50%) scale(1)}.sefin-tooltip--left .sefin-tooltip__arrow{left:100%;top:50%;transform:translateY(-50%);border-width:6px 0 6px 6px;border-color:transparent transparent transparent var(--sefin-color-surface-inverse, #333)}.sefin-tooltip--right{left:calc(100% + 8px);top:50%;transform:translateY(-50%) scale(.95)}.sefin-tooltip--right.sefin-tooltip--visible{transform:translateY(-50%) scale(1)}.sefin-tooltip--right .sefin-tooltip__arrow{right:100%;top:50%;transform:translateY(-50%);border-width:6px 6px 6px 0;border-color:transparent var(--sefin-color-surface-inverse, #333) transparent transparent}\n"] }]
2228
+ args: [{ selector: 'sefin-tooltip', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #tooltipTrigger class=\"sefin-tooltip__wrapper\">\n <ng-content></ng-content>\n <div\n #tooltipContent\n [class]=\"tooltipClasses\"\n role=\"tooltip\"\n [attr.aria-hidden]=\"!isVisible\"\n *ngIf=\"text && !disabled\"\n >\n <div class=\"sefin-tooltip__content\">{{ text }}</div>\n <div class=\"sefin-tooltip__arrow\"></div>\n </div>\n</div>\n\n", styles: [".sefin-tooltip__wrapper{display:block;width:100%;position:relative;box-sizing:border-box}.sefin-tooltip{position:absolute;z-index:1000;pointer-events:none;opacity:0;transform:scale(.95);transition:opacity .2s ease-in-out,transform .2s ease-in-out;white-space:nowrap}.sefin-tooltip--visible{opacity:1;transform:scale(1);pointer-events:auto}.sefin-tooltip__content{background-color:var(--sefin-color-surface-inverse, #333);color:var(--sefin-color-text-inverse, #ffffff);font-family:var(--sefin-font-family-base, sans-serif);font-size:var(--sefin-font-size-sm, 12px);font-weight:var(--sefin-font-weight-normal, 400);line-height:var(--sefin-line-height-normal, 1.5);padding:var(--sefin-spacing-xs, 6px) var(--sefin-spacing-sm, 10px);border-radius:var(--sefin-border-radius-sm, 4px);box-shadow:var(--sefin-shadow-md, 0 4px 6px rgba(0, 0, 0, .1));max-width:200px;white-space:normal;word-wrap:break-word;box-sizing:border-box}.sefin-tooltip__arrow{position:absolute;width:0;height:0;border-style:solid}.sefin-tooltip--top{bottom:calc(100% + 8px);left:50%;transform:translate(-50%) scale(.95)}.sefin-tooltip--top.sefin-tooltip--visible{transform:translate(-50%) scale(1)}.sefin-tooltip--top .sefin-tooltip__arrow{top:100%;left:50%;transform:translate(-50%);border-width:6px 6px 0 6px;border-color:var(--sefin-color-surface-inverse, #333) transparent transparent transparent}.sefin-tooltip--bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%) scale(.95)}.sefin-tooltip--bottom.sefin-tooltip--visible{transform:translate(-50%) scale(1)}.sefin-tooltip--bottom .sefin-tooltip__arrow{bottom:100%;left:50%;transform:translate(-50%);border-width:0 6px 6px 6px;border-color:transparent transparent var(--sefin-color-surface-inverse, #333) transparent}.sefin-tooltip--left{right:calc(100% + 8px);top:50%;transform:translateY(-50%) scale(.95)}.sefin-tooltip--left.sefin-tooltip--visible{transform:translateY(-50%) scale(1)}.sefin-tooltip--left .sefin-tooltip__arrow{left:100%;top:50%;transform:translateY(-50%);border-width:6px 0 6px 6px;border-color:transparent transparent transparent var(--sefin-color-surface-inverse, #333)}.sefin-tooltip--right{left:calc(100% + 8px);top:50%;transform:translateY(-50%) scale(.95)}.sefin-tooltip--right.sefin-tooltip--visible{transform:translateY(-50%) scale(1)}.sefin-tooltip--right .sefin-tooltip__arrow{right:100%;top:50%;transform:translateY(-50%);border-width:6px 6px 6px 0;border-color:transparent var(--sefin-color-surface-inverse, #333) transparent transparent}\n"] }]
2229
2229
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { text: [{
2230
2230
  type: Input
2231
2231
  }], position: [{
@@ -2474,11 +2474,11 @@ class ToastComponent {
2474
2474
  return iconMap[this.variant];
2475
2475
  }
2476
2476
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ToastComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2477
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: ToastComponent, isStandalone: true, selector: "sefin-toast", inputs: { variant: "variant", position: "position", title: "title", message: "message", duration: "duration", showIcon: "showIcon", dismissible: "dismissible", class: "class" }, outputs: { dismissed: "dismissed" }, ngImport: i0, template: "<div\n *ngIf=\"isVisible\"\n [class]=\"toastClasses\"\n role=\"alert\"\n [attr.aria-live]=\"variant === 'error' ? 'assertive' : 'polite'\"\n (mouseenter)=\"pauseTimer()\"\n (mouseleave)=\"resumeTimer()\"\n>\n <div class=\"sefin-toast__content\">\n <div *ngIf=\"showIcon\" class=\"sefin-toast__icon\" [attr.aria-hidden]=\"true\">\n <sefin-icon [name]=\"iconName\" size=\"sm\" [color]=\"'#ffffff'\"></sefin-icon>\n </div>\n <div class=\"sefin-toast__body\">\n <div *ngIf=\"title\" class=\"sefin-toast__title\">{{ title }}</div>\n <div *ngIf=\"message\" class=\"sefin-toast__message\">{{ message }}</div>\n <ng-content></ng-content>\n </div>\n <button\n *ngIf=\"dismissible\"\n type=\"button\"\n class=\"sefin-toast__close\"\n (click)=\"onCloseClick($event)\"\n (mousedown)=\"$event.stopPropagation()\"\n aria-label=\"Close toast\"\n >\n <sefin-icon name=\"x\" size=\"sm\"></sefin-icon>\n </button>\n </div>\n</div>\n\n", styles: [".sefin-toast{display:flex;width:400px;box-sizing:border-box;border-radius:var(--sefin-border-radius-md, 8px);border:1px solid transparent;font-family:var(--sefin-font-family-base, sans-serif);box-shadow:var(--sefin-shadow-lg, 0 10px 25px rgba(0, 0, 0, .15));padding:var(--sefin-spacing-md, 12px) var(--sefin-spacing-lg, 16px);margin-bottom:var(--sefin-spacing-xs, 4px);will-change:transform,opacity,max-height;overflow:hidden;max-height:200px;opacity:0}.sefin-toast--top-right,.sefin-toast--top-left,.sefin-toast--top-center{transform:translateY(-20px) scale(.95);animation:toast-enter-top .35s cubic-bezier(.21,1.02,.73,1) forwards}.sefin-toast--top-right.sefin-toast--exiting,.sefin-toast--top-left.sefin-toast--exiting,.sefin-toast--top-center.sefin-toast--exiting{animation:toast-exit-top .2s cubic-bezier(.06,.71,.55,1) forwards}.sefin-toast--bottom-right,.sefin-toast--bottom-left,.sefin-toast--bottom-center{transform:translateY(20px) scale(.95);animation:toast-enter-bottom .35s cubic-bezier(.21,1.02,.73,1) forwards}.sefin-toast--bottom-right.sefin-toast--exiting,.sefin-toast--bottom-left.sefin-toast--exiting,.sefin-toast--bottom-center.sefin-toast--exiting{animation:toast-exit-bottom .2s cubic-bezier(.06,.71,.55,1) forwards}.sefin-toast__content{display:flex;align-items:flex-start;width:100%;gap:var(--sefin-spacing-sm, 8px)}.sefin-toast__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;width:24px;height:24px}.sefin-toast__icon ::ng-deep sefin-icon{display:flex;align-items:center;justify-content:center}.sefin-toast__body{flex:1;min-width:0;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.sefin-toast__title{font-weight:var(--sefin-font-weight-semibold, 600);font-size:var(--sefin-font-size-base, 14px);line-height:var(--sefin-line-height-tight, 1.4);margin:0 0 var(--sefin-spacing-xs, 4px) 0;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.sefin-toast__message{font-size:var(--sefin-font-size-base, 14px);line-height:var(--sefin-line-height-normal, 1.5);margin:0;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.sefin-toast__close{flex-shrink:0;background:none;border:none;padding:4px;margin:0;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;width:28px;height:28px;border-radius:var(--sefin-border-radius-sm, 4px);opacity:.7;transition:opacity .2s ease-in-out,background-color .2s ease-in-out;position:relative;z-index:10;pointer-events:auto}.sefin-toast__close:hover{opacity:1;background-color:#0000000d}.sefin-toast__close:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sefin-toast__close:active{opacity:1}.sefin-toast__close ::ng-deep sefin-icon{display:flex;align-items:center;justify-content:center;pointer-events:none}.sefin-toast--success{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-success, #4caf50);border-left:4px solid var(--sefin-color-success, #4caf50)}.sefin-toast--success .sefin-toast__icon{background-color:var(--sefin-color-success, #4caf50);color:#fff}.sefin-toast--success .sefin-toast__title,.sefin-toast--success .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--success .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--success .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--success .sefin-toast__close:hover{background-color:#ffffff1a}.sefin-toast--warning{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-warning, #ff9800);border-left:4px solid var(--sefin-color-warning, #ff9800)}.sefin-toast--warning .sefin-toast__icon{background-color:var(--sefin-color-warning, #ff9800);color:#fff}.sefin-toast--warning .sefin-toast__title,.sefin-toast--warning .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--warning .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--warning .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--warning .sefin-toast__close:hover{background-color:#ffffff1a}.sefin-toast--error{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-error, #f44336);border-left:4px solid var(--sefin-color-error, #f44336)}.sefin-toast--error .sefin-toast__icon{background-color:var(--sefin-color-error, #f44336);color:#fff}.sefin-toast--error .sefin-toast__title,.sefin-toast--error .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--error .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--error .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--error .sefin-toast__close:hover{background-color:#ffffff1a}.sefin-toast--info{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-primary, #1976d2);border-left:4px solid var(--sefin-color-primary, #1976d2)}.sefin-toast--info .sefin-toast__icon{background-color:var(--sefin-color-primary, #1976d2);color:#fff}.sefin-toast--info .sefin-toast__title{color:var(--sefin-color-text, #1a1a1a);font-weight:var(--sefin-font-weight-semibold, 600)}.sefin-toast--info .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--info .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--info .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--info .sefin-toast__close:hover{background-color:#ffffff1a}.sefin-toast--default{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-border, #e0e0e0);border-left:4px solid var(--sefin-color-border, #e0e0e0)}.sefin-toast--default .sefin-toast__icon{background-color:var(--sefin-color-text-secondary, #666);color:#fff}.sefin-toast--default .sefin-toast__title,.sefin-toast--default .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--default .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--default .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--default .sefin-toast__close:hover{background-color:#ffffff1a}@keyframes toast-enter-top{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-enter-bottom{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-exit-top{0%{opacity:1;transform:translateY(0) scale(1);max-height:200px}to{opacity:0;transform:translateY(-10px) scale(.95);max-height:0;padding-top:0;padding-bottom:0}}@keyframes toast-exit-bottom{0%{opacity:1;transform:translateY(0) scale(1);max-height:200px}to{opacity:0;transform:translateY(10px) scale(.95);max-height:0;padding-top:0;padding-bottom:0}}@keyframes toast-stack-first{to{transform:translateY(0) scale(1);opacity:1}}@keyframes toast-stack-second-right{to{transform:translateY(4px) translate(-4px) scale(.95);opacity:.9}}@keyframes toast-stack-third-right{to{transform:translateY(8px) translate(-8px) scale(.9);opacity:.8}}@keyframes toast-stack-fourth-right{to{transform:translateY(12px) translate(-12px) scale(.85);opacity:.7}}@keyframes toast-stack-second-left{to{transform:translateY(4px) translate(4px) scale(.95);opacity:.9}}@keyframes toast-stack-third-left{to{transform:translateY(8px) translate(8px) scale(.9);opacity:.8}}@keyframes toast-stack-fourth-left{to{transform:translateY(12px) translate(12px) scale(.85);opacity:.7}}@keyframes toast-stack-second-center{to{transform:translateY(4px) scale(.95);opacity:.9}}@keyframes toast-stack-third-center{to{transform:translateY(8px) scale(.9);opacity:.8}}@keyframes toast-stack-fourth-center{to{transform:translateY(12px) scale(.85);opacity:.7}}.sefin-toast-container{position:fixed;z-index:99999;pointer-events:none;display:flex;flex-direction:column;isolation:isolate;gap:var(--sefin-spacing-sm, 8px)}.sefin-toast-container--top-right{top:var(--sefin-spacing-lg, 24px);right:var(--sefin-spacing-lg, 24px);align-items:flex-end}.sefin-toast-container--top-left{top:var(--sefin-spacing-lg, 24px);left:var(--sefin-spacing-lg, 24px);align-items:flex-start}.sefin-toast-container--top-center{top:var(--sefin-spacing-lg, 24px);left:50%;transform:translate(-50%);align-items:center}.sefin-toast-container--bottom-right{bottom:var(--sefin-spacing-lg, 24px);right:var(--sefin-spacing-lg, 24px);align-items:flex-end}.sefin-toast-container--bottom-left{bottom:var(--sefin-spacing-lg, 24px);left:var(--sefin-spacing-lg, 24px);align-items:flex-start}.sefin-toast-container--bottom-center{bottom:var(--sefin-spacing-lg, 24px);left:50%;transform:translate(-50%);align-items:center}.sefin-toast-container .sefin-toast{pointer-events:auto;position:relative;margin-bottom:0;transition:max-height .2s cubic-bezier(.21,1.02,.73,1),padding .2s cubic-bezier(.21,1.02,.73,1),transform .3s cubic-bezier(.21,1.02,.73,1) .4s,opacity .3s cubic-bezier(.21,1.02,.73,1) .4s}.sefin-toast-container--top-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2),.sefin-toast-container--bottom-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2){transform:translateY(4px) translate(-4px) scale(.95);opacity:.9}.sefin-toast-container--top-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3),.sefin-toast-container--bottom-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3){transform:translateY(8px) translate(-8px) scale(.9);opacity:.8}.sefin-toast-container--top-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4),.sefin-toast-container--bottom-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4){transform:translateY(12px) translate(-12px) scale(.85);opacity:.7}.sefin-toast-container--top-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2),.sefin-toast-container--bottom-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2){transform:translateY(4px) translate(4px) scale(.95);opacity:.9}.sefin-toast-container--top-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3),.sefin-toast-container--bottom-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3){transform:translateY(8px) translate(8px) scale(.9);opacity:.8}.sefin-toast-container--top-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4),.sefin-toast-container--bottom-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4){transform:translateY(12px) translate(12px) scale(.85);opacity:.7}.sefin-toast-container--top-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2),.sefin-toast-container--bottom-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2){transform:translateY(4px) scale(.95);opacity:.9}.sefin-toast-container--top-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3),.sefin-toast-container--bottom-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3){transform:translateY(8px) scale(.9);opacity:.8}.sefin-toast-container--top-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4),.sefin-toast-container--bottom-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4){transform:translateY(12px) scale(.85);opacity:.7}.sefin-toast-container .sefin-toast:hover:not(.sefin-toast--exiting){z-index:10!important;transform:translateY(-2px) scale(1)!important;opacity:1!important;box-shadow:var(--sefin-shadow-xl, 0 12px 30px rgba(0, 0, 0, .18))!important;transition:transform .2s cubic-bezier(.21,1.02,.73,1),opacity .2s cubic-bezier(.21,1.02,.73,1),box-shadow .2s cubic-bezier(.21,1.02,.73,1)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "sefin-icon", inputs: ["name", "size", "color", "rotate", "flipH", "flipV", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2477
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: ToastComponent, isStandalone: true, selector: "sefin-toast", inputs: { variant: "variant", position: "position", title: "title", message: "message", duration: "duration", showIcon: "showIcon", dismissible: "dismissible", class: "class" }, outputs: { dismissed: "dismissed" }, ngImport: i0, template: "<div\n *ngIf=\"isVisible\"\n [class]=\"toastClasses\"\n role=\"alert\"\n [attr.aria-live]=\"variant === 'error' ? 'assertive' : 'polite'\"\n (mouseenter)=\"pauseTimer()\"\n (mouseleave)=\"resumeTimer()\"\n>\n <div class=\"sefin-toast__content\">\n <div *ngIf=\"showIcon\" class=\"sefin-toast__icon\" [attr.aria-hidden]=\"true\">\n <sefin-icon [name]=\"iconName\" size=\"sm\" [color]=\"'#ffffff'\"></sefin-icon>\n </div>\n <div class=\"sefin-toast__body\">\n <div *ngIf=\"title\" class=\"sefin-toast__title\">{{ title }}</div>\n <div *ngIf=\"message\" class=\"sefin-toast__message\">{{ message }}</div>\n <ng-content></ng-content>\n </div>\n <button\n *ngIf=\"dismissible\"\n type=\"button\"\n class=\"sefin-toast__close\"\n (click)=\"onCloseClick($event)\"\n (mousedown)=\"$event.stopPropagation()\"\n aria-label=\"Close toast\"\n >\n <sefin-icon name=\"x\" size=\"sm\"></sefin-icon>\n </button>\n </div>\n</div>\n\n", styles: [".sefin-toast{display:flex;width:100%;max-width:400px;box-sizing:border-box;border-radius:var(--sefin-border-radius-md, 8px);border:1px solid transparent;font-family:var(--sefin-font-family-base, sans-serif);box-shadow:var(--sefin-shadow-lg, 0 10px 25px rgba(0, 0, 0, .15));padding:var(--sefin-spacing-md, 12px) var(--sefin-spacing-lg, 16px);margin-bottom:var(--sefin-spacing-xs, 4px);will-change:transform,opacity,max-height;overflow:hidden;max-height:200px;opacity:0}.sefin-toast--top-right,.sefin-toast--top-left,.sefin-toast--top-center{transform:translateY(-20px) scale(.95);animation:toast-enter-top .35s cubic-bezier(.21,1.02,.73,1) forwards}.sefin-toast--top-right.sefin-toast--exiting,.sefin-toast--top-left.sefin-toast--exiting,.sefin-toast--top-center.sefin-toast--exiting{animation:toast-exit-top .2s cubic-bezier(.06,.71,.55,1) forwards}.sefin-toast--bottom-right,.sefin-toast--bottom-left,.sefin-toast--bottom-center{transform:translateY(20px) scale(.95);animation:toast-enter-bottom .35s cubic-bezier(.21,1.02,.73,1) forwards}.sefin-toast--bottom-right.sefin-toast--exiting,.sefin-toast--bottom-left.sefin-toast--exiting,.sefin-toast--bottom-center.sefin-toast--exiting{animation:toast-exit-bottom .2s cubic-bezier(.06,.71,.55,1) forwards}.sefin-toast__content{display:flex;align-items:flex-start;width:100%;gap:var(--sefin-spacing-sm, 8px)}.sefin-toast__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;width:24px;height:24px}.sefin-toast__icon ::ng-deep sefin-icon{display:flex;align-items:center;justify-content:center}.sefin-toast__body{flex:1;min-width:0;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.sefin-toast__title{font-weight:var(--sefin-font-weight-semibold, 600);font-size:var(--sefin-font-size-base, 14px);line-height:var(--sefin-line-height-tight, 1.4);margin:0 0 var(--sefin-spacing-xs, 4px) 0;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.sefin-toast__message{font-size:var(--sefin-font-size-base, 14px);line-height:var(--sefin-line-height-normal, 1.5);margin:0;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.sefin-toast__close{flex-shrink:0;background:none;border:none;padding:4px;margin:0;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;width:28px;height:28px;border-radius:var(--sefin-border-radius-sm, 4px);opacity:.7;transition:opacity .2s ease-in-out,background-color .2s ease-in-out;position:relative;z-index:10;pointer-events:auto}.sefin-toast__close:hover{opacity:1;background-color:#0000000d}.sefin-toast__close:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sefin-toast__close:active{opacity:1}.sefin-toast__close ::ng-deep sefin-icon{display:flex;align-items:center;justify-content:center;pointer-events:none}.sefin-toast--success{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-success, #4caf50);border-left:4px solid var(--sefin-color-success, #4caf50)}.sefin-toast--success .sefin-toast__icon{background-color:var(--sefin-color-success, #4caf50);color:#fff}.sefin-toast--success .sefin-toast__title,.sefin-toast--success .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--success .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--success .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--success .sefin-toast__close:hover{background-color:#ffffff1a}.sefin-toast--warning{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-warning, #ff9800);border-left:4px solid var(--sefin-color-warning, #ff9800)}.sefin-toast--warning .sefin-toast__icon{background-color:var(--sefin-color-warning, #ff9800);color:#fff}.sefin-toast--warning .sefin-toast__title,.sefin-toast--warning .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--warning .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--warning .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--warning .sefin-toast__close:hover{background-color:#ffffff1a}.sefin-toast--error{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-error, #f44336);border-left:4px solid var(--sefin-color-error, #f44336)}.sefin-toast--error .sefin-toast__icon{background-color:var(--sefin-color-error, #f44336);color:#fff}.sefin-toast--error .sefin-toast__title,.sefin-toast--error .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--error .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--error .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--error .sefin-toast__close:hover{background-color:#ffffff1a}.sefin-toast--info{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-primary, #1976d2);border-left:4px solid var(--sefin-color-primary, #1976d2)}.sefin-toast--info .sefin-toast__icon{background-color:var(--sefin-color-primary, #1976d2);color:#fff}.sefin-toast--info .sefin-toast__title{color:var(--sefin-color-text, #1a1a1a);font-weight:var(--sefin-font-weight-semibold, 600)}.sefin-toast--info .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--info .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--info .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--info .sefin-toast__close:hover{background-color:#ffffff1a}.sefin-toast--default{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-border, #e0e0e0);border-left:4px solid var(--sefin-color-border, #e0e0e0)}.sefin-toast--default .sefin-toast__icon{background-color:var(--sefin-color-text-secondary, #666);color:#fff}.sefin-toast--default .sefin-toast__title,.sefin-toast--default .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--default .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--default .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--default .sefin-toast__close:hover{background-color:#ffffff1a}@keyframes toast-enter-top{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-enter-bottom{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-exit-top{0%{opacity:1;transform:translateY(0) scale(1);max-height:200px}to{opacity:0;transform:translateY(-10px) scale(.95);max-height:0;padding-top:0;padding-bottom:0}}@keyframes toast-exit-bottom{0%{opacity:1;transform:translateY(0) scale(1);max-height:200px}to{opacity:0;transform:translateY(10px) scale(.95);max-height:0;padding-top:0;padding-bottom:0}}@keyframes toast-stack-first{to{transform:translateY(0) scale(1);opacity:1}}@keyframes toast-stack-second-right{to{transform:translateY(4px) translate(-4px) scale(.95);opacity:.9}}@keyframes toast-stack-third-right{to{transform:translateY(8px) translate(-8px) scale(.9);opacity:.8}}@keyframes toast-stack-fourth-right{to{transform:translateY(12px) translate(-12px) scale(.85);opacity:.7}}@keyframes toast-stack-second-left{to{transform:translateY(4px) translate(4px) scale(.95);opacity:.9}}@keyframes toast-stack-third-left{to{transform:translateY(8px) translate(8px) scale(.9);opacity:.8}}@keyframes toast-stack-fourth-left{to{transform:translateY(12px) translate(12px) scale(.85);opacity:.7}}@keyframes toast-stack-second-center{to{transform:translateY(4px) scale(.95);opacity:.9}}@keyframes toast-stack-third-center{to{transform:translateY(8px) scale(.9);opacity:.8}}@keyframes toast-stack-fourth-center{to{transform:translateY(12px) scale(.85);opacity:.7}}.sefin-toast-container{position:fixed;z-index:99999;pointer-events:none;display:flex;flex-direction:column;isolation:isolate;gap:var(--sefin-spacing-sm, 8px)}.sefin-toast-container--top-right{top:var(--sefin-spacing-lg, 24px);right:var(--sefin-spacing-lg, 24px);align-items:flex-end}.sefin-toast-container--top-left{top:var(--sefin-spacing-lg, 24px);left:var(--sefin-spacing-lg, 24px);align-items:flex-start}.sefin-toast-container--top-center{top:var(--sefin-spacing-lg, 24px);left:50%;transform:translate(-50%);align-items:center}.sefin-toast-container--bottom-right{bottom:var(--sefin-spacing-lg, 24px);right:var(--sefin-spacing-lg, 24px);align-items:flex-end}.sefin-toast-container--bottom-left{bottom:var(--sefin-spacing-lg, 24px);left:var(--sefin-spacing-lg, 24px);align-items:flex-start}.sefin-toast-container--bottom-center{bottom:var(--sefin-spacing-lg, 24px);left:50%;transform:translate(-50%);align-items:center}.sefin-toast-container .sefin-toast{pointer-events:auto;position:relative;margin-bottom:0;transition:max-height .2s cubic-bezier(.21,1.02,.73,1),padding .2s cubic-bezier(.21,1.02,.73,1),transform .3s cubic-bezier(.21,1.02,.73,1) .4s,opacity .3s cubic-bezier(.21,1.02,.73,1) .4s}.sefin-toast-container--top-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2),.sefin-toast-container--bottom-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2){transform:translateY(4px) translate(-4px) scale(.95);opacity:.9}.sefin-toast-container--top-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3),.sefin-toast-container--bottom-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3){transform:translateY(8px) translate(-8px) scale(.9);opacity:.8}.sefin-toast-container--top-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4),.sefin-toast-container--bottom-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4){transform:translateY(12px) translate(-12px) scale(.85);opacity:.7}.sefin-toast-container--top-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2),.sefin-toast-container--bottom-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2){transform:translateY(4px) translate(4px) scale(.95);opacity:.9}.sefin-toast-container--top-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3),.sefin-toast-container--bottom-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3){transform:translateY(8px) translate(8px) scale(.9);opacity:.8}.sefin-toast-container--top-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4),.sefin-toast-container--bottom-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4){transform:translateY(12px) translate(12px) scale(.85);opacity:.7}.sefin-toast-container--top-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2),.sefin-toast-container--bottom-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2){transform:translateY(4px) scale(.95);opacity:.9}.sefin-toast-container--top-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3),.sefin-toast-container--bottom-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3){transform:translateY(8px) scale(.9);opacity:.8}.sefin-toast-container--top-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4),.sefin-toast-container--bottom-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4){transform:translateY(12px) scale(.85);opacity:.7}.sefin-toast-container .sefin-toast:hover:not(.sefin-toast--exiting){z-index:10!important;transform:translateY(-2px) scale(1)!important;opacity:1!important;box-shadow:var(--sefin-shadow-xl, 0 12px 30px rgba(0, 0, 0, .18))!important;transition:transform .2s cubic-bezier(.21,1.02,.73,1),opacity .2s cubic-bezier(.21,1.02,.73,1),box-shadow .2s cubic-bezier(.21,1.02,.73,1)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "sefin-icon", inputs: ["name", "size", "color", "rotate", "flipH", "flipV", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2478
2478
  }
2479
2479
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ToastComponent, decorators: [{
2480
2480
  type: Component,
2481
- args: [{ selector: 'sefin-toast', standalone: true, imports: [CommonModule, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"isVisible\"\n [class]=\"toastClasses\"\n role=\"alert\"\n [attr.aria-live]=\"variant === 'error' ? 'assertive' : 'polite'\"\n (mouseenter)=\"pauseTimer()\"\n (mouseleave)=\"resumeTimer()\"\n>\n <div class=\"sefin-toast__content\">\n <div *ngIf=\"showIcon\" class=\"sefin-toast__icon\" [attr.aria-hidden]=\"true\">\n <sefin-icon [name]=\"iconName\" size=\"sm\" [color]=\"'#ffffff'\"></sefin-icon>\n </div>\n <div class=\"sefin-toast__body\">\n <div *ngIf=\"title\" class=\"sefin-toast__title\">{{ title }}</div>\n <div *ngIf=\"message\" class=\"sefin-toast__message\">{{ message }}</div>\n <ng-content></ng-content>\n </div>\n <button\n *ngIf=\"dismissible\"\n type=\"button\"\n class=\"sefin-toast__close\"\n (click)=\"onCloseClick($event)\"\n (mousedown)=\"$event.stopPropagation()\"\n aria-label=\"Close toast\"\n >\n <sefin-icon name=\"x\" size=\"sm\"></sefin-icon>\n </button>\n </div>\n</div>\n\n", styles: [".sefin-toast{display:flex;width:400px;box-sizing:border-box;border-radius:var(--sefin-border-radius-md, 8px);border:1px solid transparent;font-family:var(--sefin-font-family-base, sans-serif);box-shadow:var(--sefin-shadow-lg, 0 10px 25px rgba(0, 0, 0, .15));padding:var(--sefin-spacing-md, 12px) var(--sefin-spacing-lg, 16px);margin-bottom:var(--sefin-spacing-xs, 4px);will-change:transform,opacity,max-height;overflow:hidden;max-height:200px;opacity:0}.sefin-toast--top-right,.sefin-toast--top-left,.sefin-toast--top-center{transform:translateY(-20px) scale(.95);animation:toast-enter-top .35s cubic-bezier(.21,1.02,.73,1) forwards}.sefin-toast--top-right.sefin-toast--exiting,.sefin-toast--top-left.sefin-toast--exiting,.sefin-toast--top-center.sefin-toast--exiting{animation:toast-exit-top .2s cubic-bezier(.06,.71,.55,1) forwards}.sefin-toast--bottom-right,.sefin-toast--bottom-left,.sefin-toast--bottom-center{transform:translateY(20px) scale(.95);animation:toast-enter-bottom .35s cubic-bezier(.21,1.02,.73,1) forwards}.sefin-toast--bottom-right.sefin-toast--exiting,.sefin-toast--bottom-left.sefin-toast--exiting,.sefin-toast--bottom-center.sefin-toast--exiting{animation:toast-exit-bottom .2s cubic-bezier(.06,.71,.55,1) forwards}.sefin-toast__content{display:flex;align-items:flex-start;width:100%;gap:var(--sefin-spacing-sm, 8px)}.sefin-toast__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;width:24px;height:24px}.sefin-toast__icon ::ng-deep sefin-icon{display:flex;align-items:center;justify-content:center}.sefin-toast__body{flex:1;min-width:0;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.sefin-toast__title{font-weight:var(--sefin-font-weight-semibold, 600);font-size:var(--sefin-font-size-base, 14px);line-height:var(--sefin-line-height-tight, 1.4);margin:0 0 var(--sefin-spacing-xs, 4px) 0;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.sefin-toast__message{font-size:var(--sefin-font-size-base, 14px);line-height:var(--sefin-line-height-normal, 1.5);margin:0;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.sefin-toast__close{flex-shrink:0;background:none;border:none;padding:4px;margin:0;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;width:28px;height:28px;border-radius:var(--sefin-border-radius-sm, 4px);opacity:.7;transition:opacity .2s ease-in-out,background-color .2s ease-in-out;position:relative;z-index:10;pointer-events:auto}.sefin-toast__close:hover{opacity:1;background-color:#0000000d}.sefin-toast__close:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sefin-toast__close:active{opacity:1}.sefin-toast__close ::ng-deep sefin-icon{display:flex;align-items:center;justify-content:center;pointer-events:none}.sefin-toast--success{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-success, #4caf50);border-left:4px solid var(--sefin-color-success, #4caf50)}.sefin-toast--success .sefin-toast__icon{background-color:var(--sefin-color-success, #4caf50);color:#fff}.sefin-toast--success .sefin-toast__title,.sefin-toast--success .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--success .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--success .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--success .sefin-toast__close:hover{background-color:#ffffff1a}.sefin-toast--warning{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-warning, #ff9800);border-left:4px solid var(--sefin-color-warning, #ff9800)}.sefin-toast--warning .sefin-toast__icon{background-color:var(--sefin-color-warning, #ff9800);color:#fff}.sefin-toast--warning .sefin-toast__title,.sefin-toast--warning .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--warning .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--warning .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--warning .sefin-toast__close:hover{background-color:#ffffff1a}.sefin-toast--error{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-error, #f44336);border-left:4px solid var(--sefin-color-error, #f44336)}.sefin-toast--error .sefin-toast__icon{background-color:var(--sefin-color-error, #f44336);color:#fff}.sefin-toast--error .sefin-toast__title,.sefin-toast--error .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--error .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--error .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--error .sefin-toast__close:hover{background-color:#ffffff1a}.sefin-toast--info{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-primary, #1976d2);border-left:4px solid var(--sefin-color-primary, #1976d2)}.sefin-toast--info .sefin-toast__icon{background-color:var(--sefin-color-primary, #1976d2);color:#fff}.sefin-toast--info .sefin-toast__title{color:var(--sefin-color-text, #1a1a1a);font-weight:var(--sefin-font-weight-semibold, 600)}.sefin-toast--info .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--info .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--info .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--info .sefin-toast__close:hover{background-color:#ffffff1a}.sefin-toast--default{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-border, #e0e0e0);border-left:4px solid var(--sefin-color-border, #e0e0e0)}.sefin-toast--default .sefin-toast__icon{background-color:var(--sefin-color-text-secondary, #666);color:#fff}.sefin-toast--default .sefin-toast__title,.sefin-toast--default .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--default .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--default .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--default .sefin-toast__close:hover{background-color:#ffffff1a}@keyframes toast-enter-top{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-enter-bottom{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-exit-top{0%{opacity:1;transform:translateY(0) scale(1);max-height:200px}to{opacity:0;transform:translateY(-10px) scale(.95);max-height:0;padding-top:0;padding-bottom:0}}@keyframes toast-exit-bottom{0%{opacity:1;transform:translateY(0) scale(1);max-height:200px}to{opacity:0;transform:translateY(10px) scale(.95);max-height:0;padding-top:0;padding-bottom:0}}@keyframes toast-stack-first{to{transform:translateY(0) scale(1);opacity:1}}@keyframes toast-stack-second-right{to{transform:translateY(4px) translate(-4px) scale(.95);opacity:.9}}@keyframes toast-stack-third-right{to{transform:translateY(8px) translate(-8px) scale(.9);opacity:.8}}@keyframes toast-stack-fourth-right{to{transform:translateY(12px) translate(-12px) scale(.85);opacity:.7}}@keyframes toast-stack-second-left{to{transform:translateY(4px) translate(4px) scale(.95);opacity:.9}}@keyframes toast-stack-third-left{to{transform:translateY(8px) translate(8px) scale(.9);opacity:.8}}@keyframes toast-stack-fourth-left{to{transform:translateY(12px) translate(12px) scale(.85);opacity:.7}}@keyframes toast-stack-second-center{to{transform:translateY(4px) scale(.95);opacity:.9}}@keyframes toast-stack-third-center{to{transform:translateY(8px) scale(.9);opacity:.8}}@keyframes toast-stack-fourth-center{to{transform:translateY(12px) scale(.85);opacity:.7}}.sefin-toast-container{position:fixed;z-index:99999;pointer-events:none;display:flex;flex-direction:column;isolation:isolate;gap:var(--sefin-spacing-sm, 8px)}.sefin-toast-container--top-right{top:var(--sefin-spacing-lg, 24px);right:var(--sefin-spacing-lg, 24px);align-items:flex-end}.sefin-toast-container--top-left{top:var(--sefin-spacing-lg, 24px);left:var(--sefin-spacing-lg, 24px);align-items:flex-start}.sefin-toast-container--top-center{top:var(--sefin-spacing-lg, 24px);left:50%;transform:translate(-50%);align-items:center}.sefin-toast-container--bottom-right{bottom:var(--sefin-spacing-lg, 24px);right:var(--sefin-spacing-lg, 24px);align-items:flex-end}.sefin-toast-container--bottom-left{bottom:var(--sefin-spacing-lg, 24px);left:var(--sefin-spacing-lg, 24px);align-items:flex-start}.sefin-toast-container--bottom-center{bottom:var(--sefin-spacing-lg, 24px);left:50%;transform:translate(-50%);align-items:center}.sefin-toast-container .sefin-toast{pointer-events:auto;position:relative;margin-bottom:0;transition:max-height .2s cubic-bezier(.21,1.02,.73,1),padding .2s cubic-bezier(.21,1.02,.73,1),transform .3s cubic-bezier(.21,1.02,.73,1) .4s,opacity .3s cubic-bezier(.21,1.02,.73,1) .4s}.sefin-toast-container--top-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2),.sefin-toast-container--bottom-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2){transform:translateY(4px) translate(-4px) scale(.95);opacity:.9}.sefin-toast-container--top-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3),.sefin-toast-container--bottom-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3){transform:translateY(8px) translate(-8px) scale(.9);opacity:.8}.sefin-toast-container--top-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4),.sefin-toast-container--bottom-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4){transform:translateY(12px) translate(-12px) scale(.85);opacity:.7}.sefin-toast-container--top-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2),.sefin-toast-container--bottom-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2){transform:translateY(4px) translate(4px) scale(.95);opacity:.9}.sefin-toast-container--top-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3),.sefin-toast-container--bottom-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3){transform:translateY(8px) translate(8px) scale(.9);opacity:.8}.sefin-toast-container--top-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4),.sefin-toast-container--bottom-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4){transform:translateY(12px) translate(12px) scale(.85);opacity:.7}.sefin-toast-container--top-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2),.sefin-toast-container--bottom-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2){transform:translateY(4px) scale(.95);opacity:.9}.sefin-toast-container--top-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3),.sefin-toast-container--bottom-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3){transform:translateY(8px) scale(.9);opacity:.8}.sefin-toast-container--top-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4),.sefin-toast-container--bottom-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4){transform:translateY(12px) scale(.85);opacity:.7}.sefin-toast-container .sefin-toast:hover:not(.sefin-toast--exiting){z-index:10!important;transform:translateY(-2px) scale(1)!important;opacity:1!important;box-shadow:var(--sefin-shadow-xl, 0 12px 30px rgba(0, 0, 0, .18))!important;transition:transform .2s cubic-bezier(.21,1.02,.73,1),opacity .2s cubic-bezier(.21,1.02,.73,1),box-shadow .2s cubic-bezier(.21,1.02,.73,1)!important}\n"] }]
2481
+ args: [{ selector: 'sefin-toast', standalone: true, imports: [CommonModule, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"isVisible\"\n [class]=\"toastClasses\"\n role=\"alert\"\n [attr.aria-live]=\"variant === 'error' ? 'assertive' : 'polite'\"\n (mouseenter)=\"pauseTimer()\"\n (mouseleave)=\"resumeTimer()\"\n>\n <div class=\"sefin-toast__content\">\n <div *ngIf=\"showIcon\" class=\"sefin-toast__icon\" [attr.aria-hidden]=\"true\">\n <sefin-icon [name]=\"iconName\" size=\"sm\" [color]=\"'#ffffff'\"></sefin-icon>\n </div>\n <div class=\"sefin-toast__body\">\n <div *ngIf=\"title\" class=\"sefin-toast__title\">{{ title }}</div>\n <div *ngIf=\"message\" class=\"sefin-toast__message\">{{ message }}</div>\n <ng-content></ng-content>\n </div>\n <button\n *ngIf=\"dismissible\"\n type=\"button\"\n class=\"sefin-toast__close\"\n (click)=\"onCloseClick($event)\"\n (mousedown)=\"$event.stopPropagation()\"\n aria-label=\"Close toast\"\n >\n <sefin-icon name=\"x\" size=\"sm\"></sefin-icon>\n </button>\n </div>\n</div>\n\n", styles: [".sefin-toast{display:flex;width:100%;max-width:400px;box-sizing:border-box;border-radius:var(--sefin-border-radius-md, 8px);border:1px solid transparent;font-family:var(--sefin-font-family-base, sans-serif);box-shadow:var(--sefin-shadow-lg, 0 10px 25px rgba(0, 0, 0, .15));padding:var(--sefin-spacing-md, 12px) var(--sefin-spacing-lg, 16px);margin-bottom:var(--sefin-spacing-xs, 4px);will-change:transform,opacity,max-height;overflow:hidden;max-height:200px;opacity:0}.sefin-toast--top-right,.sefin-toast--top-left,.sefin-toast--top-center{transform:translateY(-20px) scale(.95);animation:toast-enter-top .35s cubic-bezier(.21,1.02,.73,1) forwards}.sefin-toast--top-right.sefin-toast--exiting,.sefin-toast--top-left.sefin-toast--exiting,.sefin-toast--top-center.sefin-toast--exiting{animation:toast-exit-top .2s cubic-bezier(.06,.71,.55,1) forwards}.sefin-toast--bottom-right,.sefin-toast--bottom-left,.sefin-toast--bottom-center{transform:translateY(20px) scale(.95);animation:toast-enter-bottom .35s cubic-bezier(.21,1.02,.73,1) forwards}.sefin-toast--bottom-right.sefin-toast--exiting,.sefin-toast--bottom-left.sefin-toast--exiting,.sefin-toast--bottom-center.sefin-toast--exiting{animation:toast-exit-bottom .2s cubic-bezier(.06,.71,.55,1) forwards}.sefin-toast__content{display:flex;align-items:flex-start;width:100%;gap:var(--sefin-spacing-sm, 8px)}.sefin-toast__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;width:24px;height:24px}.sefin-toast__icon ::ng-deep sefin-icon{display:flex;align-items:center;justify-content:center}.sefin-toast__body{flex:1;min-width:0;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.sefin-toast__title{font-weight:var(--sefin-font-weight-semibold, 600);font-size:var(--sefin-font-size-base, 14px);line-height:var(--sefin-line-height-tight, 1.4);margin:0 0 var(--sefin-spacing-xs, 4px) 0;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.sefin-toast__message{font-size:var(--sefin-font-size-base, 14px);line-height:var(--sefin-line-height-normal, 1.5);margin:0;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.sefin-toast__close{flex-shrink:0;background:none;border:none;padding:4px;margin:0;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;width:28px;height:28px;border-radius:var(--sefin-border-radius-sm, 4px);opacity:.7;transition:opacity .2s ease-in-out,background-color .2s ease-in-out;position:relative;z-index:10;pointer-events:auto}.sefin-toast__close:hover{opacity:1;background-color:#0000000d}.sefin-toast__close:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sefin-toast__close:active{opacity:1}.sefin-toast__close ::ng-deep sefin-icon{display:flex;align-items:center;justify-content:center;pointer-events:none}.sefin-toast--success{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-success, #4caf50);border-left:4px solid var(--sefin-color-success, #4caf50)}.sefin-toast--success .sefin-toast__icon{background-color:var(--sefin-color-success, #4caf50);color:#fff}.sefin-toast--success .sefin-toast__title,.sefin-toast--success .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--success .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--success .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--success .sefin-toast__close:hover{background-color:#ffffff1a}.sefin-toast--warning{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-warning, #ff9800);border-left:4px solid var(--sefin-color-warning, #ff9800)}.sefin-toast--warning .sefin-toast__icon{background-color:var(--sefin-color-warning, #ff9800);color:#fff}.sefin-toast--warning .sefin-toast__title,.sefin-toast--warning .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--warning .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--warning .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--warning .sefin-toast__close:hover{background-color:#ffffff1a}.sefin-toast--error{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-error, #f44336);border-left:4px solid var(--sefin-color-error, #f44336)}.sefin-toast--error .sefin-toast__icon{background-color:var(--sefin-color-error, #f44336);color:#fff}.sefin-toast--error .sefin-toast__title,.sefin-toast--error .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--error .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--error .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--error .sefin-toast__close:hover{background-color:#ffffff1a}.sefin-toast--info{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-primary, #1976d2);border-left:4px solid var(--sefin-color-primary, #1976d2)}.sefin-toast--info .sefin-toast__icon{background-color:var(--sefin-color-primary, #1976d2);color:#fff}.sefin-toast--info .sefin-toast__title{color:var(--sefin-color-text, #1a1a1a);font-weight:var(--sefin-font-weight-semibold, 600)}.sefin-toast--info .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--info .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--info .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--info .sefin-toast__close:hover{background-color:#ffffff1a}.sefin-toast--default{background-color:var(--sefin-color-surface, #ffffff);border-color:var(--sefin-color-border, #e0e0e0);border-left:4px solid var(--sefin-color-border, #e0e0e0)}.sefin-toast--default .sefin-toast__icon{background-color:var(--sefin-color-text-secondary, #666);color:#fff}.sefin-toast--default .sefin-toast__title,.sefin-toast--default .sefin-toast__message{color:var(--sefin-color-text, #1a1a1a)}.sefin-toast--default .sefin-toast__close{color:var(--sefin-color-text-secondary, #666)}.sefin-toast--default .sefin-toast__close:hover{background-color:#0000000d}[data-theme=dark] .sefin-toast--default .sefin-toast__close:hover{background-color:#ffffff1a}@keyframes toast-enter-top{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-enter-bottom{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-exit-top{0%{opacity:1;transform:translateY(0) scale(1);max-height:200px}to{opacity:0;transform:translateY(-10px) scale(.95);max-height:0;padding-top:0;padding-bottom:0}}@keyframes toast-exit-bottom{0%{opacity:1;transform:translateY(0) scale(1);max-height:200px}to{opacity:0;transform:translateY(10px) scale(.95);max-height:0;padding-top:0;padding-bottom:0}}@keyframes toast-stack-first{to{transform:translateY(0) scale(1);opacity:1}}@keyframes toast-stack-second-right{to{transform:translateY(4px) translate(-4px) scale(.95);opacity:.9}}@keyframes toast-stack-third-right{to{transform:translateY(8px) translate(-8px) scale(.9);opacity:.8}}@keyframes toast-stack-fourth-right{to{transform:translateY(12px) translate(-12px) scale(.85);opacity:.7}}@keyframes toast-stack-second-left{to{transform:translateY(4px) translate(4px) scale(.95);opacity:.9}}@keyframes toast-stack-third-left{to{transform:translateY(8px) translate(8px) scale(.9);opacity:.8}}@keyframes toast-stack-fourth-left{to{transform:translateY(12px) translate(12px) scale(.85);opacity:.7}}@keyframes toast-stack-second-center{to{transform:translateY(4px) scale(.95);opacity:.9}}@keyframes toast-stack-third-center{to{transform:translateY(8px) scale(.9);opacity:.8}}@keyframes toast-stack-fourth-center{to{transform:translateY(12px) scale(.85);opacity:.7}}.sefin-toast-container{position:fixed;z-index:99999;pointer-events:none;display:flex;flex-direction:column;isolation:isolate;gap:var(--sefin-spacing-sm, 8px)}.sefin-toast-container--top-right{top:var(--sefin-spacing-lg, 24px);right:var(--sefin-spacing-lg, 24px);align-items:flex-end}.sefin-toast-container--top-left{top:var(--sefin-spacing-lg, 24px);left:var(--sefin-spacing-lg, 24px);align-items:flex-start}.sefin-toast-container--top-center{top:var(--sefin-spacing-lg, 24px);left:50%;transform:translate(-50%);align-items:center}.sefin-toast-container--bottom-right{bottom:var(--sefin-spacing-lg, 24px);right:var(--sefin-spacing-lg, 24px);align-items:flex-end}.sefin-toast-container--bottom-left{bottom:var(--sefin-spacing-lg, 24px);left:var(--sefin-spacing-lg, 24px);align-items:flex-start}.sefin-toast-container--bottom-center{bottom:var(--sefin-spacing-lg, 24px);left:50%;transform:translate(-50%);align-items:center}.sefin-toast-container .sefin-toast{pointer-events:auto;position:relative;margin-bottom:0;transition:max-height .2s cubic-bezier(.21,1.02,.73,1),padding .2s cubic-bezier(.21,1.02,.73,1),transform .3s cubic-bezier(.21,1.02,.73,1) .4s,opacity .3s cubic-bezier(.21,1.02,.73,1) .4s}.sefin-toast-container--top-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2),.sefin-toast-container--bottom-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2){transform:translateY(4px) translate(-4px) scale(.95);opacity:.9}.sefin-toast-container--top-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3),.sefin-toast-container--bottom-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3){transform:translateY(8px) translate(-8px) scale(.9);opacity:.8}.sefin-toast-container--top-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4),.sefin-toast-container--bottom-right .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4){transform:translateY(12px) translate(-12px) scale(.85);opacity:.7}.sefin-toast-container--top-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2),.sefin-toast-container--bottom-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2){transform:translateY(4px) translate(4px) scale(.95);opacity:.9}.sefin-toast-container--top-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3),.sefin-toast-container--bottom-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3){transform:translateY(8px) translate(8px) scale(.9);opacity:.8}.sefin-toast-container--top-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4),.sefin-toast-container--bottom-left .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4){transform:translateY(12px) translate(12px) scale(.85);opacity:.7}.sefin-toast-container--top-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2),.sefin-toast-container--bottom-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(2){transform:translateY(4px) scale(.95);opacity:.9}.sefin-toast-container--top-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3),.sefin-toast-container--bottom-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(3){transform:translateY(8px) scale(.9);opacity:.8}.sefin-toast-container--top-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4),.sefin-toast-container--bottom-center .sefin-toast.sefin-toast--visible:not(.sefin-toast--exiting):nth-child(n+4){transform:translateY(12px) scale(.85);opacity:.7}.sefin-toast-container .sefin-toast:hover:not(.sefin-toast--exiting){z-index:10!important;transform:translateY(-2px) scale(1)!important;opacity:1!important;box-shadow:var(--sefin-shadow-xl, 0 12px 30px rgba(0, 0, 0, .18))!important;transition:transform .2s cubic-bezier(.21,1.02,.73,1),opacity .2s cubic-bezier(.21,1.02,.73,1),box-shadow .2s cubic-bezier(.21,1.02,.73,1)!important}\n"] }]
2482
2482
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { variant: [{
2483
2483
  type: Input
2484
2484
  }], position: [{
@@ -2956,11 +2956,11 @@ class ImageComponent {
2956
2956
  return styles;
2957
2957
  }
2958
2958
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2959
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: ImageComponent, isStandalone: true, selector: "sefin-image", inputs: { src: "src", alt: "alt", width: "width", height: "height", fit: "fit", loading: "loading", rounded: "rounded", aspectRatio: "aspectRatio", fallback: "fallback", disabled: "disabled", class: "class", sizes: "sizes", srcset: "srcset" }, usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"!hasError && currentSrc\"\n [class]=\"imageClasses\"\n [ngStyle]=\"imageStyles\"\n>\n <img\n [src]=\"currentSrc\"\n [alt]=\"alt || ''\"\n [loading]=\"loading\"\n [attr.sizes]=\"sizes || null\"\n [attr.srcset]=\"srcset || null\"\n (error)=\"onImageError($event)\"\n (load)=\"onImageLoad()\"\n class=\"sefin-image__img\"\n />\n</div>\n<div\n *ngIf=\"hasError\"\n [class]=\"imageClasses\"\n [ngStyle]=\"imageStyles\"\n class=\"sefin-image__error\"\n>\n <div class=\"sefin-image__error-content\">\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M21 19V5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19ZM8.5 13.5L11 16.51L14.5 12L19 18H5L8.5 13.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n <span *ngIf=\"alt\" class=\"sefin-image__error-text\">{{ alt }}</span>\n </div>\n</div>\n\n", styles: [".sefin-image{position:relative;display:inline-block;overflow:hidden;font-family:var(--sefin-font-family-base)}.sefin-image--fit-cover .sefin-image__img{object-fit:cover}.sefin-image--fit-contain .sefin-image__img{object-fit:contain}.sefin-image--fit-fill .sefin-image__img{object-fit:fill}.sefin-image--fit-none .sefin-image__img{object-fit:none}.sefin-image--fit-scale-down .sefin-image__img{object-fit:scale-down}.sefin-image--rounded-none{border-radius:0}.sefin-image--rounded-sm{border-radius:var(--sefin-radius-sm, 4px)}.sefin-image--rounded-md{border-radius:var(--sefin-radius-md, 8px)}.sefin-image--rounded-lg{border-radius:var(--sefin-radius-lg, 12px)}.sefin-image--rounded-full{border-radius:50%}.sefin-image--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-image--error{background-color:var(--sefin-color-surface, #f5f5f5);border:1px dashed var(--sefin-color-border, #e0e0e0);display:flex;align-items:center;justify-content:center;min-height:100px;color:var(--sefin-color-text-secondary, #666)}.sefin-image__img{display:block;width:100%;height:100%;max-width:100%;max-height:100%}.sefin-image__error-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sefin-spacing-xs, 4px);padding:var(--sefin-spacing-md, 16px);font-family:var(--sefin-font-family-base)}.sefin-image__error-text{font-family:var(--sefin-font-family-base);font-size:var(--sefin-font-size-sm, 12px);color:var(--sefin-color-text-secondary, #666);text-align:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2959
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: ImageComponent, isStandalone: true, selector: "sefin-image", inputs: { src: "src", alt: "alt", width: "width", height: "height", fit: "fit", loading: "loading", rounded: "rounded", aspectRatio: "aspectRatio", fallback: "fallback", disabled: "disabled", class: "class", sizes: "sizes", srcset: "srcset" }, usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"!hasError && currentSrc\"\n [class]=\"imageClasses\"\n [ngStyle]=\"imageStyles\"\n>\n <img\n [src]=\"currentSrc\"\n [alt]=\"alt || ''\"\n [loading]=\"loading\"\n [attr.sizes]=\"sizes || null\"\n [attr.srcset]=\"srcset || null\"\n (error)=\"onImageError($event)\"\n (load)=\"onImageLoad()\"\n class=\"sefin-image__img\"\n />\n</div>\n<div\n *ngIf=\"hasError\"\n [class]=\"imageClasses\"\n [ngStyle]=\"imageStyles\"\n class=\"sefin-image__error\"\n>\n <div class=\"sefin-image__error-content\">\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M21 19V5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19ZM8.5 13.5L11 16.51L14.5 12L19 18H5L8.5 13.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n <span *ngIf=\"alt\" class=\"sefin-image__error-text\">{{ alt }}</span>\n </div>\n</div>\n\n", styles: [".sefin-image{position:relative;display:block;width:100%;overflow:hidden;font-family:var(--sefin-font-family-base);box-sizing:border-box}.sefin-image--fit-cover .sefin-image__img{object-fit:cover}.sefin-image--fit-contain .sefin-image__img{object-fit:contain}.sefin-image--fit-fill .sefin-image__img{object-fit:fill}.sefin-image--fit-none .sefin-image__img{object-fit:none}.sefin-image--fit-scale-down .sefin-image__img{object-fit:scale-down}.sefin-image--rounded-none{border-radius:0}.sefin-image--rounded-sm{border-radius:var(--sefin-radius-sm, 4px)}.sefin-image--rounded-md{border-radius:var(--sefin-radius-md, 8px)}.sefin-image--rounded-lg{border-radius:var(--sefin-radius-lg, 12px)}.sefin-image--rounded-full{border-radius:50%}.sefin-image--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-image--error{background-color:var(--sefin-color-surface, #f5f5f5);border:1px dashed var(--sefin-color-border, #e0e0e0);display:flex;align-items:center;justify-content:center;min-height:100px;color:var(--sefin-color-text-secondary, #666)}.sefin-image__img{display:block;width:100%;height:100%;max-width:100%;max-height:100%}.sefin-image__error-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sefin-spacing-xs, 4px);padding:var(--sefin-spacing-md, 16px);font-family:var(--sefin-font-family-base)}.sefin-image__error-text{font-family:var(--sefin-font-family-base);font-size:var(--sefin-font-size-sm, 12px);color:var(--sefin-color-text-secondary, #666);text-align:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2960
2960
  }
2961
2961
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ImageComponent, decorators: [{
2962
2962
  type: Component,
2963
- args: [{ selector: 'sefin-image', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"!hasError && currentSrc\"\n [class]=\"imageClasses\"\n [ngStyle]=\"imageStyles\"\n>\n <img\n [src]=\"currentSrc\"\n [alt]=\"alt || ''\"\n [loading]=\"loading\"\n [attr.sizes]=\"sizes || null\"\n [attr.srcset]=\"srcset || null\"\n (error)=\"onImageError($event)\"\n (load)=\"onImageLoad()\"\n class=\"sefin-image__img\"\n />\n</div>\n<div\n *ngIf=\"hasError\"\n [class]=\"imageClasses\"\n [ngStyle]=\"imageStyles\"\n class=\"sefin-image__error\"\n>\n <div class=\"sefin-image__error-content\">\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M21 19V5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19ZM8.5 13.5L11 16.51L14.5 12L19 18H5L8.5 13.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n <span *ngIf=\"alt\" class=\"sefin-image__error-text\">{{ alt }}</span>\n </div>\n</div>\n\n", styles: [".sefin-image{position:relative;display:inline-block;overflow:hidden;font-family:var(--sefin-font-family-base)}.sefin-image--fit-cover .sefin-image__img{object-fit:cover}.sefin-image--fit-contain .sefin-image__img{object-fit:contain}.sefin-image--fit-fill .sefin-image__img{object-fit:fill}.sefin-image--fit-none .sefin-image__img{object-fit:none}.sefin-image--fit-scale-down .sefin-image__img{object-fit:scale-down}.sefin-image--rounded-none{border-radius:0}.sefin-image--rounded-sm{border-radius:var(--sefin-radius-sm, 4px)}.sefin-image--rounded-md{border-radius:var(--sefin-radius-md, 8px)}.sefin-image--rounded-lg{border-radius:var(--sefin-radius-lg, 12px)}.sefin-image--rounded-full{border-radius:50%}.sefin-image--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-image--error{background-color:var(--sefin-color-surface, #f5f5f5);border:1px dashed var(--sefin-color-border, #e0e0e0);display:flex;align-items:center;justify-content:center;min-height:100px;color:var(--sefin-color-text-secondary, #666)}.sefin-image__img{display:block;width:100%;height:100%;max-width:100%;max-height:100%}.sefin-image__error-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sefin-spacing-xs, 4px);padding:var(--sefin-spacing-md, 16px);font-family:var(--sefin-font-family-base)}.sefin-image__error-text{font-family:var(--sefin-font-family-base);font-size:var(--sefin-font-size-sm, 12px);color:var(--sefin-color-text-secondary, #666);text-align:center}\n"] }]
2963
+ args: [{ selector: 'sefin-image', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"!hasError && currentSrc\"\n [class]=\"imageClasses\"\n [ngStyle]=\"imageStyles\"\n>\n <img\n [src]=\"currentSrc\"\n [alt]=\"alt || ''\"\n [loading]=\"loading\"\n [attr.sizes]=\"sizes || null\"\n [attr.srcset]=\"srcset || null\"\n (error)=\"onImageError($event)\"\n (load)=\"onImageLoad()\"\n class=\"sefin-image__img\"\n />\n</div>\n<div\n *ngIf=\"hasError\"\n [class]=\"imageClasses\"\n [ngStyle]=\"imageStyles\"\n class=\"sefin-image__error\"\n>\n <div class=\"sefin-image__error-content\">\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M21 19V5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19ZM8.5 13.5L11 16.51L14.5 12L19 18H5L8.5 13.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n <span *ngIf=\"alt\" class=\"sefin-image__error-text\">{{ alt }}</span>\n </div>\n</div>\n\n", styles: [".sefin-image{position:relative;display:block;width:100%;overflow:hidden;font-family:var(--sefin-font-family-base);box-sizing:border-box}.sefin-image--fit-cover .sefin-image__img{object-fit:cover}.sefin-image--fit-contain .sefin-image__img{object-fit:contain}.sefin-image--fit-fill .sefin-image__img{object-fit:fill}.sefin-image--fit-none .sefin-image__img{object-fit:none}.sefin-image--fit-scale-down .sefin-image__img{object-fit:scale-down}.sefin-image--rounded-none{border-radius:0}.sefin-image--rounded-sm{border-radius:var(--sefin-radius-sm, 4px)}.sefin-image--rounded-md{border-radius:var(--sefin-radius-md, 8px)}.sefin-image--rounded-lg{border-radius:var(--sefin-radius-lg, 12px)}.sefin-image--rounded-full{border-radius:50%}.sefin-image--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-image--error{background-color:var(--sefin-color-surface, #f5f5f5);border:1px dashed var(--sefin-color-border, #e0e0e0);display:flex;align-items:center;justify-content:center;min-height:100px;color:var(--sefin-color-text-secondary, #666)}.sefin-image__img{display:block;width:100%;height:100%;max-width:100%;max-height:100%}.sefin-image__error-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sefin-spacing-xs, 4px);padding:var(--sefin-spacing-md, 16px);font-family:var(--sefin-font-family-base)}.sefin-image__error-text{font-family:var(--sefin-font-family-base);font-size:var(--sefin-font-size-sm, 12px);color:var(--sefin-color-text-secondary, #666);text-align:center}\n"] }]
2964
2964
  }], propDecorators: { src: [{
2965
2965
  type: Input
2966
2966
  }], alt: [{
@@ -3019,11 +3019,11 @@ class TabComponent {
3019
3019
  .join(' ');
3020
3020
  }
3021
3021
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: TabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3022
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: TabComponent, isStandalone: true, selector: "sefin-tab", inputs: { variant: "variant", size: "size", disabled: "disabled", active: "active", class: "class" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<button\n type=\"button\"\n [class]=\"tabClasses\"\n (click)=\"onClick($event)\"\n [disabled]=\"disabled\"\n [attr.aria-selected]=\"active\"\n role=\"tab\"\n [attr.tabindex]=\"disabled ? '-1' : '0'\"\n>\n <span class=\"sefin-tab__content\">\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"active && variant === 'underline'\" class=\"sefin-tab__indicator\"></span>\n</button>\n\n", styles: [".sefin-tab{display:inline-flex;align-items:center;justify-content:center;position:relative;gap:var(--sefin-spacing-xs, 4px);font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border:none;background:transparent;cursor:pointer;outline:none;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:all .2s ease-in-out;text-align:center}.sefin-tab:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px;border-radius:var(--sefin-radius-sm)}.sefin-tab--sm{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px);font-size:var(--sefin-font-size-sm, 14px);min-height:32px}.sefin-tab--md{padding:var(--sefin-spacing-md, 16px) var(--sefin-spacing-lg, 24px);font-size:var(--sefin-font-size-base, 16px);min-height:40px}.sefin-tab--lg{padding:var(--sefin-spacing-lg, 24px) var(--sefin-spacing-xl, 32px);font-size:var(--sefin-font-size-lg, 18px);min-height:48px}.sefin-tab--default{color:var(--sefin-color-text-secondary);border-bottom:2px solid transparent}.sefin-tab--default:hover:not(:disabled){color:var(--sefin-color-text);background-color:var(--sefin-color-surface-hover);border-radius:var(--sefin-radius-md) var(--sefin-radius-md) 0 0}.sefin-tab--default.sefin-tab--active{color:var(--sefin-color-primary);border-bottom-color:var(--sefin-color-primary);font-weight:var(--sefin-font-weight-semibold)}.sefin-tab--primary{color:var(--sefin-color-text-secondary);background-color:transparent;border-radius:var(--sefin-radius-md) var(--sefin-radius-md) 0 0}.sefin-tab--primary:hover:not(:disabled){color:var(--sefin-color-primary);background-color:var(--sefin-color-surface-hover)}.sefin-tab--primary.sefin-tab--active{color:var(--sefin-color-primary);background-color:var(--sefin-color-surface);font-weight:var(--sefin-font-weight-semibold);border-bottom:2px solid var(--sefin-color-primary)}.sefin-tab--secondary{color:var(--sefin-color-text-secondary);background-color:var(--sefin-color-surface-hover);border-radius:var(--sefin-radius-md)}.sefin-tab--secondary:hover:not(:disabled){color:var(--sefin-color-text);background-color:var(--sefin-color-border)}.sefin-tab--secondary.sefin-tab--active{color:#fff;background-color:var(--sefin-color-secondary);font-weight:var(--sefin-font-weight-semibold)}.sefin-tab--underline{color:var(--sefin-color-text-secondary);border-bottom:2px solid transparent}.sefin-tab--underline:hover:not(:disabled){color:var(--sefin-color-text)}.sefin-tab--underline.sefin-tab--active{color:var(--sefin-color-primary);font-weight:var(--sefin-font-weight-semibold)}.sefin-tab--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-tab__content{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px);position:relative;z-index:1}.sefin-tab__indicator{position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--sefin-color-primary);border-radius:var(--sefin-radius-sm) var(--sefin-radius-sm) 0 0}.sefin-tab ::ng-deep svg,.sefin-tab ::ng-deep sefin-icon{flex-shrink:0}.sefin-tab--sm ::ng-deep svg{width:14px;height:14px}.sefin-tab--md ::ng-deep svg{width:16px;height:16px}.sefin-tab--lg ::ng-deep svg{width:18px;height:18px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3022
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: TabComponent, isStandalone: true, selector: "sefin-tab", inputs: { variant: "variant", size: "size", disabled: "disabled", active: "active", class: "class" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<button\n type=\"button\"\n [class]=\"tabClasses\"\n (click)=\"onClick($event)\"\n [disabled]=\"disabled\"\n [attr.aria-selected]=\"active\"\n role=\"tab\"\n [attr.tabindex]=\"disabled ? '-1' : '0'\"\n>\n <span class=\"sefin-tab__content\">\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"active && variant === 'underline'\" class=\"sefin-tab__indicator\"></span>\n</button>\n\n", styles: [".sefin-tab{display:flex;align-items:center;justify-content:center;position:relative;gap:var(--sefin-spacing-xs, 4px);width:100%;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border:none;background:transparent;cursor:pointer;outline:none;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:all .2s ease-in-out;text-align:center;box-sizing:border-box}.sefin-tab:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px;border-radius:var(--sefin-radius-sm)}.sefin-tab--sm{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px);font-size:var(--sefin-font-size-sm, 14px);min-height:32px}.sefin-tab--md{padding:var(--sefin-spacing-md, 16px) var(--sefin-spacing-lg, 24px);font-size:var(--sefin-font-size-base, 16px);min-height:40px}.sefin-tab--lg{padding:var(--sefin-spacing-lg, 24px) var(--sefin-spacing-xl, 32px);font-size:var(--sefin-font-size-lg, 18px);min-height:48px}.sefin-tab--default{color:var(--sefin-color-text-secondary);border-bottom:2px solid transparent}.sefin-tab--default:hover:not(:disabled){color:var(--sefin-color-text);background-color:var(--sefin-color-surface-hover);border-radius:var(--sefin-radius-md) var(--sefin-radius-md) 0 0}.sefin-tab--default.sefin-tab--active{color:var(--sefin-color-primary);border-bottom-color:var(--sefin-color-primary);font-weight:var(--sefin-font-weight-semibold)}.sefin-tab--primary{color:var(--sefin-color-text-secondary);background-color:transparent;border-radius:var(--sefin-radius-md) var(--sefin-radius-md) 0 0}.sefin-tab--primary:hover:not(:disabled){color:var(--sefin-color-primary);background-color:var(--sefin-color-surface-hover)}.sefin-tab--primary.sefin-tab--active{color:var(--sefin-color-primary);background-color:var(--sefin-color-surface);font-weight:var(--sefin-font-weight-semibold);border-bottom:2px solid var(--sefin-color-primary)}.sefin-tab--secondary{color:var(--sefin-color-text-secondary);background-color:var(--sefin-color-surface-hover);border-radius:var(--sefin-radius-md)}.sefin-tab--secondary:hover:not(:disabled){color:var(--sefin-color-text);background-color:var(--sefin-color-border)}.sefin-tab--secondary.sefin-tab--active{color:#fff;background-color:var(--sefin-color-secondary);font-weight:var(--sefin-font-weight-semibold)}.sefin-tab--underline{color:var(--sefin-color-text-secondary);border-bottom:2px solid transparent}.sefin-tab--underline:hover:not(:disabled){color:var(--sefin-color-text)}.sefin-tab--underline.sefin-tab--active{color:var(--sefin-color-primary);font-weight:var(--sefin-font-weight-semibold)}.sefin-tab--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-tab__content{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px);position:relative;z-index:1}.sefin-tab__indicator{position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--sefin-color-primary);border-radius:var(--sefin-radius-sm) var(--sefin-radius-sm) 0 0}.sefin-tab ::ng-deep svg,.sefin-tab ::ng-deep sefin-icon{flex-shrink:0}.sefin-tab--sm ::ng-deep svg{width:14px;height:14px}.sefin-tab--md ::ng-deep svg{width:16px;height:16px}.sefin-tab--lg ::ng-deep svg{width:18px;height:18px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3023
3023
  }
3024
3024
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: TabComponent, decorators: [{
3025
3025
  type: Component,
3026
- args: [{ selector: 'sefin-tab', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n type=\"button\"\n [class]=\"tabClasses\"\n (click)=\"onClick($event)\"\n [disabled]=\"disabled\"\n [attr.aria-selected]=\"active\"\n role=\"tab\"\n [attr.tabindex]=\"disabled ? '-1' : '0'\"\n>\n <span class=\"sefin-tab__content\">\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"active && variant === 'underline'\" class=\"sefin-tab__indicator\"></span>\n</button>\n\n", styles: [".sefin-tab{display:inline-flex;align-items:center;justify-content:center;position:relative;gap:var(--sefin-spacing-xs, 4px);font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border:none;background:transparent;cursor:pointer;outline:none;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:all .2s ease-in-out;text-align:center}.sefin-tab:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px;border-radius:var(--sefin-radius-sm)}.sefin-tab--sm{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px);font-size:var(--sefin-font-size-sm, 14px);min-height:32px}.sefin-tab--md{padding:var(--sefin-spacing-md, 16px) var(--sefin-spacing-lg, 24px);font-size:var(--sefin-font-size-base, 16px);min-height:40px}.sefin-tab--lg{padding:var(--sefin-spacing-lg, 24px) var(--sefin-spacing-xl, 32px);font-size:var(--sefin-font-size-lg, 18px);min-height:48px}.sefin-tab--default{color:var(--sefin-color-text-secondary);border-bottom:2px solid transparent}.sefin-tab--default:hover:not(:disabled){color:var(--sefin-color-text);background-color:var(--sefin-color-surface-hover);border-radius:var(--sefin-radius-md) var(--sefin-radius-md) 0 0}.sefin-tab--default.sefin-tab--active{color:var(--sefin-color-primary);border-bottom-color:var(--sefin-color-primary);font-weight:var(--sefin-font-weight-semibold)}.sefin-tab--primary{color:var(--sefin-color-text-secondary);background-color:transparent;border-radius:var(--sefin-radius-md) var(--sefin-radius-md) 0 0}.sefin-tab--primary:hover:not(:disabled){color:var(--sefin-color-primary);background-color:var(--sefin-color-surface-hover)}.sefin-tab--primary.sefin-tab--active{color:var(--sefin-color-primary);background-color:var(--sefin-color-surface);font-weight:var(--sefin-font-weight-semibold);border-bottom:2px solid var(--sefin-color-primary)}.sefin-tab--secondary{color:var(--sefin-color-text-secondary);background-color:var(--sefin-color-surface-hover);border-radius:var(--sefin-radius-md)}.sefin-tab--secondary:hover:not(:disabled){color:var(--sefin-color-text);background-color:var(--sefin-color-border)}.sefin-tab--secondary.sefin-tab--active{color:#fff;background-color:var(--sefin-color-secondary);font-weight:var(--sefin-font-weight-semibold)}.sefin-tab--underline{color:var(--sefin-color-text-secondary);border-bottom:2px solid transparent}.sefin-tab--underline:hover:not(:disabled){color:var(--sefin-color-text)}.sefin-tab--underline.sefin-tab--active{color:var(--sefin-color-primary);font-weight:var(--sefin-font-weight-semibold)}.sefin-tab--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-tab__content{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px);position:relative;z-index:1}.sefin-tab__indicator{position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--sefin-color-primary);border-radius:var(--sefin-radius-sm) var(--sefin-radius-sm) 0 0}.sefin-tab ::ng-deep svg,.sefin-tab ::ng-deep sefin-icon{flex-shrink:0}.sefin-tab--sm ::ng-deep svg{width:14px;height:14px}.sefin-tab--md ::ng-deep svg{width:16px;height:16px}.sefin-tab--lg ::ng-deep svg{width:18px;height:18px}\n"] }]
3026
+ args: [{ selector: 'sefin-tab', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n type=\"button\"\n [class]=\"tabClasses\"\n (click)=\"onClick($event)\"\n [disabled]=\"disabled\"\n [attr.aria-selected]=\"active\"\n role=\"tab\"\n [attr.tabindex]=\"disabled ? '-1' : '0'\"\n>\n <span class=\"sefin-tab__content\">\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"active && variant === 'underline'\" class=\"sefin-tab__indicator\"></span>\n</button>\n\n", styles: [".sefin-tab{display:flex;align-items:center;justify-content:center;position:relative;gap:var(--sefin-spacing-xs, 4px);width:100%;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border:none;background:transparent;cursor:pointer;outline:none;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:all .2s ease-in-out;text-align:center;box-sizing:border-box}.sefin-tab:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px;border-radius:var(--sefin-radius-sm)}.sefin-tab--sm{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px);font-size:var(--sefin-font-size-sm, 14px);min-height:32px}.sefin-tab--md{padding:var(--sefin-spacing-md, 16px) var(--sefin-spacing-lg, 24px);font-size:var(--sefin-font-size-base, 16px);min-height:40px}.sefin-tab--lg{padding:var(--sefin-spacing-lg, 24px) var(--sefin-spacing-xl, 32px);font-size:var(--sefin-font-size-lg, 18px);min-height:48px}.sefin-tab--default{color:var(--sefin-color-text-secondary);border-bottom:2px solid transparent}.sefin-tab--default:hover:not(:disabled){color:var(--sefin-color-text);background-color:var(--sefin-color-surface-hover);border-radius:var(--sefin-radius-md) var(--sefin-radius-md) 0 0}.sefin-tab--default.sefin-tab--active{color:var(--sefin-color-primary);border-bottom-color:var(--sefin-color-primary);font-weight:var(--sefin-font-weight-semibold)}.sefin-tab--primary{color:var(--sefin-color-text-secondary);background-color:transparent;border-radius:var(--sefin-radius-md) var(--sefin-radius-md) 0 0}.sefin-tab--primary:hover:not(:disabled){color:var(--sefin-color-primary);background-color:var(--sefin-color-surface-hover)}.sefin-tab--primary.sefin-tab--active{color:var(--sefin-color-primary);background-color:var(--sefin-color-surface);font-weight:var(--sefin-font-weight-semibold);border-bottom:2px solid var(--sefin-color-primary)}.sefin-tab--secondary{color:var(--sefin-color-text-secondary);background-color:var(--sefin-color-surface-hover);border-radius:var(--sefin-radius-md)}.sefin-tab--secondary:hover:not(:disabled){color:var(--sefin-color-text);background-color:var(--sefin-color-border)}.sefin-tab--secondary.sefin-tab--active{color:#fff;background-color:var(--sefin-color-secondary);font-weight:var(--sefin-font-weight-semibold)}.sefin-tab--underline{color:var(--sefin-color-text-secondary);border-bottom:2px solid transparent}.sefin-tab--underline:hover:not(:disabled){color:var(--sefin-color-text)}.sefin-tab--underline.sefin-tab--active{color:var(--sefin-color-primary);font-weight:var(--sefin-font-weight-semibold)}.sefin-tab--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-tab__content{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px);position:relative;z-index:1}.sefin-tab__indicator{position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--sefin-color-primary);border-radius:var(--sefin-radius-sm) var(--sefin-radius-sm) 0 0}.sefin-tab ::ng-deep svg,.sefin-tab ::ng-deep sefin-icon{flex-shrink:0}.sefin-tab--sm ::ng-deep svg{width:14px;height:14px}.sefin-tab--md ::ng-deep svg{width:16px;height:16px}.sefin-tab--lg ::ng-deep svg{width:18px;height:18px}\n"] }]
3027
3027
  }], propDecorators: { variant: [{
3028
3028
  type: Input
3029
3029
  }], size: [{
@@ -3128,11 +3128,11 @@ class RateComponent {
3128
3128
  }
3129
3129
  }
3130
3130
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: RateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3131
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: RateComponent, isStandalone: true, selector: "sefin-rate", inputs: { value: "value", max: "max", disabled: "disabled", readonly: "readonly", allowHalf: "allowHalf", icon: "icon", size: "size", showText: "showText", class: "class" }, outputs: { valueChange: "valueChange", hoverChange: "hoverChange" }, ngImport: i0, template: "<div [class]=\"rateClasses\">\n <div class=\"sefin-rate__container\">\n <div\n *ngFor=\"let item of items(); let i = index\"\n class=\"sefin-rate__item\"\n (mouseenter)=\"onItemHover(item)\"\n (mouseleave)=\"onItemHover(null)\"\n [class.sefin-rate__item--interactive]=\"isInteractive()\"\n >\n <ng-container [ngSwitch]=\"icon\">\n <!-- Star icon -->\n <div *ngSwitchCase=\"'star'\" class=\"sefin-rate__icon-wrapper\">\n <ng-container *ngIf=\"allowHalf && isInteractive(); else fullStar\">\n <div class=\"sefin-rate__icon-half\" (click)=\"onHalfClick(item, true)\">\n <svg\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--half]=\"getIconState(item) === 'half'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n <div class=\"sefin-rate__icon-half sefin-rate__icon-half--right\" (click)=\"onHalfClick(item, false)\">\n <svg\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--half]=\"getIconState(item) === 'half'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </ng-container>\n <ng-template #fullStar>\n <svg\n class=\"sefin-rate__icon\"\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--half]=\"getIconState(item) === 'half'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n (click)=\"onItemClick(item)\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </ng-template>\n </div>\n\n <!-- Heart icon -->\n <svg\n *ngSwitchCase=\"'heart'\"\n class=\"sefin-rate__icon\"\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n (click)=\"onItemClick(item)\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M20.84 4.61C20.3292 4.099 19.7228 3.69364 19.0554 3.41708C18.3879 3.14052 17.6725 2.99817 16.95 2.99817C16.2275 2.99817 15.5121 3.14052 14.8446 3.41708C14.1772 3.69364 13.5708 4.099 13.06 4.61L12 5.67L10.94 4.61C9.9083 3.57831 8.50903 2.99871 7.05 2.99871C5.59096 2.99871 4.19169 3.57831 3.16 4.61C2.1283 5.64169 1.54871 7.04097 1.54871 8.5C1.54871 9.95903 2.1283 11.3583 3.16 12.39L4.22 13.45L12 21.23L19.78 13.45L20.84 12.39C21.351 11.8792 21.7564 11.2728 22.0329 10.6054C22.3095 9.93789 22.4518 9.22248 22.4518 8.5C22.4518 7.77752 22.3095 7.0621 22.0329 6.39464C21.7564 5.72718 21.351 5.12075 20.84 4.61Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n\n <!-- Thumb icon -->\n <svg\n *ngSwitchCase=\"'thumb'\"\n class=\"sefin-rate__icon\"\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n (click)=\"onItemClick(item)\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7 22V11M2 13V20C2 21.1046 2.89543 22 4 22H16.4262C17.907 22 19.1662 20.9197 19.3914 19.4562L20.4683 12.4562C20.7479 10.6388 19.3411 9 17.5032 9H14C13.4477 9 13 8.55228 13 8V4.46584C13 3.10399 11.896 2 10.5342 2C10.2093 2 9.91498 2.1913 9.78306 2.48812L7.26394 8.57899C7.09882 8.95673 6.74568 9.2 6.35471 9.2H4C2.89543 9.2 2 10.0954 2 11.2V13Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </ng-container>\n </div>\n </div>\n \n <span *ngIf=\"showText\" class=\"sefin-rate__text\">\n {{ value }} / {{ max }}\n </span>\n</div>\n\n", styles: [".sefin-rate{display:inline-flex;align-items:center;gap:var(--sefin-spacing-sm, 8px);font-family:var(--sefin-font-family-base)}.sefin-rate__container{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-rate__item{display:inline-flex;align-items:center;justify-content:center;position:relative;line-height:0}.sefin-rate__item--interactive{cursor:pointer}.sefin-rate__icon-wrapper{display:flex;position:relative;width:100%;height:100%}.sefin-rate__icon-half{position:absolute;width:50%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:flex-start;cursor:pointer}.sefin-rate__icon-half--right{right:0;justify-content:flex-end}.sefin-rate__icon-half svg{width:200%;height:100%}.sefin-rate__icon-half--right svg{transform:translate(-50%)}.sefin-rate__icon{display:block;transition:all .2s ease-in-out;stroke:var(--sefin-color-border);fill:none}.sefin-rate__icon--full{stroke:var(--sefin-color-primary);fill:var(--sefin-color-primary)}.sefin-rate__icon--half{stroke:var(--sefin-color-primary)}.sefin-rate__icon--empty{stroke:var(--sefin-color-border);fill:none}.sefin-rate__item--interactive .sefin-rate__icon{cursor:pointer}.sefin-rate__item--interactive .sefin-rate__icon:hover{stroke:var(--sefin-color-primary);transform:scale(1.1)}.sefin-rate__text{font-size:var(--sefin-font-size-base);color:var(--sefin-color-text-secondary);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal)}.sefin-rate--sm .sefin-rate__icon,.sefin-rate--sm .sefin-rate__icon-wrapper{width:16px;height:16px}.sefin-rate--sm .sefin-rate__text{font-size:var(--sefin-font-size-sm, 14px)}.sefin-rate--md .sefin-rate__icon,.sefin-rate--md .sefin-rate__icon-wrapper{width:20px;height:20px}.sefin-rate--md .sefin-rate__text{font-size:var(--sefin-font-size-base, 16px)}.sefin-rate--lg .sefin-rate__icon,.sefin-rate--lg .sefin-rate__icon-wrapper{width:24px;height:24px}.sefin-rate--lg .sefin-rate__text{font-size:var(--sefin-font-size-lg, 18px)}.sefin-rate--star .sefin-rate__icon--full{color:var(--sefin-color-warning);stroke:var(--sefin-color-warning);fill:var(--sefin-color-warning)}.sefin-rate--star .sefin-rate__icon--half,.sefin-rate--star .sefin-rate__item--interactive .sefin-rate__icon:hover{color:var(--sefin-color-warning);stroke:var(--sefin-color-warning)}.sefin-rate--heart .sefin-rate__icon--full{color:var(--sefin-color-error);stroke:var(--sefin-color-error);fill:var(--sefin-color-error)}.sefin-rate--heart .sefin-rate__icon--half,.sefin-rate--heart .sefin-rate__item--interactive .sefin-rate__icon:hover{color:var(--sefin-color-error);stroke:var(--sefin-color-error)}.sefin-rate--thumb .sefin-rate__icon--full{color:var(--sefin-color-success);stroke:var(--sefin-color-success);fill:var(--sefin-color-success)}.sefin-rate--thumb .sefin-rate__icon--half,.sefin-rate--thumb .sefin-rate__item--interactive .sefin-rate__icon:hover{color:var(--sefin-color-success);stroke:var(--sefin-color-success)}.sefin-rate--disabled .sefin-rate__item,.sefin-rate--readonly .sefin-rate__item{cursor:default;pointer-events:none}.sefin-rate--disabled .sefin-rate__icon,.sefin-rate--readonly .sefin-rate__icon{opacity:.6}.sefin-rate .sefin-rate__icon-half .sefin-rate__icon--half{fill:var(--sefin-color-primary)}.sefin-rate--star .sefin-rate__icon-half .sefin-rate__icon--half{fill:var(--sefin-color-warning)}.sefin-rate--heart .sefin-rate__icon-half .sefin-rate__icon--half{fill:var(--sefin-color-error)}.sefin-rate--thumb .sefin-rate__icon-half .sefin-rate__icon--half{fill:var(--sefin-color-success)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3131
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: RateComponent, isStandalone: true, selector: "sefin-rate", inputs: { value: "value", max: "max", disabled: "disabled", readonly: "readonly", allowHalf: "allowHalf", icon: "icon", size: "size", showText: "showText", class: "class" }, outputs: { valueChange: "valueChange", hoverChange: "hoverChange" }, ngImport: i0, template: "<div [class]=\"rateClasses\">\n <div class=\"sefin-rate__container\">\n <div\n *ngFor=\"let item of items(); let i = index\"\n class=\"sefin-rate__item\"\n (mouseenter)=\"onItemHover(item)\"\n (mouseleave)=\"onItemHover(null)\"\n [class.sefin-rate__item--interactive]=\"isInteractive()\"\n >\n <ng-container [ngSwitch]=\"icon\">\n <!-- Star icon -->\n <div *ngSwitchCase=\"'star'\" class=\"sefin-rate__icon-wrapper\">\n <ng-container *ngIf=\"allowHalf && isInteractive(); else fullStar\">\n <div class=\"sefin-rate__icon-half\" (click)=\"onHalfClick(item, true)\">\n <svg\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--half]=\"getIconState(item) === 'half'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n <div class=\"sefin-rate__icon-half sefin-rate__icon-half--right\" (click)=\"onHalfClick(item, false)\">\n <svg\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--half]=\"getIconState(item) === 'half'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </ng-container>\n <ng-template #fullStar>\n <svg\n class=\"sefin-rate__icon\"\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--half]=\"getIconState(item) === 'half'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n (click)=\"onItemClick(item)\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </ng-template>\n </div>\n\n <!-- Heart icon -->\n <svg\n *ngSwitchCase=\"'heart'\"\n class=\"sefin-rate__icon\"\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n (click)=\"onItemClick(item)\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M20.84 4.61C20.3292 4.099 19.7228 3.69364 19.0554 3.41708C18.3879 3.14052 17.6725 2.99817 16.95 2.99817C16.2275 2.99817 15.5121 3.14052 14.8446 3.41708C14.1772 3.69364 13.5708 4.099 13.06 4.61L12 5.67L10.94 4.61C9.9083 3.57831 8.50903 2.99871 7.05 2.99871C5.59096 2.99871 4.19169 3.57831 3.16 4.61C2.1283 5.64169 1.54871 7.04097 1.54871 8.5C1.54871 9.95903 2.1283 11.3583 3.16 12.39L4.22 13.45L12 21.23L19.78 13.45L20.84 12.39C21.351 11.8792 21.7564 11.2728 22.0329 10.6054C22.3095 9.93789 22.4518 9.22248 22.4518 8.5C22.4518 7.77752 22.3095 7.0621 22.0329 6.39464C21.7564 5.72718 21.351 5.12075 20.84 4.61Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n\n <!-- Thumb icon -->\n <svg\n *ngSwitchCase=\"'thumb'\"\n class=\"sefin-rate__icon\"\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n (click)=\"onItemClick(item)\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7 22V11M2 13V20C2 21.1046 2.89543 22 4 22H16.4262C17.907 22 19.1662 20.9197 19.3914 19.4562L20.4683 12.4562C20.7479 10.6388 19.3411 9 17.5032 9H14C13.4477 9 13 8.55228 13 8V4.46584C13 3.10399 11.896 2 10.5342 2C10.2093 2 9.91498 2.1913 9.78306 2.48812L7.26394 8.57899C7.09882 8.95673 6.74568 9.2 6.35471 9.2H4C2.89543 9.2 2 10.0954 2 11.2V13Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </ng-container>\n </div>\n </div>\n \n <span *ngIf=\"showText\" class=\"sefin-rate__text\">\n {{ value }} / {{ max }}\n </span>\n</div>\n\n", styles: [".sefin-rate{display:flex;align-items:center;gap:var(--sefin-spacing-sm, 8px);width:100%;font-family:var(--sefin-font-family-base);box-sizing:border-box}.sefin-rate__container{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-rate__item{display:inline-flex;align-items:center;justify-content:center;position:relative;line-height:0}.sefin-rate__item--interactive{cursor:pointer}.sefin-rate__icon-wrapper{display:flex;position:relative;width:100%;height:100%}.sefin-rate__icon-half{position:absolute;width:50%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:flex-start;cursor:pointer}.sefin-rate__icon-half--right{right:0;justify-content:flex-end}.sefin-rate__icon-half svg{width:200%;height:100%}.sefin-rate__icon-half--right svg{transform:translate(-50%)}.sefin-rate__icon{display:block;transition:all .2s ease-in-out;stroke:var(--sefin-color-border);fill:none}.sefin-rate__icon--full{stroke:var(--sefin-color-primary);fill:var(--sefin-color-primary)}.sefin-rate__icon--half{stroke:var(--sefin-color-primary)}.sefin-rate__icon--empty{stroke:var(--sefin-color-border);fill:none}.sefin-rate__item--interactive .sefin-rate__icon{cursor:pointer}.sefin-rate__item--interactive .sefin-rate__icon:hover{stroke:var(--sefin-color-primary);transform:scale(1.1)}.sefin-rate__text{font-size:var(--sefin-font-size-base);color:var(--sefin-color-text-secondary);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal)}.sefin-rate--sm .sefin-rate__icon,.sefin-rate--sm .sefin-rate__icon-wrapper{width:16px;height:16px}.sefin-rate--sm .sefin-rate__text{font-size:var(--sefin-font-size-sm, 14px)}.sefin-rate--md .sefin-rate__icon,.sefin-rate--md .sefin-rate__icon-wrapper{width:20px;height:20px}.sefin-rate--md .sefin-rate__text{font-size:var(--sefin-font-size-base, 16px)}.sefin-rate--lg .sefin-rate__icon,.sefin-rate--lg .sefin-rate__icon-wrapper{width:24px;height:24px}.sefin-rate--lg .sefin-rate__text{font-size:var(--sefin-font-size-lg, 18px)}.sefin-rate--star .sefin-rate__icon--full{color:var(--sefin-color-warning);stroke:var(--sefin-color-warning);fill:var(--sefin-color-warning)}.sefin-rate--star .sefin-rate__icon--half,.sefin-rate--star .sefin-rate__item--interactive .sefin-rate__icon:hover{color:var(--sefin-color-warning);stroke:var(--sefin-color-warning)}.sefin-rate--heart .sefin-rate__icon--full{color:var(--sefin-color-error);stroke:var(--sefin-color-error);fill:var(--sefin-color-error)}.sefin-rate--heart .sefin-rate__icon--half,.sefin-rate--heart .sefin-rate__item--interactive .sefin-rate__icon:hover{color:var(--sefin-color-error);stroke:var(--sefin-color-error)}.sefin-rate--thumb .sefin-rate__icon--full{color:var(--sefin-color-success);stroke:var(--sefin-color-success);fill:var(--sefin-color-success)}.sefin-rate--thumb .sefin-rate__icon--half,.sefin-rate--thumb .sefin-rate__item--interactive .sefin-rate__icon:hover{color:var(--sefin-color-success);stroke:var(--sefin-color-success)}.sefin-rate--disabled .sefin-rate__item,.sefin-rate--readonly .sefin-rate__item{cursor:default;pointer-events:none}.sefin-rate--disabled .sefin-rate__icon,.sefin-rate--readonly .sefin-rate__icon{opacity:.6}.sefin-rate .sefin-rate__icon-half .sefin-rate__icon--half{fill:var(--sefin-color-primary)}.sefin-rate--star .sefin-rate__icon-half .sefin-rate__icon--half{fill:var(--sefin-color-warning)}.sefin-rate--heart .sefin-rate__icon-half .sefin-rate__icon--half{fill:var(--sefin-color-error)}.sefin-rate--thumb .sefin-rate__icon-half .sefin-rate__icon--half{fill:var(--sefin-color-success)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3132
3132
  }
3133
3133
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: RateComponent, decorators: [{
3134
3134
  type: Component,
3135
- args: [{ selector: 'sefin-rate', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"rateClasses\">\n <div class=\"sefin-rate__container\">\n <div\n *ngFor=\"let item of items(); let i = index\"\n class=\"sefin-rate__item\"\n (mouseenter)=\"onItemHover(item)\"\n (mouseleave)=\"onItemHover(null)\"\n [class.sefin-rate__item--interactive]=\"isInteractive()\"\n >\n <ng-container [ngSwitch]=\"icon\">\n <!-- Star icon -->\n <div *ngSwitchCase=\"'star'\" class=\"sefin-rate__icon-wrapper\">\n <ng-container *ngIf=\"allowHalf && isInteractive(); else fullStar\">\n <div class=\"sefin-rate__icon-half\" (click)=\"onHalfClick(item, true)\">\n <svg\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--half]=\"getIconState(item) === 'half'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n <div class=\"sefin-rate__icon-half sefin-rate__icon-half--right\" (click)=\"onHalfClick(item, false)\">\n <svg\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--half]=\"getIconState(item) === 'half'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </ng-container>\n <ng-template #fullStar>\n <svg\n class=\"sefin-rate__icon\"\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--half]=\"getIconState(item) === 'half'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n (click)=\"onItemClick(item)\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </ng-template>\n </div>\n\n <!-- Heart icon -->\n <svg\n *ngSwitchCase=\"'heart'\"\n class=\"sefin-rate__icon\"\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n (click)=\"onItemClick(item)\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M20.84 4.61C20.3292 4.099 19.7228 3.69364 19.0554 3.41708C18.3879 3.14052 17.6725 2.99817 16.95 2.99817C16.2275 2.99817 15.5121 3.14052 14.8446 3.41708C14.1772 3.69364 13.5708 4.099 13.06 4.61L12 5.67L10.94 4.61C9.9083 3.57831 8.50903 2.99871 7.05 2.99871C5.59096 2.99871 4.19169 3.57831 3.16 4.61C2.1283 5.64169 1.54871 7.04097 1.54871 8.5C1.54871 9.95903 2.1283 11.3583 3.16 12.39L4.22 13.45L12 21.23L19.78 13.45L20.84 12.39C21.351 11.8792 21.7564 11.2728 22.0329 10.6054C22.3095 9.93789 22.4518 9.22248 22.4518 8.5C22.4518 7.77752 22.3095 7.0621 22.0329 6.39464C21.7564 5.72718 21.351 5.12075 20.84 4.61Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n\n <!-- Thumb icon -->\n <svg\n *ngSwitchCase=\"'thumb'\"\n class=\"sefin-rate__icon\"\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n (click)=\"onItemClick(item)\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7 22V11M2 13V20C2 21.1046 2.89543 22 4 22H16.4262C17.907 22 19.1662 20.9197 19.3914 19.4562L20.4683 12.4562C20.7479 10.6388 19.3411 9 17.5032 9H14C13.4477 9 13 8.55228 13 8V4.46584C13 3.10399 11.896 2 10.5342 2C10.2093 2 9.91498 2.1913 9.78306 2.48812L7.26394 8.57899C7.09882 8.95673 6.74568 9.2 6.35471 9.2H4C2.89543 9.2 2 10.0954 2 11.2V13Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </ng-container>\n </div>\n </div>\n \n <span *ngIf=\"showText\" class=\"sefin-rate__text\">\n {{ value }} / {{ max }}\n </span>\n</div>\n\n", styles: [".sefin-rate{display:inline-flex;align-items:center;gap:var(--sefin-spacing-sm, 8px);font-family:var(--sefin-font-family-base)}.sefin-rate__container{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-rate__item{display:inline-flex;align-items:center;justify-content:center;position:relative;line-height:0}.sefin-rate__item--interactive{cursor:pointer}.sefin-rate__icon-wrapper{display:flex;position:relative;width:100%;height:100%}.sefin-rate__icon-half{position:absolute;width:50%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:flex-start;cursor:pointer}.sefin-rate__icon-half--right{right:0;justify-content:flex-end}.sefin-rate__icon-half svg{width:200%;height:100%}.sefin-rate__icon-half--right svg{transform:translate(-50%)}.sefin-rate__icon{display:block;transition:all .2s ease-in-out;stroke:var(--sefin-color-border);fill:none}.sefin-rate__icon--full{stroke:var(--sefin-color-primary);fill:var(--sefin-color-primary)}.sefin-rate__icon--half{stroke:var(--sefin-color-primary)}.sefin-rate__icon--empty{stroke:var(--sefin-color-border);fill:none}.sefin-rate__item--interactive .sefin-rate__icon{cursor:pointer}.sefin-rate__item--interactive .sefin-rate__icon:hover{stroke:var(--sefin-color-primary);transform:scale(1.1)}.sefin-rate__text{font-size:var(--sefin-font-size-base);color:var(--sefin-color-text-secondary);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal)}.sefin-rate--sm .sefin-rate__icon,.sefin-rate--sm .sefin-rate__icon-wrapper{width:16px;height:16px}.sefin-rate--sm .sefin-rate__text{font-size:var(--sefin-font-size-sm, 14px)}.sefin-rate--md .sefin-rate__icon,.sefin-rate--md .sefin-rate__icon-wrapper{width:20px;height:20px}.sefin-rate--md .sefin-rate__text{font-size:var(--sefin-font-size-base, 16px)}.sefin-rate--lg .sefin-rate__icon,.sefin-rate--lg .sefin-rate__icon-wrapper{width:24px;height:24px}.sefin-rate--lg .sefin-rate__text{font-size:var(--sefin-font-size-lg, 18px)}.sefin-rate--star .sefin-rate__icon--full{color:var(--sefin-color-warning);stroke:var(--sefin-color-warning);fill:var(--sefin-color-warning)}.sefin-rate--star .sefin-rate__icon--half,.sefin-rate--star .sefin-rate__item--interactive .sefin-rate__icon:hover{color:var(--sefin-color-warning);stroke:var(--sefin-color-warning)}.sefin-rate--heart .sefin-rate__icon--full{color:var(--sefin-color-error);stroke:var(--sefin-color-error);fill:var(--sefin-color-error)}.sefin-rate--heart .sefin-rate__icon--half,.sefin-rate--heart .sefin-rate__item--interactive .sefin-rate__icon:hover{color:var(--sefin-color-error);stroke:var(--sefin-color-error)}.sefin-rate--thumb .sefin-rate__icon--full{color:var(--sefin-color-success);stroke:var(--sefin-color-success);fill:var(--sefin-color-success)}.sefin-rate--thumb .sefin-rate__icon--half,.sefin-rate--thumb .sefin-rate__item--interactive .sefin-rate__icon:hover{color:var(--sefin-color-success);stroke:var(--sefin-color-success)}.sefin-rate--disabled .sefin-rate__item,.sefin-rate--readonly .sefin-rate__item{cursor:default;pointer-events:none}.sefin-rate--disabled .sefin-rate__icon,.sefin-rate--readonly .sefin-rate__icon{opacity:.6}.sefin-rate .sefin-rate__icon-half .sefin-rate__icon--half{fill:var(--sefin-color-primary)}.sefin-rate--star .sefin-rate__icon-half .sefin-rate__icon--half{fill:var(--sefin-color-warning)}.sefin-rate--heart .sefin-rate__icon-half .sefin-rate__icon--half{fill:var(--sefin-color-error)}.sefin-rate--thumb .sefin-rate__icon-half .sefin-rate__icon--half{fill:var(--sefin-color-success)}\n"] }]
3135
+ args: [{ selector: 'sefin-rate', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"rateClasses\">\n <div class=\"sefin-rate__container\">\n <div\n *ngFor=\"let item of items(); let i = index\"\n class=\"sefin-rate__item\"\n (mouseenter)=\"onItemHover(item)\"\n (mouseleave)=\"onItemHover(null)\"\n [class.sefin-rate__item--interactive]=\"isInteractive()\"\n >\n <ng-container [ngSwitch]=\"icon\">\n <!-- Star icon -->\n <div *ngSwitchCase=\"'star'\" class=\"sefin-rate__icon-wrapper\">\n <ng-container *ngIf=\"allowHalf && isInteractive(); else fullStar\">\n <div class=\"sefin-rate__icon-half\" (click)=\"onHalfClick(item, true)\">\n <svg\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--half]=\"getIconState(item) === 'half'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n <div class=\"sefin-rate__icon-half sefin-rate__icon-half--right\" (click)=\"onHalfClick(item, false)\">\n <svg\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--half]=\"getIconState(item) === 'half'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </ng-container>\n <ng-template #fullStar>\n <svg\n class=\"sefin-rate__icon\"\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--half]=\"getIconState(item) === 'half'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n (click)=\"onItemClick(item)\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </ng-template>\n </div>\n\n <!-- Heart icon -->\n <svg\n *ngSwitchCase=\"'heart'\"\n class=\"sefin-rate__icon\"\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n (click)=\"onItemClick(item)\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M20.84 4.61C20.3292 4.099 19.7228 3.69364 19.0554 3.41708C18.3879 3.14052 17.6725 2.99817 16.95 2.99817C16.2275 2.99817 15.5121 3.14052 14.8446 3.41708C14.1772 3.69364 13.5708 4.099 13.06 4.61L12 5.67L10.94 4.61C9.9083 3.57831 8.50903 2.99871 7.05 2.99871C5.59096 2.99871 4.19169 3.57831 3.16 4.61C2.1283 5.64169 1.54871 7.04097 1.54871 8.5C1.54871 9.95903 2.1283 11.3583 3.16 12.39L4.22 13.45L12 21.23L19.78 13.45L20.84 12.39C21.351 11.8792 21.7564 11.2728 22.0329 10.6054C22.3095 9.93789 22.4518 9.22248 22.4518 8.5C22.4518 7.77752 22.3095 7.0621 22.0329 6.39464C21.7564 5.72718 21.351 5.12075 20.84 4.61Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n\n <!-- Thumb icon -->\n <svg\n *ngSwitchCase=\"'thumb'\"\n class=\"sefin-rate__icon\"\n [class.sefin-rate__icon--full]=\"getIconState(item) === 'full'\"\n [class.sefin-rate__icon--empty]=\"getIconState(item) === 'empty'\"\n (click)=\"onItemClick(item)\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7 22V11M2 13V20C2 21.1046 2.89543 22 4 22H16.4262C17.907 22 19.1662 20.9197 19.3914 19.4562L20.4683 12.4562C20.7479 10.6388 19.3411 9 17.5032 9H14C13.4477 9 13 8.55228 13 8V4.46584C13 3.10399 11.896 2 10.5342 2C10.2093 2 9.91498 2.1913 9.78306 2.48812L7.26394 8.57899C7.09882 8.95673 6.74568 9.2 6.35471 9.2H4C2.89543 9.2 2 10.0954 2 11.2V13Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </ng-container>\n </div>\n </div>\n \n <span *ngIf=\"showText\" class=\"sefin-rate__text\">\n {{ value }} / {{ max }}\n </span>\n</div>\n\n", styles: [".sefin-rate{display:flex;align-items:center;gap:var(--sefin-spacing-sm, 8px);width:100%;font-family:var(--sefin-font-family-base);box-sizing:border-box}.sefin-rate__container{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-rate__item{display:inline-flex;align-items:center;justify-content:center;position:relative;line-height:0}.sefin-rate__item--interactive{cursor:pointer}.sefin-rate__icon-wrapper{display:flex;position:relative;width:100%;height:100%}.sefin-rate__icon-half{position:absolute;width:50%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:flex-start;cursor:pointer}.sefin-rate__icon-half--right{right:0;justify-content:flex-end}.sefin-rate__icon-half svg{width:200%;height:100%}.sefin-rate__icon-half--right svg{transform:translate(-50%)}.sefin-rate__icon{display:block;transition:all .2s ease-in-out;stroke:var(--sefin-color-border);fill:none}.sefin-rate__icon--full{stroke:var(--sefin-color-primary);fill:var(--sefin-color-primary)}.sefin-rate__icon--half{stroke:var(--sefin-color-primary)}.sefin-rate__icon--empty{stroke:var(--sefin-color-border);fill:none}.sefin-rate__item--interactive .sefin-rate__icon{cursor:pointer}.sefin-rate__item--interactive .sefin-rate__icon:hover{stroke:var(--sefin-color-primary);transform:scale(1.1)}.sefin-rate__text{font-size:var(--sefin-font-size-base);color:var(--sefin-color-text-secondary);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal)}.sefin-rate--sm .sefin-rate__icon,.sefin-rate--sm .sefin-rate__icon-wrapper{width:16px;height:16px}.sefin-rate--sm .sefin-rate__text{font-size:var(--sefin-font-size-sm, 14px)}.sefin-rate--md .sefin-rate__icon,.sefin-rate--md .sefin-rate__icon-wrapper{width:20px;height:20px}.sefin-rate--md .sefin-rate__text{font-size:var(--sefin-font-size-base, 16px)}.sefin-rate--lg .sefin-rate__icon,.sefin-rate--lg .sefin-rate__icon-wrapper{width:24px;height:24px}.sefin-rate--lg .sefin-rate__text{font-size:var(--sefin-font-size-lg, 18px)}.sefin-rate--star .sefin-rate__icon--full{color:var(--sefin-color-warning);stroke:var(--sefin-color-warning);fill:var(--sefin-color-warning)}.sefin-rate--star .sefin-rate__icon--half,.sefin-rate--star .sefin-rate__item--interactive .sefin-rate__icon:hover{color:var(--sefin-color-warning);stroke:var(--sefin-color-warning)}.sefin-rate--heart .sefin-rate__icon--full{color:var(--sefin-color-error);stroke:var(--sefin-color-error);fill:var(--sefin-color-error)}.sefin-rate--heart .sefin-rate__icon--half,.sefin-rate--heart .sefin-rate__item--interactive .sefin-rate__icon:hover{color:var(--sefin-color-error);stroke:var(--sefin-color-error)}.sefin-rate--thumb .sefin-rate__icon--full{color:var(--sefin-color-success);stroke:var(--sefin-color-success);fill:var(--sefin-color-success)}.sefin-rate--thumb .sefin-rate__icon--half,.sefin-rate--thumb .sefin-rate__item--interactive .sefin-rate__icon:hover{color:var(--sefin-color-success);stroke:var(--sefin-color-success)}.sefin-rate--disabled .sefin-rate__item,.sefin-rate--readonly .sefin-rate__item{cursor:default;pointer-events:none}.sefin-rate--disabled .sefin-rate__icon,.sefin-rate--readonly .sefin-rate__icon{opacity:.6}.sefin-rate .sefin-rate__icon-half .sefin-rate__icon--half{fill:var(--sefin-color-primary)}.sefin-rate--star .sefin-rate__icon-half .sefin-rate__icon--half{fill:var(--sefin-color-warning)}.sefin-rate--heart .sefin-rate__icon-half .sefin-rate__icon--half{fill:var(--sefin-color-error)}.sefin-rate--thumb .sefin-rate__icon-half .sefin-rate__icon--half{fill:var(--sefin-color-success)}\n"] }]
3136
3136
  }], propDecorators: { value: [{
3137
3137
  type: Input
3138
3138
  }], max: [{
@@ -3175,11 +3175,11 @@ class SpacerComponent {
3175
3175
  .join(' ');
3176
3176
  }
3177
3177
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SpacerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3178
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: SpacerComponent, isStandalone: true, selector: "sefin-spacer", inputs: { size: "size", orientation: "orientation", class: "class" }, ngImport: i0, template: "<div [class]=\"spacerClasses\" aria-hidden=\"true\"></div>\n\n", styles: [".sefin-spacer{flex-shrink:0}.sefin-spacer--vertical{display:block;width:100%;height:0}.sefin-spacer--horizontal{display:inline-block;width:0;height:100%;vertical-align:middle}.sefin-spacer--xs.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-xs)}.sefin-spacer--xs.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-xs)}.sefin-spacer--sm.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-sm)}.sefin-spacer--sm.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-sm)}.sefin-spacer--md.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-md)}.sefin-spacer--md.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-md)}.sefin-spacer--lg.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-lg)}.sefin-spacer--lg.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-lg)}.sefin-spacer--xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-xl)}.sefin-spacer--xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-xl)}.sefin-spacer--2xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-2xl)}.sefin-spacer--2xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-2xl)}.sefin-spacer--3xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-3xl)}.sefin-spacer--3xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-3xl)}.sefin-spacer--4xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-4xl)}.sefin-spacer--4xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-4xl)}.sefin-spacer--5xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-5xl)}.sefin-spacer--5xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-5xl)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3178
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: SpacerComponent, isStandalone: true, selector: "sefin-spacer", inputs: { size: "size", orientation: "orientation", class: "class" }, ngImport: i0, template: "<div [class]=\"spacerClasses\" aria-hidden=\"true\"></div>\n\n", styles: [".sefin-spacer{display:block;width:100%;flex-shrink:0;box-sizing:border-box}.sefin-spacer--vertical{display:block;width:100%;height:0}.sefin-spacer--horizontal{display:inline-block;width:0;height:100%;vertical-align:middle}.sefin-spacer--xs.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-xs)}.sefin-spacer--xs.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-xs)}.sefin-spacer--sm.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-sm)}.sefin-spacer--sm.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-sm)}.sefin-spacer--md.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-md)}.sefin-spacer--md.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-md)}.sefin-spacer--lg.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-lg)}.sefin-spacer--lg.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-lg)}.sefin-spacer--xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-xl)}.sefin-spacer--xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-xl)}.sefin-spacer--2xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-2xl)}.sefin-spacer--2xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-2xl)}.sefin-spacer--3xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-3xl)}.sefin-spacer--3xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-3xl)}.sefin-spacer--4xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-4xl)}.sefin-spacer--4xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-4xl)}.sefin-spacer--5xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-5xl)}.sefin-spacer--5xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-5xl)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3179
3179
  }
3180
3180
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SpacerComponent, decorators: [{
3181
3181
  type: Component,
3182
- args: [{ selector: 'sefin-spacer', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"spacerClasses\" aria-hidden=\"true\"></div>\n\n", styles: [".sefin-spacer{flex-shrink:0}.sefin-spacer--vertical{display:block;width:100%;height:0}.sefin-spacer--horizontal{display:inline-block;width:0;height:100%;vertical-align:middle}.sefin-spacer--xs.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-xs)}.sefin-spacer--xs.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-xs)}.sefin-spacer--sm.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-sm)}.sefin-spacer--sm.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-sm)}.sefin-spacer--md.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-md)}.sefin-spacer--md.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-md)}.sefin-spacer--lg.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-lg)}.sefin-spacer--lg.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-lg)}.sefin-spacer--xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-xl)}.sefin-spacer--xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-xl)}.sefin-spacer--2xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-2xl)}.sefin-spacer--2xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-2xl)}.sefin-spacer--3xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-3xl)}.sefin-spacer--3xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-3xl)}.sefin-spacer--4xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-4xl)}.sefin-spacer--4xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-4xl)}.sefin-spacer--5xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-5xl)}.sefin-spacer--5xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-5xl)}\n"] }]
3182
+ args: [{ selector: 'sefin-spacer', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"spacerClasses\" aria-hidden=\"true\"></div>\n\n", styles: [".sefin-spacer{display:block;width:100%;flex-shrink:0;box-sizing:border-box}.sefin-spacer--vertical{display:block;width:100%;height:0}.sefin-spacer--horizontal{display:inline-block;width:0;height:100%;vertical-align:middle}.sefin-spacer--xs.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-xs)}.sefin-spacer--xs.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-xs)}.sefin-spacer--sm.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-sm)}.sefin-spacer--sm.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-sm)}.sefin-spacer--md.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-md)}.sefin-spacer--md.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-md)}.sefin-spacer--lg.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-lg)}.sefin-spacer--lg.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-lg)}.sefin-spacer--xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-xl)}.sefin-spacer--xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-xl)}.sefin-spacer--2xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-2xl)}.sefin-spacer--2xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-2xl)}.sefin-spacer--3xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-3xl)}.sefin-spacer--3xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-3xl)}.sefin-spacer--4xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-4xl)}.sefin-spacer--4xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-4xl)}.sefin-spacer--5xl.sefin-spacer--vertical{margin-bottom:var(--sefin-spacing-5xl)}.sefin-spacer--5xl.sefin-spacer--horizontal{margin-right:var(--sefin-spacing-5xl)}\n"] }]
3183
3183
  }], propDecorators: { size: [{
3184
3184
  type: Input
3185
3185
  }], orientation: [{
@@ -3579,11 +3579,11 @@ class BreadcrumbsComponent {
3579
3579
  return this.sanitizer.bypassSecurityTrustHtml(icon);
3580
3580
  }
3581
3581
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: BreadcrumbsComponent, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
3582
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: BreadcrumbsComponent, isStandalone: true, selector: "sefin-breadcrumbs", inputs: { items: "items", separator: "separator", size: "size", class: "class" }, ngImport: i0, template: "<nav [class]=\"breadcrumbsClasses\" aria-label=\"Breadcrumb\">\n <ol class=\"sefin-breadcrumbs__list\">\n <li\n *ngFor=\"let item of items; let i = index; let isLast = last\"\n class=\"sefin-breadcrumbs__item\"\n >\n <ng-container *ngIf=\"isLastItem(i); else linkTemplate\">\n <span class=\"sefin-breadcrumbs__current\" [attr.aria-current]=\"'page'\">\n <span *ngIf=\"item.icon\" class=\"sefin-breadcrumbs__icon\" [innerHTML]=\"sanitizeHtml(item.icon)\"></span>\n {{ item.label }}\n </span>\n </ng-container>\n <ng-template #linkTemplate>\n <sefin-link\n [href]=\"item.href || '#'\"\n variant=\"default\"\n [size]=\"size\"\n class=\"sefin-breadcrumbs__link\"\n >\n <span *ngIf=\"item.icon\" class=\"sefin-breadcrumbs__icon\" [innerHTML]=\"sanitizeHtml(item.icon)\"></span>\n {{ item.label }}\n </sefin-link>\n </ng-template>\n <span\n *ngIf=\"!isLast\"\n class=\"sefin-breadcrumbs__separator\"\n [attr.aria-hidden]=\"true\"\n [innerHTML]=\"getSeparatorIconSafe()\"\n ></span>\n </li>\n </ol>\n</nav>\n\n", styles: [".sefin-breadcrumbs{display:flex;align-items:center;font-family:var(--sefin-font-family-base)}.sefin-breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;gap:var(--sefin-spacing-xs, 4px)}.sefin-breadcrumbs__item{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-breadcrumbs__link{color:var(--sefin-color-text-secondary);text-decoration:none;transition:color .2s ease-in-out}.sefin-breadcrumbs__link:hover{color:var(--sefin-color-primary)}.sefin-breadcrumbs__link:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px;border-radius:var(--sefin-radius-sm)}.sefin-breadcrumbs__current{color:var(--sefin-color-text);font-weight:var(--sefin-font-weight-medium);display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-breadcrumbs__separator{display:inline-flex;align-items:center;justify-content:center;color:var(--sefin-color-text-disabled);margin:0 var(--sefin-spacing-xs, 4px);-webkit-user-select:none;user-select:none;flex-shrink:0}.sefin-breadcrumbs__separator svg{display:block;width:12px;height:12px}.sefin-breadcrumbs__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.sefin-breadcrumbs__icon svg{display:block;width:14px;height:14px}.sefin-breadcrumbs--sm{font-size:var(--sefin-font-size-sm, 14px)}.sefin-breadcrumbs--sm .sefin-breadcrumbs__separator{margin:0 var(--sefin-spacing-xs, 4px)}.sefin-breadcrumbs--sm .sefin-breadcrumbs__separator svg{width:10px;height:10px}.sefin-breadcrumbs--sm .sefin-breadcrumbs__icon svg{width:12px;height:12px}.sefin-breadcrumbs--md{font-size:var(--sefin-font-size-base, 16px)}.sefin-breadcrumbs--md .sefin-breadcrumbs__separator{margin:0 var(--sefin-spacing-sm, 8px)}.sefin-breadcrumbs--md .sefin-breadcrumbs__separator svg{width:12px;height:12px}.sefin-breadcrumbs--md .sefin-breadcrumbs__icon svg{width:14px;height:14px}.sefin-breadcrumbs--lg{font-size:var(--sefin-font-size-lg, 18px)}.sefin-breadcrumbs--lg .sefin-breadcrumbs__separator{margin:0 var(--sefin-spacing-sm, 8px)}.sefin-breadcrumbs--lg .sefin-breadcrumbs__separator svg{width:14px;height:14px}.sefin-breadcrumbs--lg .sefin-breadcrumbs__icon svg{width:16px;height:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LinkComponent, selector: "sefin-link", inputs: ["variant", "size", "disabled", "href", "target", "rel", "class", "underline"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3582
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: BreadcrumbsComponent, isStandalone: true, selector: "sefin-breadcrumbs", inputs: { items: "items", separator: "separator", size: "size", class: "class" }, ngImport: i0, template: "<nav [class]=\"breadcrumbsClasses\" aria-label=\"Breadcrumb\">\n <ol class=\"sefin-breadcrumbs__list\">\n <li\n *ngFor=\"let item of items; let i = index; let isLast = last\"\n class=\"sefin-breadcrumbs__item\"\n >\n <ng-container *ngIf=\"isLastItem(i); else linkTemplate\">\n <span class=\"sefin-breadcrumbs__current\" [attr.aria-current]=\"'page'\">\n <span *ngIf=\"item.icon\" class=\"sefin-breadcrumbs__icon\" [innerHTML]=\"sanitizeHtml(item.icon)\"></span>\n {{ item.label }}\n </span>\n </ng-container>\n <ng-template #linkTemplate>\n <sefin-link\n [href]=\"item.href || '#'\"\n variant=\"default\"\n [size]=\"size\"\n class=\"sefin-breadcrumbs__link\"\n >\n <span *ngIf=\"item.icon\" class=\"sefin-breadcrumbs__icon\" [innerHTML]=\"sanitizeHtml(item.icon)\"></span>\n {{ item.label }}\n </sefin-link>\n </ng-template>\n <span\n *ngIf=\"!isLast\"\n class=\"sefin-breadcrumbs__separator\"\n [attr.aria-hidden]=\"true\"\n [innerHTML]=\"getSeparatorIconSafe()\"\n ></span>\n </li>\n </ol>\n</nav>\n\n", styles: [".sefin-breadcrumbs{display:flex;align-items:center;width:100%;font-family:var(--sefin-font-family-base);box-sizing:border-box}.sefin-breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;gap:var(--sefin-spacing-xs, 4px)}.sefin-breadcrumbs__item{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-breadcrumbs__link{color:var(--sefin-color-text-secondary);text-decoration:none;transition:color .2s ease-in-out}.sefin-breadcrumbs__link:hover{color:var(--sefin-color-primary)}.sefin-breadcrumbs__link:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px;border-radius:var(--sefin-radius-sm)}.sefin-breadcrumbs__current{color:var(--sefin-color-text);font-weight:var(--sefin-font-weight-medium);display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-breadcrumbs__separator{display:inline-flex;align-items:center;justify-content:center;color:var(--sefin-color-text-disabled);margin:0 var(--sefin-spacing-xs, 4px);-webkit-user-select:none;user-select:none;flex-shrink:0}.sefin-breadcrumbs__separator svg{display:block;width:12px;height:12px}.sefin-breadcrumbs__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.sefin-breadcrumbs__icon svg{display:block;width:14px;height:14px}.sefin-breadcrumbs--sm{font-size:var(--sefin-font-size-sm, 14px)}.sefin-breadcrumbs--sm .sefin-breadcrumbs__separator{margin:0 var(--sefin-spacing-xs, 4px)}.sefin-breadcrumbs--sm .sefin-breadcrumbs__separator svg{width:10px;height:10px}.sefin-breadcrumbs--sm .sefin-breadcrumbs__icon svg{width:12px;height:12px}.sefin-breadcrumbs--md{font-size:var(--sefin-font-size-base, 16px)}.sefin-breadcrumbs--md .sefin-breadcrumbs__separator{margin:0 var(--sefin-spacing-sm, 8px)}.sefin-breadcrumbs--md .sefin-breadcrumbs__separator svg{width:12px;height:12px}.sefin-breadcrumbs--md .sefin-breadcrumbs__icon svg{width:14px;height:14px}.sefin-breadcrumbs--lg{font-size:var(--sefin-font-size-lg, 18px)}.sefin-breadcrumbs--lg .sefin-breadcrumbs__separator{margin:0 var(--sefin-spacing-sm, 8px)}.sefin-breadcrumbs--lg .sefin-breadcrumbs__separator svg{width:14px;height:14px}.sefin-breadcrumbs--lg .sefin-breadcrumbs__icon svg{width:16px;height:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LinkComponent, selector: "sefin-link", inputs: ["variant", "size", "disabled", "href", "target", "rel", "class", "underline"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3583
3583
  }
3584
3584
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: BreadcrumbsComponent, decorators: [{
3585
3585
  type: Component,
3586
- args: [{ selector: 'sefin-breadcrumbs', standalone: true, imports: [CommonModule, LinkComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav [class]=\"breadcrumbsClasses\" aria-label=\"Breadcrumb\">\n <ol class=\"sefin-breadcrumbs__list\">\n <li\n *ngFor=\"let item of items; let i = index; let isLast = last\"\n class=\"sefin-breadcrumbs__item\"\n >\n <ng-container *ngIf=\"isLastItem(i); else linkTemplate\">\n <span class=\"sefin-breadcrumbs__current\" [attr.aria-current]=\"'page'\">\n <span *ngIf=\"item.icon\" class=\"sefin-breadcrumbs__icon\" [innerHTML]=\"sanitizeHtml(item.icon)\"></span>\n {{ item.label }}\n </span>\n </ng-container>\n <ng-template #linkTemplate>\n <sefin-link\n [href]=\"item.href || '#'\"\n variant=\"default\"\n [size]=\"size\"\n class=\"sefin-breadcrumbs__link\"\n >\n <span *ngIf=\"item.icon\" class=\"sefin-breadcrumbs__icon\" [innerHTML]=\"sanitizeHtml(item.icon)\"></span>\n {{ item.label }}\n </sefin-link>\n </ng-template>\n <span\n *ngIf=\"!isLast\"\n class=\"sefin-breadcrumbs__separator\"\n [attr.aria-hidden]=\"true\"\n [innerHTML]=\"getSeparatorIconSafe()\"\n ></span>\n </li>\n </ol>\n</nav>\n\n", styles: [".sefin-breadcrumbs{display:flex;align-items:center;font-family:var(--sefin-font-family-base)}.sefin-breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;gap:var(--sefin-spacing-xs, 4px)}.sefin-breadcrumbs__item{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-breadcrumbs__link{color:var(--sefin-color-text-secondary);text-decoration:none;transition:color .2s ease-in-out}.sefin-breadcrumbs__link:hover{color:var(--sefin-color-primary)}.sefin-breadcrumbs__link:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px;border-radius:var(--sefin-radius-sm)}.sefin-breadcrumbs__current{color:var(--sefin-color-text);font-weight:var(--sefin-font-weight-medium);display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-breadcrumbs__separator{display:inline-flex;align-items:center;justify-content:center;color:var(--sefin-color-text-disabled);margin:0 var(--sefin-spacing-xs, 4px);-webkit-user-select:none;user-select:none;flex-shrink:0}.sefin-breadcrumbs__separator svg{display:block;width:12px;height:12px}.sefin-breadcrumbs__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.sefin-breadcrumbs__icon svg{display:block;width:14px;height:14px}.sefin-breadcrumbs--sm{font-size:var(--sefin-font-size-sm, 14px)}.sefin-breadcrumbs--sm .sefin-breadcrumbs__separator{margin:0 var(--sefin-spacing-xs, 4px)}.sefin-breadcrumbs--sm .sefin-breadcrumbs__separator svg{width:10px;height:10px}.sefin-breadcrumbs--sm .sefin-breadcrumbs__icon svg{width:12px;height:12px}.sefin-breadcrumbs--md{font-size:var(--sefin-font-size-base, 16px)}.sefin-breadcrumbs--md .sefin-breadcrumbs__separator{margin:0 var(--sefin-spacing-sm, 8px)}.sefin-breadcrumbs--md .sefin-breadcrumbs__separator svg{width:12px;height:12px}.sefin-breadcrumbs--md .sefin-breadcrumbs__icon svg{width:14px;height:14px}.sefin-breadcrumbs--lg{font-size:var(--sefin-font-size-lg, 18px)}.sefin-breadcrumbs--lg .sefin-breadcrumbs__separator{margin:0 var(--sefin-spacing-sm, 8px)}.sefin-breadcrumbs--lg .sefin-breadcrumbs__separator svg{width:14px;height:14px}.sefin-breadcrumbs--lg .sefin-breadcrumbs__icon svg{width:16px;height:16px}\n"] }]
3586
+ args: [{ selector: 'sefin-breadcrumbs', standalone: true, imports: [CommonModule, LinkComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav [class]=\"breadcrumbsClasses\" aria-label=\"Breadcrumb\">\n <ol class=\"sefin-breadcrumbs__list\">\n <li\n *ngFor=\"let item of items; let i = index; let isLast = last\"\n class=\"sefin-breadcrumbs__item\"\n >\n <ng-container *ngIf=\"isLastItem(i); else linkTemplate\">\n <span class=\"sefin-breadcrumbs__current\" [attr.aria-current]=\"'page'\">\n <span *ngIf=\"item.icon\" class=\"sefin-breadcrumbs__icon\" [innerHTML]=\"sanitizeHtml(item.icon)\"></span>\n {{ item.label }}\n </span>\n </ng-container>\n <ng-template #linkTemplate>\n <sefin-link\n [href]=\"item.href || '#'\"\n variant=\"default\"\n [size]=\"size\"\n class=\"sefin-breadcrumbs__link\"\n >\n <span *ngIf=\"item.icon\" class=\"sefin-breadcrumbs__icon\" [innerHTML]=\"sanitizeHtml(item.icon)\"></span>\n {{ item.label }}\n </sefin-link>\n </ng-template>\n <span\n *ngIf=\"!isLast\"\n class=\"sefin-breadcrumbs__separator\"\n [attr.aria-hidden]=\"true\"\n [innerHTML]=\"getSeparatorIconSafe()\"\n ></span>\n </li>\n </ol>\n</nav>\n\n", styles: [".sefin-breadcrumbs{display:flex;align-items:center;width:100%;font-family:var(--sefin-font-family-base);box-sizing:border-box}.sefin-breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;gap:var(--sefin-spacing-xs, 4px)}.sefin-breadcrumbs__item{display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-breadcrumbs__link{color:var(--sefin-color-text-secondary);text-decoration:none;transition:color .2s ease-in-out}.sefin-breadcrumbs__link:hover{color:var(--sefin-color-primary)}.sefin-breadcrumbs__link:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px;border-radius:var(--sefin-radius-sm)}.sefin-breadcrumbs__current{color:var(--sefin-color-text);font-weight:var(--sefin-font-weight-medium);display:inline-flex;align-items:center;gap:var(--sefin-spacing-xs, 4px)}.sefin-breadcrumbs__separator{display:inline-flex;align-items:center;justify-content:center;color:var(--sefin-color-text-disabled);margin:0 var(--sefin-spacing-xs, 4px);-webkit-user-select:none;user-select:none;flex-shrink:0}.sefin-breadcrumbs__separator svg{display:block;width:12px;height:12px}.sefin-breadcrumbs__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.sefin-breadcrumbs__icon svg{display:block;width:14px;height:14px}.sefin-breadcrumbs--sm{font-size:var(--sefin-font-size-sm, 14px)}.sefin-breadcrumbs--sm .sefin-breadcrumbs__separator{margin:0 var(--sefin-spacing-xs, 4px)}.sefin-breadcrumbs--sm .sefin-breadcrumbs__separator svg{width:10px;height:10px}.sefin-breadcrumbs--sm .sefin-breadcrumbs__icon svg{width:12px;height:12px}.sefin-breadcrumbs--md{font-size:var(--sefin-font-size-base, 16px)}.sefin-breadcrumbs--md .sefin-breadcrumbs__separator{margin:0 var(--sefin-spacing-sm, 8px)}.sefin-breadcrumbs--md .sefin-breadcrumbs__separator svg{width:12px;height:12px}.sefin-breadcrumbs--md .sefin-breadcrumbs__icon svg{width:14px;height:14px}.sefin-breadcrumbs--lg{font-size:var(--sefin-font-size-lg, 18px)}.sefin-breadcrumbs--lg .sefin-breadcrumbs__separator{margin:0 var(--sefin-spacing-sm, 8px)}.sefin-breadcrumbs--lg .sefin-breadcrumbs__separator svg{width:14px;height:14px}.sefin-breadcrumbs--lg .sefin-breadcrumbs__icon svg{width:16px;height:16px}\n"] }]
3587
3587
  }], ctorParameters: () => [{ type: i1$1.DomSanitizer }], propDecorators: { items: [{
3588
3588
  type: Input
3589
3589
  }], separator: [{
@@ -3735,11 +3735,11 @@ class ButtonGroupComponent {
3735
3735
  return this.sanitizer.sanitize(1, html) || '';
3736
3736
  }
3737
3737
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ButtonGroupComponent, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
3738
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: ButtonGroupComponent, isStandalone: true, selector: "sefin-button-group", inputs: { options: "options", value: "value", multiple: "multiple", selectedValues: "selectedValues", variant: "variant", size: "size", groupVariant: "groupVariant", disabled: "disabled", fullWidth: "fullWidth", class: "class" }, outputs: { valueChange: "valueChange", selectedValuesChange: "selectedValuesChange", buttonClick: "buttonClick" }, ngImport: i0, template: "<div\n [class]=\"buttonGroupClasses\"\n role=\"group\"\n [attr.aria-label]=\"'Button group'\"\n>\n <sefin-button\n *ngFor=\"let option of options\"\n [variant]=\"getButtonVariant(option)\"\n [size]=\"size\"\n [disabled]=\"disabled || option.disabled\"\n [class]=\"getButtonClasses(option)\"\n (clicked)=\"handleButtonClick(option)($event)\"\n [attr.aria-pressed]=\"isSelected(option)\"\n [attr.aria-label]=\"option.label\"\n type=\"button\"\n >\n <span\n *ngIf=\"option.icon\"\n class=\"sefin-button-group__icon\"\n [innerHTML]=\"sanitizeHtml(option.icon)\"\n ></span>\n <span class=\"sefin-button-group__label\">{{ option.label }}</span>\n </sefin-button>\n</div>\n", styles: [".sefin-button-group{display:inline-flex;align-items:stretch;gap:0;font-family:var(--sefin-font-family-base);position:relative;border-radius:var(--sefin-radius-md);overflow:hidden;box-shadow:var(--sefin-shadow-sm);background-color:transparent;flex-wrap:nowrap}.sefin-button-group--full-width{display:flex;width:100%}.sefin-button-group--full-width .sefin-button-group__button-item{flex:1 1 0;min-width:0;width:0}.sefin-button-group__button-item{position:relative;border-radius:0!important;margin:0!important;flex:0 1 auto;min-width:fit-content;text-align:center;white-space:nowrap;border:none!important;box-shadow:none!important;-webkit-user-select:none;user-select:none;display:flex;align-items:stretch}.sefin-button-group__button-item ::ng-deep sefin-button,.sefin-button-group__button-item ::ng-deep .sefin-button{border-radius:0!important;margin:0!important;border:none!important;box-shadow:none!important;width:100%;height:100%;display:flex;align-items:center;justify-content:center;min-height:auto!important}.sefin-button-group__button-item ::ng-deep button{border-radius:0!important;margin:0!important;border:none!important;box-shadow:none!important;width:100%;height:100%;font-weight:var(--sefin-font-weight-medium);font-family:var(--sefin-font-family-base);line-height:var(--sefin-line-height-normal);cursor:pointer;outline:none;transition:all .2s ease-in-out}.sefin-button-group__button-item ::ng-deep button.sefin-button--primary,.sefin-button-group__button-item ::ng-deep button.sefin-button--secondary,.sefin-button-group__button-item ::ng-deep button.sefin-button--outline,.sefin-button-group__button-item ::ng-deep button.sefin-button--ghost,.sefin-button-group__button-item ::ng-deep button.sefin-button--danger{background-color:transparent!important;color:inherit!important;border:none!important}.sefin-button-group__button-item ::ng-deep button.sefin-button--primary:hover,.sefin-button-group__button-item ::ng-deep button.sefin-button--secondary:hover,.sefin-button-group__button-item ::ng-deep button.sefin-button--outline:hover,.sefin-button-group__button-item ::ng-deep button.sefin-button--ghost:hover,.sefin-button-group__button-item ::ng-deep button.sefin-button--danger:hover{background-color:transparent!important;color:inherit!important}.sefin-button-group__button-item ::ng-deep button.sefin-button--primary:active,.sefin-button-group__button-item ::ng-deep button.sefin-button--secondary:active,.sefin-button-group__button-item ::ng-deep button.sefin-button--outline:active,.sefin-button-group__button-item ::ng-deep button.sefin-button--ghost:active,.sefin-button-group__button-item ::ng-deep button.sefin-button--danger:active{background-color:transparent!important;color:inherit!important}.sefin-button-group__button-item:first-child ::ng-deep button{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.sefin-button-group__button-item:last-child ::ng-deep button{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.sefin-button-group__button-item:hover:not(:disabled){z-index:1}.sefin-button-group__button-item:focus-visible{z-index:2}.sefin-button-group__button-item:focus-visible ::ng-deep button{outline:2px solid var(--sefin-color-border-focus);outline-offset:-2px}.sefin-button-group__button-item:active:not(:disabled){transform:translateY(1px)}.sefin-button-group__button-item:active:not(:disabled) ::ng-deep button{transform:translateY(1px)}.sefin-button-group__button-item:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-button-group__button-item--sm ::ng-deep button{padding:var(--sefin-spacing-sm) var(--sefin-spacing-md)!important;font-size:var(--sefin-font-size-sm)!important;min-height:32px!important}.sefin-button-group__button-item--md ::ng-deep button{padding:var(--sefin-spacing-md) var(--sefin-spacing-lg)!important;font-size:var(--sefin-font-size-base)!important;min-height:40px!important}.sefin-button-group__button-item--lg ::ng-deep button{padding:var(--sefin-spacing-lg) var(--sefin-spacing-xl)!important;font-size:var(--sefin-font-size-lg)!important;min-height:48px!important}.sefin-button-group__label{display:inline-block;font-family:inherit}.sefin-button-group__icon{display:inline-flex;align-items:center;justify-content:center;margin-right:var(--sefin-spacing-xs);flex-shrink:0;font-family:inherit}.sefin-button-group__icon svg{display:block;width:16px;height:16px}.sefin-button-group--segmented{background-color:var(--sefin-color-surface);border:1px solid var(--sefin-color-border);padding:var(--sefin-spacing-xs);gap:var(--sefin-spacing-xs);overflow:visible;box-shadow:var(--sefin-shadow-sm);border-radius:var(--sefin-radius-md)}.sefin-button-group--segmented .sefin-button-group__button-item{border:1px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);color:var(--sefin-color-text);border-radius:var(--sefin-radius-sm);margin:0;transition:all .2s ease-in-out}.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button{border-radius:var(--sefin-radius-sm)!important;border:1px solid var(--sefin-color-border)!important;background-color:var(--sefin-color-surface)!important;color:var(--sefin-color-text)!important;transition:all .2s ease-in-out!important}.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--primary,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--secondary,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--outline,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--ghost,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--danger,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--primary,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--secondary,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--outline,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--ghost,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--danger{border:1px solid var(--sefin-color-border)!important;background-color:var(--sefin-color-surface)!important;color:var(--sefin-color-text)!important}.sefin-button-group--segmented .sefin-button-group__button-item--selected ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item--selected ::ng-deep button{background-color:var(--sefin-color-primary)!important;color:#fff!important;border-color:var(--sefin-color-primary)!important;box-shadow:var(--sefin-shadow-sm)!important}.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--primary ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--primary ::ng-deep button{background-color:var(--sefin-color-primary)!important;color:#fff!important;border-color:var(--sefin-color-primary)!important}.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--secondary ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--secondary ::ng-deep button{background-color:var(--sefin-color-secondary)!important;color:#fff!important;border-color:var(--sefin-color-secondary)!important}.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--outline ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--outline ::ng-deep button{background-color:var(--sefin-color-primary)!important;color:#fff!important;border-color:var(--sefin-color-primary)!important}.sefin-button-group--segmented .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected) ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected) ::ng-deep button{background-color:var(--sefin-color-surface)!important;color:var(--sefin-color-text)!important;border-color:var(--sefin-color-border)!important}.sefin-button-group--segmented .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected):hover:not(:disabled) ::ng-deep .sefin-button:hover,.sefin-button-group--segmented .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected):hover:not(:disabled) ::ng-deep button:hover{background-color:var(--sefin-color-surface-hover)!important;border-color:var(--sefin-color-primary)!important;color:var(--sefin-color-primary)!important}.sefin-button-group--segmented .sefin-button-group__button-item:hover:not(:disabled).sefin-button-group__button-item--selected.sefin-button-group__button-item--primary ::ng-deep .sefin-button:hover,.sefin-button-group--segmented .sefin-button-group__button-item:hover:not(:disabled).sefin-button-group__button-item--selected.sefin-button-group__button-item--primary ::ng-deep button:hover{background-color:var(--sefin-color-primary-dark)!important;border-color:var(--sefin-color-primary-dark)!important}.sefin-button-group--segmented .sefin-button-group__button-item:hover:not(:disabled).sefin-button-group__button-item--selected.sefin-button-group__button-item--secondary ::ng-deep .sefin-button:hover,.sefin-button-group--segmented .sefin-button-group__button-item:hover:not(:disabled).sefin-button-group__button-item--selected.sefin-button-group__button-item--secondary ::ng-deep button:hover{background-color:var(--sefin-color-secondary-dark)!important;border-color:var(--sefin-color-secondary-dark)!important}.sefin-button-group--default{background-color:var(--sefin-color-primary);border:1px solid var(--sefin-color-primary);box-shadow:var(--sefin-shadow-sm);padding:0}.sefin-button-group--default .sefin-button-group__button-item{border:none!important;border-radius:0!important;background-color:transparent!important;margin:0;box-shadow:none!important}.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button{border:none!important;border-radius:0!important;background-color:transparent!important;color:#fff!important;box-shadow:none!important}.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--primary,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--secondary,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--outline,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--ghost,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--danger,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--primary,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--secondary,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--outline,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--ghost,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--danger{border:none!important;background-color:transparent!important;color:#fff!important}.sefin-button-group--default .sefin-button-group__button-item--selected ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item--selected ::ng-deep button,.sefin-button-group--default .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected) ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected) ::ng-deep button{background-color:transparent!important;color:#fff!important}.sefin-button-group--default .sefin-button-group__button-item:hover:not(:disabled) ::ng-deep .sefin-button:hover,.sefin-button-group--default .sefin-button-group__button-item:hover:not(:disabled) ::ng-deep button:hover{background-color:#ffffff26!important}.sefin-button-group--default .sefin-button-group__button-item:active:not(:disabled) ::ng-deep .sefin-button:active,.sefin-button-group--default .sefin-button-group__button-item:active:not(:disabled) ::ng-deep button:active{background-color:#fff3!important;transform:translateY(0)!important}.sefin-button-group--default .sefin-button-group__button-item:not(:last-child):after{content:\"\";position:absolute;right:0;top:20%;bottom:20%;width:1px;background-color:#ffffff4d;pointer-events:none;z-index:1}.sefin-button-group--default .sefin-button-group__button-item--primary ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item--primary ::ng-deep button,.sefin-button-group--default .sefin-button-group__button-item--secondary ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item--secondary ::ng-deep button,.sefin-button-group--default .sefin-button-group__button-item--outline ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item--outline ::ng-deep button{background-color:transparent!important}.sefin-button-group--default.sefin-button-group--secondary{background-color:var(--sefin-color-secondary);border-color:var(--sefin-color-secondary)}.sefin-button-group--sm .sefin-button-group__icon svg{width:14px;height:14px}.sefin-button-group--md .sefin-button-group__icon svg{width:16px;height:16px}.sefin-button-group--lg .sefin-button-group__icon svg{width:18px;height:18px}.sefin-button-group--disabled{opacity:.6;pointer-events:none;cursor:not-allowed}.sefin-button-group--disabled .sefin-button-group__button-item{cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "sefin-button", inputs: ["variant", "size", "disabled", "fullWidth", "type", "class"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
3738
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: ButtonGroupComponent, isStandalone: true, selector: "sefin-button-group", inputs: { options: "options", value: "value", multiple: "multiple", selectedValues: "selectedValues", variant: "variant", size: "size", groupVariant: "groupVariant", disabled: "disabled", fullWidth: "fullWidth", class: "class" }, outputs: { valueChange: "valueChange", selectedValuesChange: "selectedValuesChange", buttonClick: "buttonClick" }, ngImport: i0, template: "<div\n [class]=\"buttonGroupClasses\"\n role=\"group\"\n [attr.aria-label]=\"'Button group'\"\n>\n <sefin-button\n *ngFor=\"let option of options\"\n [variant]=\"getButtonVariant(option)\"\n [size]=\"size\"\n [disabled]=\"disabled || option.disabled\"\n [class]=\"getButtonClasses(option)\"\n (clicked)=\"handleButtonClick(option)($event)\"\n [attr.aria-pressed]=\"isSelected(option)\"\n [attr.aria-label]=\"option.label\"\n type=\"button\"\n >\n <span\n *ngIf=\"option.icon\"\n class=\"sefin-button-group__icon\"\n [innerHTML]=\"sanitizeHtml(option.icon)\"\n ></span>\n <span class=\"sefin-button-group__label\">{{ option.label }}</span>\n </sefin-button>\n</div>\n", styles: [".sefin-button-group{display:flex;align-items:stretch;gap:0;width:100%;font-family:var(--sefin-font-family-base);position:relative;border-radius:var(--sefin-radius-md);overflow:hidden;box-shadow:var(--sefin-shadow-sm);background-color:transparent;flex-wrap:nowrap;box-sizing:border-box}.sefin-button-group--full-width{display:flex;width:100%}.sefin-button-group--full-width .sefin-button-group__button-item{flex:1 1 0;min-width:0;width:0}.sefin-button-group__button-item{position:relative;border-radius:0!important;margin:0!important;flex:0 1 auto;min-width:fit-content;text-align:center;white-space:nowrap;border:none!important;box-shadow:none!important;-webkit-user-select:none;user-select:none;display:flex;align-items:stretch}.sefin-button-group__button-item ::ng-deep sefin-button,.sefin-button-group__button-item ::ng-deep .sefin-button{border-radius:0!important;margin:0!important;border:none!important;box-shadow:none!important;width:100%;height:100%;display:flex;align-items:center;justify-content:center;min-height:auto!important}.sefin-button-group__button-item ::ng-deep button{border-radius:0!important;margin:0!important;border:none!important;box-shadow:none!important;width:100%;height:100%;font-weight:var(--sefin-font-weight-medium);font-family:var(--sefin-font-family-base);line-height:var(--sefin-line-height-normal);cursor:pointer;outline:none;transition:all .2s ease-in-out}.sefin-button-group__button-item ::ng-deep button.sefin-button--primary,.sefin-button-group__button-item ::ng-deep button.sefin-button--secondary,.sefin-button-group__button-item ::ng-deep button.sefin-button--outline,.sefin-button-group__button-item ::ng-deep button.sefin-button--ghost,.sefin-button-group__button-item ::ng-deep button.sefin-button--danger{background-color:transparent!important;color:inherit!important;border:none!important}.sefin-button-group__button-item ::ng-deep button.sefin-button--primary:hover,.sefin-button-group__button-item ::ng-deep button.sefin-button--secondary:hover,.sefin-button-group__button-item ::ng-deep button.sefin-button--outline:hover,.sefin-button-group__button-item ::ng-deep button.sefin-button--ghost:hover,.sefin-button-group__button-item ::ng-deep button.sefin-button--danger:hover{background-color:transparent!important;color:inherit!important}.sefin-button-group__button-item ::ng-deep button.sefin-button--primary:active,.sefin-button-group__button-item ::ng-deep button.sefin-button--secondary:active,.sefin-button-group__button-item ::ng-deep button.sefin-button--outline:active,.sefin-button-group__button-item ::ng-deep button.sefin-button--ghost:active,.sefin-button-group__button-item ::ng-deep button.sefin-button--danger:active{background-color:transparent!important;color:inherit!important}.sefin-button-group__button-item:first-child ::ng-deep button{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.sefin-button-group__button-item:last-child ::ng-deep button{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.sefin-button-group__button-item:hover:not(:disabled){z-index:1}.sefin-button-group__button-item:focus-visible{z-index:2}.sefin-button-group__button-item:focus-visible ::ng-deep button{outline:2px solid var(--sefin-color-border-focus);outline-offset:-2px}.sefin-button-group__button-item:active:not(:disabled){transform:translateY(1px)}.sefin-button-group__button-item:active:not(:disabled) ::ng-deep button{transform:translateY(1px)}.sefin-button-group__button-item:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-button-group__button-item--sm ::ng-deep button{padding:var(--sefin-spacing-sm) var(--sefin-spacing-md)!important;font-size:var(--sefin-font-size-sm)!important;min-height:32px!important}.sefin-button-group__button-item--md ::ng-deep button{padding:var(--sefin-spacing-md) var(--sefin-spacing-lg)!important;font-size:var(--sefin-font-size-base)!important;min-height:40px!important}.sefin-button-group__button-item--lg ::ng-deep button{padding:var(--sefin-spacing-lg) var(--sefin-spacing-xl)!important;font-size:var(--sefin-font-size-lg)!important;min-height:48px!important}.sefin-button-group__label{display:inline-block;font-family:inherit}.sefin-button-group__icon{display:inline-flex;align-items:center;justify-content:center;margin-right:var(--sefin-spacing-xs);flex-shrink:0;font-family:inherit}.sefin-button-group__icon svg{display:block;width:16px;height:16px}.sefin-button-group--segmented{background-color:var(--sefin-color-surface);border:1px solid var(--sefin-color-border);padding:var(--sefin-spacing-xs);gap:var(--sefin-spacing-xs);overflow:visible;box-shadow:var(--sefin-shadow-sm);border-radius:var(--sefin-radius-md)}.sefin-button-group--segmented .sefin-button-group__button-item{border:1px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);color:var(--sefin-color-text);border-radius:var(--sefin-radius-sm);margin:0;transition:all .2s ease-in-out}.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button{border-radius:var(--sefin-radius-sm)!important;border:1px solid var(--sefin-color-border)!important;background-color:var(--sefin-color-surface)!important;color:var(--sefin-color-text)!important;transition:all .2s ease-in-out!important}.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--primary,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--secondary,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--outline,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--ghost,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--danger,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--primary,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--secondary,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--outline,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--ghost,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--danger{border:1px solid var(--sefin-color-border)!important;background-color:var(--sefin-color-surface)!important;color:var(--sefin-color-text)!important}.sefin-button-group--segmented .sefin-button-group__button-item--selected ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item--selected ::ng-deep button{background-color:var(--sefin-color-primary)!important;color:#fff!important;border-color:var(--sefin-color-primary)!important;box-shadow:var(--sefin-shadow-sm)!important}.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--primary ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--primary ::ng-deep button{background-color:var(--sefin-color-primary)!important;color:#fff!important;border-color:var(--sefin-color-primary)!important}.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--secondary ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--secondary ::ng-deep button{background-color:var(--sefin-color-secondary)!important;color:#fff!important;border-color:var(--sefin-color-secondary)!important}.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--outline ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--outline ::ng-deep button{background-color:var(--sefin-color-primary)!important;color:#fff!important;border-color:var(--sefin-color-primary)!important}.sefin-button-group--segmented .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected) ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected) ::ng-deep button{background-color:var(--sefin-color-surface)!important;color:var(--sefin-color-text)!important;border-color:var(--sefin-color-border)!important}.sefin-button-group--segmented .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected):hover:not(:disabled) ::ng-deep .sefin-button:hover,.sefin-button-group--segmented .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected):hover:not(:disabled) ::ng-deep button:hover{background-color:var(--sefin-color-surface-hover)!important;border-color:var(--sefin-color-primary)!important;color:var(--sefin-color-primary)!important}.sefin-button-group--segmented .sefin-button-group__button-item:hover:not(:disabled).sefin-button-group__button-item--selected.sefin-button-group__button-item--primary ::ng-deep .sefin-button:hover,.sefin-button-group--segmented .sefin-button-group__button-item:hover:not(:disabled).sefin-button-group__button-item--selected.sefin-button-group__button-item--primary ::ng-deep button:hover{background-color:var(--sefin-color-primary-dark)!important;border-color:var(--sefin-color-primary-dark)!important}.sefin-button-group--segmented .sefin-button-group__button-item:hover:not(:disabled).sefin-button-group__button-item--selected.sefin-button-group__button-item--secondary ::ng-deep .sefin-button:hover,.sefin-button-group--segmented .sefin-button-group__button-item:hover:not(:disabled).sefin-button-group__button-item--selected.sefin-button-group__button-item--secondary ::ng-deep button:hover{background-color:var(--sefin-color-secondary-dark)!important;border-color:var(--sefin-color-secondary-dark)!important}.sefin-button-group--default{background-color:var(--sefin-color-primary);border:1px solid var(--sefin-color-primary);box-shadow:var(--sefin-shadow-sm);padding:0}.sefin-button-group--default .sefin-button-group__button-item{border:none!important;border-radius:0!important;background-color:transparent!important;margin:0;box-shadow:none!important}.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button{border:none!important;border-radius:0!important;background-color:transparent!important;color:#fff!important;box-shadow:none!important}.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--primary,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--secondary,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--outline,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--ghost,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--danger,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--primary,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--secondary,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--outline,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--ghost,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--danger{border:none!important;background-color:transparent!important;color:#fff!important}.sefin-button-group--default .sefin-button-group__button-item--selected ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item--selected ::ng-deep button,.sefin-button-group--default .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected) ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected) ::ng-deep button{background-color:transparent!important;color:#fff!important}.sefin-button-group--default .sefin-button-group__button-item:hover:not(:disabled) ::ng-deep .sefin-button:hover,.sefin-button-group--default .sefin-button-group__button-item:hover:not(:disabled) ::ng-deep button:hover{background-color:#ffffff26!important}.sefin-button-group--default .sefin-button-group__button-item:active:not(:disabled) ::ng-deep .sefin-button:active,.sefin-button-group--default .sefin-button-group__button-item:active:not(:disabled) ::ng-deep button:active{background-color:#fff3!important;transform:translateY(0)!important}.sefin-button-group--default .sefin-button-group__button-item:not(:last-child):after{content:\"\";position:absolute;right:0;top:20%;bottom:20%;width:1px;background-color:#ffffff4d;pointer-events:none;z-index:1}.sefin-button-group--default .sefin-button-group__button-item--primary ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item--primary ::ng-deep button,.sefin-button-group--default .sefin-button-group__button-item--secondary ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item--secondary ::ng-deep button,.sefin-button-group--default .sefin-button-group__button-item--outline ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item--outline ::ng-deep button{background-color:transparent!important}.sefin-button-group--default.sefin-button-group--secondary{background-color:var(--sefin-color-secondary);border-color:var(--sefin-color-secondary)}.sefin-button-group--sm .sefin-button-group__icon svg{width:14px;height:14px}.sefin-button-group--md .sefin-button-group__icon svg{width:16px;height:16px}.sefin-button-group--lg .sefin-button-group__icon svg{width:18px;height:18px}.sefin-button-group--disabled{opacity:.6;pointer-events:none;cursor:not-allowed}.sefin-button-group--disabled .sefin-button-group__button-item{cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "sefin-button", inputs: ["variant", "size", "disabled", "fullWidth", "type", "class"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
3739
3739
  }
3740
3740
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ButtonGroupComponent, decorators: [{
3741
3741
  type: Component,
3742
- args: [{ selector: 'sefin-button-group', standalone: true, imports: [CommonModule, ButtonComponent], changeDetection: ChangeDetectionStrategy.Default, template: "<div\n [class]=\"buttonGroupClasses\"\n role=\"group\"\n [attr.aria-label]=\"'Button group'\"\n>\n <sefin-button\n *ngFor=\"let option of options\"\n [variant]=\"getButtonVariant(option)\"\n [size]=\"size\"\n [disabled]=\"disabled || option.disabled\"\n [class]=\"getButtonClasses(option)\"\n (clicked)=\"handleButtonClick(option)($event)\"\n [attr.aria-pressed]=\"isSelected(option)\"\n [attr.aria-label]=\"option.label\"\n type=\"button\"\n >\n <span\n *ngIf=\"option.icon\"\n class=\"sefin-button-group__icon\"\n [innerHTML]=\"sanitizeHtml(option.icon)\"\n ></span>\n <span class=\"sefin-button-group__label\">{{ option.label }}</span>\n </sefin-button>\n</div>\n", styles: [".sefin-button-group{display:inline-flex;align-items:stretch;gap:0;font-family:var(--sefin-font-family-base);position:relative;border-radius:var(--sefin-radius-md);overflow:hidden;box-shadow:var(--sefin-shadow-sm);background-color:transparent;flex-wrap:nowrap}.sefin-button-group--full-width{display:flex;width:100%}.sefin-button-group--full-width .sefin-button-group__button-item{flex:1 1 0;min-width:0;width:0}.sefin-button-group__button-item{position:relative;border-radius:0!important;margin:0!important;flex:0 1 auto;min-width:fit-content;text-align:center;white-space:nowrap;border:none!important;box-shadow:none!important;-webkit-user-select:none;user-select:none;display:flex;align-items:stretch}.sefin-button-group__button-item ::ng-deep sefin-button,.sefin-button-group__button-item ::ng-deep .sefin-button{border-radius:0!important;margin:0!important;border:none!important;box-shadow:none!important;width:100%;height:100%;display:flex;align-items:center;justify-content:center;min-height:auto!important}.sefin-button-group__button-item ::ng-deep button{border-radius:0!important;margin:0!important;border:none!important;box-shadow:none!important;width:100%;height:100%;font-weight:var(--sefin-font-weight-medium);font-family:var(--sefin-font-family-base);line-height:var(--sefin-line-height-normal);cursor:pointer;outline:none;transition:all .2s ease-in-out}.sefin-button-group__button-item ::ng-deep button.sefin-button--primary,.sefin-button-group__button-item ::ng-deep button.sefin-button--secondary,.sefin-button-group__button-item ::ng-deep button.sefin-button--outline,.sefin-button-group__button-item ::ng-deep button.sefin-button--ghost,.sefin-button-group__button-item ::ng-deep button.sefin-button--danger{background-color:transparent!important;color:inherit!important;border:none!important}.sefin-button-group__button-item ::ng-deep button.sefin-button--primary:hover,.sefin-button-group__button-item ::ng-deep button.sefin-button--secondary:hover,.sefin-button-group__button-item ::ng-deep button.sefin-button--outline:hover,.sefin-button-group__button-item ::ng-deep button.sefin-button--ghost:hover,.sefin-button-group__button-item ::ng-deep button.sefin-button--danger:hover{background-color:transparent!important;color:inherit!important}.sefin-button-group__button-item ::ng-deep button.sefin-button--primary:active,.sefin-button-group__button-item ::ng-deep button.sefin-button--secondary:active,.sefin-button-group__button-item ::ng-deep button.sefin-button--outline:active,.sefin-button-group__button-item ::ng-deep button.sefin-button--ghost:active,.sefin-button-group__button-item ::ng-deep button.sefin-button--danger:active{background-color:transparent!important;color:inherit!important}.sefin-button-group__button-item:first-child ::ng-deep button{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.sefin-button-group__button-item:last-child ::ng-deep button{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.sefin-button-group__button-item:hover:not(:disabled){z-index:1}.sefin-button-group__button-item:focus-visible{z-index:2}.sefin-button-group__button-item:focus-visible ::ng-deep button{outline:2px solid var(--sefin-color-border-focus);outline-offset:-2px}.sefin-button-group__button-item:active:not(:disabled){transform:translateY(1px)}.sefin-button-group__button-item:active:not(:disabled) ::ng-deep button{transform:translateY(1px)}.sefin-button-group__button-item:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-button-group__button-item--sm ::ng-deep button{padding:var(--sefin-spacing-sm) var(--sefin-spacing-md)!important;font-size:var(--sefin-font-size-sm)!important;min-height:32px!important}.sefin-button-group__button-item--md ::ng-deep button{padding:var(--sefin-spacing-md) var(--sefin-spacing-lg)!important;font-size:var(--sefin-font-size-base)!important;min-height:40px!important}.sefin-button-group__button-item--lg ::ng-deep button{padding:var(--sefin-spacing-lg) var(--sefin-spacing-xl)!important;font-size:var(--sefin-font-size-lg)!important;min-height:48px!important}.sefin-button-group__label{display:inline-block;font-family:inherit}.sefin-button-group__icon{display:inline-flex;align-items:center;justify-content:center;margin-right:var(--sefin-spacing-xs);flex-shrink:0;font-family:inherit}.sefin-button-group__icon svg{display:block;width:16px;height:16px}.sefin-button-group--segmented{background-color:var(--sefin-color-surface);border:1px solid var(--sefin-color-border);padding:var(--sefin-spacing-xs);gap:var(--sefin-spacing-xs);overflow:visible;box-shadow:var(--sefin-shadow-sm);border-radius:var(--sefin-radius-md)}.sefin-button-group--segmented .sefin-button-group__button-item{border:1px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);color:var(--sefin-color-text);border-radius:var(--sefin-radius-sm);margin:0;transition:all .2s ease-in-out}.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button{border-radius:var(--sefin-radius-sm)!important;border:1px solid var(--sefin-color-border)!important;background-color:var(--sefin-color-surface)!important;color:var(--sefin-color-text)!important;transition:all .2s ease-in-out!important}.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--primary,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--secondary,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--outline,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--ghost,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--danger,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--primary,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--secondary,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--outline,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--ghost,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--danger{border:1px solid var(--sefin-color-border)!important;background-color:var(--sefin-color-surface)!important;color:var(--sefin-color-text)!important}.sefin-button-group--segmented .sefin-button-group__button-item--selected ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item--selected ::ng-deep button{background-color:var(--sefin-color-primary)!important;color:#fff!important;border-color:var(--sefin-color-primary)!important;box-shadow:var(--sefin-shadow-sm)!important}.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--primary ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--primary ::ng-deep button{background-color:var(--sefin-color-primary)!important;color:#fff!important;border-color:var(--sefin-color-primary)!important}.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--secondary ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--secondary ::ng-deep button{background-color:var(--sefin-color-secondary)!important;color:#fff!important;border-color:var(--sefin-color-secondary)!important}.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--outline ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--outline ::ng-deep button{background-color:var(--sefin-color-primary)!important;color:#fff!important;border-color:var(--sefin-color-primary)!important}.sefin-button-group--segmented .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected) ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected) ::ng-deep button{background-color:var(--sefin-color-surface)!important;color:var(--sefin-color-text)!important;border-color:var(--sefin-color-border)!important}.sefin-button-group--segmented .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected):hover:not(:disabled) ::ng-deep .sefin-button:hover,.sefin-button-group--segmented .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected):hover:not(:disabled) ::ng-deep button:hover{background-color:var(--sefin-color-surface-hover)!important;border-color:var(--sefin-color-primary)!important;color:var(--sefin-color-primary)!important}.sefin-button-group--segmented .sefin-button-group__button-item:hover:not(:disabled).sefin-button-group__button-item--selected.sefin-button-group__button-item--primary ::ng-deep .sefin-button:hover,.sefin-button-group--segmented .sefin-button-group__button-item:hover:not(:disabled).sefin-button-group__button-item--selected.sefin-button-group__button-item--primary ::ng-deep button:hover{background-color:var(--sefin-color-primary-dark)!important;border-color:var(--sefin-color-primary-dark)!important}.sefin-button-group--segmented .sefin-button-group__button-item:hover:not(:disabled).sefin-button-group__button-item--selected.sefin-button-group__button-item--secondary ::ng-deep .sefin-button:hover,.sefin-button-group--segmented .sefin-button-group__button-item:hover:not(:disabled).sefin-button-group__button-item--selected.sefin-button-group__button-item--secondary ::ng-deep button:hover{background-color:var(--sefin-color-secondary-dark)!important;border-color:var(--sefin-color-secondary-dark)!important}.sefin-button-group--default{background-color:var(--sefin-color-primary);border:1px solid var(--sefin-color-primary);box-shadow:var(--sefin-shadow-sm);padding:0}.sefin-button-group--default .sefin-button-group__button-item{border:none!important;border-radius:0!important;background-color:transparent!important;margin:0;box-shadow:none!important}.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button{border:none!important;border-radius:0!important;background-color:transparent!important;color:#fff!important;box-shadow:none!important}.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--primary,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--secondary,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--outline,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--ghost,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--danger,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--primary,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--secondary,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--outline,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--ghost,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--danger{border:none!important;background-color:transparent!important;color:#fff!important}.sefin-button-group--default .sefin-button-group__button-item--selected ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item--selected ::ng-deep button,.sefin-button-group--default .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected) ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected) ::ng-deep button{background-color:transparent!important;color:#fff!important}.sefin-button-group--default .sefin-button-group__button-item:hover:not(:disabled) ::ng-deep .sefin-button:hover,.sefin-button-group--default .sefin-button-group__button-item:hover:not(:disabled) ::ng-deep button:hover{background-color:#ffffff26!important}.sefin-button-group--default .sefin-button-group__button-item:active:not(:disabled) ::ng-deep .sefin-button:active,.sefin-button-group--default .sefin-button-group__button-item:active:not(:disabled) ::ng-deep button:active{background-color:#fff3!important;transform:translateY(0)!important}.sefin-button-group--default .sefin-button-group__button-item:not(:last-child):after{content:\"\";position:absolute;right:0;top:20%;bottom:20%;width:1px;background-color:#ffffff4d;pointer-events:none;z-index:1}.sefin-button-group--default .sefin-button-group__button-item--primary ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item--primary ::ng-deep button,.sefin-button-group--default .sefin-button-group__button-item--secondary ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item--secondary ::ng-deep button,.sefin-button-group--default .sefin-button-group__button-item--outline ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item--outline ::ng-deep button{background-color:transparent!important}.sefin-button-group--default.sefin-button-group--secondary{background-color:var(--sefin-color-secondary);border-color:var(--sefin-color-secondary)}.sefin-button-group--sm .sefin-button-group__icon svg{width:14px;height:14px}.sefin-button-group--md .sefin-button-group__icon svg{width:16px;height:16px}.sefin-button-group--lg .sefin-button-group__icon svg{width:18px;height:18px}.sefin-button-group--disabled{opacity:.6;pointer-events:none;cursor:not-allowed}.sefin-button-group--disabled .sefin-button-group__button-item{cursor:not-allowed}\n"] }]
3742
+ args: [{ selector: 'sefin-button-group', standalone: true, imports: [CommonModule, ButtonComponent], changeDetection: ChangeDetectionStrategy.Default, template: "<div\n [class]=\"buttonGroupClasses\"\n role=\"group\"\n [attr.aria-label]=\"'Button group'\"\n>\n <sefin-button\n *ngFor=\"let option of options\"\n [variant]=\"getButtonVariant(option)\"\n [size]=\"size\"\n [disabled]=\"disabled || option.disabled\"\n [class]=\"getButtonClasses(option)\"\n (clicked)=\"handleButtonClick(option)($event)\"\n [attr.aria-pressed]=\"isSelected(option)\"\n [attr.aria-label]=\"option.label\"\n type=\"button\"\n >\n <span\n *ngIf=\"option.icon\"\n class=\"sefin-button-group__icon\"\n [innerHTML]=\"sanitizeHtml(option.icon)\"\n ></span>\n <span class=\"sefin-button-group__label\">{{ option.label }}</span>\n </sefin-button>\n</div>\n", styles: [".sefin-button-group{display:flex;align-items:stretch;gap:0;width:100%;font-family:var(--sefin-font-family-base);position:relative;border-radius:var(--sefin-radius-md);overflow:hidden;box-shadow:var(--sefin-shadow-sm);background-color:transparent;flex-wrap:nowrap;box-sizing:border-box}.sefin-button-group--full-width{display:flex;width:100%}.sefin-button-group--full-width .sefin-button-group__button-item{flex:1 1 0;min-width:0;width:0}.sefin-button-group__button-item{position:relative;border-radius:0!important;margin:0!important;flex:0 1 auto;min-width:fit-content;text-align:center;white-space:nowrap;border:none!important;box-shadow:none!important;-webkit-user-select:none;user-select:none;display:flex;align-items:stretch}.sefin-button-group__button-item ::ng-deep sefin-button,.sefin-button-group__button-item ::ng-deep .sefin-button{border-radius:0!important;margin:0!important;border:none!important;box-shadow:none!important;width:100%;height:100%;display:flex;align-items:center;justify-content:center;min-height:auto!important}.sefin-button-group__button-item ::ng-deep button{border-radius:0!important;margin:0!important;border:none!important;box-shadow:none!important;width:100%;height:100%;font-weight:var(--sefin-font-weight-medium);font-family:var(--sefin-font-family-base);line-height:var(--sefin-line-height-normal);cursor:pointer;outline:none;transition:all .2s ease-in-out}.sefin-button-group__button-item ::ng-deep button.sefin-button--primary,.sefin-button-group__button-item ::ng-deep button.sefin-button--secondary,.sefin-button-group__button-item ::ng-deep button.sefin-button--outline,.sefin-button-group__button-item ::ng-deep button.sefin-button--ghost,.sefin-button-group__button-item ::ng-deep button.sefin-button--danger{background-color:transparent!important;color:inherit!important;border:none!important}.sefin-button-group__button-item ::ng-deep button.sefin-button--primary:hover,.sefin-button-group__button-item ::ng-deep button.sefin-button--secondary:hover,.sefin-button-group__button-item ::ng-deep button.sefin-button--outline:hover,.sefin-button-group__button-item ::ng-deep button.sefin-button--ghost:hover,.sefin-button-group__button-item ::ng-deep button.sefin-button--danger:hover{background-color:transparent!important;color:inherit!important}.sefin-button-group__button-item ::ng-deep button.sefin-button--primary:active,.sefin-button-group__button-item ::ng-deep button.sefin-button--secondary:active,.sefin-button-group__button-item ::ng-deep button.sefin-button--outline:active,.sefin-button-group__button-item ::ng-deep button.sefin-button--ghost:active,.sefin-button-group__button-item ::ng-deep button.sefin-button--danger:active{background-color:transparent!important;color:inherit!important}.sefin-button-group__button-item:first-child ::ng-deep button{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.sefin-button-group__button-item:last-child ::ng-deep button{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.sefin-button-group__button-item:hover:not(:disabled){z-index:1}.sefin-button-group__button-item:focus-visible{z-index:2}.sefin-button-group__button-item:focus-visible ::ng-deep button{outline:2px solid var(--sefin-color-border-focus);outline-offset:-2px}.sefin-button-group__button-item:active:not(:disabled){transform:translateY(1px)}.sefin-button-group__button-item:active:not(:disabled) ::ng-deep button{transform:translateY(1px)}.sefin-button-group__button-item:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-button-group__button-item--sm ::ng-deep button{padding:var(--sefin-spacing-sm) var(--sefin-spacing-md)!important;font-size:var(--sefin-font-size-sm)!important;min-height:32px!important}.sefin-button-group__button-item--md ::ng-deep button{padding:var(--sefin-spacing-md) var(--sefin-spacing-lg)!important;font-size:var(--sefin-font-size-base)!important;min-height:40px!important}.sefin-button-group__button-item--lg ::ng-deep button{padding:var(--sefin-spacing-lg) var(--sefin-spacing-xl)!important;font-size:var(--sefin-font-size-lg)!important;min-height:48px!important}.sefin-button-group__label{display:inline-block;font-family:inherit}.sefin-button-group__icon{display:inline-flex;align-items:center;justify-content:center;margin-right:var(--sefin-spacing-xs);flex-shrink:0;font-family:inherit}.sefin-button-group__icon svg{display:block;width:16px;height:16px}.sefin-button-group--segmented{background-color:var(--sefin-color-surface);border:1px solid var(--sefin-color-border);padding:var(--sefin-spacing-xs);gap:var(--sefin-spacing-xs);overflow:visible;box-shadow:var(--sefin-shadow-sm);border-radius:var(--sefin-radius-md)}.sefin-button-group--segmented .sefin-button-group__button-item{border:1px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);color:var(--sefin-color-text);border-radius:var(--sefin-radius-sm);margin:0;transition:all .2s ease-in-out}.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button{border-radius:var(--sefin-radius-sm)!important;border:1px solid var(--sefin-color-border)!important;background-color:var(--sefin-color-surface)!important;color:var(--sefin-color-text)!important;transition:all .2s ease-in-out!important}.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--primary,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--secondary,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--outline,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--ghost,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--danger,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--primary,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--secondary,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--outline,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--ghost,.sefin-button-group--segmented .sefin-button-group__button-item ::ng-deep button.sefin-button--danger{border:1px solid var(--sefin-color-border)!important;background-color:var(--sefin-color-surface)!important;color:var(--sefin-color-text)!important}.sefin-button-group--segmented .sefin-button-group__button-item--selected ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item--selected ::ng-deep button{background-color:var(--sefin-color-primary)!important;color:#fff!important;border-color:var(--sefin-color-primary)!important;box-shadow:var(--sefin-shadow-sm)!important}.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--primary ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--primary ::ng-deep button{background-color:var(--sefin-color-primary)!important;color:#fff!important;border-color:var(--sefin-color-primary)!important}.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--secondary ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--secondary ::ng-deep button{background-color:var(--sefin-color-secondary)!important;color:#fff!important;border-color:var(--sefin-color-secondary)!important}.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--outline ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item--selected.sefin-button-group__button-item--outline ::ng-deep button{background-color:var(--sefin-color-primary)!important;color:#fff!important;border-color:var(--sefin-color-primary)!important}.sefin-button-group--segmented .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected) ::ng-deep .sefin-button,.sefin-button-group--segmented .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected) ::ng-deep button{background-color:var(--sefin-color-surface)!important;color:var(--sefin-color-text)!important;border-color:var(--sefin-color-border)!important}.sefin-button-group--segmented .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected):hover:not(:disabled) ::ng-deep .sefin-button:hover,.sefin-button-group--segmented .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected):hover:not(:disabled) ::ng-deep button:hover{background-color:var(--sefin-color-surface-hover)!important;border-color:var(--sefin-color-primary)!important;color:var(--sefin-color-primary)!important}.sefin-button-group--segmented .sefin-button-group__button-item:hover:not(:disabled).sefin-button-group__button-item--selected.sefin-button-group__button-item--primary ::ng-deep .sefin-button:hover,.sefin-button-group--segmented .sefin-button-group__button-item:hover:not(:disabled).sefin-button-group__button-item--selected.sefin-button-group__button-item--primary ::ng-deep button:hover{background-color:var(--sefin-color-primary-dark)!important;border-color:var(--sefin-color-primary-dark)!important}.sefin-button-group--segmented .sefin-button-group__button-item:hover:not(:disabled).sefin-button-group__button-item--selected.sefin-button-group__button-item--secondary ::ng-deep .sefin-button:hover,.sefin-button-group--segmented .sefin-button-group__button-item:hover:not(:disabled).sefin-button-group__button-item--selected.sefin-button-group__button-item--secondary ::ng-deep button:hover{background-color:var(--sefin-color-secondary-dark)!important;border-color:var(--sefin-color-secondary-dark)!important}.sefin-button-group--default{background-color:var(--sefin-color-primary);border:1px solid var(--sefin-color-primary);box-shadow:var(--sefin-shadow-sm);padding:0}.sefin-button-group--default .sefin-button-group__button-item{border:none!important;border-radius:0!important;background-color:transparent!important;margin:0;box-shadow:none!important}.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button{border:none!important;border-radius:0!important;background-color:transparent!important;color:#fff!important;box-shadow:none!important}.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--primary,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--secondary,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--outline,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--ghost,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep .sefin-button.sefin-button--danger,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--primary,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--secondary,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--outline,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--ghost,.sefin-button-group--default .sefin-button-group__button-item ::ng-deep button.sefin-button--danger{border:none!important;background-color:transparent!important;color:#fff!important}.sefin-button-group--default .sefin-button-group__button-item--selected ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item--selected ::ng-deep button,.sefin-button-group--default .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected) ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item:not(.sefin-button-group__button-item--selected) ::ng-deep button{background-color:transparent!important;color:#fff!important}.sefin-button-group--default .sefin-button-group__button-item:hover:not(:disabled) ::ng-deep .sefin-button:hover,.sefin-button-group--default .sefin-button-group__button-item:hover:not(:disabled) ::ng-deep button:hover{background-color:#ffffff26!important}.sefin-button-group--default .sefin-button-group__button-item:active:not(:disabled) ::ng-deep .sefin-button:active,.sefin-button-group--default .sefin-button-group__button-item:active:not(:disabled) ::ng-deep button:active{background-color:#fff3!important;transform:translateY(0)!important}.sefin-button-group--default .sefin-button-group__button-item:not(:last-child):after{content:\"\";position:absolute;right:0;top:20%;bottom:20%;width:1px;background-color:#ffffff4d;pointer-events:none;z-index:1}.sefin-button-group--default .sefin-button-group__button-item--primary ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item--primary ::ng-deep button,.sefin-button-group--default .sefin-button-group__button-item--secondary ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item--secondary ::ng-deep button,.sefin-button-group--default .sefin-button-group__button-item--outline ::ng-deep .sefin-button,.sefin-button-group--default .sefin-button-group__button-item--outline ::ng-deep button{background-color:transparent!important}.sefin-button-group--default.sefin-button-group--secondary{background-color:var(--sefin-color-secondary);border-color:var(--sefin-color-secondary)}.sefin-button-group--sm .sefin-button-group__icon svg{width:14px;height:14px}.sefin-button-group--md .sefin-button-group__icon svg{width:16px;height:16px}.sefin-button-group--lg .sefin-button-group__icon svg{width:18px;height:18px}.sefin-button-group--disabled{opacity:.6;pointer-events:none;cursor:not-allowed}.sefin-button-group--disabled .sefin-button-group__button-item{cursor:not-allowed}\n"] }]
3743
3743
  }], ctorParameters: () => [{ type: i1$1.DomSanitizer }], propDecorators: { options: [{
3744
3744
  type: Input
3745
3745
  }], value: [{
@@ -4701,11 +4701,11 @@ class DropdownMenuComponent {
4701
4701
  return isMenuItem(item) && !!item.disabled;
4702
4702
  }
4703
4703
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DropdownMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4704
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: DropdownMenuComponent, isStandalone: true, selector: "sefin-dropdown-menu", inputs: { items: "items", header: "header", disabled: "disabled", placement: "placement", size: "size", open: "open", closeOnClick: "closeOnClick", class: "class" }, outputs: { opened: "opened", closed: "closed", itemClicked: "itemClicked" }, host: { listeners: { "document:click": "onClickOutside($event)", "document:keydown": "onKeyDown($event)" } }, queries: [{ propertyName: "triggerTemplate", first: true, predicate: ["triggerTemplate"], descendants: true }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true }, { propertyName: "menuRef", first: true, predicate: ["menuRef"], descendants: true }, { propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }], ngImport: i0, template: "<div [class]=\"containerClasses\" #containerRef>\n <!-- Trigger -->\n <div\n #triggerRef\n class=\"sefin-dropdown-menu__trigger\"\n (click)=\"toggleMenu()\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-disabled]=\"disabled\"\n role=\"button\"\n tabindex=\"0\"\n (keydown.enter)=\"toggleMenu()\"\n (keydown.space)=\"toggleMenu(); $event.preventDefault()\"\n >\n <ng-container *ngIf=\"triggerTemplate; else defaultTrigger\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultTrigger>\n <button\n type=\"button\"\n class=\"sefin-dropdown-menu__trigger-button\"\n [disabled]=\"disabled\"\n >\n Menu\n <sefin-icon\n name=\"chevron-down\"\n size=\"sm\"\n [rotate]=\"isOpen\"\n class=\"sefin-dropdown-menu__trigger-icon\"\n ></sefin-icon>\n </button>\n </ng-template>\n </div>\n\n <!-- Menu -->\n <div\n *ngIf=\"isOpen && (header || (items && items.length > 0))\"\n #menuRef\n [class]=\"menuClasses\"\n role=\"menu\"\n [attr.aria-label]=\"'Dropdown menu'\"\n >\n <!-- Header Section -->\n <div *ngIf=\"header\" class=\"sefin-dropdown-menu__header\">\n <div class=\"sefin-dropdown-menu__header-content\">\n <sefin-icon\n *ngIf=\"header.icon\"\n [name]=\"header.icon\"\n size=\"md\"\n class=\"sefin-dropdown-menu__header-icon\"\n ></sefin-icon>\n <div class=\"sefin-dropdown-menu__header-text\">\n <div class=\"sefin-dropdown-menu__header-title\">\n {{ header.title }}\n </div>\n <div\n *ngIf=\"header.subtitle\"\n class=\"sefin-dropdown-menu__header-subtitle\"\n >\n {{ header.subtitle }}\n </div>\n </div>\n </div>\n </div>\n\n <ul *ngIf=\"items && items.length > 0\" class=\"sefin-dropdown-menu__list\">\n <li\n *ngFor=\"let item of items; let i = index\"\n [attr.data-index]=\"i\"\n [class]=\"getItemClasses(item, i)\"\n [attr.role]=\"item.divider ? 'separator' : 'menuitem'\"\n [attr.aria-disabled]=\"isItemDisabled(item) ? true : null\"\n (click)=\"handleItemClick(item)\"\n (mouseenter)=\"selectedIndex = i\"\n >\n <ng-container *ngIf=\"!item.divider\">\n <div class=\"sefin-dropdown-menu__item-content\">\n <div *ngIf=\"getItemIcon(item)\" [class]=\"getIconWrapperClasses(item)\">\n <sefin-icon\n [name]=\"getItemIcon(item)!\"\n [size]=\"getIconSize()\"\n class=\"sefin-dropdown-menu__item-icon\"\n [class.sefin-dropdown-menu__item-icon--with-bg]=\"\n item.class?.includes('danger')\n \"\n ></sefin-icon>\n </div>\n <span class=\"sefin-dropdown-menu__item-label\">{{\n getItemLabel(item)\n }}</span>\n <sefin-icon\n *ngIf=\"hasSubmenu(item)\"\n name=\"chevron-right\"\n [size]=\"getIconSize()\"\n class=\"sefin-dropdown-menu__item-arrow\"\n ></sefin-icon>\n </div>\n <!-- Submenu -->\n <div\n *ngIf=\"hasSubmenu(item) && activeSubmenuIndex === i\"\n [class]=\"getSubmenuClasses(item, i)\"\n role=\"menu\"\n >\n <ul class=\"sefin-dropdown-menu__list\">\n <li\n *ngFor=\"let subItem of getItemSubmenu(item); let j = index\"\n [attr.data-index]=\"j\"\n [class]=\"getItemClasses(subItem, j)\"\n [attr.role]=\"subItem.divider ? 'separator' : 'menuitem'\"\n [attr.aria-disabled]=\"isItemDisabled(subItem) ? true : null\"\n (click)=\"handleItemClick(subItem); $event.stopPropagation()\"\n >\n <ng-container *ngIf=\"!subItem.divider\">\n <div class=\"sefin-dropdown-menu__item-content\">\n <div\n *ngIf=\"getItemIcon(subItem)\"\n [class]=\"getIconWrapperClasses(subItem)\"\n >\n <sefin-icon\n [name]=\"getItemIcon(subItem)!\"\n [size]=\"getIconSize()\"\n class=\"sefin-dropdown-menu__item-icon\"\n [class.sefin-dropdown-menu__item-icon--with-bg]=\"\n subItem.class?.includes('danger')\n \"\n ></sefin-icon>\n </div>\n <span class=\"sefin-dropdown-menu__item-label\">{{\n getItemLabel(subItem)\n }}</span>\n </div>\n </ng-container>\n </li>\n </ul>\n </div>\n </ng-container>\n </li>\n </ul>\n </div>\n</div>\n", styles: [".sefin-dropdown-menu{position:relative;display:inline-block;font-family:var(--sefin-font-family-base, \"Pluto\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif)}.sefin-dropdown-menu__trigger{display:inline-block;cursor:pointer;outline:none}.sefin-dropdown-menu__trigger:focus-visible{outline:2px solid var(--sefin-color-border-focus, #55C3D8);outline-offset:2px;border-radius:var(--sefin-radius-sm, 4px)}.sefin-dropdown-menu__trigger-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--sefin-spacing-sm);padding:var(--sefin-spacing-sm) var(--sefin-spacing-md);font-family:var(--sefin-font-family-base);font-size:var(--sefin-font-size-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);background-color:var(--sefin-color-surface);border:1px solid var(--sefin-color-border);border-radius:var(--sefin-radius-md);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none;min-height:40px;box-shadow:var(--sefin-shadow-sm)}.sefin-dropdown-menu__trigger-button:hover:not(:disabled){background-color:var(--sefin-color-surface-hover);border-color:var(--sefin-color-primary);box-shadow:var(--sefin-shadow-md);transform:translateY(-1px)}.sefin-dropdown-menu__trigger-button:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px;border-color:var(--sefin-color-border-focus);box-shadow:0 0 0 3px var(--sefin-color-primary-light)}.sefin-dropdown-menu__trigger-button:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-sm)}.sefin-dropdown-menu__trigger-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.sefin-dropdown-menu__trigger-icon{display:flex;align-items:center;justify-content:center;color:var(--sefin-color-text-secondary, #686868);flex-shrink:0}.sefin-dropdown-menu__menu{position:absolute;z-index:9999;min-width:200px;max-width:320px;background-color:var(--sefin-color-surface);border:1px solid var(--sefin-color-border);border-radius:var(--sefin-radius-md);box-shadow:var(--sefin-shadow-lg);overflow:hidden;animation:dropdownFadeIn .15s ease-out;box-sizing:border-box}.sefin-dropdown-menu__menu--bottom-start{top:calc(100% + var(--sefin-spacing-xs, 4px));left:0}.sefin-dropdown-menu__menu--bottom-end{top:calc(100% + var(--sefin-spacing-xs, 4px));right:0}.sefin-dropdown-menu__menu--top-start{bottom:calc(100% + var(--sefin-spacing-xs, 4px));left:0}.sefin-dropdown-menu__menu--top-end{bottom:calc(100% + var(--sefin-spacing-xs, 4px));right:0}.sefin-dropdown-menu__menu--left-start{right:calc(100% + var(--sefin-spacing-xs, 4px));top:0}.sefin-dropdown-menu__menu--left-end{right:calc(100% + var(--sefin-spacing-xs, 4px));bottom:0}.sefin-dropdown-menu__menu--right-start{left:calc(100% + var(--sefin-spacing-xs, 4px));top:0}.sefin-dropdown-menu__menu--right-end{left:calc(100% + var(--sefin-spacing-xs, 4px));bottom:0}.sefin-dropdown-menu__menu--sm{min-width:160px;font-size:var(--sefin-font-size-sm)}.sefin-dropdown-menu__menu--md{min-width:200px;font-size:var(--sefin-font-size-base)}.sefin-dropdown-menu__menu--lg{min-width:240px;font-size:var(--sefin-font-size-lg)}.sefin-dropdown-menu__header{padding:var(--sefin-spacing-md, 12px) var(--sefin-spacing-md, 16px);border-bottom:1px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);margin:0}.sefin-dropdown-menu__header-content{display:flex;align-items:center;gap:var(--sefin-spacing-md, 12px)}.sefin-dropdown-menu__header-icon{flex-shrink:0;color:var(--sefin-color-primary)}.sefin-dropdown-menu__header-text{flex:1;min-width:0}.sefin-dropdown-menu__header-title{font-family:var(--sefin-font-family-base);font-size:var(--sefin-font-size-sm, 14px);font-weight:var(--sefin-font-weight-medium, 500);line-height:var(--sefin-line-height-normal, 1.5);color:var(--sefin-color-text, #383838);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sefin-dropdown-menu__header-subtitle{font-family:var(--sefin-font-family-base);font-size:var(--sefin-font-size-xs, 12px);font-weight:var(--sefin-font-weight-normal, 400);line-height:var(--sefin-line-height-normal, 1.5);color:var(--sefin-color-text-secondary, #686868);margin:var(--sefin-spacing-xs, 2px) 0 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sefin-dropdown-menu__list{list-style:none;margin:0;padding:var(--sefin-spacing-xs, 4px) 0}.sefin-dropdown-menu__item{position:relative;display:block;width:100%;margin:0;padding:0;cursor:pointer;transition:background-color .15s ease-in-out,color .15s ease-in-out;-webkit-user-select:none;user-select:none;box-sizing:border-box}.sefin-dropdown-menu__item--divider{height:1px;margin:var(--sefin-spacing-xs, 4px) 0;padding:0;background-color:var(--sefin-color-border);cursor:default;pointer-events:none}.sefin-dropdown-menu__item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.sefin-dropdown-menu__item--selected:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled){background-color:var(--sefin-color-surface-hover)}.sefin-dropdown-menu__item--selected:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled) .sefin-dropdown-menu__item-label{color:var(--sefin-color-text)}.sefin-dropdown-menu__item--selected:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled) .sefin-dropdown-menu__item-icon{color:var(--sefin-color-text-secondary)}.sefin-dropdown-menu__item--has-submenu .sefin-dropdown-menu__item-content{padding-right:var(--sefin-spacing-md)}.sefin-dropdown-menu__item--submenu-open{background-color:var(--sefin-color-surface-hover)}.sefin-dropdown-menu__item--danger .sefin-dropdown-menu__item-label{color:var(--sefin-color-error)}.sefin-dropdown-menu__item--danger:hover:not(.sefin-dropdown-menu__item--danger--divider):not(.sefin-dropdown-menu__item--danger--disabled){background-color:#f443361a}.sefin-dropdown-menu__item--danger:hover:not(.sefin-dropdown-menu__item--danger--divider):not(.sefin-dropdown-menu__item--danger--disabled) .sefin-dropdown-menu__item-label{color:var(--sefin-color-error)}.sefin-dropdown-menu__item:hover:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled){background-color:var(--sefin-color-surface-hover)}.sefin-dropdown-menu__item:hover:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled) .sefin-dropdown-menu__item-icon{color:var(--sefin-color-text-secondary)}.sefin-dropdown-menu__item:hover:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled) .sefin-dropdown-menu__item-arrow{color:var(--sefin-color-text-secondary)}.sefin-dropdown-menu__item:active:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled){background-color:var(--sefin-color-surface-hover)}.sefin-dropdown-menu__item:focus-visible:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled){outline:2px solid var(--sefin-color-border-focus);outline-offset:-2px;border-radius:var(--sefin-radius-sm)}.sefin-dropdown-menu__item-content{display:flex;align-items:center;gap:var(--sefin-spacing-md, 12px);padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px);width:100%;box-sizing:border-box;position:relative}.sefin-dropdown-menu__menu--sm .sefin-dropdown-menu__item-content{padding:var(--sefin-spacing-xs, 6px) var(--sefin-spacing-sm, 12px);gap:var(--sefin-spacing-sm, 8px)}.sefin-dropdown-menu__menu--lg .sefin-dropdown-menu__item-content{padding:var(--sefin-spacing-md, 12px) var(--sefin-spacing-lg, 20px);gap:var(--sefin-spacing-md, 16px)}.sefin-dropdown-menu__icon-wrapper{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:auto;height:auto;transition:color .15s ease-in-out;background-color:transparent}.sefin-dropdown-menu__icon-wrapper--danger{background-color:transparent}.sefin-dropdown-menu__menu--sm .sefin-dropdown-menu__icon-wrapper,.sefin-dropdown-menu__menu--lg .sefin-dropdown-menu__icon-wrapper{width:auto;height:auto}.sefin-dropdown-menu__item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--sefin-color-text-secondary);transition:color .15s ease-in-out;opacity:.75}.sefin-dropdown-menu__item-icon--with-bg,.sefin-dropdown-menu__icon-wrapper--danger .sefin-dropdown-menu__item-icon{color:var(--sefin-color-error);opacity:1}.sefin-dropdown-menu__item-label{flex:1;font-family:var(--sefin-font-family-base);font-size:inherit;font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);text-align:left;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;transition:color .15s ease-in-out}.sefin-dropdown-menu__item-arrow{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--sefin-color-text-secondary);margin-left:auto;transition:color .15s ease-in-out;opacity:.6}.sefin-dropdown-menu__submenu{position:absolute;top:0;left:100%;margin-left:var(--sefin-spacing-sm, 8px);z-index:10000;min-width:200px;max-width:320px;background-color:var(--sefin-color-surface);border:1px solid var(--sefin-color-border);border-radius:var(--sefin-radius-md);box-shadow:var(--sefin-shadow-lg);animation:dropdownFadeIn .15s ease-out;box-sizing:border-box}.sefin-dropdown-menu__submenu--right-start,.sefin-dropdown-menu__submenu--right-end{left:auto;right:100%;margin-left:0;margin-right:var(--sefin-spacing-sm, 8px)}.sefin-dropdown-menu__submenu--top-start,.sefin-dropdown-menu__submenu--top-end{top:auto;bottom:0}.sefin-dropdown-menu__submenu--sm{min-width:160px;font-size:var(--sefin-font-size-sm)}.sefin-dropdown-menu__submenu--md{min-width:200px;font-size:var(--sefin-font-size-base)}.sefin-dropdown-menu__submenu--lg{min-width:240px;font-size:var(--sefin-font-size-lg)}.sefin-dropdown-menu--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-dropdown-menu--open .sefin-dropdown-menu__trigger-button{border-color:var(--sefin-color-primary)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "sefin-icon", inputs: ["name", "size", "color", "rotate", "flipH", "flipV", "class"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
4704
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: DropdownMenuComponent, isStandalone: true, selector: "sefin-dropdown-menu", inputs: { items: "items", header: "header", disabled: "disabled", placement: "placement", size: "size", open: "open", closeOnClick: "closeOnClick", class: "class" }, outputs: { opened: "opened", closed: "closed", itemClicked: "itemClicked" }, host: { listeners: { "document:click": "onClickOutside($event)", "document:keydown": "onKeyDown($event)" } }, queries: [{ propertyName: "triggerTemplate", first: true, predicate: ["triggerTemplate"], descendants: true }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true }, { propertyName: "menuRef", first: true, predicate: ["menuRef"], descendants: true }, { propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }], ngImport: i0, template: "<div [class]=\"containerClasses\" #containerRef>\n <!-- Trigger -->\n <div\n #triggerRef\n class=\"sefin-dropdown-menu__trigger\"\n (click)=\"toggleMenu()\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-disabled]=\"disabled\"\n role=\"button\"\n tabindex=\"0\"\n (keydown.enter)=\"toggleMenu()\"\n (keydown.space)=\"toggleMenu(); $event.preventDefault()\"\n >\n <ng-container *ngIf=\"triggerTemplate; else defaultTrigger\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultTrigger>\n <button\n type=\"button\"\n class=\"sefin-dropdown-menu__trigger-button\"\n [disabled]=\"disabled\"\n >\n Menu\n <sefin-icon\n name=\"chevron-down\"\n size=\"sm\"\n [rotate]=\"isOpen\"\n class=\"sefin-dropdown-menu__trigger-icon\"\n ></sefin-icon>\n </button>\n </ng-template>\n </div>\n\n <!-- Menu -->\n <div\n *ngIf=\"isOpen && (header || (items && items.length > 0))\"\n #menuRef\n [class]=\"menuClasses\"\n role=\"menu\"\n [attr.aria-label]=\"'Dropdown menu'\"\n >\n <!-- Header Section -->\n <div *ngIf=\"header\" class=\"sefin-dropdown-menu__header\">\n <div class=\"sefin-dropdown-menu__header-content\">\n <sefin-icon\n *ngIf=\"header.icon\"\n [name]=\"header.icon\"\n size=\"md\"\n class=\"sefin-dropdown-menu__header-icon\"\n ></sefin-icon>\n <div class=\"sefin-dropdown-menu__header-text\">\n <div class=\"sefin-dropdown-menu__header-title\">\n {{ header.title }}\n </div>\n <div\n *ngIf=\"header.subtitle\"\n class=\"sefin-dropdown-menu__header-subtitle\"\n >\n {{ header.subtitle }}\n </div>\n </div>\n </div>\n </div>\n\n <ul *ngIf=\"items && items.length > 0\" class=\"sefin-dropdown-menu__list\">\n <li\n *ngFor=\"let item of items; let i = index\"\n [attr.data-index]=\"i\"\n [class]=\"getItemClasses(item, i)\"\n [attr.role]=\"item.divider ? 'separator' : 'menuitem'\"\n [attr.aria-disabled]=\"isItemDisabled(item) ? true : null\"\n (click)=\"handleItemClick(item)\"\n (mouseenter)=\"selectedIndex = i\"\n >\n <ng-container *ngIf=\"!item.divider\">\n <div class=\"sefin-dropdown-menu__item-content\">\n <div *ngIf=\"getItemIcon(item)\" [class]=\"getIconWrapperClasses(item)\">\n <sefin-icon\n [name]=\"getItemIcon(item)!\"\n [size]=\"getIconSize()\"\n class=\"sefin-dropdown-menu__item-icon\"\n [class.sefin-dropdown-menu__item-icon--with-bg]=\"\n item.class?.includes('danger')\n \"\n ></sefin-icon>\n </div>\n <span class=\"sefin-dropdown-menu__item-label\">{{\n getItemLabel(item)\n }}</span>\n <sefin-icon\n *ngIf=\"hasSubmenu(item)\"\n name=\"chevron-right\"\n [size]=\"getIconSize()\"\n class=\"sefin-dropdown-menu__item-arrow\"\n ></sefin-icon>\n </div>\n <!-- Submenu -->\n <div\n *ngIf=\"hasSubmenu(item) && activeSubmenuIndex === i\"\n [class]=\"getSubmenuClasses(item, i)\"\n role=\"menu\"\n >\n <ul class=\"sefin-dropdown-menu__list\">\n <li\n *ngFor=\"let subItem of getItemSubmenu(item); let j = index\"\n [attr.data-index]=\"j\"\n [class]=\"getItemClasses(subItem, j)\"\n [attr.role]=\"subItem.divider ? 'separator' : 'menuitem'\"\n [attr.aria-disabled]=\"isItemDisabled(subItem) ? true : null\"\n (click)=\"handleItemClick(subItem); $event.stopPropagation()\"\n >\n <ng-container *ngIf=\"!subItem.divider\">\n <div class=\"sefin-dropdown-menu__item-content\">\n <div\n *ngIf=\"getItemIcon(subItem)\"\n [class]=\"getIconWrapperClasses(subItem)\"\n >\n <sefin-icon\n [name]=\"getItemIcon(subItem)!\"\n [size]=\"getIconSize()\"\n class=\"sefin-dropdown-menu__item-icon\"\n [class.sefin-dropdown-menu__item-icon--with-bg]=\"\n subItem.class?.includes('danger')\n \"\n ></sefin-icon>\n </div>\n <span class=\"sefin-dropdown-menu__item-label\">{{\n getItemLabel(subItem)\n }}</span>\n </div>\n </ng-container>\n </li>\n </ul>\n </div>\n </ng-container>\n </li>\n </ul>\n </div>\n</div>\n", styles: [".sefin-dropdown-menu{position:relative;display:block;width:100%;font-family:var(--sefin-font-family-base, \"Pluto\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif);box-sizing:border-box}.sefin-dropdown-menu__trigger{display:inline-block;cursor:pointer;outline:none}.sefin-dropdown-menu__trigger:focus-visible{outline:2px solid var(--sefin-color-border-focus, #55C3D8);outline-offset:2px;border-radius:var(--sefin-radius-sm, 4px)}.sefin-dropdown-menu__trigger-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--sefin-spacing-sm);padding:var(--sefin-spacing-sm) var(--sefin-spacing-md);font-family:var(--sefin-font-family-base);font-size:var(--sefin-font-size-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);background-color:var(--sefin-color-surface);border:1px solid var(--sefin-color-border);border-radius:var(--sefin-radius-md);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none;min-height:40px;box-shadow:var(--sefin-shadow-sm)}.sefin-dropdown-menu__trigger-button:hover:not(:disabled){background-color:var(--sefin-color-surface-hover);border-color:var(--sefin-color-primary);box-shadow:var(--sefin-shadow-md);transform:translateY(-1px)}.sefin-dropdown-menu__trigger-button:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px;border-color:var(--sefin-color-border-focus);box-shadow:0 0 0 3px var(--sefin-color-primary-light)}.sefin-dropdown-menu__trigger-button:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-sm)}.sefin-dropdown-menu__trigger-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.sefin-dropdown-menu__trigger-icon{display:flex;align-items:center;justify-content:center;color:var(--sefin-color-text-secondary, #686868);flex-shrink:0}.sefin-dropdown-menu__menu{position:absolute;z-index:9999;min-width:200px;max-width:320px;background-color:var(--sefin-color-surface);border:1px solid var(--sefin-color-border);border-radius:var(--sefin-radius-md);box-shadow:var(--sefin-shadow-lg);overflow:hidden;animation:dropdownFadeIn .15s ease-out;box-sizing:border-box}.sefin-dropdown-menu__menu--bottom-start{top:calc(100% + var(--sefin-spacing-xs, 4px));left:0}.sefin-dropdown-menu__menu--bottom-end{top:calc(100% + var(--sefin-spacing-xs, 4px));right:0}.sefin-dropdown-menu__menu--top-start{bottom:calc(100% + var(--sefin-spacing-xs, 4px));left:0}.sefin-dropdown-menu__menu--top-end{bottom:calc(100% + var(--sefin-spacing-xs, 4px));right:0}.sefin-dropdown-menu__menu--left-start{right:calc(100% + var(--sefin-spacing-xs, 4px));top:0}.sefin-dropdown-menu__menu--left-end{right:calc(100% + var(--sefin-spacing-xs, 4px));bottom:0}.sefin-dropdown-menu__menu--right-start{left:calc(100% + var(--sefin-spacing-xs, 4px));top:0}.sefin-dropdown-menu__menu--right-end{left:calc(100% + var(--sefin-spacing-xs, 4px));bottom:0}.sefin-dropdown-menu__menu--sm{min-width:160px;font-size:var(--sefin-font-size-sm)}.sefin-dropdown-menu__menu--md{min-width:200px;font-size:var(--sefin-font-size-base)}.sefin-dropdown-menu__menu--lg{min-width:240px;font-size:var(--sefin-font-size-lg)}.sefin-dropdown-menu__header{padding:var(--sefin-spacing-md, 12px) var(--sefin-spacing-md, 16px);border-bottom:1px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);margin:0}.sefin-dropdown-menu__header-content{display:flex;align-items:center;gap:var(--sefin-spacing-md, 12px)}.sefin-dropdown-menu__header-icon{flex-shrink:0;color:var(--sefin-color-primary)}.sefin-dropdown-menu__header-text{flex:1;min-width:0}.sefin-dropdown-menu__header-title{font-family:var(--sefin-font-family-base);font-size:var(--sefin-font-size-sm, 14px);font-weight:var(--sefin-font-weight-medium, 500);line-height:var(--sefin-line-height-normal, 1.5);color:var(--sefin-color-text, #383838);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sefin-dropdown-menu__header-subtitle{font-family:var(--sefin-font-family-base);font-size:var(--sefin-font-size-xs, 12px);font-weight:var(--sefin-font-weight-normal, 400);line-height:var(--sefin-line-height-normal, 1.5);color:var(--sefin-color-text-secondary, #686868);margin:var(--sefin-spacing-xs, 2px) 0 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sefin-dropdown-menu__list{list-style:none;margin:0;padding:var(--sefin-spacing-xs, 4px) 0}.sefin-dropdown-menu__item{position:relative;display:block;width:100%;margin:0;padding:0;cursor:pointer;transition:background-color .15s ease-in-out,color .15s ease-in-out;-webkit-user-select:none;user-select:none;box-sizing:border-box}.sefin-dropdown-menu__item--divider{height:1px;margin:var(--sefin-spacing-xs, 4px) 0;padding:0;background-color:var(--sefin-color-border);cursor:default;pointer-events:none}.sefin-dropdown-menu__item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.sefin-dropdown-menu__item--selected:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled){background-color:var(--sefin-color-surface-hover)}.sefin-dropdown-menu__item--selected:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled) .sefin-dropdown-menu__item-label{color:var(--sefin-color-text)}.sefin-dropdown-menu__item--selected:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled) .sefin-dropdown-menu__item-icon{color:var(--sefin-color-text-secondary)}.sefin-dropdown-menu__item--has-submenu .sefin-dropdown-menu__item-content{padding-right:var(--sefin-spacing-md)}.sefin-dropdown-menu__item--submenu-open{background-color:var(--sefin-color-surface-hover)}.sefin-dropdown-menu__item--danger .sefin-dropdown-menu__item-label{color:var(--sefin-color-error)}.sefin-dropdown-menu__item--danger:hover:not(.sefin-dropdown-menu__item--danger--divider):not(.sefin-dropdown-menu__item--danger--disabled){background-color:#f443361a}.sefin-dropdown-menu__item--danger:hover:not(.sefin-dropdown-menu__item--danger--divider):not(.sefin-dropdown-menu__item--danger--disabled) .sefin-dropdown-menu__item-label{color:var(--sefin-color-error)}.sefin-dropdown-menu__item:hover:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled){background-color:var(--sefin-color-surface-hover)}.sefin-dropdown-menu__item:hover:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled) .sefin-dropdown-menu__item-icon{color:var(--sefin-color-text-secondary)}.sefin-dropdown-menu__item:hover:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled) .sefin-dropdown-menu__item-arrow{color:var(--sefin-color-text-secondary)}.sefin-dropdown-menu__item:active:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled){background-color:var(--sefin-color-surface-hover)}.sefin-dropdown-menu__item:focus-visible:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled){outline:2px solid var(--sefin-color-border-focus);outline-offset:-2px;border-radius:var(--sefin-radius-sm)}.sefin-dropdown-menu__item-content{display:flex;align-items:center;gap:var(--sefin-spacing-md, 12px);padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px);width:100%;box-sizing:border-box;position:relative}.sefin-dropdown-menu__menu--sm .sefin-dropdown-menu__item-content{padding:var(--sefin-spacing-xs, 6px) var(--sefin-spacing-sm, 12px);gap:var(--sefin-spacing-sm, 8px)}.sefin-dropdown-menu__menu--lg .sefin-dropdown-menu__item-content{padding:var(--sefin-spacing-md, 12px) var(--sefin-spacing-lg, 20px);gap:var(--sefin-spacing-md, 16px)}.sefin-dropdown-menu__icon-wrapper{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:auto;height:auto;transition:color .15s ease-in-out;background-color:transparent}.sefin-dropdown-menu__icon-wrapper--danger{background-color:transparent}.sefin-dropdown-menu__menu--sm .sefin-dropdown-menu__icon-wrapper,.sefin-dropdown-menu__menu--lg .sefin-dropdown-menu__icon-wrapper{width:auto;height:auto}.sefin-dropdown-menu__item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--sefin-color-text-secondary);transition:color .15s ease-in-out;opacity:.75}.sefin-dropdown-menu__item-icon--with-bg,.sefin-dropdown-menu__icon-wrapper--danger .sefin-dropdown-menu__item-icon{color:var(--sefin-color-error);opacity:1}.sefin-dropdown-menu__item-label{flex:1;font-family:var(--sefin-font-family-base);font-size:inherit;font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);text-align:left;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;transition:color .15s ease-in-out}.sefin-dropdown-menu__item-arrow{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--sefin-color-text-secondary);margin-left:auto;transition:color .15s ease-in-out;opacity:.6}.sefin-dropdown-menu__submenu{position:absolute;top:0;left:100%;margin-left:var(--sefin-spacing-sm, 8px);z-index:10000;min-width:200px;max-width:320px;background-color:var(--sefin-color-surface);border:1px solid var(--sefin-color-border);border-radius:var(--sefin-radius-md);box-shadow:var(--sefin-shadow-lg);animation:dropdownFadeIn .15s ease-out;box-sizing:border-box}.sefin-dropdown-menu__submenu--right-start,.sefin-dropdown-menu__submenu--right-end{left:auto;right:100%;margin-left:0;margin-right:var(--sefin-spacing-sm, 8px)}.sefin-dropdown-menu__submenu--top-start,.sefin-dropdown-menu__submenu--top-end{top:auto;bottom:0}.sefin-dropdown-menu__submenu--sm{min-width:160px;font-size:var(--sefin-font-size-sm)}.sefin-dropdown-menu__submenu--md{min-width:200px;font-size:var(--sefin-font-size-base)}.sefin-dropdown-menu__submenu--lg{min-width:240px;font-size:var(--sefin-font-size-lg)}.sefin-dropdown-menu--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-dropdown-menu--open .sefin-dropdown-menu__trigger-button{border-color:var(--sefin-color-primary)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "sefin-icon", inputs: ["name", "size", "color", "rotate", "flipH", "flipV", "class"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
4705
4705
  }
4706
4706
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DropdownMenuComponent, decorators: [{
4707
4707
  type: Component,
4708
- args: [{ selector: 'sefin-dropdown-menu', standalone: true, imports: [CommonModule, IconComponent], changeDetection: ChangeDetectionStrategy.Default, template: "<div [class]=\"containerClasses\" #containerRef>\n <!-- Trigger -->\n <div\n #triggerRef\n class=\"sefin-dropdown-menu__trigger\"\n (click)=\"toggleMenu()\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-disabled]=\"disabled\"\n role=\"button\"\n tabindex=\"0\"\n (keydown.enter)=\"toggleMenu()\"\n (keydown.space)=\"toggleMenu(); $event.preventDefault()\"\n >\n <ng-container *ngIf=\"triggerTemplate; else defaultTrigger\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultTrigger>\n <button\n type=\"button\"\n class=\"sefin-dropdown-menu__trigger-button\"\n [disabled]=\"disabled\"\n >\n Menu\n <sefin-icon\n name=\"chevron-down\"\n size=\"sm\"\n [rotate]=\"isOpen\"\n class=\"sefin-dropdown-menu__trigger-icon\"\n ></sefin-icon>\n </button>\n </ng-template>\n </div>\n\n <!-- Menu -->\n <div\n *ngIf=\"isOpen && (header || (items && items.length > 0))\"\n #menuRef\n [class]=\"menuClasses\"\n role=\"menu\"\n [attr.aria-label]=\"'Dropdown menu'\"\n >\n <!-- Header Section -->\n <div *ngIf=\"header\" class=\"sefin-dropdown-menu__header\">\n <div class=\"sefin-dropdown-menu__header-content\">\n <sefin-icon\n *ngIf=\"header.icon\"\n [name]=\"header.icon\"\n size=\"md\"\n class=\"sefin-dropdown-menu__header-icon\"\n ></sefin-icon>\n <div class=\"sefin-dropdown-menu__header-text\">\n <div class=\"sefin-dropdown-menu__header-title\">\n {{ header.title }}\n </div>\n <div\n *ngIf=\"header.subtitle\"\n class=\"sefin-dropdown-menu__header-subtitle\"\n >\n {{ header.subtitle }}\n </div>\n </div>\n </div>\n </div>\n\n <ul *ngIf=\"items && items.length > 0\" class=\"sefin-dropdown-menu__list\">\n <li\n *ngFor=\"let item of items; let i = index\"\n [attr.data-index]=\"i\"\n [class]=\"getItemClasses(item, i)\"\n [attr.role]=\"item.divider ? 'separator' : 'menuitem'\"\n [attr.aria-disabled]=\"isItemDisabled(item) ? true : null\"\n (click)=\"handleItemClick(item)\"\n (mouseenter)=\"selectedIndex = i\"\n >\n <ng-container *ngIf=\"!item.divider\">\n <div class=\"sefin-dropdown-menu__item-content\">\n <div *ngIf=\"getItemIcon(item)\" [class]=\"getIconWrapperClasses(item)\">\n <sefin-icon\n [name]=\"getItemIcon(item)!\"\n [size]=\"getIconSize()\"\n class=\"sefin-dropdown-menu__item-icon\"\n [class.sefin-dropdown-menu__item-icon--with-bg]=\"\n item.class?.includes('danger')\n \"\n ></sefin-icon>\n </div>\n <span class=\"sefin-dropdown-menu__item-label\">{{\n getItemLabel(item)\n }}</span>\n <sefin-icon\n *ngIf=\"hasSubmenu(item)\"\n name=\"chevron-right\"\n [size]=\"getIconSize()\"\n class=\"sefin-dropdown-menu__item-arrow\"\n ></sefin-icon>\n </div>\n <!-- Submenu -->\n <div\n *ngIf=\"hasSubmenu(item) && activeSubmenuIndex === i\"\n [class]=\"getSubmenuClasses(item, i)\"\n role=\"menu\"\n >\n <ul class=\"sefin-dropdown-menu__list\">\n <li\n *ngFor=\"let subItem of getItemSubmenu(item); let j = index\"\n [attr.data-index]=\"j\"\n [class]=\"getItemClasses(subItem, j)\"\n [attr.role]=\"subItem.divider ? 'separator' : 'menuitem'\"\n [attr.aria-disabled]=\"isItemDisabled(subItem) ? true : null\"\n (click)=\"handleItemClick(subItem); $event.stopPropagation()\"\n >\n <ng-container *ngIf=\"!subItem.divider\">\n <div class=\"sefin-dropdown-menu__item-content\">\n <div\n *ngIf=\"getItemIcon(subItem)\"\n [class]=\"getIconWrapperClasses(subItem)\"\n >\n <sefin-icon\n [name]=\"getItemIcon(subItem)!\"\n [size]=\"getIconSize()\"\n class=\"sefin-dropdown-menu__item-icon\"\n [class.sefin-dropdown-menu__item-icon--with-bg]=\"\n subItem.class?.includes('danger')\n \"\n ></sefin-icon>\n </div>\n <span class=\"sefin-dropdown-menu__item-label\">{{\n getItemLabel(subItem)\n }}</span>\n </div>\n </ng-container>\n </li>\n </ul>\n </div>\n </ng-container>\n </li>\n </ul>\n </div>\n</div>\n", styles: [".sefin-dropdown-menu{position:relative;display:inline-block;font-family:var(--sefin-font-family-base, \"Pluto\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif)}.sefin-dropdown-menu__trigger{display:inline-block;cursor:pointer;outline:none}.sefin-dropdown-menu__trigger:focus-visible{outline:2px solid var(--sefin-color-border-focus, #55C3D8);outline-offset:2px;border-radius:var(--sefin-radius-sm, 4px)}.sefin-dropdown-menu__trigger-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--sefin-spacing-sm);padding:var(--sefin-spacing-sm) var(--sefin-spacing-md);font-family:var(--sefin-font-family-base);font-size:var(--sefin-font-size-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);background-color:var(--sefin-color-surface);border:1px solid var(--sefin-color-border);border-radius:var(--sefin-radius-md);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none;min-height:40px;box-shadow:var(--sefin-shadow-sm)}.sefin-dropdown-menu__trigger-button:hover:not(:disabled){background-color:var(--sefin-color-surface-hover);border-color:var(--sefin-color-primary);box-shadow:var(--sefin-shadow-md);transform:translateY(-1px)}.sefin-dropdown-menu__trigger-button:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px;border-color:var(--sefin-color-border-focus);box-shadow:0 0 0 3px var(--sefin-color-primary-light)}.sefin-dropdown-menu__trigger-button:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-sm)}.sefin-dropdown-menu__trigger-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.sefin-dropdown-menu__trigger-icon{display:flex;align-items:center;justify-content:center;color:var(--sefin-color-text-secondary, #686868);flex-shrink:0}.sefin-dropdown-menu__menu{position:absolute;z-index:9999;min-width:200px;max-width:320px;background-color:var(--sefin-color-surface);border:1px solid var(--sefin-color-border);border-radius:var(--sefin-radius-md);box-shadow:var(--sefin-shadow-lg);overflow:hidden;animation:dropdownFadeIn .15s ease-out;box-sizing:border-box}.sefin-dropdown-menu__menu--bottom-start{top:calc(100% + var(--sefin-spacing-xs, 4px));left:0}.sefin-dropdown-menu__menu--bottom-end{top:calc(100% + var(--sefin-spacing-xs, 4px));right:0}.sefin-dropdown-menu__menu--top-start{bottom:calc(100% + var(--sefin-spacing-xs, 4px));left:0}.sefin-dropdown-menu__menu--top-end{bottom:calc(100% + var(--sefin-spacing-xs, 4px));right:0}.sefin-dropdown-menu__menu--left-start{right:calc(100% + var(--sefin-spacing-xs, 4px));top:0}.sefin-dropdown-menu__menu--left-end{right:calc(100% + var(--sefin-spacing-xs, 4px));bottom:0}.sefin-dropdown-menu__menu--right-start{left:calc(100% + var(--sefin-spacing-xs, 4px));top:0}.sefin-dropdown-menu__menu--right-end{left:calc(100% + var(--sefin-spacing-xs, 4px));bottom:0}.sefin-dropdown-menu__menu--sm{min-width:160px;font-size:var(--sefin-font-size-sm)}.sefin-dropdown-menu__menu--md{min-width:200px;font-size:var(--sefin-font-size-base)}.sefin-dropdown-menu__menu--lg{min-width:240px;font-size:var(--sefin-font-size-lg)}.sefin-dropdown-menu__header{padding:var(--sefin-spacing-md, 12px) var(--sefin-spacing-md, 16px);border-bottom:1px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);margin:0}.sefin-dropdown-menu__header-content{display:flex;align-items:center;gap:var(--sefin-spacing-md, 12px)}.sefin-dropdown-menu__header-icon{flex-shrink:0;color:var(--sefin-color-primary)}.sefin-dropdown-menu__header-text{flex:1;min-width:0}.sefin-dropdown-menu__header-title{font-family:var(--sefin-font-family-base);font-size:var(--sefin-font-size-sm, 14px);font-weight:var(--sefin-font-weight-medium, 500);line-height:var(--sefin-line-height-normal, 1.5);color:var(--sefin-color-text, #383838);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sefin-dropdown-menu__header-subtitle{font-family:var(--sefin-font-family-base);font-size:var(--sefin-font-size-xs, 12px);font-weight:var(--sefin-font-weight-normal, 400);line-height:var(--sefin-line-height-normal, 1.5);color:var(--sefin-color-text-secondary, #686868);margin:var(--sefin-spacing-xs, 2px) 0 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sefin-dropdown-menu__list{list-style:none;margin:0;padding:var(--sefin-spacing-xs, 4px) 0}.sefin-dropdown-menu__item{position:relative;display:block;width:100%;margin:0;padding:0;cursor:pointer;transition:background-color .15s ease-in-out,color .15s ease-in-out;-webkit-user-select:none;user-select:none;box-sizing:border-box}.sefin-dropdown-menu__item--divider{height:1px;margin:var(--sefin-spacing-xs, 4px) 0;padding:0;background-color:var(--sefin-color-border);cursor:default;pointer-events:none}.sefin-dropdown-menu__item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.sefin-dropdown-menu__item--selected:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled){background-color:var(--sefin-color-surface-hover)}.sefin-dropdown-menu__item--selected:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled) .sefin-dropdown-menu__item-label{color:var(--sefin-color-text)}.sefin-dropdown-menu__item--selected:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled) .sefin-dropdown-menu__item-icon{color:var(--sefin-color-text-secondary)}.sefin-dropdown-menu__item--has-submenu .sefin-dropdown-menu__item-content{padding-right:var(--sefin-spacing-md)}.sefin-dropdown-menu__item--submenu-open{background-color:var(--sefin-color-surface-hover)}.sefin-dropdown-menu__item--danger .sefin-dropdown-menu__item-label{color:var(--sefin-color-error)}.sefin-dropdown-menu__item--danger:hover:not(.sefin-dropdown-menu__item--danger--divider):not(.sefin-dropdown-menu__item--danger--disabled){background-color:#f443361a}.sefin-dropdown-menu__item--danger:hover:not(.sefin-dropdown-menu__item--danger--divider):not(.sefin-dropdown-menu__item--danger--disabled) .sefin-dropdown-menu__item-label{color:var(--sefin-color-error)}.sefin-dropdown-menu__item:hover:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled){background-color:var(--sefin-color-surface-hover)}.sefin-dropdown-menu__item:hover:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled) .sefin-dropdown-menu__item-icon{color:var(--sefin-color-text-secondary)}.sefin-dropdown-menu__item:hover:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled) .sefin-dropdown-menu__item-arrow{color:var(--sefin-color-text-secondary)}.sefin-dropdown-menu__item:active:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled){background-color:var(--sefin-color-surface-hover)}.sefin-dropdown-menu__item:focus-visible:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled){outline:2px solid var(--sefin-color-border-focus);outline-offset:-2px;border-radius:var(--sefin-radius-sm)}.sefin-dropdown-menu__item-content{display:flex;align-items:center;gap:var(--sefin-spacing-md, 12px);padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px);width:100%;box-sizing:border-box;position:relative}.sefin-dropdown-menu__menu--sm .sefin-dropdown-menu__item-content{padding:var(--sefin-spacing-xs, 6px) var(--sefin-spacing-sm, 12px);gap:var(--sefin-spacing-sm, 8px)}.sefin-dropdown-menu__menu--lg .sefin-dropdown-menu__item-content{padding:var(--sefin-spacing-md, 12px) var(--sefin-spacing-lg, 20px);gap:var(--sefin-spacing-md, 16px)}.sefin-dropdown-menu__icon-wrapper{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:auto;height:auto;transition:color .15s ease-in-out;background-color:transparent}.sefin-dropdown-menu__icon-wrapper--danger{background-color:transparent}.sefin-dropdown-menu__menu--sm .sefin-dropdown-menu__icon-wrapper,.sefin-dropdown-menu__menu--lg .sefin-dropdown-menu__icon-wrapper{width:auto;height:auto}.sefin-dropdown-menu__item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--sefin-color-text-secondary);transition:color .15s ease-in-out;opacity:.75}.sefin-dropdown-menu__item-icon--with-bg,.sefin-dropdown-menu__icon-wrapper--danger .sefin-dropdown-menu__item-icon{color:var(--sefin-color-error);opacity:1}.sefin-dropdown-menu__item-label{flex:1;font-family:var(--sefin-font-family-base);font-size:inherit;font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);text-align:left;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;transition:color .15s ease-in-out}.sefin-dropdown-menu__item-arrow{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--sefin-color-text-secondary);margin-left:auto;transition:color .15s ease-in-out;opacity:.6}.sefin-dropdown-menu__submenu{position:absolute;top:0;left:100%;margin-left:var(--sefin-spacing-sm, 8px);z-index:10000;min-width:200px;max-width:320px;background-color:var(--sefin-color-surface);border:1px solid var(--sefin-color-border);border-radius:var(--sefin-radius-md);box-shadow:var(--sefin-shadow-lg);animation:dropdownFadeIn .15s ease-out;box-sizing:border-box}.sefin-dropdown-menu__submenu--right-start,.sefin-dropdown-menu__submenu--right-end{left:auto;right:100%;margin-left:0;margin-right:var(--sefin-spacing-sm, 8px)}.sefin-dropdown-menu__submenu--top-start,.sefin-dropdown-menu__submenu--top-end{top:auto;bottom:0}.sefin-dropdown-menu__submenu--sm{min-width:160px;font-size:var(--sefin-font-size-sm)}.sefin-dropdown-menu__submenu--md{min-width:200px;font-size:var(--sefin-font-size-base)}.sefin-dropdown-menu__submenu--lg{min-width:240px;font-size:var(--sefin-font-size-lg)}.sefin-dropdown-menu--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-dropdown-menu--open .sefin-dropdown-menu__trigger-button{border-color:var(--sefin-color-primary)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}\n"] }]
4708
+ args: [{ selector: 'sefin-dropdown-menu', standalone: true, imports: [CommonModule, IconComponent], changeDetection: ChangeDetectionStrategy.Default, template: "<div [class]=\"containerClasses\" #containerRef>\n <!-- Trigger -->\n <div\n #triggerRef\n class=\"sefin-dropdown-menu__trigger\"\n (click)=\"toggleMenu()\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-disabled]=\"disabled\"\n role=\"button\"\n tabindex=\"0\"\n (keydown.enter)=\"toggleMenu()\"\n (keydown.space)=\"toggleMenu(); $event.preventDefault()\"\n >\n <ng-container *ngIf=\"triggerTemplate; else defaultTrigger\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultTrigger>\n <button\n type=\"button\"\n class=\"sefin-dropdown-menu__trigger-button\"\n [disabled]=\"disabled\"\n >\n Menu\n <sefin-icon\n name=\"chevron-down\"\n size=\"sm\"\n [rotate]=\"isOpen\"\n class=\"sefin-dropdown-menu__trigger-icon\"\n ></sefin-icon>\n </button>\n </ng-template>\n </div>\n\n <!-- Menu -->\n <div\n *ngIf=\"isOpen && (header || (items && items.length > 0))\"\n #menuRef\n [class]=\"menuClasses\"\n role=\"menu\"\n [attr.aria-label]=\"'Dropdown menu'\"\n >\n <!-- Header Section -->\n <div *ngIf=\"header\" class=\"sefin-dropdown-menu__header\">\n <div class=\"sefin-dropdown-menu__header-content\">\n <sefin-icon\n *ngIf=\"header.icon\"\n [name]=\"header.icon\"\n size=\"md\"\n class=\"sefin-dropdown-menu__header-icon\"\n ></sefin-icon>\n <div class=\"sefin-dropdown-menu__header-text\">\n <div class=\"sefin-dropdown-menu__header-title\">\n {{ header.title }}\n </div>\n <div\n *ngIf=\"header.subtitle\"\n class=\"sefin-dropdown-menu__header-subtitle\"\n >\n {{ header.subtitle }}\n </div>\n </div>\n </div>\n </div>\n\n <ul *ngIf=\"items && items.length > 0\" class=\"sefin-dropdown-menu__list\">\n <li\n *ngFor=\"let item of items; let i = index\"\n [attr.data-index]=\"i\"\n [class]=\"getItemClasses(item, i)\"\n [attr.role]=\"item.divider ? 'separator' : 'menuitem'\"\n [attr.aria-disabled]=\"isItemDisabled(item) ? true : null\"\n (click)=\"handleItemClick(item)\"\n (mouseenter)=\"selectedIndex = i\"\n >\n <ng-container *ngIf=\"!item.divider\">\n <div class=\"sefin-dropdown-menu__item-content\">\n <div *ngIf=\"getItemIcon(item)\" [class]=\"getIconWrapperClasses(item)\">\n <sefin-icon\n [name]=\"getItemIcon(item)!\"\n [size]=\"getIconSize()\"\n class=\"sefin-dropdown-menu__item-icon\"\n [class.sefin-dropdown-menu__item-icon--with-bg]=\"\n item.class?.includes('danger')\n \"\n ></sefin-icon>\n </div>\n <span class=\"sefin-dropdown-menu__item-label\">{{\n getItemLabel(item)\n }}</span>\n <sefin-icon\n *ngIf=\"hasSubmenu(item)\"\n name=\"chevron-right\"\n [size]=\"getIconSize()\"\n class=\"sefin-dropdown-menu__item-arrow\"\n ></sefin-icon>\n </div>\n <!-- Submenu -->\n <div\n *ngIf=\"hasSubmenu(item) && activeSubmenuIndex === i\"\n [class]=\"getSubmenuClasses(item, i)\"\n role=\"menu\"\n >\n <ul class=\"sefin-dropdown-menu__list\">\n <li\n *ngFor=\"let subItem of getItemSubmenu(item); let j = index\"\n [attr.data-index]=\"j\"\n [class]=\"getItemClasses(subItem, j)\"\n [attr.role]=\"subItem.divider ? 'separator' : 'menuitem'\"\n [attr.aria-disabled]=\"isItemDisabled(subItem) ? true : null\"\n (click)=\"handleItemClick(subItem); $event.stopPropagation()\"\n >\n <ng-container *ngIf=\"!subItem.divider\">\n <div class=\"sefin-dropdown-menu__item-content\">\n <div\n *ngIf=\"getItemIcon(subItem)\"\n [class]=\"getIconWrapperClasses(subItem)\"\n >\n <sefin-icon\n [name]=\"getItemIcon(subItem)!\"\n [size]=\"getIconSize()\"\n class=\"sefin-dropdown-menu__item-icon\"\n [class.sefin-dropdown-menu__item-icon--with-bg]=\"\n subItem.class?.includes('danger')\n \"\n ></sefin-icon>\n </div>\n <span class=\"sefin-dropdown-menu__item-label\">{{\n getItemLabel(subItem)\n }}</span>\n </div>\n </ng-container>\n </li>\n </ul>\n </div>\n </ng-container>\n </li>\n </ul>\n </div>\n</div>\n", styles: [".sefin-dropdown-menu{position:relative;display:block;width:100%;font-family:var(--sefin-font-family-base, \"Pluto\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif);box-sizing:border-box}.sefin-dropdown-menu__trigger{display:inline-block;cursor:pointer;outline:none}.sefin-dropdown-menu__trigger:focus-visible{outline:2px solid var(--sefin-color-border-focus, #55C3D8);outline-offset:2px;border-radius:var(--sefin-radius-sm, 4px)}.sefin-dropdown-menu__trigger-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--sefin-spacing-sm);padding:var(--sefin-spacing-sm) var(--sefin-spacing-md);font-family:var(--sefin-font-family-base);font-size:var(--sefin-font-size-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);background-color:var(--sefin-color-surface);border:1px solid var(--sefin-color-border);border-radius:var(--sefin-radius-md);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none;min-height:40px;box-shadow:var(--sefin-shadow-sm)}.sefin-dropdown-menu__trigger-button:hover:not(:disabled){background-color:var(--sefin-color-surface-hover);border-color:var(--sefin-color-primary);box-shadow:var(--sefin-shadow-md);transform:translateY(-1px)}.sefin-dropdown-menu__trigger-button:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px;border-color:var(--sefin-color-border-focus);box-shadow:0 0 0 3px var(--sefin-color-primary-light)}.sefin-dropdown-menu__trigger-button:active:not(:disabled){transform:translateY(0);box-shadow:var(--sefin-shadow-sm)}.sefin-dropdown-menu__trigger-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.sefin-dropdown-menu__trigger-icon{display:flex;align-items:center;justify-content:center;color:var(--sefin-color-text-secondary, #686868);flex-shrink:0}.sefin-dropdown-menu__menu{position:absolute;z-index:9999;min-width:200px;max-width:320px;background-color:var(--sefin-color-surface);border:1px solid var(--sefin-color-border);border-radius:var(--sefin-radius-md);box-shadow:var(--sefin-shadow-lg);overflow:hidden;animation:dropdownFadeIn .15s ease-out;box-sizing:border-box}.sefin-dropdown-menu__menu--bottom-start{top:calc(100% + var(--sefin-spacing-xs, 4px));left:0}.sefin-dropdown-menu__menu--bottom-end{top:calc(100% + var(--sefin-spacing-xs, 4px));right:0}.sefin-dropdown-menu__menu--top-start{bottom:calc(100% + var(--sefin-spacing-xs, 4px));left:0}.sefin-dropdown-menu__menu--top-end{bottom:calc(100% + var(--sefin-spacing-xs, 4px));right:0}.sefin-dropdown-menu__menu--left-start{right:calc(100% + var(--sefin-spacing-xs, 4px));top:0}.sefin-dropdown-menu__menu--left-end{right:calc(100% + var(--sefin-spacing-xs, 4px));bottom:0}.sefin-dropdown-menu__menu--right-start{left:calc(100% + var(--sefin-spacing-xs, 4px));top:0}.sefin-dropdown-menu__menu--right-end{left:calc(100% + var(--sefin-spacing-xs, 4px));bottom:0}.sefin-dropdown-menu__menu--sm{min-width:160px;font-size:var(--sefin-font-size-sm)}.sefin-dropdown-menu__menu--md{min-width:200px;font-size:var(--sefin-font-size-base)}.sefin-dropdown-menu__menu--lg{min-width:240px;font-size:var(--sefin-font-size-lg)}.sefin-dropdown-menu__header{padding:var(--sefin-spacing-md, 12px) var(--sefin-spacing-md, 16px);border-bottom:1px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);margin:0}.sefin-dropdown-menu__header-content{display:flex;align-items:center;gap:var(--sefin-spacing-md, 12px)}.sefin-dropdown-menu__header-icon{flex-shrink:0;color:var(--sefin-color-primary)}.sefin-dropdown-menu__header-text{flex:1;min-width:0}.sefin-dropdown-menu__header-title{font-family:var(--sefin-font-family-base);font-size:var(--sefin-font-size-sm, 14px);font-weight:var(--sefin-font-weight-medium, 500);line-height:var(--sefin-line-height-normal, 1.5);color:var(--sefin-color-text, #383838);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sefin-dropdown-menu__header-subtitle{font-family:var(--sefin-font-family-base);font-size:var(--sefin-font-size-xs, 12px);font-weight:var(--sefin-font-weight-normal, 400);line-height:var(--sefin-line-height-normal, 1.5);color:var(--sefin-color-text-secondary, #686868);margin:var(--sefin-spacing-xs, 2px) 0 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sefin-dropdown-menu__list{list-style:none;margin:0;padding:var(--sefin-spacing-xs, 4px) 0}.sefin-dropdown-menu__item{position:relative;display:block;width:100%;margin:0;padding:0;cursor:pointer;transition:background-color .15s ease-in-out,color .15s ease-in-out;-webkit-user-select:none;user-select:none;box-sizing:border-box}.sefin-dropdown-menu__item--divider{height:1px;margin:var(--sefin-spacing-xs, 4px) 0;padding:0;background-color:var(--sefin-color-border);cursor:default;pointer-events:none}.sefin-dropdown-menu__item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.sefin-dropdown-menu__item--selected:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled){background-color:var(--sefin-color-surface-hover)}.sefin-dropdown-menu__item--selected:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled) .sefin-dropdown-menu__item-label{color:var(--sefin-color-text)}.sefin-dropdown-menu__item--selected:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled) .sefin-dropdown-menu__item-icon{color:var(--sefin-color-text-secondary)}.sefin-dropdown-menu__item--has-submenu .sefin-dropdown-menu__item-content{padding-right:var(--sefin-spacing-md)}.sefin-dropdown-menu__item--submenu-open{background-color:var(--sefin-color-surface-hover)}.sefin-dropdown-menu__item--danger .sefin-dropdown-menu__item-label{color:var(--sefin-color-error)}.sefin-dropdown-menu__item--danger:hover:not(.sefin-dropdown-menu__item--danger--divider):not(.sefin-dropdown-menu__item--danger--disabled){background-color:#f443361a}.sefin-dropdown-menu__item--danger:hover:not(.sefin-dropdown-menu__item--danger--divider):not(.sefin-dropdown-menu__item--danger--disabled) .sefin-dropdown-menu__item-label{color:var(--sefin-color-error)}.sefin-dropdown-menu__item:hover:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled){background-color:var(--sefin-color-surface-hover)}.sefin-dropdown-menu__item:hover:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled) .sefin-dropdown-menu__item-icon{color:var(--sefin-color-text-secondary)}.sefin-dropdown-menu__item:hover:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled) .sefin-dropdown-menu__item-arrow{color:var(--sefin-color-text-secondary)}.sefin-dropdown-menu__item:active:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled){background-color:var(--sefin-color-surface-hover)}.sefin-dropdown-menu__item:focus-visible:not(.sefin-dropdown-menu__item--divider):not(.sefin-dropdown-menu__item--disabled){outline:2px solid var(--sefin-color-border-focus);outline-offset:-2px;border-radius:var(--sefin-radius-sm)}.sefin-dropdown-menu__item-content{display:flex;align-items:center;gap:var(--sefin-spacing-md, 12px);padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px);width:100%;box-sizing:border-box;position:relative}.sefin-dropdown-menu__menu--sm .sefin-dropdown-menu__item-content{padding:var(--sefin-spacing-xs, 6px) var(--sefin-spacing-sm, 12px);gap:var(--sefin-spacing-sm, 8px)}.sefin-dropdown-menu__menu--lg .sefin-dropdown-menu__item-content{padding:var(--sefin-spacing-md, 12px) var(--sefin-spacing-lg, 20px);gap:var(--sefin-spacing-md, 16px)}.sefin-dropdown-menu__icon-wrapper{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:auto;height:auto;transition:color .15s ease-in-out;background-color:transparent}.sefin-dropdown-menu__icon-wrapper--danger{background-color:transparent}.sefin-dropdown-menu__menu--sm .sefin-dropdown-menu__icon-wrapper,.sefin-dropdown-menu__menu--lg .sefin-dropdown-menu__icon-wrapper{width:auto;height:auto}.sefin-dropdown-menu__item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--sefin-color-text-secondary);transition:color .15s ease-in-out;opacity:.75}.sefin-dropdown-menu__item-icon--with-bg,.sefin-dropdown-menu__icon-wrapper--danger .sefin-dropdown-menu__item-icon{color:var(--sefin-color-error);opacity:1}.sefin-dropdown-menu__item-label{flex:1;font-family:var(--sefin-font-family-base);font-size:inherit;font-weight:var(--sefin-font-weight-normal);line-height:var(--sefin-line-height-normal);color:var(--sefin-color-text);text-align:left;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;transition:color .15s ease-in-out}.sefin-dropdown-menu__item-arrow{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--sefin-color-text-secondary);margin-left:auto;transition:color .15s ease-in-out;opacity:.6}.sefin-dropdown-menu__submenu{position:absolute;top:0;left:100%;margin-left:var(--sefin-spacing-sm, 8px);z-index:10000;min-width:200px;max-width:320px;background-color:var(--sefin-color-surface);border:1px solid var(--sefin-color-border);border-radius:var(--sefin-radius-md);box-shadow:var(--sefin-shadow-lg);animation:dropdownFadeIn .15s ease-out;box-sizing:border-box}.sefin-dropdown-menu__submenu--right-start,.sefin-dropdown-menu__submenu--right-end{left:auto;right:100%;margin-left:0;margin-right:var(--sefin-spacing-sm, 8px)}.sefin-dropdown-menu__submenu--top-start,.sefin-dropdown-menu__submenu--top-end{top:auto;bottom:0}.sefin-dropdown-menu__submenu--sm{min-width:160px;font-size:var(--sefin-font-size-sm)}.sefin-dropdown-menu__submenu--md{min-width:200px;font-size:var(--sefin-font-size-base)}.sefin-dropdown-menu__submenu--lg{min-width:240px;font-size:var(--sefin-font-size-lg)}.sefin-dropdown-menu--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sefin-dropdown-menu--open .sefin-dropdown-menu__trigger-button{border-color:var(--sefin-color-primary)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}\n"] }]
4709
4709
  }], propDecorators: { containerRef: [{
4710
4710
  type: ViewChild,
4711
4711
  args: ['containerRef', { static: false }]
@@ -5301,11 +5301,11 @@ class PaginationComponent {
5301
5301
  return this.isCurrentPage(page) ? 'page' : null;
5302
5302
  }
5303
5303
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5304
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: PaginationComponent, isStandalone: true, selector: "sefin-pagination", inputs: { currentPage: "currentPage", totalPages: "totalPages", totalItems: "totalItems", itemsPerPage: "itemsPerPage", siblingCount: "siblingCount", showFirstLast: "showFirstLast", showPrevNext: "showPrevNext", size: "size", variant: "variant", class: "class" }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<nav [class]=\"paginationClasses\" aria-label=\"Pagination Navigation\">\n <ul class=\"sefin-pagination__list\">\n <!-- First button -->\n <li *ngIf=\"showFirstLast\" class=\"sefin-pagination__item\">\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--nav\"\n [disabled]=\"currentPage <= 1\"\n (click)=\"goToFirst()\"\n aria-label=\"Go to first page\"\n [attr.aria-disabled]=\"currentPage <= 1\"\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11 17L6 12L11 7M18 17L13 12L18 7\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </li>\n\n <!-- Previous button -->\n <li *ngIf=\"showPrevNext\" class=\"sefin-pagination__item\">\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--nav\"\n [disabled]=\"isDisabled('prev')\"\n (click)=\"goToPrevious()\"\n aria-label=\"Go to previous page\"\n [attr.aria-disabled]=\"isDisabled('prev')\"\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15 18L9 12L15 6\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </li>\n\n <!-- Page numbers -->\n <li\n *ngFor=\"let page of pageNumbers(); let i = index\"\n class=\"sefin-pagination__item\"\n >\n <ng-container *ngIf=\"isEllipsis(page); else pageButton\">\n <span class=\"sefin-pagination__ellipsis\" aria-hidden=\"true\">...</span>\n </ng-container>\n <ng-template #pageButton>\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--page\"\n [class.sefin-pagination__button--active]=\"isCurrentPage(page)\"\n (click)=\"goToPage(page)\"\n [attr.aria-label]=\"'Go to page ' + page\"\n [attr.aria-current]=\"getAriaCurrent(page)\"\n >\n {{ page }}\n </button>\n </ng-template>\n </li>\n\n <!-- Next button -->\n <li *ngIf=\"showPrevNext\" class=\"sefin-pagination__item\">\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--nav\"\n [disabled]=\"isDisabled('next')\"\n (click)=\"goToNext()\"\n aria-label=\"Go to next page\"\n [attr.aria-disabled]=\"isDisabled('next')\"\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9 18L15 12L9 6\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </li>\n\n <!-- Last button -->\n <li *ngIf=\"showFirstLast\" class=\"sefin-pagination__item\">\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--nav\"\n [disabled]=\"currentPage >= computedTotalPages()\"\n (click)=\"goToLast()\"\n aria-label=\"Go to last page\"\n [attr.aria-disabled]=\"currentPage >= computedTotalPages()\"\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13 17L18 12L13 7M6 17L11 12L6 7\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".sefin-pagination{display:inline-flex;font-family:var(--sefin-font-family-base)}.sefin-pagination__list{display:flex;align-items:center;gap:var(--sefin-spacing-xs, 4px);list-style:none;margin:0;padding:0}.sefin-pagination__item{display:inline-flex;align-items:center}.sefin-pagination__button{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border:1px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);color:var(--sefin-color-text);cursor:pointer;outline:none;transition:all .2s ease-in-out;border-radius:var(--sefin-radius-md);-webkit-user-select:none;user-select:none}.sefin-pagination__button:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-pagination__button:hover:not(:disabled):not(.sefin-pagination__button--active){background-color:var(--sefin-color-surface-hover);border-color:var(--sefin-color-primary);color:var(--sefin-color-primary)}.sefin-pagination__button:active:not(:disabled){transform:translateY(1px)}.sefin-pagination__button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.sefin-pagination__button--page{min-width:40px;text-align:center}.sefin-pagination__button--active{background-color:var(--sefin-color-primary);border-color:var(--sefin-color-primary);color:#fff;font-weight:var(--sefin-font-weight-semibold)}.sefin-pagination__button--active:hover{background-color:var(--sefin-color-primary-dark);border-color:var(--sefin-color-primary-dark);color:#fff}.sefin-pagination__button--nav{padding:0}.sefin-pagination__button svg{display:block;width:16px;height:16px;flex-shrink:0}.sefin-pagination__ellipsis{display:inline-flex;align-items:center;justify-content:center;color:var(--sefin-color-text-secondary);padding:0 var(--sefin-spacing-sm, 8px);-webkit-user-select:none;user-select:none;min-width:40px}.sefin-pagination--sm .sefin-pagination__button{padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-sm, 14px);min-height:32px}.sefin-pagination--sm .sefin-pagination__button--page{min-width:32px}.sefin-pagination--sm .sefin-pagination__button svg{width:14px;height:14px}.sefin-pagination--sm .sefin-pagination__ellipsis{font-size:var(--sefin-font-size-sm, 14px);min-width:32px}.sefin-pagination--md .sefin-pagination__button{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px);font-size:var(--sefin-font-size-base, 16px);min-height:40px}.sefin-pagination--md .sefin-pagination__button--page{min-width:40px}.sefin-pagination--md .sefin-pagination__button svg{width:16px;height:16px}.sefin-pagination--md .sefin-pagination__ellipsis{font-size:var(--sefin-font-size-base, 16px);min-width:40px}.sefin-pagination--lg .sefin-pagination__button{padding:var(--sefin-spacing-md, 16px) var(--sefin-spacing-lg, 24px);font-size:var(--sefin-font-size-lg, 18px);min-height:48px}.sefin-pagination--lg .sefin-pagination__button--page{min-width:48px}.sefin-pagination--lg .sefin-pagination__button svg{width:18px;height:18px}.sefin-pagination--lg .sefin-pagination__ellipsis{font-size:var(--sefin-font-size-lg, 18px);min-width:48px}.sefin-pagination--compact .sefin-pagination__button--page{min-width:auto;padding-left:var(--sefin-spacing-sm, 8px);padding-right:var(--sefin-spacing-sm, 8px)}.sefin-pagination--compact .sefin-pagination__ellipsis{min-width:auto;padding:0 var(--sefin-spacing-xs, 4px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5304
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: PaginationComponent, isStandalone: true, selector: "sefin-pagination", inputs: { currentPage: "currentPage", totalPages: "totalPages", totalItems: "totalItems", itemsPerPage: "itemsPerPage", siblingCount: "siblingCount", showFirstLast: "showFirstLast", showPrevNext: "showPrevNext", size: "size", variant: "variant", class: "class" }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<nav [class]=\"paginationClasses\" aria-label=\"Pagination Navigation\">\n <ul class=\"sefin-pagination__list\">\n <!-- First button -->\n <li *ngIf=\"showFirstLast\" class=\"sefin-pagination__item\">\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--nav\"\n [disabled]=\"currentPage <= 1\"\n (click)=\"goToFirst()\"\n aria-label=\"Go to first page\"\n [attr.aria-disabled]=\"currentPage <= 1\"\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11 17L6 12L11 7M18 17L13 12L18 7\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </li>\n\n <!-- Previous button -->\n <li *ngIf=\"showPrevNext\" class=\"sefin-pagination__item\">\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--nav\"\n [disabled]=\"isDisabled('prev')\"\n (click)=\"goToPrevious()\"\n aria-label=\"Go to previous page\"\n [attr.aria-disabled]=\"isDisabled('prev')\"\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15 18L9 12L15 6\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </li>\n\n <!-- Page numbers -->\n <li\n *ngFor=\"let page of pageNumbers(); let i = index\"\n class=\"sefin-pagination__item\"\n >\n <ng-container *ngIf=\"isEllipsis(page); else pageButton\">\n <span class=\"sefin-pagination__ellipsis\" aria-hidden=\"true\">...</span>\n </ng-container>\n <ng-template #pageButton>\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--page\"\n [class.sefin-pagination__button--active]=\"isCurrentPage(page)\"\n (click)=\"goToPage(page)\"\n [attr.aria-label]=\"'Go to page ' + page\"\n [attr.aria-current]=\"getAriaCurrent(page)\"\n >\n {{ page }}\n </button>\n </ng-template>\n </li>\n\n <!-- Next button -->\n <li *ngIf=\"showPrevNext\" class=\"sefin-pagination__item\">\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--nav\"\n [disabled]=\"isDisabled('next')\"\n (click)=\"goToNext()\"\n aria-label=\"Go to next page\"\n [attr.aria-disabled]=\"isDisabled('next')\"\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9 18L15 12L9 6\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </li>\n\n <!-- Last button -->\n <li *ngIf=\"showFirstLast\" class=\"sefin-pagination__item\">\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--nav\"\n [disabled]=\"currentPage >= computedTotalPages()\"\n (click)=\"goToLast()\"\n aria-label=\"Go to last page\"\n [attr.aria-disabled]=\"currentPage >= computedTotalPages()\"\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13 17L18 12L13 7M6 17L11 12L6 7\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".sefin-pagination{display:flex;width:100%;font-family:var(--sefin-font-family-base);box-sizing:border-box}.sefin-pagination__list{display:flex;align-items:center;gap:var(--sefin-spacing-xs, 4px);list-style:none;margin:0;padding:0}.sefin-pagination__item{display:inline-flex;align-items:center}.sefin-pagination__button{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border:1px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);color:var(--sefin-color-text);cursor:pointer;outline:none;transition:all .2s ease-in-out;border-radius:var(--sefin-radius-md);-webkit-user-select:none;user-select:none}.sefin-pagination__button:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-pagination__button:hover:not(:disabled):not(.sefin-pagination__button--active){background-color:var(--sefin-color-surface-hover);border-color:var(--sefin-color-primary);color:var(--sefin-color-primary)}.sefin-pagination__button:active:not(:disabled){transform:translateY(1px)}.sefin-pagination__button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.sefin-pagination__button--page{min-width:40px;text-align:center}.sefin-pagination__button--active{background-color:var(--sefin-color-primary);border-color:var(--sefin-color-primary);color:#fff;font-weight:var(--sefin-font-weight-semibold)}.sefin-pagination__button--active:hover{background-color:var(--sefin-color-primary-dark);border-color:var(--sefin-color-primary-dark);color:#fff}.sefin-pagination__button--nav{padding:0}.sefin-pagination__button svg{display:block;width:16px;height:16px;flex-shrink:0}.sefin-pagination__ellipsis{display:inline-flex;align-items:center;justify-content:center;color:var(--sefin-color-text-secondary);padding:0 var(--sefin-spacing-sm, 8px);-webkit-user-select:none;user-select:none;min-width:40px}.sefin-pagination--sm .sefin-pagination__button{padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-sm, 14px);min-height:32px}.sefin-pagination--sm .sefin-pagination__button--page{min-width:32px}.sefin-pagination--sm .sefin-pagination__button svg{width:14px;height:14px}.sefin-pagination--sm .sefin-pagination__ellipsis{font-size:var(--sefin-font-size-sm, 14px);min-width:32px}.sefin-pagination--md .sefin-pagination__button{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px);font-size:var(--sefin-font-size-base, 16px);min-height:40px}.sefin-pagination--md .sefin-pagination__button--page{min-width:40px}.sefin-pagination--md .sefin-pagination__button svg{width:16px;height:16px}.sefin-pagination--md .sefin-pagination__ellipsis{font-size:var(--sefin-font-size-base, 16px);min-width:40px}.sefin-pagination--lg .sefin-pagination__button{padding:var(--sefin-spacing-md, 16px) var(--sefin-spacing-lg, 24px);font-size:var(--sefin-font-size-lg, 18px);min-height:48px}.sefin-pagination--lg .sefin-pagination__button--page{min-width:48px}.sefin-pagination--lg .sefin-pagination__button svg{width:18px;height:18px}.sefin-pagination--lg .sefin-pagination__ellipsis{font-size:var(--sefin-font-size-lg, 18px);min-width:48px}.sefin-pagination--compact .sefin-pagination__button--page{min-width:auto;padding-left:var(--sefin-spacing-sm, 8px);padding-right:var(--sefin-spacing-sm, 8px)}.sefin-pagination--compact .sefin-pagination__ellipsis{min-width:auto;padding:0 var(--sefin-spacing-xs, 4px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5305
5305
  }
5306
5306
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: PaginationComponent, decorators: [{
5307
5307
  type: Component,
5308
- args: [{ selector: 'sefin-pagination', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav [class]=\"paginationClasses\" aria-label=\"Pagination Navigation\">\n <ul class=\"sefin-pagination__list\">\n <!-- First button -->\n <li *ngIf=\"showFirstLast\" class=\"sefin-pagination__item\">\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--nav\"\n [disabled]=\"currentPage <= 1\"\n (click)=\"goToFirst()\"\n aria-label=\"Go to first page\"\n [attr.aria-disabled]=\"currentPage <= 1\"\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11 17L6 12L11 7M18 17L13 12L18 7\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </li>\n\n <!-- Previous button -->\n <li *ngIf=\"showPrevNext\" class=\"sefin-pagination__item\">\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--nav\"\n [disabled]=\"isDisabled('prev')\"\n (click)=\"goToPrevious()\"\n aria-label=\"Go to previous page\"\n [attr.aria-disabled]=\"isDisabled('prev')\"\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15 18L9 12L15 6\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </li>\n\n <!-- Page numbers -->\n <li\n *ngFor=\"let page of pageNumbers(); let i = index\"\n class=\"sefin-pagination__item\"\n >\n <ng-container *ngIf=\"isEllipsis(page); else pageButton\">\n <span class=\"sefin-pagination__ellipsis\" aria-hidden=\"true\">...</span>\n </ng-container>\n <ng-template #pageButton>\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--page\"\n [class.sefin-pagination__button--active]=\"isCurrentPage(page)\"\n (click)=\"goToPage(page)\"\n [attr.aria-label]=\"'Go to page ' + page\"\n [attr.aria-current]=\"getAriaCurrent(page)\"\n >\n {{ page }}\n </button>\n </ng-template>\n </li>\n\n <!-- Next button -->\n <li *ngIf=\"showPrevNext\" class=\"sefin-pagination__item\">\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--nav\"\n [disabled]=\"isDisabled('next')\"\n (click)=\"goToNext()\"\n aria-label=\"Go to next page\"\n [attr.aria-disabled]=\"isDisabled('next')\"\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9 18L15 12L9 6\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </li>\n\n <!-- Last button -->\n <li *ngIf=\"showFirstLast\" class=\"sefin-pagination__item\">\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--nav\"\n [disabled]=\"currentPage >= computedTotalPages()\"\n (click)=\"goToLast()\"\n aria-label=\"Go to last page\"\n [attr.aria-disabled]=\"currentPage >= computedTotalPages()\"\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13 17L18 12L13 7M6 17L11 12L6 7\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".sefin-pagination{display:inline-flex;font-family:var(--sefin-font-family-base)}.sefin-pagination__list{display:flex;align-items:center;gap:var(--sefin-spacing-xs, 4px);list-style:none;margin:0;padding:0}.sefin-pagination__item{display:inline-flex;align-items:center}.sefin-pagination__button{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border:1px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);color:var(--sefin-color-text);cursor:pointer;outline:none;transition:all .2s ease-in-out;border-radius:var(--sefin-radius-md);-webkit-user-select:none;user-select:none}.sefin-pagination__button:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-pagination__button:hover:not(:disabled):not(.sefin-pagination__button--active){background-color:var(--sefin-color-surface-hover);border-color:var(--sefin-color-primary);color:var(--sefin-color-primary)}.sefin-pagination__button:active:not(:disabled){transform:translateY(1px)}.sefin-pagination__button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.sefin-pagination__button--page{min-width:40px;text-align:center}.sefin-pagination__button--active{background-color:var(--sefin-color-primary);border-color:var(--sefin-color-primary);color:#fff;font-weight:var(--sefin-font-weight-semibold)}.sefin-pagination__button--active:hover{background-color:var(--sefin-color-primary-dark);border-color:var(--sefin-color-primary-dark);color:#fff}.sefin-pagination__button--nav{padding:0}.sefin-pagination__button svg{display:block;width:16px;height:16px;flex-shrink:0}.sefin-pagination__ellipsis{display:inline-flex;align-items:center;justify-content:center;color:var(--sefin-color-text-secondary);padding:0 var(--sefin-spacing-sm, 8px);-webkit-user-select:none;user-select:none;min-width:40px}.sefin-pagination--sm .sefin-pagination__button{padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-sm, 14px);min-height:32px}.sefin-pagination--sm .sefin-pagination__button--page{min-width:32px}.sefin-pagination--sm .sefin-pagination__button svg{width:14px;height:14px}.sefin-pagination--sm .sefin-pagination__ellipsis{font-size:var(--sefin-font-size-sm, 14px);min-width:32px}.sefin-pagination--md .sefin-pagination__button{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px);font-size:var(--sefin-font-size-base, 16px);min-height:40px}.sefin-pagination--md .sefin-pagination__button--page{min-width:40px}.sefin-pagination--md .sefin-pagination__button svg{width:16px;height:16px}.sefin-pagination--md .sefin-pagination__ellipsis{font-size:var(--sefin-font-size-base, 16px);min-width:40px}.sefin-pagination--lg .sefin-pagination__button{padding:var(--sefin-spacing-md, 16px) var(--sefin-spacing-lg, 24px);font-size:var(--sefin-font-size-lg, 18px);min-height:48px}.sefin-pagination--lg .sefin-pagination__button--page{min-width:48px}.sefin-pagination--lg .sefin-pagination__button svg{width:18px;height:18px}.sefin-pagination--lg .sefin-pagination__ellipsis{font-size:var(--sefin-font-size-lg, 18px);min-width:48px}.sefin-pagination--compact .sefin-pagination__button--page{min-width:auto;padding-left:var(--sefin-spacing-sm, 8px);padding-right:var(--sefin-spacing-sm, 8px)}.sefin-pagination--compact .sefin-pagination__ellipsis{min-width:auto;padding:0 var(--sefin-spacing-xs, 4px)}\n"] }]
5308
+ args: [{ selector: 'sefin-pagination', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav [class]=\"paginationClasses\" aria-label=\"Pagination Navigation\">\n <ul class=\"sefin-pagination__list\">\n <!-- First button -->\n <li *ngIf=\"showFirstLast\" class=\"sefin-pagination__item\">\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--nav\"\n [disabled]=\"currentPage <= 1\"\n (click)=\"goToFirst()\"\n aria-label=\"Go to first page\"\n [attr.aria-disabled]=\"currentPage <= 1\"\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11 17L6 12L11 7M18 17L13 12L18 7\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </li>\n\n <!-- Previous button -->\n <li *ngIf=\"showPrevNext\" class=\"sefin-pagination__item\">\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--nav\"\n [disabled]=\"isDisabled('prev')\"\n (click)=\"goToPrevious()\"\n aria-label=\"Go to previous page\"\n [attr.aria-disabled]=\"isDisabled('prev')\"\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15 18L9 12L15 6\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </li>\n\n <!-- Page numbers -->\n <li\n *ngFor=\"let page of pageNumbers(); let i = index\"\n class=\"sefin-pagination__item\"\n >\n <ng-container *ngIf=\"isEllipsis(page); else pageButton\">\n <span class=\"sefin-pagination__ellipsis\" aria-hidden=\"true\">...</span>\n </ng-container>\n <ng-template #pageButton>\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--page\"\n [class.sefin-pagination__button--active]=\"isCurrentPage(page)\"\n (click)=\"goToPage(page)\"\n [attr.aria-label]=\"'Go to page ' + page\"\n [attr.aria-current]=\"getAriaCurrent(page)\"\n >\n {{ page }}\n </button>\n </ng-template>\n </li>\n\n <!-- Next button -->\n <li *ngIf=\"showPrevNext\" class=\"sefin-pagination__item\">\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--nav\"\n [disabled]=\"isDisabled('next')\"\n (click)=\"goToNext()\"\n aria-label=\"Go to next page\"\n [attr.aria-disabled]=\"isDisabled('next')\"\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9 18L15 12L9 6\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </li>\n\n <!-- Last button -->\n <li *ngIf=\"showFirstLast\" class=\"sefin-pagination__item\">\n <button\n type=\"button\"\n class=\"sefin-pagination__button sefin-pagination__button--nav\"\n [disabled]=\"currentPage >= computedTotalPages()\"\n (click)=\"goToLast()\"\n aria-label=\"Go to last page\"\n [attr.aria-disabled]=\"currentPage >= computedTotalPages()\"\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13 17L18 12L13 7M6 17L11 12L6 7\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".sefin-pagination{display:flex;width:100%;font-family:var(--sefin-font-family-base);box-sizing:border-box}.sefin-pagination__list{display:flex;align-items:center;gap:var(--sefin-spacing-xs, 4px);list-style:none;margin:0;padding:0}.sefin-pagination__item{display:inline-flex;align-items:center}.sefin-pagination__button{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sefin-font-family-base);font-weight:var(--sefin-font-weight-medium);line-height:var(--sefin-line-height-normal);border:1px solid var(--sefin-color-border);background-color:var(--sefin-color-surface);color:var(--sefin-color-text);cursor:pointer;outline:none;transition:all .2s ease-in-out;border-radius:var(--sefin-radius-md);-webkit-user-select:none;user-select:none}.sefin-pagination__button:focus-visible{outline:2px solid var(--sefin-color-border-focus);outline-offset:2px}.sefin-pagination__button:hover:not(:disabled):not(.sefin-pagination__button--active){background-color:var(--sefin-color-surface-hover);border-color:var(--sefin-color-primary);color:var(--sefin-color-primary)}.sefin-pagination__button:active:not(:disabled){transform:translateY(1px)}.sefin-pagination__button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.sefin-pagination__button--page{min-width:40px;text-align:center}.sefin-pagination__button--active{background-color:var(--sefin-color-primary);border-color:var(--sefin-color-primary);color:#fff;font-weight:var(--sefin-font-weight-semibold)}.sefin-pagination__button--active:hover{background-color:var(--sefin-color-primary-dark);border-color:var(--sefin-color-primary-dark);color:#fff}.sefin-pagination__button--nav{padding:0}.sefin-pagination__button svg{display:block;width:16px;height:16px;flex-shrink:0}.sefin-pagination__ellipsis{display:inline-flex;align-items:center;justify-content:center;color:var(--sefin-color-text-secondary);padding:0 var(--sefin-spacing-sm, 8px);-webkit-user-select:none;user-select:none;min-width:40px}.sefin-pagination--sm .sefin-pagination__button{padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-sm, 14px);min-height:32px}.sefin-pagination--sm .sefin-pagination__button--page{min-width:32px}.sefin-pagination--sm .sefin-pagination__button svg{width:14px;height:14px}.sefin-pagination--sm .sefin-pagination__ellipsis{font-size:var(--sefin-font-size-sm, 14px);min-width:32px}.sefin-pagination--md .sefin-pagination__button{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px);font-size:var(--sefin-font-size-base, 16px);min-height:40px}.sefin-pagination--md .sefin-pagination__button--page{min-width:40px}.sefin-pagination--md .sefin-pagination__button svg{width:16px;height:16px}.sefin-pagination--md .sefin-pagination__ellipsis{font-size:var(--sefin-font-size-base, 16px);min-width:40px}.sefin-pagination--lg .sefin-pagination__button{padding:var(--sefin-spacing-md, 16px) var(--sefin-spacing-lg, 24px);font-size:var(--sefin-font-size-lg, 18px);min-height:48px}.sefin-pagination--lg .sefin-pagination__button--page{min-width:48px}.sefin-pagination--lg .sefin-pagination__button svg{width:18px;height:18px}.sefin-pagination--lg .sefin-pagination__ellipsis{font-size:var(--sefin-font-size-lg, 18px);min-width:48px}.sefin-pagination--compact .sefin-pagination__button--page{min-width:auto;padding-left:var(--sefin-spacing-sm, 8px);padding-right:var(--sefin-spacing-sm, 8px)}.sefin-pagination--compact .sefin-pagination__ellipsis{min-width:auto;padding:0 var(--sefin-spacing-xs, 4px)}\n"] }]
5309
5309
  }], propDecorators: { currentPage: [{
5310
5310
  type: Input
5311
5311
  }], totalPages: [{
@@ -5789,11 +5789,11 @@ class ModalComponent {
5789
5789
  .join(' ');
5790
5790
  }
5791
5791
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ModalComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
5792
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: ModalComponent, isStandalone: true, selector: "sefin-modal", inputs: { isOpen: "isOpen", size: "size", showOverlay: "showOverlay", closeOnOverlayClick: "closeOnOverlayClick", closeOnEscape: "closeOnEscape", showCloseButton: "showCloseButton", title: "title", class: "class" }, outputs: { opened: "opened", closed: "closed" }, host: { listeners: { "document:keydown": "handleEscapeKey($event)" } }, usesOnChanges: true, ngImport: i0, template: "<!-- Overlay for modal -->\n@if (isOpen && showOverlay) {\n <div\n [class]=\"overlayClasses\"\n (click)=\"handleOverlayClick()\"\n [attr.aria-hidden]=\"!isOpen\"\n role=\"presentation\"\n ></div>\n}\n\n<!-- Modal container -->\n@if (isOpen) {\n <div\n [class]=\"modalClasses\"\n role=\"dialog\"\n [attr.aria-modal]=\"isOpen\"\n [attr.aria-labelledby]=\"title ? 'sefin-modal-title' : null\"\n (click)=\"$event.stopPropagation()\"\n >\n <div class=\"sefin-modal__content\">\n <!-- Header with title and close button -->\n @if (title || showCloseButton) {\n <div class=\"sefin-modal__header\">\n @if (title) {\n <h2 id=\"sefin-modal-title\" class=\"sefin-modal__title\">{{ title }}</h2>\n }\n @if (showCloseButton) {\n <button\n type=\"button\"\n class=\"sefin-modal__close-button\"\n (click)=\"handleCloseButtonClick($event)\"\n aria-label=\"Close modal\"\n >\n <sefin-icon name=\"x\" size=\"sm\"></sefin-icon>\n </button>\n }\n </div>\n }\n\n <!-- Modal body -->\n <div class=\"sefin-modal__body\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n}\n", styles: [".sefin-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);z-index:1000;background:var(--sefin-color-background, #ffffff);border-radius:var(--sefin-radius-lg, 12px);box-shadow:var(--sefin-shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04));font-family:var(--sefin-font-family-base, \"Pluto\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif);opacity:0;transition:all .2s ease-in-out;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;outline:none}.sefin-modal--open{opacity:1;transform:translate(-50%,-50%) scale(1);animation:modal-enter .2s ease-in-out forwards}.sefin-modal--sm{width:400px;min-width:320px}.sefin-modal--md{width:500px;min-width:400px}.sefin-modal--lg{width:700px;min-width:500px}.sefin-modal--xl{width:900px;min-width:600px}.sefin-modal--full{width:95vw;height:95vh;max-width:95vw;max-height:95vh}.sefin-modal__content{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.sefin-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--sefin-spacing-lg, 24px);border-bottom:1px solid var(--sefin-color-border, #cecece);flex-shrink:0}.sefin-modal__title{margin:0;font-size:var(--sefin-font-size-xl, 1.25rem);font-weight:var(--sefin-font-weight-semibold, 600);line-height:var(--sefin-line-height-normal, 1.5);color:var(--sefin-color-text, #383838);flex:1}.sefin-modal__close-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--sefin-radius-md, 8px);cursor:pointer;color:var(--sefin-color-text-secondary, #686868);transition:all .2s ease-in-out;flex-shrink:0;margin-left:var(--sefin-spacing-md, 16px);padding:0}.sefin-modal__close-button:hover:not(:disabled){background-color:var(--sefin-color-surface-hover, #f5f5f5);color:var(--sefin-color-text, #383838)}.sefin-modal__close-button:focus-visible{outline:2px solid var(--sefin-color-border-focus, #55C3D8);outline-offset:2px}.sefin-modal__close-button:active:not(:disabled){transform:scale(.95)}.sefin-modal__close-button:disabled{opacity:.6;cursor:not-allowed}.sefin-modal__body{flex:1;overflow-y:auto;padding:var(--sefin-spacing-lg, 24px);color:var(--sefin-color-text, #383838);font-size:var(--sefin-font-size-base, 1rem);line-height:var(--sefin-line-height-normal, 1.5)}.sefin-modal__body::-webkit-scrollbar{width:8px}.sefin-modal__body::-webkit-scrollbar-track{background:transparent}.sefin-modal__body::-webkit-scrollbar-thumb{background:var(--sefin-color-border, #cecece);border-radius:var(--sefin-radius-full, 9999px)}.sefin-modal__body::-webkit-scrollbar-thumb:hover{background:var(--sefin-color-text-secondary, #686868)}.sefin-modal__overlay{position:fixed;inset:0;background:#00000080;z-index:999;opacity:0;transition:opacity .2s ease-in-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sefin-modal__overlay--open{opacity:1;animation:overlay-fade-in .2s ease-in-out forwards}@keyframes modal-enter{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconComponent, selector: "sefin-icon", inputs: ["name", "size", "color", "rotate", "flipH", "flipV", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
5792
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: ModalComponent, isStandalone: true, selector: "sefin-modal", inputs: { isOpen: "isOpen", size: "size", showOverlay: "showOverlay", closeOnOverlayClick: "closeOnOverlayClick", closeOnEscape: "closeOnEscape", showCloseButton: "showCloseButton", title: "title", class: "class" }, outputs: { opened: "opened", closed: "closed" }, host: { listeners: { "document:keydown": "handleEscapeKey($event)" } }, usesOnChanges: true, ngImport: i0, template: "<!-- Overlay for modal -->\n@if (isOpen && showOverlay) {\n <div\n [class]=\"overlayClasses\"\n (click)=\"handleOverlayClick()\"\n [attr.aria-hidden]=\"!isOpen\"\n role=\"presentation\"\n ></div>\n}\n\n<!-- Modal container -->\n@if (isOpen) {\n <div\n [class]=\"modalClasses\"\n role=\"dialog\"\n [attr.aria-modal]=\"isOpen\"\n [attr.aria-labelledby]=\"title ? 'sefin-modal-title' : null\"\n (click)=\"$event.stopPropagation()\"\n >\n <div class=\"sefin-modal__content\">\n <!-- Header with title and close button -->\n @if (title || showCloseButton) {\n <div class=\"sefin-modal__header\">\n @if (title) {\n <h2 id=\"sefin-modal-title\" class=\"sefin-modal__title\">{{ title }}</h2>\n }\n @if (showCloseButton) {\n <button\n type=\"button\"\n class=\"sefin-modal__close-button\"\n (click)=\"handleCloseButtonClick($event)\"\n aria-label=\"Close modal\"\n >\n <sefin-icon name=\"x\" size=\"sm\"></sefin-icon>\n </button>\n }\n </div>\n }\n\n <!-- Modal body -->\n <div class=\"sefin-modal__body\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n}\n", styles: [".sefin-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);z-index:1000;width:100%;background:var(--sefin-color-background, #ffffff);border-radius:var(--sefin-radius-lg, 12px);box-shadow:var(--sefin-shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04));font-family:var(--sefin-font-family-base, \"Pluto\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif);opacity:0;transition:all .2s ease-in-out;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;outline:none;box-sizing:border-box}.sefin-modal--open{opacity:1;transform:translate(-50%,-50%) scale(1);animation:modal-enter .2s ease-in-out forwards}.sefin-modal--sm{width:400px;min-width:320px}.sefin-modal--md{width:500px;min-width:400px}.sefin-modal--lg{width:700px;min-width:500px}.sefin-modal--xl{width:900px;min-width:600px}.sefin-modal--full{width:95vw;height:95vh;max-width:95vw;max-height:95vh}.sefin-modal__content{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.sefin-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--sefin-spacing-lg, 24px);border-bottom:1px solid var(--sefin-color-border, #cecece);flex-shrink:0}.sefin-modal__title{margin:0;font-size:var(--sefin-font-size-xl, 1.25rem);font-weight:var(--sefin-font-weight-semibold, 600);line-height:var(--sefin-line-height-normal, 1.5);color:var(--sefin-color-text, #383838);flex:1}.sefin-modal__close-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--sefin-radius-md, 8px);cursor:pointer;color:var(--sefin-color-text-secondary, #686868);transition:all .2s ease-in-out;flex-shrink:0;margin-left:var(--sefin-spacing-md, 16px);padding:0}.sefin-modal__close-button:hover:not(:disabled){background-color:var(--sefin-color-surface-hover, #f5f5f5);color:var(--sefin-color-text, #383838)}.sefin-modal__close-button:focus-visible{outline:2px solid var(--sefin-color-border-focus, #55C3D8);outline-offset:2px}.sefin-modal__close-button:active:not(:disabled){transform:scale(.95)}.sefin-modal__close-button:disabled{opacity:.6;cursor:not-allowed}.sefin-modal__body{flex:1;overflow-y:auto;padding:var(--sefin-spacing-lg, 24px);color:var(--sefin-color-text, #383838);font-size:var(--sefin-font-size-base, 1rem);line-height:var(--sefin-line-height-normal, 1.5)}.sefin-modal__body::-webkit-scrollbar{width:8px}.sefin-modal__body::-webkit-scrollbar-track{background:transparent}.sefin-modal__body::-webkit-scrollbar-thumb{background:var(--sefin-color-border, #cecece);border-radius:var(--sefin-radius-full, 9999px)}.sefin-modal__body::-webkit-scrollbar-thumb:hover{background:var(--sefin-color-text-secondary, #686868)}.sefin-modal__overlay{position:fixed;inset:0;background:#00000080;z-index:999;opacity:0;transition:opacity .2s ease-in-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sefin-modal__overlay--open{opacity:1;animation:overlay-fade-in .2s ease-in-out forwards}@keyframes modal-enter{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconComponent, selector: "sefin-icon", inputs: ["name", "size", "color", "rotate", "flipH", "flipV", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
5793
5793
  }
5794
5794
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ModalComponent, decorators: [{
5795
5795
  type: Component,
5796
- args: [{ selector: 'sefin-modal', standalone: true, imports: [CommonModule, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<!-- Overlay for modal -->\n@if (isOpen && showOverlay) {\n <div\n [class]=\"overlayClasses\"\n (click)=\"handleOverlayClick()\"\n [attr.aria-hidden]=\"!isOpen\"\n role=\"presentation\"\n ></div>\n}\n\n<!-- Modal container -->\n@if (isOpen) {\n <div\n [class]=\"modalClasses\"\n role=\"dialog\"\n [attr.aria-modal]=\"isOpen\"\n [attr.aria-labelledby]=\"title ? 'sefin-modal-title' : null\"\n (click)=\"$event.stopPropagation()\"\n >\n <div class=\"sefin-modal__content\">\n <!-- Header with title and close button -->\n @if (title || showCloseButton) {\n <div class=\"sefin-modal__header\">\n @if (title) {\n <h2 id=\"sefin-modal-title\" class=\"sefin-modal__title\">{{ title }}</h2>\n }\n @if (showCloseButton) {\n <button\n type=\"button\"\n class=\"sefin-modal__close-button\"\n (click)=\"handleCloseButtonClick($event)\"\n aria-label=\"Close modal\"\n >\n <sefin-icon name=\"x\" size=\"sm\"></sefin-icon>\n </button>\n }\n </div>\n }\n\n <!-- Modal body -->\n <div class=\"sefin-modal__body\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n}\n", styles: [".sefin-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);z-index:1000;background:var(--sefin-color-background, #ffffff);border-radius:var(--sefin-radius-lg, 12px);box-shadow:var(--sefin-shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04));font-family:var(--sefin-font-family-base, \"Pluto\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif);opacity:0;transition:all .2s ease-in-out;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;outline:none}.sefin-modal--open{opacity:1;transform:translate(-50%,-50%) scale(1);animation:modal-enter .2s ease-in-out forwards}.sefin-modal--sm{width:400px;min-width:320px}.sefin-modal--md{width:500px;min-width:400px}.sefin-modal--lg{width:700px;min-width:500px}.sefin-modal--xl{width:900px;min-width:600px}.sefin-modal--full{width:95vw;height:95vh;max-width:95vw;max-height:95vh}.sefin-modal__content{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.sefin-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--sefin-spacing-lg, 24px);border-bottom:1px solid var(--sefin-color-border, #cecece);flex-shrink:0}.sefin-modal__title{margin:0;font-size:var(--sefin-font-size-xl, 1.25rem);font-weight:var(--sefin-font-weight-semibold, 600);line-height:var(--sefin-line-height-normal, 1.5);color:var(--sefin-color-text, #383838);flex:1}.sefin-modal__close-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--sefin-radius-md, 8px);cursor:pointer;color:var(--sefin-color-text-secondary, #686868);transition:all .2s ease-in-out;flex-shrink:0;margin-left:var(--sefin-spacing-md, 16px);padding:0}.sefin-modal__close-button:hover:not(:disabled){background-color:var(--sefin-color-surface-hover, #f5f5f5);color:var(--sefin-color-text, #383838)}.sefin-modal__close-button:focus-visible{outline:2px solid var(--sefin-color-border-focus, #55C3D8);outline-offset:2px}.sefin-modal__close-button:active:not(:disabled){transform:scale(.95)}.sefin-modal__close-button:disabled{opacity:.6;cursor:not-allowed}.sefin-modal__body{flex:1;overflow-y:auto;padding:var(--sefin-spacing-lg, 24px);color:var(--sefin-color-text, #383838);font-size:var(--sefin-font-size-base, 1rem);line-height:var(--sefin-line-height-normal, 1.5)}.sefin-modal__body::-webkit-scrollbar{width:8px}.sefin-modal__body::-webkit-scrollbar-track{background:transparent}.sefin-modal__body::-webkit-scrollbar-thumb{background:var(--sefin-color-border, #cecece);border-radius:var(--sefin-radius-full, 9999px)}.sefin-modal__body::-webkit-scrollbar-thumb:hover{background:var(--sefin-color-text-secondary, #686868)}.sefin-modal__overlay{position:fixed;inset:0;background:#00000080;z-index:999;opacity:0;transition:opacity .2s ease-in-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sefin-modal__overlay--open{opacity:1;animation:overlay-fade-in .2s ease-in-out forwards}@keyframes modal-enter{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}\n"] }]
5796
+ args: [{ selector: 'sefin-modal', standalone: true, imports: [CommonModule, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<!-- Overlay for modal -->\n@if (isOpen && showOverlay) {\n <div\n [class]=\"overlayClasses\"\n (click)=\"handleOverlayClick()\"\n [attr.aria-hidden]=\"!isOpen\"\n role=\"presentation\"\n ></div>\n}\n\n<!-- Modal container -->\n@if (isOpen) {\n <div\n [class]=\"modalClasses\"\n role=\"dialog\"\n [attr.aria-modal]=\"isOpen\"\n [attr.aria-labelledby]=\"title ? 'sefin-modal-title' : null\"\n (click)=\"$event.stopPropagation()\"\n >\n <div class=\"sefin-modal__content\">\n <!-- Header with title and close button -->\n @if (title || showCloseButton) {\n <div class=\"sefin-modal__header\">\n @if (title) {\n <h2 id=\"sefin-modal-title\" class=\"sefin-modal__title\">{{ title }}</h2>\n }\n @if (showCloseButton) {\n <button\n type=\"button\"\n class=\"sefin-modal__close-button\"\n (click)=\"handleCloseButtonClick($event)\"\n aria-label=\"Close modal\"\n >\n <sefin-icon name=\"x\" size=\"sm\"></sefin-icon>\n </button>\n }\n </div>\n }\n\n <!-- Modal body -->\n <div class=\"sefin-modal__body\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n}\n", styles: [".sefin-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);z-index:1000;width:100%;background:var(--sefin-color-background, #ffffff);border-radius:var(--sefin-radius-lg, 12px);box-shadow:var(--sefin-shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04));font-family:var(--sefin-font-family-base, \"Pluto\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif);opacity:0;transition:all .2s ease-in-out;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;outline:none;box-sizing:border-box}.sefin-modal--open{opacity:1;transform:translate(-50%,-50%) scale(1);animation:modal-enter .2s ease-in-out forwards}.sefin-modal--sm{width:400px;min-width:320px}.sefin-modal--md{width:500px;min-width:400px}.sefin-modal--lg{width:700px;min-width:500px}.sefin-modal--xl{width:900px;min-width:600px}.sefin-modal--full{width:95vw;height:95vh;max-width:95vw;max-height:95vh}.sefin-modal__content{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.sefin-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--sefin-spacing-lg, 24px);border-bottom:1px solid var(--sefin-color-border, #cecece);flex-shrink:0}.sefin-modal__title{margin:0;font-size:var(--sefin-font-size-xl, 1.25rem);font-weight:var(--sefin-font-weight-semibold, 600);line-height:var(--sefin-line-height-normal, 1.5);color:var(--sefin-color-text, #383838);flex:1}.sefin-modal__close-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--sefin-radius-md, 8px);cursor:pointer;color:var(--sefin-color-text-secondary, #686868);transition:all .2s ease-in-out;flex-shrink:0;margin-left:var(--sefin-spacing-md, 16px);padding:0}.sefin-modal__close-button:hover:not(:disabled){background-color:var(--sefin-color-surface-hover, #f5f5f5);color:var(--sefin-color-text, #383838)}.sefin-modal__close-button:focus-visible{outline:2px solid var(--sefin-color-border-focus, #55C3D8);outline-offset:2px}.sefin-modal__close-button:active:not(:disabled){transform:scale(.95)}.sefin-modal__close-button:disabled{opacity:.6;cursor:not-allowed}.sefin-modal__body{flex:1;overflow-y:auto;padding:var(--sefin-spacing-lg, 24px);color:var(--sefin-color-text, #383838);font-size:var(--sefin-font-size-base, 1rem);line-height:var(--sefin-line-height-normal, 1.5)}.sefin-modal__body::-webkit-scrollbar{width:8px}.sefin-modal__body::-webkit-scrollbar-track{background:transparent}.sefin-modal__body::-webkit-scrollbar-thumb{background:var(--sefin-color-border, #cecece);border-radius:var(--sefin-radius-full, 9999px)}.sefin-modal__body::-webkit-scrollbar-thumb:hover{background:var(--sefin-color-text-secondary, #686868)}.sefin-modal__overlay{position:fixed;inset:0;background:#00000080;z-index:999;opacity:0;transition:opacity .2s ease-in-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sefin-modal__overlay--open{opacity:1;animation:overlay-fade-in .2s ease-in-out forwards}@keyframes modal-enter{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}\n"] }]
5797
5797
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { isOpen: [{
5798
5798
  type: Input
5799
5799
  }], size: [{
@@ -6467,11 +6467,11 @@ class TableComponent {
6467
6467
  return pages;
6468
6468
  }
6469
6469
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: TableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
6470
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: TableComponent, isStandalone: true, selector: "sefin-table", inputs: { columns: "columns", data: "data", trackByKey: "trackByKey", loading: "loading", emptyText: "emptyText", density: "density", striped: "striped", hover: "hover", selectable: "selectable", selectionMode: "selectionMode", pagination: "pagination", pageSizeOptions: "pageSizeOptions", pageSize: "pageSize", total: "total", sort: "sort", serverSide: "serverSide", stickyHeader: "stickyHeader", headerActionsTemplate: "headerActionsTemplate", emptyIconTemplate: "emptyIconTemplate" }, outputs: { rowClicked: "rowClicked", selectionChanged: "selectionChanged", pageChanged: "pageChanged", sortChanged: "sortChanged" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"sefin-table__container\">\n <!-- Header Actions Slot -->\n <div *ngIf=\"headerActionsTemplate\" class=\"sefin-table__header-actions\">\n <ng-container *ngTemplateOutlet=\"headerActionsTemplate\"></ng-container>\n </div>\n\n <!-- Loading Overlay -->\n <div *ngIf=\"loading\" class=\"sefin-table__loading\">\n <div class=\"sefin-table__loading-bar\"></div>\n <div class=\"sefin-table__loading-rows\">\n <div *ngFor=\"let i of [1, 2, 3, 4, 5]\" class=\"sefin-table__skeleton-row\">\n <div\n class=\"sefin-table__skeleton-cell\"\n *ngFor=\"let col of columns\"\n ></div>\n </div>\n </div>\n </div>\n\n <!-- Table -->\n <div\n class=\"sefin-table__wrapper\"\n [class.sefin-table__wrapper--loading]=\"loading\"\n >\n <table\n [class]=\"getTableClasses()\"\n class=\"sefin-table__native-table\"\n role=\"table\"\n [attr.aria-label]=\"'Data table with ' + columns.length + ' columns'\"\n [attr.aria-rowcount]=\"serverSide && total !== undefined ? total : sortedData().length\"\n [attr.aria-colcount]=\"totalColspan()\"\n >\n <!-- Table Header -->\n <thead\n class=\"sefin-table__header\"\n [class.sefin-table__header--sticky]=\"stickyHeader\"\n >\n <tr class=\"sefin-table__header-row\">\n <!-- Selection Column Header -->\n <th\n *ngIf=\"selectable\"\n class=\"sefin-table__header-cell sefin-table__header-cell--select\"\n >\n <sefin-checkbox\n *ngIf=\"selectionMode === 'multiple'\"\n [value]=\"isAllSelected()\"\n [indeterminate]=\"isIndeterminate()\"\n (checkedChange)=\"toggleSelectAll($event)\"\n [attr.aria-label]=\"'Select all rows'\"\n size=\"sm\"\n ></sefin-checkbox>\n </th>\n\n <!-- Data Column Headers -->\n <th\n *ngFor=\"let column of columns\"\n [class]=\"getColumnClass(column)\"\n [class.sefin-table__header-cell--sortable]=\"column.sortable && sort\"\n [class.sefin-table__header-cell--sorted]=\"\n currentSortColumn() === column.key\n \"\n [class.sefin-table__header-cell--sort-asc]=\"\n currentSortColumn() === column.key &&\n currentSortDirection() === 'asc'\n \"\n [class.sefin-table__header-cell--sort-desc]=\"\n currentSortColumn() === column.key &&\n currentSortDirection() === 'desc'\n \"\n [class.sefin-table__header-cell--sticky]=\"column.sticky\"\n [class.sefin-table__header-cell--sticky-end]=\"\n column.sticky && column.stickyEnd\n \"\n [style.width]=\"getColumnWidth(column)\"\n class=\"sefin-table__header-cell\"\n (click)=\"column.sortable && sort ? onSort(column) : null\"\n (keydown)=\"column.sortable && sort ? onSort(column, $event) : null\"\n [attr.aria-sort]=\"getAriaSort(column)\"\n [attr.aria-label]=\"getSortAriaLabel(column)\"\n role=\"columnheader\"\n [attr.tabindex]=\"column.sortable && sort ? 0 : null\"\n >\n <span class=\"sefin-table__header-content\">\n {{ column.header }}\n <span\n *ngIf=\"column.sortable && sort\"\n class=\"sefin-table__sort-icon\"\n [attr.aria-hidden]=\"true\"\n >\n <svg\n *ngIf=\"showUnsortedIcon(column)\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <path\n [attr.d]=\"sortIcons.unsorted\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <svg\n *ngIf=\"showAscendingIcon(column)\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <path\n [attr.d]=\"sortIcons.ascending\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <svg\n *ngIf=\"showDescendingIcon(column)\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <path\n [attr.d]=\"sortIcons.descending\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </span>\n </span>\n </th>\n\n <th\n *ngIf=\"hasActionsColumn()\"\n class=\"sefin-table__header-cell sefin-table__header-cell--actions\"\n ></th>\n </tr>\n </thead>\n\n <!-- Table Body -->\n <tbody class=\"sefin-table__body\" role=\"rowgroup\">\n <!-- Data Rows -->\n <tr\n *ngFor=\"let row of displayedData(); trackBy: trackByFn\"\n class=\"sefin-table__row sefin-table__row--clickable\"\n (click)=\"onRowClick(row)\"\n [attr.aria-selected]=\"selectable ? isSelected(row) : null\"\n [attr.aria-label]=\"'Row ' + (trackByFn(0, row) || '')\"\n role=\"row\"\n >\n <!-- Selection Column Cell -->\n <td\n *ngIf=\"selectable\"\n class=\"sefin-table__cell sefin-table__cell--select\"\n >\n <sefin-checkbox\n [value]=\"isSelected(row)\"\n (checkedChange)=\"toggleRowSelection($event, row)\"\n [attr.aria-label]=\"'Select row'\"\n size=\"sm\"\n ></sefin-checkbox>\n </td>\n\n <!-- Data Column Cells -->\n <td\n *ngFor=\"let column of columns\"\n [class]=\"getColumnClass(column)\"\n [class.sefin-table__cell--sticky]=\"column.sticky\"\n [class.sefin-table__cell--sticky-end]=\"\n column.sticky && column.stickyEnd\n \"\n class=\"sefin-table__cell\"\n >\n <!-- Custom Template -->\n <ng-container *ngIf=\"column.cellTemplate\">\n <ng-container\n *ngTemplateOutlet=\"\n column.cellTemplate;\n context: {\n $implicit: row,\n column: column,\n value: getCellValue(row, column)\n }\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Badge Type -->\n <ng-container\n *ngIf=\"!column.cellTemplate && column.type === 'badge'\"\n >\n <sefin-badge\n [value]=\"getCellValue(row, column)\"\n variant=\"primary\"\n size=\"sm\"\n ></sefin-badge>\n </ng-container>\n\n <!-- Actions Type -->\n <ng-container\n *ngIf=\"!column.cellTemplate && column.type === 'actions'\"\n >\n <div class=\"sefin-table__actions\">\n <ng-content select=\"[actions]\"></ng-content>\n </div>\n </ng-container>\n\n <!-- Default/Text/Number/Date Type -->\n <ng-container\n *ngIf=\"\n !column.cellTemplate &&\n column.type !== 'badge' &&\n column.type !== 'actions'\n \"\n >\n <span class=\"sefin-table__cell-content\">\n {{ formatCellValue(getCellValue(row, column), column.type, column) }}\n </span>\n </ng-container>\n </td>\n\n <!-- Actions Column Cell -->\n <td\n *ngIf=\"hasActionsColumn()\"\n class=\"sefin-table__cell sefin-table__cell--actions\"\n >\n <div class=\"sefin-table__actions\">\n <ng-content select=\"[actions]\"></ng-content>\n </div>\n </td>\n </tr>\n\n <!-- Empty Row -->\n <tr *ngIf=\"isEmpty()\" class=\"sefin-table__row sefin-table__row--empty\">\n <td [attr.colspan]=\"totalColspan()\" class=\"sefin-table__empty-cell\">\n <div class=\"sefin-table__empty-state\">\n <ng-container *ngIf=\"emptyIconTemplate\">\n <ng-container\n *ngTemplateOutlet=\"emptyIconTemplate\"\n ></ng-container>\n </ng-container>\n <p class=\"sefin-table__empty-text\">{{ emptyText }}</p>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <!-- Pagination -->\n <sefin-pagination\n *ngIf=\"pagination && !isEmpty()\"\n [currentPage]=\"currentPage()\"\n [totalPages]=\"totalPages()\"\n [totalItems]=\"serverSide && total !== undefined ? total : undefined\"\n [itemsPerPage]=\"currentPageSize()\"\n (pageChange)=\"onPageChange($event)\"\n class=\"sefin-table__paginator\"\n size=\"sm\"\n ></sefin-pagination>\n</div>\n", styles: [".sefin-table{display:block;width:100%;height:100%;font-family:var(--sefin-font-family-base, \"Pluto\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif);background-color:var(--sefin-color-surface, #ffffff);border-radius:var(--sefin-radius-md, 8px);overflow:hidden}.sefin-table__container{display:flex;flex-direction:column;width:100%;height:100%;min-height:100%;background-color:var(--sefin-color-surface, #ffffff);border:1px solid rgba(0,0,0,.06);border-radius:var(--sefin-radius-lg, 12px);overflow:hidden;box-shadow:0 2px 8px #0000000a,0 1px 2px #00000005;transition:box-shadow .3s ease-in-out,border-color .3s ease-in-out}.sefin-table__header-actions{display:flex;justify-content:flex-end;align-items:center;padding:var(--sefin-spacing-md, 16px);border-bottom:1px solid var(--sefin-color-border, #e5e5e5);background-color:var(--sefin-color-background, #ffffff);border-radius:var(--sefin-radius-md, 8px) var(--sefin-radius-md, 8px) 0 0}.sefin-table__wrapper{position:relative;overflow-x:auto;overflow-y:visible;background-color:var(--sefin-color-surface, #ffffff);flex:1;min-height:0;width:100%}.sefin-table__wrapper--loading{opacity:.6;pointer-events:none}.sefin-table__loading{position:absolute;inset:0;z-index:10;background-color:#fffffffa;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;border-radius:var(--sefin-radius-md, 8px)}.sefin-table__loading-bar{height:3px;background:linear-gradient(90deg,transparent,var(--sefin-color-primary, #55C3D8),transparent);animation:loading-bar 1.5s ease-in-out infinite;width:100%;border-radius:0 var(--sefin-radius-lg, 12px) 0 0}@keyframes loading-bar{0%{transform:translate(-100%)}to{transform:translate(200%)}}.sefin-table__loading-rows{flex:1;display:flex;flex-direction:column;padding:var(--sefin-spacing-lg, 24px);gap:var(--sefin-spacing-md, 16px)}.sefin-table__skeleton-row{display:flex;gap:var(--sefin-spacing-md, 16px);padding:var(--sefin-spacing-sm, 8px) 0}.sefin-table__skeleton-cell{flex:1;height:20px;background:linear-gradient(90deg,var(--sefin-color-surface-hover, #f5f5f5) 0%,rgba(85,195,216,.15) 50%,var(--sefin-color-surface-hover, #f5f5f5) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--sefin-radius-sm, 4px)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.sefin-table__native-table{width:100%;min-width:100%;border-collapse:separate;border-spacing:0;background-color:var(--sefin-color-surface, #ffffff);table-layout:auto}.sefin-table--density-compact .sefin-table__header-cell:not(.sefin-table__header-cell--select):not(.sefin-table__header-cell--actions),.sefin-table--density-compact .sefin-table__cell:not(.sefin-table__cell--select):not(.sefin-table__cell--actions){padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-sm, .875rem);line-height:var(--sefin-line-height-normal, 1.5)}.sefin-table--density-compact .sefin-table__header-cell:not(.sefin-table__header-cell--select):not(.sefin-table__header-cell--actions){padding-top:var(--sefin-spacing-sm, 8px);padding-bottom:var(--sefin-spacing-sm, 8px)}.sefin-table--density-compact .sefin-table__cell:not(.sefin-table__cell--select):not(.sefin-table__cell--actions){padding-top:var(--sefin-spacing-xs, 4px);padding-bottom:var(--sefin-spacing-xs, 4px)}.sefin-table--density-compact .sefin-table__header-cell--select,.sefin-table--density-compact .sefin-table__cell--select{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-sm, 8px) var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px)!important}.sefin-table--density-compact .sefin-table__header-cell--actions,.sefin-table--density-compact .sefin-table__cell--actions{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px)!important}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell:not(.sefin-table__header-cell--select):not(.sefin-table__header-cell--actions),.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell:not(.sefin-table__cell--select):not(.sefin-table__cell--actions){font-size:var(--sefin-font-size-sm, .875rem);line-height:var(--sefin-line-height-normal, 1.5);padding-left:var(--sefin-spacing-md, 16px);padding-right:var(--sefin-spacing-md, 16px)}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell:not(.sefin-table__header-cell--select):not(.sefin-table__header-cell--actions){padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell:not(.sefin-table__cell--select):not(.sefin-table__cell--actions){padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell--select,.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell--select{font-size:var(--sefin-font-size-sm, .875rem);line-height:var(--sefin-line-height-normal, 1.5);padding-left:var(--sefin-spacing-md, 16px);padding-right:var(--sefin-spacing-sm, 8px)}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell--select{padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell--select{padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell--actions,.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell--actions{font-size:var(--sefin-font-size-sm, .875rem);line-height:var(--sefin-line-height-normal, 1.5);padding-left:var(--sefin-spacing-md, 16px);padding-right:var(--sefin-spacing-md, 16px)}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell--actions{padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell--actions{padding-top:14px;padding-bottom:14px}.sefin-table__header{background-color:var(--sefin-color-background-elevated, #f5f5f5);border-bottom:1px solid rgba(0,0,0,.08);position:relative}.sefin-table__header:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent 0%,rgba(0,0,0,.06) 50%,transparent 100%)}.sefin-table__header--sticky{position:sticky;top:0;z-index:3;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a}.sefin-table__header-row{background-color:var(--sefin-color-background-elevated, #f5f5f5)}.sefin-table__header-cell{font-weight:var(--sefin-font-weight-semibold, 600);font-size:var(--sefin-font-size-xs, .75rem);color:var(--sefin-color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.8px;text-align:left;border-bottom:none;background-color:var(--sefin-color-background-elevated, #f5f5f5);-webkit-user-select:none;user-select:none;transition:background-color .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1);z-index:1}.sefin-table__header-cell--align-left{text-align:left}.sefin-table__header-cell--align-center{text-align:center}.sefin-table__header-cell--align-right{text-align:right}.sefin-table__header-cell--select{width:56px;text-align:center}.sefin-table__header-cell--actions{width:120px;text-align:right}.sefin-table__header-cell--sortable{cursor:pointer}.sefin-table__header-cell--sortable:hover{background-color:#55c3d80f;color:var(--sefin-color-primary, #55C3D8)}.sefin-table__header-cell--sortable:hover .sefin-table__sort-icon{opacity:1;color:var(--sefin-color-primary, #55C3D8);transform:scale(1.1)}.sefin-table__header-cell--sortable:active{background-color:#55c3d81a}.sefin-table__header-cell--sortable:focus-visible{outline:2px solid var(--sefin-color-border-focus, #55C3D8);outline-offset:-2px;border-radius:var(--sefin-radius-sm, 4px)}.sefin-table__header-cell--sorted{color:var(--sefin-color-primary, #55C3D8);background:linear-gradient(to bottom,#55c3d814,#55c3d80a)}.sefin-table__header-cell--sorted .sefin-table__sort-icon{opacity:1;color:var(--sefin-color-primary, #55C3D8)}.sefin-table__header-cell--sticky{position:sticky;background-color:var(--sefin-color-background-elevated, #f5f5f5);z-index:2}.sefin-table__header-content{display:flex;align-items:center;justify-content:flex-start;gap:var(--sefin-spacing-xs, 4px);width:100%}.sefin-table__sort-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;min-width:14px;color:var(--sefin-color-text-secondary, #9b9b9b);opacity:.5;transition:all .25s cubic-bezier(.4,0,.2,1);flex-shrink:0;margin-left:var(--sefin-spacing-xs, 4px)}.sefin-table__sort-icon svg{display:block;width:100%;height:100%;transition:transform .2s ease-out}.sefin-table__header-cell--sortable:hover .sefin-table__sort-icon{opacity:1;transform:scale(1.1)}.sefin-table__header-cell--sortable:hover .sefin-table__sort-icon svg{transform:scale(1.05)}.sefin-table__body{background-color:var(--sefin-color-surface, #ffffff)}.sefin-table__row{border-bottom:1px solid rgba(0,0,0,.04);transition:background-color .25s cubic-bezier(.4,0,.2,1),transform .15s ease-out;background-color:var(--sefin-color-surface, #ffffff);position:relative}.sefin-table__row--clickable{cursor:pointer}.sefin-table__row--clickable:hover:not(.sefin-table__row--empty){background-color:#55c3d80a;transform:translateY(-1px);box-shadow:0 2px 4px #00000005}.sefin-table__row--clickable:hover:not(.sefin-table__row--empty) .sefin-table__cell--sticky{background-color:#55c3d80a}.sefin-table__row--clickable:active:not(.sefin-table__row--empty){background-color:#55c3d80f;transform:translateY(0);box-shadow:none}.sefin-table__row--clickable:active:not(.sefin-table__row--empty) .sefin-table__cell--sticky{background-color:#55c3d80f}.sefin-table__row--empty{border-bottom:none}.sefin-table__row:focus-visible{outline:2px solid var(--sefin-color-border-focus, #55C3D8);outline-offset:-2px;border-radius:var(--sefin-radius-sm, 4px);z-index:1}.sefin-table__row:last-child{border-bottom:none}.sefin-table__row[data-animate]{animation:fadeInRow .3s ease-in-out}@keyframes fadeInRow{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sefin-table__cell{font-family:var(--sefin-font-family-base, \"Pluto\", sans-serif);font-size:var(--sefin-font-size-sm, .875rem);font-weight:var(--sefin-font-weight-normal, 400);color:var(--sefin-color-text, #1f2937);border-bottom:none;vertical-align:middle;background-color:inherit;transition:background-color .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1)}.sefin-table__cell--align-left{text-align:left}.sefin-table__cell--align-center{text-align:center}.sefin-table__cell--align-right{text-align:right}.sefin-table__cell--select{width:56px;text-align:center}.sefin-table__cell--actions{text-align:right;width:120px}.sefin-table__cell--sticky{position:sticky;background-color:inherit;z-index:1}.sefin-table__cell-content{display:block;line-height:var(--sefin-line-height-normal, 1.5);color:var(--sefin-color-text, #1f2937);font-weight:var(--sefin-font-weight-normal, 400);word-wrap:break-word;word-break:break-word;max-width:100%;overflow:hidden;text-overflow:ellipsis;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sefin-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--sefin-spacing-xs, 4px);flex-wrap:wrap}.sefin-table--striped .sefin-table__row:nth-child(2n){background-color:var(--sefin-color-surface, #ffffff)}.sefin-table--striped .sefin-table__row:nth-child(odd){background-color:#f9fafb99}.sefin-table--striped .sefin-table__cell--sticky:nth-child(2n){background-color:var(--sefin-color-surface, #ffffff)}.sefin-table--striped .sefin-table__cell--sticky:nth-child(odd){background-color:#f9fafb99}.sefin-table--striped .sefin-table__row--clickable:hover,.sefin-table--striped .sefin-table__row--clickable:hover .sefin-table__cell--sticky{background-color:#55c3d80f!important}.sefin-table--hover .sefin-table__row:not(.sefin-table__row--empty):hover{background-color:#55c3d80a}.sefin-table--hover .sefin-table__row:not(.sefin-table__row--empty):hover .sefin-table__cell--sticky{background-color:#55c3d80a}.sefin-table--hover .sefin-table__row--clickable:not(.sefin-table__row--empty):hover{background-color:#55c3d80a}.sefin-table--hover .sefin-table__row--clickable:not(.sefin-table__row--empty):hover .sefin-table__cell--sticky{background-color:#55c3d80a}.sefin-table--sticky-header .sefin-table__header{position:sticky;top:0;z-index:3;box-shadow:0 4px 16px #00000014,0 2px 4px #0000000a}.sefin-table__empty-cell{padding:var(--sefin-spacing-4xl, 96px) var(--sefin-spacing-xl, 32px);text-align:center;border-bottom:none;background-color:var(--sefin-color-surface, #ffffff)}.sefin-table__empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sefin-spacing-lg, 24px);padding:var(--sefin-spacing-2xl, 48px);background:linear-gradient(to bottom,rgba(248,249,250,.5),transparent);border-radius:var(--sefin-radius-md, 8px);margin:var(--sefin-spacing-lg, 24px)}.sefin-table__empty-text{font-size:var(--sefin-font-size-lg, 1.125rem);font-weight:var(--sefin-font-weight-medium, 500);line-height:var(--sefin-line-height-relaxed, 1.75);color:var(--sefin-color-text-secondary, #686868);margin:0;font-family:var(--sefin-font-family-base, \"Pluto\", sans-serif);max-width:480px;letter-spacing:.2px}.sefin-table__paginator{background-color:var(--sefin-color-background, #ffffff);padding:var(--sefin-spacing-lg, 24px) var(--sefin-spacing-md, 16px);border-radius:0 0 var(--sefin-radius-lg, 12px) var(--sefin-radius-lg, 12px);display:flex;justify-content:flex-end;align-items:center}.sefin-table ::ng-deep .sefin-checkbox{margin:0;transition:transform .2s ease-in-out}.sefin-table ::ng-deep .sefin-checkbox:hover{transform:scale(1.05)}.sefin-table ::ng-deep .sefin-badge{margin:0;box-shadow:0 1px 3px #0000001a;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.sefin-table ::ng-deep .sefin-badge:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.sefin-table ::ng-deep .sefin-button,.sefin-table ::ng-deep .sefin-icon-button{transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.sefin-table ::ng-deep .sefin-button:hover,.sefin-table ::ng-deep .sefin-icon-button:hover{transform:translateY(-1px)}.sefin-table ::ng-deep .sefin-button:active,.sefin-table ::ng-deep .sefin-icon-button:active{transform:translateY(0)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PaginationComponent, selector: "sefin-pagination", inputs: ["currentPage", "totalPages", "totalItems", "itemsPerPage", "siblingCount", "showFirstLast", "showPrevNext", "size", "variant", "class"], outputs: ["pageChange"] }, { kind: "component", type: CheckboxComponent, selector: "sefin-checkbox", inputs: ["size", "disabled", "indeterminate", "class", "label", "name", "value"], outputs: ["valueChange", "checkedChange"] }, { kind: "component", type: BadgeComponent, selector: "sefin-badge", inputs: ["variant", "size", "dot", "max", "value", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
6470
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: TableComponent, isStandalone: true, selector: "sefin-table", inputs: { columns: "columns", data: "data", trackByKey: "trackByKey", loading: "loading", emptyText: "emptyText", density: "density", striped: "striped", hover: "hover", selectable: "selectable", selectionMode: "selectionMode", pagination: "pagination", pageSizeOptions: "pageSizeOptions", pageSize: "pageSize", total: "total", sort: "sort", serverSide: "serverSide", stickyHeader: "stickyHeader", headerActionsTemplate: "headerActionsTemplate", emptyIconTemplate: "emptyIconTemplate" }, outputs: { rowClicked: "rowClicked", selectionChanged: "selectionChanged", pageChanged: "pageChanged", sortChanged: "sortChanged" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"sefin-table__container\">\n <!-- Header Actions Slot -->\n <div *ngIf=\"headerActionsTemplate\" class=\"sefin-table__header-actions\">\n <ng-container *ngTemplateOutlet=\"headerActionsTemplate\"></ng-container>\n </div>\n\n <!-- Loading Overlay -->\n <div *ngIf=\"loading\" class=\"sefin-table__loading\">\n <div class=\"sefin-table__loading-bar\"></div>\n <div class=\"sefin-table__loading-rows\">\n <div *ngFor=\"let i of [1, 2, 3, 4, 5]\" class=\"sefin-table__skeleton-row\">\n <div\n class=\"sefin-table__skeleton-cell\"\n *ngFor=\"let col of columns\"\n ></div>\n </div>\n </div>\n </div>\n\n <!-- Table -->\n <div\n class=\"sefin-table__wrapper\"\n [class.sefin-table__wrapper--loading]=\"loading\"\n >\n <table\n [class]=\"getTableClasses()\"\n class=\"sefin-table__native-table\"\n role=\"table\"\n [attr.aria-label]=\"'Data table with ' + columns.length + ' columns'\"\n [attr.aria-rowcount]=\"serverSide && total !== undefined ? total : sortedData().length\"\n [attr.aria-colcount]=\"totalColspan()\"\n >\n <!-- Table Header -->\n <thead\n class=\"sefin-table__header\"\n [class.sefin-table__header--sticky]=\"stickyHeader\"\n >\n <tr class=\"sefin-table__header-row\">\n <!-- Selection Column Header -->\n <th\n *ngIf=\"selectable\"\n class=\"sefin-table__header-cell sefin-table__header-cell--select\"\n >\n <sefin-checkbox\n *ngIf=\"selectionMode === 'multiple'\"\n [value]=\"isAllSelected()\"\n [indeterminate]=\"isIndeterminate()\"\n (checkedChange)=\"toggleSelectAll($event)\"\n [attr.aria-label]=\"'Select all rows'\"\n size=\"sm\"\n ></sefin-checkbox>\n </th>\n\n <!-- Data Column Headers -->\n <th\n *ngFor=\"let column of columns\"\n [class]=\"getColumnClass(column)\"\n [class.sefin-table__header-cell--sortable]=\"column.sortable && sort\"\n [class.sefin-table__header-cell--sorted]=\"\n currentSortColumn() === column.key\n \"\n [class.sefin-table__header-cell--sort-asc]=\"\n currentSortColumn() === column.key &&\n currentSortDirection() === 'asc'\n \"\n [class.sefin-table__header-cell--sort-desc]=\"\n currentSortColumn() === column.key &&\n currentSortDirection() === 'desc'\n \"\n [class.sefin-table__header-cell--sticky]=\"column.sticky\"\n [class.sefin-table__header-cell--sticky-end]=\"\n column.sticky && column.stickyEnd\n \"\n [style.width]=\"getColumnWidth(column)\"\n class=\"sefin-table__header-cell\"\n (click)=\"column.sortable && sort ? onSort(column) : null\"\n (keydown)=\"column.sortable && sort ? onSort(column, $event) : null\"\n [attr.aria-sort]=\"getAriaSort(column)\"\n [attr.aria-label]=\"getSortAriaLabel(column)\"\n role=\"columnheader\"\n [attr.tabindex]=\"column.sortable && sort ? 0 : null\"\n >\n <span class=\"sefin-table__header-content\">\n {{ column.header }}\n <span\n *ngIf=\"column.sortable && sort\"\n class=\"sefin-table__sort-icon\"\n [attr.aria-hidden]=\"true\"\n >\n <svg\n *ngIf=\"showUnsortedIcon(column)\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <path\n [attr.d]=\"sortIcons.unsorted\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <svg\n *ngIf=\"showAscendingIcon(column)\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <path\n [attr.d]=\"sortIcons.ascending\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <svg\n *ngIf=\"showDescendingIcon(column)\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <path\n [attr.d]=\"sortIcons.descending\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </span>\n </span>\n </th>\n\n <th\n *ngIf=\"hasActionsColumn()\"\n class=\"sefin-table__header-cell sefin-table__header-cell--actions\"\n ></th>\n </tr>\n </thead>\n\n <!-- Table Body -->\n <tbody class=\"sefin-table__body\" role=\"rowgroup\">\n <!-- Data Rows -->\n <tr\n *ngFor=\"let row of displayedData(); trackBy: trackByFn\"\n class=\"sefin-table__row sefin-table__row--clickable\"\n (click)=\"onRowClick(row)\"\n [attr.aria-selected]=\"selectable ? isSelected(row) : null\"\n [attr.aria-label]=\"'Row ' + (trackByFn(0, row) || '')\"\n role=\"row\"\n >\n <!-- Selection Column Cell -->\n <td\n *ngIf=\"selectable\"\n class=\"sefin-table__cell sefin-table__cell--select\"\n >\n <sefin-checkbox\n [value]=\"isSelected(row)\"\n (checkedChange)=\"toggleRowSelection($event, row)\"\n [attr.aria-label]=\"'Select row'\"\n size=\"sm\"\n ></sefin-checkbox>\n </td>\n\n <!-- Data Column Cells -->\n <td\n *ngFor=\"let column of columns\"\n [class]=\"getColumnClass(column)\"\n [class.sefin-table__cell--sticky]=\"column.sticky\"\n [class.sefin-table__cell--sticky-end]=\"\n column.sticky && column.stickyEnd\n \"\n class=\"sefin-table__cell\"\n >\n <!-- Custom Template -->\n <ng-container *ngIf=\"column.cellTemplate\">\n <ng-container\n *ngTemplateOutlet=\"\n column.cellTemplate;\n context: {\n $implicit: row,\n column: column,\n value: getCellValue(row, column)\n }\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Badge Type -->\n <ng-container\n *ngIf=\"!column.cellTemplate && column.type === 'badge'\"\n >\n <sefin-badge\n [value]=\"getCellValue(row, column)\"\n variant=\"primary\"\n size=\"sm\"\n ></sefin-badge>\n </ng-container>\n\n <!-- Actions Type -->\n <ng-container\n *ngIf=\"!column.cellTemplate && column.type === 'actions'\"\n >\n <div class=\"sefin-table__actions\">\n <ng-content select=\"[actions]\"></ng-content>\n </div>\n </ng-container>\n\n <!-- Default/Text/Number/Date Type -->\n <ng-container\n *ngIf=\"\n !column.cellTemplate &&\n column.type !== 'badge' &&\n column.type !== 'actions'\n \"\n >\n <span class=\"sefin-table__cell-content\">\n {{ formatCellValue(getCellValue(row, column), column.type, column) }}\n </span>\n </ng-container>\n </td>\n\n <!-- Actions Column Cell -->\n <td\n *ngIf=\"hasActionsColumn()\"\n class=\"sefin-table__cell sefin-table__cell--actions\"\n >\n <div class=\"sefin-table__actions\">\n <ng-content select=\"[actions]\"></ng-content>\n </div>\n </td>\n </tr>\n\n <!-- Empty Row -->\n <tr *ngIf=\"isEmpty()\" class=\"sefin-table__row sefin-table__row--empty\">\n <td [attr.colspan]=\"totalColspan()\" class=\"sefin-table__empty-cell\">\n <div class=\"sefin-table__empty-state\">\n <div class=\"sefin-table__empty-icon-wrapper\">\n <ng-container *ngIf=\"emptyIconTemplate; else defaultEmptyIcon\">\n <ng-container\n *ngTemplateOutlet=\"emptyIconTemplate\"\n ></ng-container>\n </ng-container>\n <ng-template #defaultEmptyIcon>\n <svg\n class=\"sefin-table__empty-icon\"\n width=\"80\"\n height=\"80\"\n viewBox=\"0 0 80 80\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <circle\n cx=\"40\"\n cy=\"40\"\n r=\"38\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-opacity=\"0.2\"\n />\n <path\n d=\"M25 30C25 28.3431 26.3431 27 28 27H52C53.6569 27 55 28.3431 55 30V50C55 51.6569 53.6569 53 52 53H28C26.3431 53 25 51.6569 25 50V30Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-opacity=\"0.3\"\n />\n <path\n d=\"M30 35L40 42L50 35\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-opacity=\"0.4\"\n />\n <circle\n cx=\"40\"\n cy=\"40\"\n r=\"3\"\n fill=\"currentColor\"\n fill-opacity=\"0.15\"\n />\n </svg>\n </ng-template>\n </div>\n <p class=\"sefin-table__empty-text\">{{ emptyText }}</p>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <!-- Pagination -->\n <sefin-pagination\n *ngIf=\"pagination && !isEmpty()\"\n [currentPage]=\"currentPage()\"\n [totalPages]=\"totalPages()\"\n [totalItems]=\"serverSide && total !== undefined ? total : undefined\"\n [itemsPerPage]=\"currentPageSize()\"\n (pageChange)=\"onPageChange($event)\"\n class=\"sefin-table__paginator\"\n size=\"sm\"\n ></sefin-pagination>\n</div>\n", styles: [".sefin-table{display:block;width:100%;height:100%;max-width:100%;box-sizing:border-box;font-family:var(--sefin-font-family-base, \"Pluto\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif);background-color:var(--sefin-color-surface, #ffffff);border-radius:var(--sefin-radius-md, 8px);overflow:hidden}.sefin-table__container{display:flex;flex-direction:column;width:100%;max-width:100%;height:100%;min-height:100%;box-sizing:border-box;background-color:var(--sefin-color-surface, #ffffff);border:1px solid rgba(0,0,0,.06);border-radius:var(--sefin-radius-lg, 12px);overflow:hidden;box-shadow:0 2px 8px #0000000a,0 1px 2px #00000005;transition:box-shadow .3s ease-in-out,border-color .3s ease-in-out}.sefin-table__header-actions{display:flex;justify-content:flex-end;align-items:center;padding:var(--sefin-spacing-md, 16px);border-bottom:1px solid var(--sefin-color-border, #e5e5e5);background-color:var(--sefin-color-background, #ffffff);border-radius:var(--sefin-radius-md, 8px) var(--sefin-radius-md, 8px) 0 0}.sefin-table__wrapper{position:relative;overflow-x:auto;overflow-y:visible;background-color:var(--sefin-color-surface, #ffffff);flex:1;min-height:0;width:100%;max-width:100%;box-sizing:border-box}.sefin-table__wrapper--loading{opacity:.6;pointer-events:none}.sefin-table__loading{position:absolute;inset:0;z-index:10;background-color:#fffffffa;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;border-radius:var(--sefin-radius-md, 8px)}.sefin-table__loading-bar{height:3px;background:linear-gradient(90deg,transparent,var(--sefin-color-primary, #55C3D8),transparent);animation:loading-bar 1.5s ease-in-out infinite;width:100%;border-radius:0 var(--sefin-radius-lg, 12px) 0 0}@keyframes loading-bar{0%{transform:translate(-100%)}to{transform:translate(200%)}}.sefin-table__loading-rows{flex:1;display:flex;flex-direction:column;padding:var(--sefin-spacing-lg, 24px);gap:var(--sefin-spacing-md, 16px)}.sefin-table__skeleton-row{display:flex;gap:var(--sefin-spacing-md, 16px);padding:var(--sefin-spacing-sm, 8px) 0}.sefin-table__skeleton-cell{flex:1;height:20px;background:linear-gradient(90deg,var(--sefin-color-surface-hover, #f5f5f5) 0%,rgba(85,195,216,.15) 50%,var(--sefin-color-surface-hover, #f5f5f5) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--sefin-radius-sm, 4px)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.sefin-table__native-table{width:100%;min-width:100%;max-width:100%;box-sizing:border-box;border-collapse:separate;border-spacing:0;background-color:var(--sefin-color-surface, #ffffff);table-layout:auto}.sefin-table--density-compact .sefin-table__header-cell:not(.sefin-table__header-cell--select):not(.sefin-table__header-cell--actions),.sefin-table--density-compact .sefin-table__cell:not(.sefin-table__cell--select):not(.sefin-table__cell--actions){padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-sm, .875rem);line-height:var(--sefin-line-height-normal, 1.5)}.sefin-table--density-compact .sefin-table__header-cell:not(.sefin-table__header-cell--select):not(.sefin-table__header-cell--actions){padding-top:var(--sefin-spacing-sm, 8px);padding-bottom:var(--sefin-spacing-sm, 8px)}.sefin-table--density-compact .sefin-table__cell:not(.sefin-table__cell--select):not(.sefin-table__cell--actions){padding-top:var(--sefin-spacing-xs, 4px);padding-bottom:var(--sefin-spacing-xs, 4px)}.sefin-table--density-compact .sefin-table__header-cell--select,.sefin-table--density-compact .sefin-table__cell--select{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-sm, 8px) var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px)!important}.sefin-table--density-compact .sefin-table__header-cell--actions,.sefin-table--density-compact .sefin-table__cell--actions{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px)!important}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell:not(.sefin-table__header-cell--select):not(.sefin-table__header-cell--actions),.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell:not(.sefin-table__cell--select):not(.sefin-table__cell--actions){font-size:var(--sefin-font-size-sm, .875rem);line-height:var(--sefin-line-height-normal, 1.5);padding-left:var(--sefin-spacing-md, 16px);padding-right:var(--sefin-spacing-md, 16px)}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell:not(.sefin-table__header-cell--select):not(.sefin-table__header-cell--actions){padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell:not(.sefin-table__cell--select):not(.sefin-table__cell--actions){padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell--select,.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell--select{font-size:var(--sefin-font-size-sm, .875rem);line-height:var(--sefin-line-height-normal, 1.5);padding-left:var(--sefin-spacing-md, 16px);padding-right:var(--sefin-spacing-sm, 8px)}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell--select{padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell--select{padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell--actions,.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell--actions{font-size:var(--sefin-font-size-sm, .875rem);line-height:var(--sefin-line-height-normal, 1.5);padding-left:var(--sefin-spacing-md, 16px);padding-right:var(--sefin-spacing-md, 16px)}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell--actions{padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell--actions{padding-top:14px;padding-bottom:14px}.sefin-table__header{background-color:var(--sefin-color-background-elevated, #f5f5f5);border-bottom:1px solid rgba(0,0,0,.08);position:relative}.sefin-table__header:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent 0%,rgba(0,0,0,.06) 50%,transparent 100%)}.sefin-table__header--sticky{position:sticky;top:0;z-index:3;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a}.sefin-table__header-row{background-color:var(--sefin-color-background-elevated, #f5f5f5)}.sefin-table__header-cell{font-weight:var(--sefin-font-weight-semibold, 600);font-size:var(--sefin-font-size-xs, .75rem);color:var(--sefin-color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.8px;text-align:left;border-bottom:none;background-color:var(--sefin-color-background-elevated, #f5f5f5);-webkit-user-select:none;user-select:none;transition:background-color .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1);z-index:1}.sefin-table__header-cell--align-left{text-align:left}.sefin-table__header-cell--align-center{text-align:center}.sefin-table__header-cell--align-right{text-align:right}.sefin-table__header-cell--select{width:56px;text-align:center}.sefin-table__header-cell--actions{width:120px;text-align:right}.sefin-table__header-cell--sortable{cursor:pointer}.sefin-table__header-cell--sortable:hover{background-color:#55c3d80f;color:var(--sefin-color-primary, #55C3D8)}.sefin-table__header-cell--sortable:hover .sefin-table__sort-icon{opacity:1;color:var(--sefin-color-primary, #55C3D8);transform:scale(1.1)}.sefin-table__header-cell--sortable:active{background-color:#55c3d81a}.sefin-table__header-cell--sortable:focus-visible{outline:2px solid var(--sefin-color-border-focus, #55C3D8);outline-offset:-2px;border-radius:var(--sefin-radius-sm, 4px)}.sefin-table__header-cell--sorted{color:var(--sefin-color-primary, #55C3D8);background:linear-gradient(to bottom,#55c3d814,#55c3d80a)}.sefin-table__header-cell--sorted .sefin-table__sort-icon{opacity:1;color:var(--sefin-color-primary, #55C3D8)}.sefin-table__header-cell--sticky{position:sticky;background-color:var(--sefin-color-background-elevated, #f5f5f5);z-index:2}.sefin-table__header-content{display:flex;align-items:center;justify-content:flex-start;gap:var(--sefin-spacing-xs, 4px);width:100%}.sefin-table__sort-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;min-width:14px;color:var(--sefin-color-text-secondary, #9b9b9b);opacity:.5;transition:all .25s cubic-bezier(.4,0,.2,1);flex-shrink:0;margin-left:var(--sefin-spacing-xs, 4px)}.sefin-table__sort-icon svg{display:block;width:100%;height:100%;transition:transform .2s ease-out}.sefin-table__header-cell--sortable:hover .sefin-table__sort-icon{opacity:1;transform:scale(1.1)}.sefin-table__header-cell--sortable:hover .sefin-table__sort-icon svg{transform:scale(1.05)}.sefin-table__body{background-color:var(--sefin-color-surface, #ffffff)}.sefin-table__row{border-bottom:1px solid rgba(0,0,0,.04);transition:background-color .25s cubic-bezier(.4,0,.2,1),transform .15s ease-out;background-color:var(--sefin-color-surface, #ffffff);position:relative}.sefin-table__row--clickable{cursor:pointer}.sefin-table__row--clickable:hover:not(.sefin-table__row--empty){background-color:#55c3d80a;transform:translateY(-1px);box-shadow:0 2px 4px #00000005}.sefin-table__row--clickable:hover:not(.sefin-table__row--empty) .sefin-table__cell--sticky{background-color:#55c3d80a}.sefin-table__row--clickable:active:not(.sefin-table__row--empty){background-color:#55c3d80f;transform:translateY(0);box-shadow:none}.sefin-table__row--clickable:active:not(.sefin-table__row--empty) .sefin-table__cell--sticky{background-color:#55c3d80f}.sefin-table__row--empty{border-bottom:none}.sefin-table__row:focus-visible{outline:2px solid var(--sefin-color-border-focus, #55C3D8);outline-offset:-2px;border-radius:var(--sefin-radius-sm, 4px);z-index:1}.sefin-table__row:last-child{border-bottom:none}.sefin-table__row[data-animate]{animation:fadeInRow .3s ease-in-out}@keyframes fadeInRow{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sefin-table__cell{font-family:var(--sefin-font-family-base, \"Pluto\", sans-serif);font-size:var(--sefin-font-size-sm, .875rem);font-weight:var(--sefin-font-weight-normal, 400);color:var(--sefin-color-text, #1f2937);border-bottom:none;vertical-align:middle;background-color:inherit;transition:background-color .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1)}.sefin-table__cell--align-left{text-align:left}.sefin-table__cell--align-center{text-align:center}.sefin-table__cell--align-right{text-align:right}.sefin-table__cell--select{width:56px;text-align:center}.sefin-table__cell--actions{text-align:right;width:120px}.sefin-table__cell--sticky{position:sticky;background-color:inherit;z-index:1}.sefin-table__cell-content{display:block;line-height:var(--sefin-line-height-normal, 1.5);color:var(--sefin-color-text, #1f2937);font-weight:var(--sefin-font-weight-normal, 400);word-wrap:break-word;word-break:break-word;max-width:100%;overflow:hidden;text-overflow:ellipsis;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sefin-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--sefin-spacing-xs, 4px);flex-wrap:wrap}.sefin-table--striped .sefin-table__row:nth-child(2n){background-color:var(--sefin-color-surface, #ffffff)}.sefin-table--striped .sefin-table__row:nth-child(odd){background-color:#f9fafb99}.sefin-table--striped .sefin-table__cell--sticky:nth-child(2n){background-color:var(--sefin-color-surface, #ffffff)}.sefin-table--striped .sefin-table__cell--sticky:nth-child(odd){background-color:#f9fafb99}.sefin-table--striped .sefin-table__row--clickable:hover,.sefin-table--striped .sefin-table__row--clickable:hover .sefin-table__cell--sticky{background-color:#55c3d80f!important}.sefin-table--hover .sefin-table__row:not(.sefin-table__row--empty):hover{background-color:#55c3d80a}.sefin-table--hover .sefin-table__row:not(.sefin-table__row--empty):hover .sefin-table__cell--sticky{background-color:#55c3d80a}.sefin-table--hover .sefin-table__row--clickable:not(.sefin-table__row--empty):hover{background-color:#55c3d80a}.sefin-table--hover .sefin-table__row--clickable:not(.sefin-table__row--empty):hover .sefin-table__cell--sticky{background-color:#55c3d80a}.sefin-table--sticky-header .sefin-table__header{position:sticky;top:0;z-index:3;box-shadow:0 4px 16px #00000014,0 2px 4px #0000000a}.sefin-table__empty-cell{padding:var(--sefin-spacing-4xl, 96px) var(--sefin-spacing-xl, 32px);text-align:center;border-bottom:none;background-color:var(--sefin-color-surface, #ffffff);vertical-align:middle}.sefin-table__empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sefin-spacing-md, 16px);padding:var(--sefin-spacing-3xl, 64px) var(--sefin-spacing-xl, 32px);animation:fadeInEmpty .4s ease-out}@keyframes fadeInEmpty{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.sefin-table__empty-icon-wrapper{display:flex;align-items:center;justify-content:center;margin-bottom:var(--sefin-spacing-xs, 4px);animation:floatEmpty 3s ease-in-out infinite}@keyframes floatEmpty{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.sefin-table__empty-icon{width:80px;height:80px;color:var(--sefin-color-text-secondary, #9ca3af);opacity:.6;transition:all .3s ease-in-out;filter:drop-shadow(0 2px 4px rgba(0,0,0,.04))}.sefin-table__empty-text{font-size:var(--sefin-font-size-base, 1rem);font-weight:var(--sefin-font-weight-medium, 500);line-height:var(--sefin-line-height-relaxed, 1.75);color:var(--sefin-color-text-secondary, #6b7280);margin:0;font-family:var(--sefin-font-family-base, \"Pluto\", sans-serif);max-width:400px;letter-spacing:.01em;text-align:center}.sefin-table__paginator{background-color:var(--sefin-color-background, #ffffff);padding:var(--sefin-spacing-lg, 24px) var(--sefin-spacing-md, 16px);border-radius:0 0 var(--sefin-radius-lg, 12px) var(--sefin-radius-lg, 12px);display:flex;justify-content:flex-end;align-items:center}.sefin-table ::ng-deep .sefin-checkbox{margin:0;transition:transform .2s ease-in-out}.sefin-table ::ng-deep .sefin-checkbox:hover{transform:scale(1.05)}.sefin-table ::ng-deep .sefin-badge{margin:0;box-shadow:0 1px 3px #0000001a;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.sefin-table ::ng-deep .sefin-badge:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.sefin-table ::ng-deep .sefin-button,.sefin-table ::ng-deep .sefin-icon-button{transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.sefin-table ::ng-deep .sefin-button:hover,.sefin-table ::ng-deep .sefin-icon-button:hover{transform:translateY(-1px)}.sefin-table ::ng-deep .sefin-button:active,.sefin-table ::ng-deep .sefin-icon-button:active{transform:translateY(0)}sefin-table{display:block;width:100%;max-width:100%;box-sizing:border-box}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PaginationComponent, selector: "sefin-pagination", inputs: ["currentPage", "totalPages", "totalItems", "itemsPerPage", "siblingCount", "showFirstLast", "showPrevNext", "size", "variant", "class"], outputs: ["pageChange"] }, { kind: "component", type: CheckboxComponent, selector: "sefin-checkbox", inputs: ["size", "disabled", "indeterminate", "class", "label", "name", "value"], outputs: ["valueChange", "checkedChange"] }, { kind: "component", type: BadgeComponent, selector: "sefin-badge", inputs: ["variant", "size", "dot", "max", "value", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
6471
6471
  }
6472
6472
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: TableComponent, decorators: [{
6473
6473
  type: Component,
6474
- args: [{ selector: 'sefin-table', standalone: true, imports: [CommonModule, PaginationComponent, CheckboxComponent, BadgeComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"sefin-table__container\">\n <!-- Header Actions Slot -->\n <div *ngIf=\"headerActionsTemplate\" class=\"sefin-table__header-actions\">\n <ng-container *ngTemplateOutlet=\"headerActionsTemplate\"></ng-container>\n </div>\n\n <!-- Loading Overlay -->\n <div *ngIf=\"loading\" class=\"sefin-table__loading\">\n <div class=\"sefin-table__loading-bar\"></div>\n <div class=\"sefin-table__loading-rows\">\n <div *ngFor=\"let i of [1, 2, 3, 4, 5]\" class=\"sefin-table__skeleton-row\">\n <div\n class=\"sefin-table__skeleton-cell\"\n *ngFor=\"let col of columns\"\n ></div>\n </div>\n </div>\n </div>\n\n <!-- Table -->\n <div\n class=\"sefin-table__wrapper\"\n [class.sefin-table__wrapper--loading]=\"loading\"\n >\n <table\n [class]=\"getTableClasses()\"\n class=\"sefin-table__native-table\"\n role=\"table\"\n [attr.aria-label]=\"'Data table with ' + columns.length + ' columns'\"\n [attr.aria-rowcount]=\"serverSide && total !== undefined ? total : sortedData().length\"\n [attr.aria-colcount]=\"totalColspan()\"\n >\n <!-- Table Header -->\n <thead\n class=\"sefin-table__header\"\n [class.sefin-table__header--sticky]=\"stickyHeader\"\n >\n <tr class=\"sefin-table__header-row\">\n <!-- Selection Column Header -->\n <th\n *ngIf=\"selectable\"\n class=\"sefin-table__header-cell sefin-table__header-cell--select\"\n >\n <sefin-checkbox\n *ngIf=\"selectionMode === 'multiple'\"\n [value]=\"isAllSelected()\"\n [indeterminate]=\"isIndeterminate()\"\n (checkedChange)=\"toggleSelectAll($event)\"\n [attr.aria-label]=\"'Select all rows'\"\n size=\"sm\"\n ></sefin-checkbox>\n </th>\n\n <!-- Data Column Headers -->\n <th\n *ngFor=\"let column of columns\"\n [class]=\"getColumnClass(column)\"\n [class.sefin-table__header-cell--sortable]=\"column.sortable && sort\"\n [class.sefin-table__header-cell--sorted]=\"\n currentSortColumn() === column.key\n \"\n [class.sefin-table__header-cell--sort-asc]=\"\n currentSortColumn() === column.key &&\n currentSortDirection() === 'asc'\n \"\n [class.sefin-table__header-cell--sort-desc]=\"\n currentSortColumn() === column.key &&\n currentSortDirection() === 'desc'\n \"\n [class.sefin-table__header-cell--sticky]=\"column.sticky\"\n [class.sefin-table__header-cell--sticky-end]=\"\n column.sticky && column.stickyEnd\n \"\n [style.width]=\"getColumnWidth(column)\"\n class=\"sefin-table__header-cell\"\n (click)=\"column.sortable && sort ? onSort(column) : null\"\n (keydown)=\"column.sortable && sort ? onSort(column, $event) : null\"\n [attr.aria-sort]=\"getAriaSort(column)\"\n [attr.aria-label]=\"getSortAriaLabel(column)\"\n role=\"columnheader\"\n [attr.tabindex]=\"column.sortable && sort ? 0 : null\"\n >\n <span class=\"sefin-table__header-content\">\n {{ column.header }}\n <span\n *ngIf=\"column.sortable && sort\"\n class=\"sefin-table__sort-icon\"\n [attr.aria-hidden]=\"true\"\n >\n <svg\n *ngIf=\"showUnsortedIcon(column)\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <path\n [attr.d]=\"sortIcons.unsorted\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <svg\n *ngIf=\"showAscendingIcon(column)\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <path\n [attr.d]=\"sortIcons.ascending\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <svg\n *ngIf=\"showDescendingIcon(column)\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <path\n [attr.d]=\"sortIcons.descending\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </span>\n </span>\n </th>\n\n <th\n *ngIf=\"hasActionsColumn()\"\n class=\"sefin-table__header-cell sefin-table__header-cell--actions\"\n ></th>\n </tr>\n </thead>\n\n <!-- Table Body -->\n <tbody class=\"sefin-table__body\" role=\"rowgroup\">\n <!-- Data Rows -->\n <tr\n *ngFor=\"let row of displayedData(); trackBy: trackByFn\"\n class=\"sefin-table__row sefin-table__row--clickable\"\n (click)=\"onRowClick(row)\"\n [attr.aria-selected]=\"selectable ? isSelected(row) : null\"\n [attr.aria-label]=\"'Row ' + (trackByFn(0, row) || '')\"\n role=\"row\"\n >\n <!-- Selection Column Cell -->\n <td\n *ngIf=\"selectable\"\n class=\"sefin-table__cell sefin-table__cell--select\"\n >\n <sefin-checkbox\n [value]=\"isSelected(row)\"\n (checkedChange)=\"toggleRowSelection($event, row)\"\n [attr.aria-label]=\"'Select row'\"\n size=\"sm\"\n ></sefin-checkbox>\n </td>\n\n <!-- Data Column Cells -->\n <td\n *ngFor=\"let column of columns\"\n [class]=\"getColumnClass(column)\"\n [class.sefin-table__cell--sticky]=\"column.sticky\"\n [class.sefin-table__cell--sticky-end]=\"\n column.sticky && column.stickyEnd\n \"\n class=\"sefin-table__cell\"\n >\n <!-- Custom Template -->\n <ng-container *ngIf=\"column.cellTemplate\">\n <ng-container\n *ngTemplateOutlet=\"\n column.cellTemplate;\n context: {\n $implicit: row,\n column: column,\n value: getCellValue(row, column)\n }\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Badge Type -->\n <ng-container\n *ngIf=\"!column.cellTemplate && column.type === 'badge'\"\n >\n <sefin-badge\n [value]=\"getCellValue(row, column)\"\n variant=\"primary\"\n size=\"sm\"\n ></sefin-badge>\n </ng-container>\n\n <!-- Actions Type -->\n <ng-container\n *ngIf=\"!column.cellTemplate && column.type === 'actions'\"\n >\n <div class=\"sefin-table__actions\">\n <ng-content select=\"[actions]\"></ng-content>\n </div>\n </ng-container>\n\n <!-- Default/Text/Number/Date Type -->\n <ng-container\n *ngIf=\"\n !column.cellTemplate &&\n column.type !== 'badge' &&\n column.type !== 'actions'\n \"\n >\n <span class=\"sefin-table__cell-content\">\n {{ formatCellValue(getCellValue(row, column), column.type, column) }}\n </span>\n </ng-container>\n </td>\n\n <!-- Actions Column Cell -->\n <td\n *ngIf=\"hasActionsColumn()\"\n class=\"sefin-table__cell sefin-table__cell--actions\"\n >\n <div class=\"sefin-table__actions\">\n <ng-content select=\"[actions]\"></ng-content>\n </div>\n </td>\n </tr>\n\n <!-- Empty Row -->\n <tr *ngIf=\"isEmpty()\" class=\"sefin-table__row sefin-table__row--empty\">\n <td [attr.colspan]=\"totalColspan()\" class=\"sefin-table__empty-cell\">\n <div class=\"sefin-table__empty-state\">\n <ng-container *ngIf=\"emptyIconTemplate\">\n <ng-container\n *ngTemplateOutlet=\"emptyIconTemplate\"\n ></ng-container>\n </ng-container>\n <p class=\"sefin-table__empty-text\">{{ emptyText }}</p>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <!-- Pagination -->\n <sefin-pagination\n *ngIf=\"pagination && !isEmpty()\"\n [currentPage]=\"currentPage()\"\n [totalPages]=\"totalPages()\"\n [totalItems]=\"serverSide && total !== undefined ? total : undefined\"\n [itemsPerPage]=\"currentPageSize()\"\n (pageChange)=\"onPageChange($event)\"\n class=\"sefin-table__paginator\"\n size=\"sm\"\n ></sefin-pagination>\n</div>\n", styles: [".sefin-table{display:block;width:100%;height:100%;font-family:var(--sefin-font-family-base, \"Pluto\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif);background-color:var(--sefin-color-surface, #ffffff);border-radius:var(--sefin-radius-md, 8px);overflow:hidden}.sefin-table__container{display:flex;flex-direction:column;width:100%;height:100%;min-height:100%;background-color:var(--sefin-color-surface, #ffffff);border:1px solid rgba(0,0,0,.06);border-radius:var(--sefin-radius-lg, 12px);overflow:hidden;box-shadow:0 2px 8px #0000000a,0 1px 2px #00000005;transition:box-shadow .3s ease-in-out,border-color .3s ease-in-out}.sefin-table__header-actions{display:flex;justify-content:flex-end;align-items:center;padding:var(--sefin-spacing-md, 16px);border-bottom:1px solid var(--sefin-color-border, #e5e5e5);background-color:var(--sefin-color-background, #ffffff);border-radius:var(--sefin-radius-md, 8px) var(--sefin-radius-md, 8px) 0 0}.sefin-table__wrapper{position:relative;overflow-x:auto;overflow-y:visible;background-color:var(--sefin-color-surface, #ffffff);flex:1;min-height:0;width:100%}.sefin-table__wrapper--loading{opacity:.6;pointer-events:none}.sefin-table__loading{position:absolute;inset:0;z-index:10;background-color:#fffffffa;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;border-radius:var(--sefin-radius-md, 8px)}.sefin-table__loading-bar{height:3px;background:linear-gradient(90deg,transparent,var(--sefin-color-primary, #55C3D8),transparent);animation:loading-bar 1.5s ease-in-out infinite;width:100%;border-radius:0 var(--sefin-radius-lg, 12px) 0 0}@keyframes loading-bar{0%{transform:translate(-100%)}to{transform:translate(200%)}}.sefin-table__loading-rows{flex:1;display:flex;flex-direction:column;padding:var(--sefin-spacing-lg, 24px);gap:var(--sefin-spacing-md, 16px)}.sefin-table__skeleton-row{display:flex;gap:var(--sefin-spacing-md, 16px);padding:var(--sefin-spacing-sm, 8px) 0}.sefin-table__skeleton-cell{flex:1;height:20px;background:linear-gradient(90deg,var(--sefin-color-surface-hover, #f5f5f5) 0%,rgba(85,195,216,.15) 50%,var(--sefin-color-surface-hover, #f5f5f5) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--sefin-radius-sm, 4px)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.sefin-table__native-table{width:100%;min-width:100%;border-collapse:separate;border-spacing:0;background-color:var(--sefin-color-surface, #ffffff);table-layout:auto}.sefin-table--density-compact .sefin-table__header-cell:not(.sefin-table__header-cell--select):not(.sefin-table__header-cell--actions),.sefin-table--density-compact .sefin-table__cell:not(.sefin-table__cell--select):not(.sefin-table__cell--actions){padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-sm, .875rem);line-height:var(--sefin-line-height-normal, 1.5)}.sefin-table--density-compact .sefin-table__header-cell:not(.sefin-table__header-cell--select):not(.sefin-table__header-cell--actions){padding-top:var(--sefin-spacing-sm, 8px);padding-bottom:var(--sefin-spacing-sm, 8px)}.sefin-table--density-compact .sefin-table__cell:not(.sefin-table__cell--select):not(.sefin-table__cell--actions){padding-top:var(--sefin-spacing-xs, 4px);padding-bottom:var(--sefin-spacing-xs, 4px)}.sefin-table--density-compact .sefin-table__header-cell--select,.sefin-table--density-compact .sefin-table__cell--select{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-sm, 8px) var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px)!important}.sefin-table--density-compact .sefin-table__header-cell--actions,.sefin-table--density-compact .sefin-table__cell--actions{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px)!important}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell:not(.sefin-table__header-cell--select):not(.sefin-table__header-cell--actions),.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell:not(.sefin-table__cell--select):not(.sefin-table__cell--actions){font-size:var(--sefin-font-size-sm, .875rem);line-height:var(--sefin-line-height-normal, 1.5);padding-left:var(--sefin-spacing-md, 16px);padding-right:var(--sefin-spacing-md, 16px)}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell:not(.sefin-table__header-cell--select):not(.sefin-table__header-cell--actions){padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell:not(.sefin-table__cell--select):not(.sefin-table__cell--actions){padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell--select,.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell--select{font-size:var(--sefin-font-size-sm, .875rem);line-height:var(--sefin-line-height-normal, 1.5);padding-left:var(--sefin-spacing-md, 16px);padding-right:var(--sefin-spacing-sm, 8px)}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell--select{padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell--select{padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell--actions,.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell--actions{font-size:var(--sefin-font-size-sm, .875rem);line-height:var(--sefin-line-height-normal, 1.5);padding-left:var(--sefin-spacing-md, 16px);padding-right:var(--sefin-spacing-md, 16px)}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell--actions{padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell--actions{padding-top:14px;padding-bottom:14px}.sefin-table__header{background-color:var(--sefin-color-background-elevated, #f5f5f5);border-bottom:1px solid rgba(0,0,0,.08);position:relative}.sefin-table__header:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent 0%,rgba(0,0,0,.06) 50%,transparent 100%)}.sefin-table__header--sticky{position:sticky;top:0;z-index:3;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a}.sefin-table__header-row{background-color:var(--sefin-color-background-elevated, #f5f5f5)}.sefin-table__header-cell{font-weight:var(--sefin-font-weight-semibold, 600);font-size:var(--sefin-font-size-xs, .75rem);color:var(--sefin-color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.8px;text-align:left;border-bottom:none;background-color:var(--sefin-color-background-elevated, #f5f5f5);-webkit-user-select:none;user-select:none;transition:background-color .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1);z-index:1}.sefin-table__header-cell--align-left{text-align:left}.sefin-table__header-cell--align-center{text-align:center}.sefin-table__header-cell--align-right{text-align:right}.sefin-table__header-cell--select{width:56px;text-align:center}.sefin-table__header-cell--actions{width:120px;text-align:right}.sefin-table__header-cell--sortable{cursor:pointer}.sefin-table__header-cell--sortable:hover{background-color:#55c3d80f;color:var(--sefin-color-primary, #55C3D8)}.sefin-table__header-cell--sortable:hover .sefin-table__sort-icon{opacity:1;color:var(--sefin-color-primary, #55C3D8);transform:scale(1.1)}.sefin-table__header-cell--sortable:active{background-color:#55c3d81a}.sefin-table__header-cell--sortable:focus-visible{outline:2px solid var(--sefin-color-border-focus, #55C3D8);outline-offset:-2px;border-radius:var(--sefin-radius-sm, 4px)}.sefin-table__header-cell--sorted{color:var(--sefin-color-primary, #55C3D8);background:linear-gradient(to bottom,#55c3d814,#55c3d80a)}.sefin-table__header-cell--sorted .sefin-table__sort-icon{opacity:1;color:var(--sefin-color-primary, #55C3D8)}.sefin-table__header-cell--sticky{position:sticky;background-color:var(--sefin-color-background-elevated, #f5f5f5);z-index:2}.sefin-table__header-content{display:flex;align-items:center;justify-content:flex-start;gap:var(--sefin-spacing-xs, 4px);width:100%}.sefin-table__sort-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;min-width:14px;color:var(--sefin-color-text-secondary, #9b9b9b);opacity:.5;transition:all .25s cubic-bezier(.4,0,.2,1);flex-shrink:0;margin-left:var(--sefin-spacing-xs, 4px)}.sefin-table__sort-icon svg{display:block;width:100%;height:100%;transition:transform .2s ease-out}.sefin-table__header-cell--sortable:hover .sefin-table__sort-icon{opacity:1;transform:scale(1.1)}.sefin-table__header-cell--sortable:hover .sefin-table__sort-icon svg{transform:scale(1.05)}.sefin-table__body{background-color:var(--sefin-color-surface, #ffffff)}.sefin-table__row{border-bottom:1px solid rgba(0,0,0,.04);transition:background-color .25s cubic-bezier(.4,0,.2,1),transform .15s ease-out;background-color:var(--sefin-color-surface, #ffffff);position:relative}.sefin-table__row--clickable{cursor:pointer}.sefin-table__row--clickable:hover:not(.sefin-table__row--empty){background-color:#55c3d80a;transform:translateY(-1px);box-shadow:0 2px 4px #00000005}.sefin-table__row--clickable:hover:not(.sefin-table__row--empty) .sefin-table__cell--sticky{background-color:#55c3d80a}.sefin-table__row--clickable:active:not(.sefin-table__row--empty){background-color:#55c3d80f;transform:translateY(0);box-shadow:none}.sefin-table__row--clickable:active:not(.sefin-table__row--empty) .sefin-table__cell--sticky{background-color:#55c3d80f}.sefin-table__row--empty{border-bottom:none}.sefin-table__row:focus-visible{outline:2px solid var(--sefin-color-border-focus, #55C3D8);outline-offset:-2px;border-radius:var(--sefin-radius-sm, 4px);z-index:1}.sefin-table__row:last-child{border-bottom:none}.sefin-table__row[data-animate]{animation:fadeInRow .3s ease-in-out}@keyframes fadeInRow{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sefin-table__cell{font-family:var(--sefin-font-family-base, \"Pluto\", sans-serif);font-size:var(--sefin-font-size-sm, .875rem);font-weight:var(--sefin-font-weight-normal, 400);color:var(--sefin-color-text, #1f2937);border-bottom:none;vertical-align:middle;background-color:inherit;transition:background-color .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1)}.sefin-table__cell--align-left{text-align:left}.sefin-table__cell--align-center{text-align:center}.sefin-table__cell--align-right{text-align:right}.sefin-table__cell--select{width:56px;text-align:center}.sefin-table__cell--actions{text-align:right;width:120px}.sefin-table__cell--sticky{position:sticky;background-color:inherit;z-index:1}.sefin-table__cell-content{display:block;line-height:var(--sefin-line-height-normal, 1.5);color:var(--sefin-color-text, #1f2937);font-weight:var(--sefin-font-weight-normal, 400);word-wrap:break-word;word-break:break-word;max-width:100%;overflow:hidden;text-overflow:ellipsis;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sefin-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--sefin-spacing-xs, 4px);flex-wrap:wrap}.sefin-table--striped .sefin-table__row:nth-child(2n){background-color:var(--sefin-color-surface, #ffffff)}.sefin-table--striped .sefin-table__row:nth-child(odd){background-color:#f9fafb99}.sefin-table--striped .sefin-table__cell--sticky:nth-child(2n){background-color:var(--sefin-color-surface, #ffffff)}.sefin-table--striped .sefin-table__cell--sticky:nth-child(odd){background-color:#f9fafb99}.sefin-table--striped .sefin-table__row--clickable:hover,.sefin-table--striped .sefin-table__row--clickable:hover .sefin-table__cell--sticky{background-color:#55c3d80f!important}.sefin-table--hover .sefin-table__row:not(.sefin-table__row--empty):hover{background-color:#55c3d80a}.sefin-table--hover .sefin-table__row:not(.sefin-table__row--empty):hover .sefin-table__cell--sticky{background-color:#55c3d80a}.sefin-table--hover .sefin-table__row--clickable:not(.sefin-table__row--empty):hover{background-color:#55c3d80a}.sefin-table--hover .sefin-table__row--clickable:not(.sefin-table__row--empty):hover .sefin-table__cell--sticky{background-color:#55c3d80a}.sefin-table--sticky-header .sefin-table__header{position:sticky;top:0;z-index:3;box-shadow:0 4px 16px #00000014,0 2px 4px #0000000a}.sefin-table__empty-cell{padding:var(--sefin-spacing-4xl, 96px) var(--sefin-spacing-xl, 32px);text-align:center;border-bottom:none;background-color:var(--sefin-color-surface, #ffffff)}.sefin-table__empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sefin-spacing-lg, 24px);padding:var(--sefin-spacing-2xl, 48px);background:linear-gradient(to bottom,rgba(248,249,250,.5),transparent);border-radius:var(--sefin-radius-md, 8px);margin:var(--sefin-spacing-lg, 24px)}.sefin-table__empty-text{font-size:var(--sefin-font-size-lg, 1.125rem);font-weight:var(--sefin-font-weight-medium, 500);line-height:var(--sefin-line-height-relaxed, 1.75);color:var(--sefin-color-text-secondary, #686868);margin:0;font-family:var(--sefin-font-family-base, \"Pluto\", sans-serif);max-width:480px;letter-spacing:.2px}.sefin-table__paginator{background-color:var(--sefin-color-background, #ffffff);padding:var(--sefin-spacing-lg, 24px) var(--sefin-spacing-md, 16px);border-radius:0 0 var(--sefin-radius-lg, 12px) var(--sefin-radius-lg, 12px);display:flex;justify-content:flex-end;align-items:center}.sefin-table ::ng-deep .sefin-checkbox{margin:0;transition:transform .2s ease-in-out}.sefin-table ::ng-deep .sefin-checkbox:hover{transform:scale(1.05)}.sefin-table ::ng-deep .sefin-badge{margin:0;box-shadow:0 1px 3px #0000001a;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.sefin-table ::ng-deep .sefin-badge:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.sefin-table ::ng-deep .sefin-button,.sefin-table ::ng-deep .sefin-icon-button{transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.sefin-table ::ng-deep .sefin-button:hover,.sefin-table ::ng-deep .sefin-icon-button:hover{transform:translateY(-1px)}.sefin-table ::ng-deep .sefin-button:active,.sefin-table ::ng-deep .sefin-icon-button:active{transform:translateY(0)}\n"] }]
6474
+ args: [{ selector: 'sefin-table', standalone: true, imports: [CommonModule, PaginationComponent, CheckboxComponent, BadgeComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"sefin-table__container\">\n <!-- Header Actions Slot -->\n <div *ngIf=\"headerActionsTemplate\" class=\"sefin-table__header-actions\">\n <ng-container *ngTemplateOutlet=\"headerActionsTemplate\"></ng-container>\n </div>\n\n <!-- Loading Overlay -->\n <div *ngIf=\"loading\" class=\"sefin-table__loading\">\n <div class=\"sefin-table__loading-bar\"></div>\n <div class=\"sefin-table__loading-rows\">\n <div *ngFor=\"let i of [1, 2, 3, 4, 5]\" class=\"sefin-table__skeleton-row\">\n <div\n class=\"sefin-table__skeleton-cell\"\n *ngFor=\"let col of columns\"\n ></div>\n </div>\n </div>\n </div>\n\n <!-- Table -->\n <div\n class=\"sefin-table__wrapper\"\n [class.sefin-table__wrapper--loading]=\"loading\"\n >\n <table\n [class]=\"getTableClasses()\"\n class=\"sefin-table__native-table\"\n role=\"table\"\n [attr.aria-label]=\"'Data table with ' + columns.length + ' columns'\"\n [attr.aria-rowcount]=\"serverSide && total !== undefined ? total : sortedData().length\"\n [attr.aria-colcount]=\"totalColspan()\"\n >\n <!-- Table Header -->\n <thead\n class=\"sefin-table__header\"\n [class.sefin-table__header--sticky]=\"stickyHeader\"\n >\n <tr class=\"sefin-table__header-row\">\n <!-- Selection Column Header -->\n <th\n *ngIf=\"selectable\"\n class=\"sefin-table__header-cell sefin-table__header-cell--select\"\n >\n <sefin-checkbox\n *ngIf=\"selectionMode === 'multiple'\"\n [value]=\"isAllSelected()\"\n [indeterminate]=\"isIndeterminate()\"\n (checkedChange)=\"toggleSelectAll($event)\"\n [attr.aria-label]=\"'Select all rows'\"\n size=\"sm\"\n ></sefin-checkbox>\n </th>\n\n <!-- Data Column Headers -->\n <th\n *ngFor=\"let column of columns\"\n [class]=\"getColumnClass(column)\"\n [class.sefin-table__header-cell--sortable]=\"column.sortable && sort\"\n [class.sefin-table__header-cell--sorted]=\"\n currentSortColumn() === column.key\n \"\n [class.sefin-table__header-cell--sort-asc]=\"\n currentSortColumn() === column.key &&\n currentSortDirection() === 'asc'\n \"\n [class.sefin-table__header-cell--sort-desc]=\"\n currentSortColumn() === column.key &&\n currentSortDirection() === 'desc'\n \"\n [class.sefin-table__header-cell--sticky]=\"column.sticky\"\n [class.sefin-table__header-cell--sticky-end]=\"\n column.sticky && column.stickyEnd\n \"\n [style.width]=\"getColumnWidth(column)\"\n class=\"sefin-table__header-cell\"\n (click)=\"column.sortable && sort ? onSort(column) : null\"\n (keydown)=\"column.sortable && sort ? onSort(column, $event) : null\"\n [attr.aria-sort]=\"getAriaSort(column)\"\n [attr.aria-label]=\"getSortAriaLabel(column)\"\n role=\"columnheader\"\n [attr.tabindex]=\"column.sortable && sort ? 0 : null\"\n >\n <span class=\"sefin-table__header-content\">\n {{ column.header }}\n <span\n *ngIf=\"column.sortable && sort\"\n class=\"sefin-table__sort-icon\"\n [attr.aria-hidden]=\"true\"\n >\n <svg\n *ngIf=\"showUnsortedIcon(column)\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <path\n [attr.d]=\"sortIcons.unsorted\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <svg\n *ngIf=\"showAscendingIcon(column)\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <path\n [attr.d]=\"sortIcons.ascending\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <svg\n *ngIf=\"showDescendingIcon(column)\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n >\n <path\n [attr.d]=\"sortIcons.descending\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </span>\n </span>\n </th>\n\n <th\n *ngIf=\"hasActionsColumn()\"\n class=\"sefin-table__header-cell sefin-table__header-cell--actions\"\n ></th>\n </tr>\n </thead>\n\n <!-- Table Body -->\n <tbody class=\"sefin-table__body\" role=\"rowgroup\">\n <!-- Data Rows -->\n <tr\n *ngFor=\"let row of displayedData(); trackBy: trackByFn\"\n class=\"sefin-table__row sefin-table__row--clickable\"\n (click)=\"onRowClick(row)\"\n [attr.aria-selected]=\"selectable ? isSelected(row) : null\"\n [attr.aria-label]=\"'Row ' + (trackByFn(0, row) || '')\"\n role=\"row\"\n >\n <!-- Selection Column Cell -->\n <td\n *ngIf=\"selectable\"\n class=\"sefin-table__cell sefin-table__cell--select\"\n >\n <sefin-checkbox\n [value]=\"isSelected(row)\"\n (checkedChange)=\"toggleRowSelection($event, row)\"\n [attr.aria-label]=\"'Select row'\"\n size=\"sm\"\n ></sefin-checkbox>\n </td>\n\n <!-- Data Column Cells -->\n <td\n *ngFor=\"let column of columns\"\n [class]=\"getColumnClass(column)\"\n [class.sefin-table__cell--sticky]=\"column.sticky\"\n [class.sefin-table__cell--sticky-end]=\"\n column.sticky && column.stickyEnd\n \"\n class=\"sefin-table__cell\"\n >\n <!-- Custom Template -->\n <ng-container *ngIf=\"column.cellTemplate\">\n <ng-container\n *ngTemplateOutlet=\"\n column.cellTemplate;\n context: {\n $implicit: row,\n column: column,\n value: getCellValue(row, column)\n }\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Badge Type -->\n <ng-container\n *ngIf=\"!column.cellTemplate && column.type === 'badge'\"\n >\n <sefin-badge\n [value]=\"getCellValue(row, column)\"\n variant=\"primary\"\n size=\"sm\"\n ></sefin-badge>\n </ng-container>\n\n <!-- Actions Type -->\n <ng-container\n *ngIf=\"!column.cellTemplate && column.type === 'actions'\"\n >\n <div class=\"sefin-table__actions\">\n <ng-content select=\"[actions]\"></ng-content>\n </div>\n </ng-container>\n\n <!-- Default/Text/Number/Date Type -->\n <ng-container\n *ngIf=\"\n !column.cellTemplate &&\n column.type !== 'badge' &&\n column.type !== 'actions'\n \"\n >\n <span class=\"sefin-table__cell-content\">\n {{ formatCellValue(getCellValue(row, column), column.type, column) }}\n </span>\n </ng-container>\n </td>\n\n <!-- Actions Column Cell -->\n <td\n *ngIf=\"hasActionsColumn()\"\n class=\"sefin-table__cell sefin-table__cell--actions\"\n >\n <div class=\"sefin-table__actions\">\n <ng-content select=\"[actions]\"></ng-content>\n </div>\n </td>\n </tr>\n\n <!-- Empty Row -->\n <tr *ngIf=\"isEmpty()\" class=\"sefin-table__row sefin-table__row--empty\">\n <td [attr.colspan]=\"totalColspan()\" class=\"sefin-table__empty-cell\">\n <div class=\"sefin-table__empty-state\">\n <div class=\"sefin-table__empty-icon-wrapper\">\n <ng-container *ngIf=\"emptyIconTemplate; else defaultEmptyIcon\">\n <ng-container\n *ngTemplateOutlet=\"emptyIconTemplate\"\n ></ng-container>\n </ng-container>\n <ng-template #defaultEmptyIcon>\n <svg\n class=\"sefin-table__empty-icon\"\n width=\"80\"\n height=\"80\"\n viewBox=\"0 0 80 80\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <circle\n cx=\"40\"\n cy=\"40\"\n r=\"38\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-opacity=\"0.2\"\n />\n <path\n d=\"M25 30C25 28.3431 26.3431 27 28 27H52C53.6569 27 55 28.3431 55 30V50C55 51.6569 53.6569 53 52 53H28C26.3431 53 25 51.6569 25 50V30Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-opacity=\"0.3\"\n />\n <path\n d=\"M30 35L40 42L50 35\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-opacity=\"0.4\"\n />\n <circle\n cx=\"40\"\n cy=\"40\"\n r=\"3\"\n fill=\"currentColor\"\n fill-opacity=\"0.15\"\n />\n </svg>\n </ng-template>\n </div>\n <p class=\"sefin-table__empty-text\">{{ emptyText }}</p>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <!-- Pagination -->\n <sefin-pagination\n *ngIf=\"pagination && !isEmpty()\"\n [currentPage]=\"currentPage()\"\n [totalPages]=\"totalPages()\"\n [totalItems]=\"serverSide && total !== undefined ? total : undefined\"\n [itemsPerPage]=\"currentPageSize()\"\n (pageChange)=\"onPageChange($event)\"\n class=\"sefin-table__paginator\"\n size=\"sm\"\n ></sefin-pagination>\n</div>\n", styles: [".sefin-table{display:block;width:100%;height:100%;max-width:100%;box-sizing:border-box;font-family:var(--sefin-font-family-base, \"Pluto\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif);background-color:var(--sefin-color-surface, #ffffff);border-radius:var(--sefin-radius-md, 8px);overflow:hidden}.sefin-table__container{display:flex;flex-direction:column;width:100%;max-width:100%;height:100%;min-height:100%;box-sizing:border-box;background-color:var(--sefin-color-surface, #ffffff);border:1px solid rgba(0,0,0,.06);border-radius:var(--sefin-radius-lg, 12px);overflow:hidden;box-shadow:0 2px 8px #0000000a,0 1px 2px #00000005;transition:box-shadow .3s ease-in-out,border-color .3s ease-in-out}.sefin-table__header-actions{display:flex;justify-content:flex-end;align-items:center;padding:var(--sefin-spacing-md, 16px);border-bottom:1px solid var(--sefin-color-border, #e5e5e5);background-color:var(--sefin-color-background, #ffffff);border-radius:var(--sefin-radius-md, 8px) var(--sefin-radius-md, 8px) 0 0}.sefin-table__wrapper{position:relative;overflow-x:auto;overflow-y:visible;background-color:var(--sefin-color-surface, #ffffff);flex:1;min-height:0;width:100%;max-width:100%;box-sizing:border-box}.sefin-table__wrapper--loading{opacity:.6;pointer-events:none}.sefin-table__loading{position:absolute;inset:0;z-index:10;background-color:#fffffffa;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;border-radius:var(--sefin-radius-md, 8px)}.sefin-table__loading-bar{height:3px;background:linear-gradient(90deg,transparent,var(--sefin-color-primary, #55C3D8),transparent);animation:loading-bar 1.5s ease-in-out infinite;width:100%;border-radius:0 var(--sefin-radius-lg, 12px) 0 0}@keyframes loading-bar{0%{transform:translate(-100%)}to{transform:translate(200%)}}.sefin-table__loading-rows{flex:1;display:flex;flex-direction:column;padding:var(--sefin-spacing-lg, 24px);gap:var(--sefin-spacing-md, 16px)}.sefin-table__skeleton-row{display:flex;gap:var(--sefin-spacing-md, 16px);padding:var(--sefin-spacing-sm, 8px) 0}.sefin-table__skeleton-cell{flex:1;height:20px;background:linear-gradient(90deg,var(--sefin-color-surface-hover, #f5f5f5) 0%,rgba(85,195,216,.15) 50%,var(--sefin-color-surface-hover, #f5f5f5) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--sefin-radius-sm, 4px)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.sefin-table__native-table{width:100%;min-width:100%;max-width:100%;box-sizing:border-box;border-collapse:separate;border-spacing:0;background-color:var(--sefin-color-surface, #ffffff);table-layout:auto}.sefin-table--density-compact .sefin-table__header-cell:not(.sefin-table__header-cell--select):not(.sefin-table__header-cell--actions),.sefin-table--density-compact .sefin-table__cell:not(.sefin-table__cell--select):not(.sefin-table__cell--actions){padding:var(--sefin-spacing-xs, 4px) var(--sefin-spacing-sm, 8px);font-size:var(--sefin-font-size-sm, .875rem);line-height:var(--sefin-line-height-normal, 1.5)}.sefin-table--density-compact .sefin-table__header-cell:not(.sefin-table__header-cell--select):not(.sefin-table__header-cell--actions){padding-top:var(--sefin-spacing-sm, 8px);padding-bottom:var(--sefin-spacing-sm, 8px)}.sefin-table--density-compact .sefin-table__cell:not(.sefin-table__cell--select):not(.sefin-table__cell--actions){padding-top:var(--sefin-spacing-xs, 4px);padding-bottom:var(--sefin-spacing-xs, 4px)}.sefin-table--density-compact .sefin-table__header-cell--select,.sefin-table--density-compact .sefin-table__cell--select{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-sm, 8px) var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px)!important}.sefin-table--density-compact .sefin-table__header-cell--actions,.sefin-table--density-compact .sefin-table__cell--actions{padding:var(--sefin-spacing-sm, 8px) var(--sefin-spacing-md, 16px)!important}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell:not(.sefin-table__header-cell--select):not(.sefin-table__header-cell--actions),.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell:not(.sefin-table__cell--select):not(.sefin-table__cell--actions){font-size:var(--sefin-font-size-sm, .875rem);line-height:var(--sefin-line-height-normal, 1.5);padding-left:var(--sefin-spacing-md, 16px);padding-right:var(--sefin-spacing-md, 16px)}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell:not(.sefin-table__header-cell--select):not(.sefin-table__header-cell--actions){padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell:not(.sefin-table__cell--select):not(.sefin-table__cell--actions){padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell--select,.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell--select{font-size:var(--sefin-font-size-sm, .875rem);line-height:var(--sefin-line-height-normal, 1.5);padding-left:var(--sefin-spacing-md, 16px);padding-right:var(--sefin-spacing-sm, 8px)}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell--select{padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell--select{padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell--actions,.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell--actions{font-size:var(--sefin-font-size-sm, .875rem);line-height:var(--sefin-line-height-normal, 1.5);padding-left:var(--sefin-spacing-md, 16px);padding-right:var(--sefin-spacing-md, 16px)}.sefin-table:not(.sefin-table--density-compact) .sefin-table__header-cell--actions{padding-top:14px;padding-bottom:14px}.sefin-table:not(.sefin-table--density-compact) .sefin-table__cell--actions{padding-top:14px;padding-bottom:14px}.sefin-table__header{background-color:var(--sefin-color-background-elevated, #f5f5f5);border-bottom:1px solid rgba(0,0,0,.08);position:relative}.sefin-table__header:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent 0%,rgba(0,0,0,.06) 50%,transparent 100%)}.sefin-table__header--sticky{position:sticky;top:0;z-index:3;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a}.sefin-table__header-row{background-color:var(--sefin-color-background-elevated, #f5f5f5)}.sefin-table__header-cell{font-weight:var(--sefin-font-weight-semibold, 600);font-size:var(--sefin-font-size-xs, .75rem);color:var(--sefin-color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.8px;text-align:left;border-bottom:none;background-color:var(--sefin-color-background-elevated, #f5f5f5);-webkit-user-select:none;user-select:none;transition:background-color .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1);z-index:1}.sefin-table__header-cell--align-left{text-align:left}.sefin-table__header-cell--align-center{text-align:center}.sefin-table__header-cell--align-right{text-align:right}.sefin-table__header-cell--select{width:56px;text-align:center}.sefin-table__header-cell--actions{width:120px;text-align:right}.sefin-table__header-cell--sortable{cursor:pointer}.sefin-table__header-cell--sortable:hover{background-color:#55c3d80f;color:var(--sefin-color-primary, #55C3D8)}.sefin-table__header-cell--sortable:hover .sefin-table__sort-icon{opacity:1;color:var(--sefin-color-primary, #55C3D8);transform:scale(1.1)}.sefin-table__header-cell--sortable:active{background-color:#55c3d81a}.sefin-table__header-cell--sortable:focus-visible{outline:2px solid var(--sefin-color-border-focus, #55C3D8);outline-offset:-2px;border-radius:var(--sefin-radius-sm, 4px)}.sefin-table__header-cell--sorted{color:var(--sefin-color-primary, #55C3D8);background:linear-gradient(to bottom,#55c3d814,#55c3d80a)}.sefin-table__header-cell--sorted .sefin-table__sort-icon{opacity:1;color:var(--sefin-color-primary, #55C3D8)}.sefin-table__header-cell--sticky{position:sticky;background-color:var(--sefin-color-background-elevated, #f5f5f5);z-index:2}.sefin-table__header-content{display:flex;align-items:center;justify-content:flex-start;gap:var(--sefin-spacing-xs, 4px);width:100%}.sefin-table__sort-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;min-width:14px;color:var(--sefin-color-text-secondary, #9b9b9b);opacity:.5;transition:all .25s cubic-bezier(.4,0,.2,1);flex-shrink:0;margin-left:var(--sefin-spacing-xs, 4px)}.sefin-table__sort-icon svg{display:block;width:100%;height:100%;transition:transform .2s ease-out}.sefin-table__header-cell--sortable:hover .sefin-table__sort-icon{opacity:1;transform:scale(1.1)}.sefin-table__header-cell--sortable:hover .sefin-table__sort-icon svg{transform:scale(1.05)}.sefin-table__body{background-color:var(--sefin-color-surface, #ffffff)}.sefin-table__row{border-bottom:1px solid rgba(0,0,0,.04);transition:background-color .25s cubic-bezier(.4,0,.2,1),transform .15s ease-out;background-color:var(--sefin-color-surface, #ffffff);position:relative}.sefin-table__row--clickable{cursor:pointer}.sefin-table__row--clickable:hover:not(.sefin-table__row--empty){background-color:#55c3d80a;transform:translateY(-1px);box-shadow:0 2px 4px #00000005}.sefin-table__row--clickable:hover:not(.sefin-table__row--empty) .sefin-table__cell--sticky{background-color:#55c3d80a}.sefin-table__row--clickable:active:not(.sefin-table__row--empty){background-color:#55c3d80f;transform:translateY(0);box-shadow:none}.sefin-table__row--clickable:active:not(.sefin-table__row--empty) .sefin-table__cell--sticky{background-color:#55c3d80f}.sefin-table__row--empty{border-bottom:none}.sefin-table__row:focus-visible{outline:2px solid var(--sefin-color-border-focus, #55C3D8);outline-offset:-2px;border-radius:var(--sefin-radius-sm, 4px);z-index:1}.sefin-table__row:last-child{border-bottom:none}.sefin-table__row[data-animate]{animation:fadeInRow .3s ease-in-out}@keyframes fadeInRow{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sefin-table__cell{font-family:var(--sefin-font-family-base, \"Pluto\", sans-serif);font-size:var(--sefin-font-size-sm, .875rem);font-weight:var(--sefin-font-weight-normal, 400);color:var(--sefin-color-text, #1f2937);border-bottom:none;vertical-align:middle;background-color:inherit;transition:background-color .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1)}.sefin-table__cell--align-left{text-align:left}.sefin-table__cell--align-center{text-align:center}.sefin-table__cell--align-right{text-align:right}.sefin-table__cell--select{width:56px;text-align:center}.sefin-table__cell--actions{text-align:right;width:120px}.sefin-table__cell--sticky{position:sticky;background-color:inherit;z-index:1}.sefin-table__cell-content{display:block;line-height:var(--sefin-line-height-normal, 1.5);color:var(--sefin-color-text, #1f2937);font-weight:var(--sefin-font-weight-normal, 400);word-wrap:break-word;word-break:break-word;max-width:100%;overflow:hidden;text-overflow:ellipsis;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sefin-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--sefin-spacing-xs, 4px);flex-wrap:wrap}.sefin-table--striped .sefin-table__row:nth-child(2n){background-color:var(--sefin-color-surface, #ffffff)}.sefin-table--striped .sefin-table__row:nth-child(odd){background-color:#f9fafb99}.sefin-table--striped .sefin-table__cell--sticky:nth-child(2n){background-color:var(--sefin-color-surface, #ffffff)}.sefin-table--striped .sefin-table__cell--sticky:nth-child(odd){background-color:#f9fafb99}.sefin-table--striped .sefin-table__row--clickable:hover,.sefin-table--striped .sefin-table__row--clickable:hover .sefin-table__cell--sticky{background-color:#55c3d80f!important}.sefin-table--hover .sefin-table__row:not(.sefin-table__row--empty):hover{background-color:#55c3d80a}.sefin-table--hover .sefin-table__row:not(.sefin-table__row--empty):hover .sefin-table__cell--sticky{background-color:#55c3d80a}.sefin-table--hover .sefin-table__row--clickable:not(.sefin-table__row--empty):hover{background-color:#55c3d80a}.sefin-table--hover .sefin-table__row--clickable:not(.sefin-table__row--empty):hover .sefin-table__cell--sticky{background-color:#55c3d80a}.sefin-table--sticky-header .sefin-table__header{position:sticky;top:0;z-index:3;box-shadow:0 4px 16px #00000014,0 2px 4px #0000000a}.sefin-table__empty-cell{padding:var(--sefin-spacing-4xl, 96px) var(--sefin-spacing-xl, 32px);text-align:center;border-bottom:none;background-color:var(--sefin-color-surface, #ffffff);vertical-align:middle}.sefin-table__empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sefin-spacing-md, 16px);padding:var(--sefin-spacing-3xl, 64px) var(--sefin-spacing-xl, 32px);animation:fadeInEmpty .4s ease-out}@keyframes fadeInEmpty{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.sefin-table__empty-icon-wrapper{display:flex;align-items:center;justify-content:center;margin-bottom:var(--sefin-spacing-xs, 4px);animation:floatEmpty 3s ease-in-out infinite}@keyframes floatEmpty{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.sefin-table__empty-icon{width:80px;height:80px;color:var(--sefin-color-text-secondary, #9ca3af);opacity:.6;transition:all .3s ease-in-out;filter:drop-shadow(0 2px 4px rgba(0,0,0,.04))}.sefin-table__empty-text{font-size:var(--sefin-font-size-base, 1rem);font-weight:var(--sefin-font-weight-medium, 500);line-height:var(--sefin-line-height-relaxed, 1.75);color:var(--sefin-color-text-secondary, #6b7280);margin:0;font-family:var(--sefin-font-family-base, \"Pluto\", sans-serif);max-width:400px;letter-spacing:.01em;text-align:center}.sefin-table__paginator{background-color:var(--sefin-color-background, #ffffff);padding:var(--sefin-spacing-lg, 24px) var(--sefin-spacing-md, 16px);border-radius:0 0 var(--sefin-radius-lg, 12px) var(--sefin-radius-lg, 12px);display:flex;justify-content:flex-end;align-items:center}.sefin-table ::ng-deep .sefin-checkbox{margin:0;transition:transform .2s ease-in-out}.sefin-table ::ng-deep .sefin-checkbox:hover{transform:scale(1.05)}.sefin-table ::ng-deep .sefin-badge{margin:0;box-shadow:0 1px 3px #0000001a;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.sefin-table ::ng-deep .sefin-badge:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.sefin-table ::ng-deep .sefin-button,.sefin-table ::ng-deep .sefin-icon-button{transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.sefin-table ::ng-deep .sefin-button:hover,.sefin-table ::ng-deep .sefin-icon-button:hover{transform:translateY(-1px)}.sefin-table ::ng-deep .sefin-button:active,.sefin-table ::ng-deep .sefin-icon-button:active{transform:translateY(0)}sefin-table{display:block;width:100%;max-width:100%;box-sizing:border-box}\n"] }]
6475
6475
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { columns: [{
6476
6476
  type: Input
6477
6477
  }], data: [{