{"version":3,"file":"epag-front-components.mjs","sources":["../../src/lib/components/button/button.component.ts","../../src/lib/components/button/button.component.html","../../src/lib/components/action-dialog/action-dialog.component.ts","../../src/lib/components/action-dialog/action-dialog.component.html","../../src/lib/components/button/button.module.ts","../../src/lib/components/action-dialog/action-dialog.module.ts","../../src/lib/components/avatar/avatar.component.ts","../../src/lib/components/avatar/avatar.component.html","../../src/lib/components/avatar/avatar.module.ts","../../src/lib/components/date-range-picker/date-range-picker.component.ts","../../src/lib/components/date-range-picker/date-range-picker.component.html","../../src/lib/components/date-range-picker/date-range-picker.module.ts","../../src/lib/components/icon/icons.ts","../../src/lib/components/icon/icon.component.ts","../../src/lib/components/icon/icon.component.html","../../src/lib/components/icon/icon.module.ts","../../src/lib/components/last-days-card/last-days-card.component.ts","../../src/lib/components/last-days-card/last-days-card.component.html","../../src/lib/components/card/card.component.ts","../../src/lib/components/card/card.component.html","../../src/lib/components/card/card.module.ts","../../src/lib/components/info-card/info-card-item-value.directive.ts","../../src/lib/components/loader/loader.component.ts","../../src/lib/components/loader/loader.component.html","../../src/lib/directives/loader.directive.ts","../../src/lib/components/info-card/info-card.component.ts","../../src/lib/components/info-card/info-card.component.html","../../src/lib/components/loader/loader.module.ts","../../src/lib/components/info-card/info-card.module.ts","../../src/lib/components/status-badge/status-badge.component.ts","../../src/lib/components/status-badge/status-badge.component.html","../../src/lib/components/status-badge/status-badge.module.ts","../../src/lib/pipes/split-underscore.pipe.ts","../../src/lib/components/disputes-info/disputes-info.component.ts","../../src/lib/components/disputes-info/disputes-info.component.html","../../src/lib/components/disputes-info/disputes-info.module.ts","../../src/lib/pipes/apply-pipe.pipe.ts","../../src/lib/components/paginated-table/paginated-table-item.directive.ts","../../src/lib/services/messageNotificationService/message-notification-service.service.ts","../../src/lib/components/paginated-table/paginated-table.component.ts","../../src/lib/components/paginated-table/paginated-table.component.html","../../src/lib/components/paginated-table/paginated-table.module.ts","../../src/lib/components/finance-info/finance-info.component.ts","../../src/lib/components/finance-info/finance-info.component.html","../../src/lib/components/finance-info/finance-info.module.ts","../../src/lib/components/payment-fees/payment-fees.component.ts","../../src/lib/components/payment-fees/payment-fees.component.html","../../src/lib/components/payment-fees/payment-fees.module.ts","../../src/lib/components/refunds-info/refunds-info.component.ts","../../src/lib/components/refunds-info/refunds-info.component.html","../../src/lib/components/refunds-info/refunds-info.module.ts","../../src/lib/components/select/select.component.ts","../../src/lib/components/select/select.component.html","../../src/lib/components/select/select.module.ts","../../src/lib/components/general-status-card/general-status-card.component.ts","../../src/lib/components/general-status-card/general-status-card.component.html","../../src/lib/components/page-menu/page-menu-item.directive.ts","../../src/lib/components/page-menu/page-menu.component.ts","../../src/lib/components/page-menu/page-menu.component.html","../../src/lib/components/page-menu/page-menu.module.ts","../../src/lib/utils/enum.ts","../../src/lib/pipes/payment-method-enum.pipe.ts","../../src/lib/pipes/split-camel-case.pipe.ts","../../src/lib/pipes/split-dash.pipe.ts","../../src/lib/pipes/status-card.pipe.ts","../../src/lib/services/navigation/navigation.service.ts","../../src/lib/directives/go-back/go-back.directive.ts","../../src/lib/epag-front-components.module.ts","../../src/lib/components/callout/callout.component.ts","../../src/lib/components/callout/callout.component.html","../../src/lib/components/callout/callout.module.ts","../../src/lib/components/detail-card/detail-card-item-value.directive.ts","../../src/lib/components/detail-card/detail-card.component.ts","../../src/lib/components/detail-card/detail-card.component.html","../../src/lib/components/detail-card/detail-card.module.ts","../../src/lib/components/fieldset/fieldset.component.ts","../../src/lib/components/fieldset/fieldset.component.html","../../src/lib/components/fieldset/fieldset.module.ts","../../src/lib/components/filters-panel/filters-panel.component.ts","../../src/lib/components/filters-panel/filters-panel.component.html","../../src/lib/components/filters-panel/filters-panel.module.ts","../../src/lib/components/three-section-layout/three-section-layout.component.ts","../../src/lib/components/three-section-layout/three-section-layout.component.html","../../src/lib/components/three-section-layout/three-section-layout.module.ts","../../src/lib/components/action-dialog/dialog.service.ts","../../src/public-api.ts","../../src/epag-front-components.ts"],"sourcesContent":["import {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  HostBinding,\n  Input,\n  Output,\n  booleanAttribute,\n} from '@angular/core';\n\ntype MaterialColor = 'primary' | 'accent' | 'warn';\ntype CustomColor = 'success' | 'caution';\n\n/**\n * Defines the visual style variant of the button based on Material Design specifications.\n * - 'button': Basic text button with no elevation\n * - 'raised': Button with elevation shadow\n * - 'flat': Button with filled background (default)\n * - 'stroked': Button with outlined border\n * - 'icon': Compact icon-only button\n * - 'fab': Large circular floating action button\n * - 'mini-fab': Small circular floating action button\n */\nexport type ButtonVariant = 'button' | 'raised' | 'flat' | 'stroked' | 'icon' | 'fab' | 'mini-fab';\n\n/**\n * Color scheme for the button. Can be Material theme colors or custom colors.\n */\nexport type ButtonColor = MaterialColor | CustomColor | undefined;\n\n/**\n * HTML button type attribute value.\n */\nexport type ButtonType = 'button' | 'submit' | 'reset';\n\n/**\n * Size variant for textual buttons (button, raised, flat, stroked).\n * Note: Size does not apply to icon, fab, or mini-fab variants.\n */\nexport type ButtonSize = 'normal' | 'mini';\n\nconst MATERIAL_COLORS: ReadonlyArray<MaterialColor> = ['primary', 'accent', 'warn'];\nconst CUSTOM_COLORS: ReadonlyArray<CustomColor> = ['success', 'caution'];\n\nconst isMaterialColor = (color: ButtonColor): color is MaterialColor =>\n  MATERIAL_COLORS.includes(color as MaterialColor);\n\nconst isCustomColor = (color: ButtonColor): color is CustomColor =>\n  CUSTOM_COLORS.includes(color as CustomColor);\n\n/**\n * A versatile button component based on Angular Material that supports multiple variants,\n * colors, states, and accessibility features.\n *\n * @example\n * ```html\n * <epag-button\n *   label=\"Submit\"\n *   variant=\"flat\"\n *   color=\"primary\"\n *   (clicked)=\"onSubmit()\">\n * </epag-button>\n * ```\n *\n * @example Icon button with accessibility label\n * ```html\n * <epag-button\n *   icon=\"delete\"\n *   variant=\"icon\"\n *   ariaLabel=\"Delete item\"\n *   (clicked)=\"onDelete()\">\n * </epag-button>\n * ```\n */\n@Component({\n  selector: 'epag-button',\n  templateUrl: './button.component.html',\n  styleUrls: ['./button.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ButtonComponent {\n  /**\n   * Material Symbol icon name to display in the button.\n   * Uses Material Symbols Outlined font.\n   */\n  @Input() icon = '';\n\n  /**\n   * Text label to display on the button.\n   * Not displayed on icon-only variants (icon, fab, mini-fab).\n   */\n  @Input() label = '';\n\n  /**\n   * Visual variant of the button.\n   * @default 'flat'\n   */\n  @Input() variant: ButtonVariant = 'flat';\n\n  /**\n   * Color scheme of the button. Supports Material theme colors\n   * (primary, accent, warn) and custom colors (success, caution).\n   * @default 'primary'\n   */\n  @Input() color: ButtonColor = 'primary';\n\n  /**\n   * HTML button type attribute.\n   * @default 'button'\n   */\n  @Input() type: ButtonType = 'button';\n\n  /**\n   * Size variant. Only applies to textual buttons (button, raised, flat, stroked).\n   * @default 'normal'\n   */\n  @Input() size: ButtonSize = 'normal';\n\n  /**\n   * Whether the button is disabled. Prevents user interaction.\n   * @default false\n   */\n  @Input({ transform: booleanAttribute }) disabled = false;\n\n  /**\n   * Whether the button is in loading state. Shows a spinner and prevents interaction.\n   * @default false\n   */\n  @Input({ transform: booleanAttribute }) isLoading = false;\n\n  /**\n   * Whether the button should expand to fill its container width.\n   * @default false\n   */\n  @Input({ transform: booleanAttribute }) fullWidth = false;\n\n  /**\n   * Accessible label for the button. Required for icon-only buttons\n   * (icon, fab, mini-fab variants) to provide context for screen readers.\n   */\n  @Input() ariaLabel?: string;\n\n  /**\n   * @internal\n   * Host binding for full-width styling.\n   */\n  @HostBinding('class.full-width') get isFullWidth(): boolean {\n    return this.fullWidth;\n  }\n\n  /**\n   * @internal\n   * Diameter of the loading spinner in pixels.\n   */\n  spinnerDiameter = 16;\n\n  /**\n   * Event emitted when the button is clicked and not disabled or loading.\n   */\n  @Output() clicked = new EventEmitter<void>();\n\n  /**\n   * Returns the Material color if the current color is a Material theme color,\n   * otherwise returns undefined.\n   * @internal\n   */\n  get materialColor(): 'primary' | 'accent' | 'warn' | undefined {\n    return isMaterialColor(this.color) ? this.color : undefined;\n  }\n\n  /**\n   * Returns the CSS class for custom colors, or empty string for Material colors.\n   * @internal\n   */\n  get customColorClass(): string {\n    return isCustomColor(this.color) ? `color-${this.color}` : '';\n  }\n\n  /**\n   * Returns the CSS class for mini size on textual variants, or empty string otherwise.\n   * @internal\n   */\n  get sizeClass(): string {\n    const isTextualVariant = ['button', 'raised', 'flat', 'stroked'].includes(this.variant);\n    return this.size === 'mini' && isTextualVariant ? 'size-mini' : '';\n  }\n\n  /**\n   * Handles button click events. Only emits the clicked event if the button\n   * is not disabled and not in loading state.\n   * @internal\n   */\n  handleClick(): void {\n    if (!this.disabled && !this.isLoading) {\n      this.clicked.emit();\n    }\n  }\n}\n","<ng-container [ngSwitch]=\"variant\">\n  <button\n    *ngSwitchCase=\"'button'\"\n    mat-button\n    [color]=\"materialColor\"\n    [ngClass]=\"[customColorClass, sizeClass]\"\n    [disabled]=\"disabled || isLoading\"\n    [type]=\"type\"\n    [attr.aria-label]=\"ariaLabel\"\n    [attr.aria-busy]=\"isLoading\"\n    [attr.aria-disabled]=\"disabled\"\n    (click)=\"handleClick()\"\n  >\n    <mat-icon *ngIf=\"icon && !isLoading\" class=\"material-symbols-outlined\">\n      {{ icon }}\n    </mat-icon>\n    <div class=\"spinner-container\">\n      <mat-spinner *ngIf=\"isLoading\" [diameter]=\"spinnerDiameter\" />\n      {{ label }}\n    </div>\n  </button>\n\n  <button\n    *ngSwitchCase=\"'raised'\"\n    mat-raised-button\n    [color]=\"materialColor\"\n    [ngClass]=\"[customColorClass, sizeClass]\"\n    [disabled]=\"disabled || isLoading\"\n    [type]=\"type\"\n    [attr.aria-label]=\"ariaLabel\"\n    [attr.aria-busy]=\"isLoading\"\n    [attr.aria-disabled]=\"disabled\"\n    (click)=\"handleClick()\"\n  >\n    <mat-icon *ngIf=\"icon && !isLoading\" class=\"material-symbols-outlined\">\n      {{ icon }}\n    </mat-icon>\n    <div class=\"spinner-container\">\n      <mat-spinner *ngIf=\"isLoading\" [diameter]=\"spinnerDiameter\" />\n      {{ label }}\n    </div>\n  </button>\n\n  <button\n    *ngSwitchCase=\"'flat'\"\n    mat-flat-button\n    [color]=\"materialColor\"\n    [ngClass]=\"[customColorClass, sizeClass]\"\n    [disabled]=\"disabled || isLoading\"\n    [type]=\"type\"\n    [attr.aria-label]=\"ariaLabel\"\n    [attr.aria-busy]=\"isLoading\"\n    [attr.aria-disabled]=\"disabled\"\n    (click)=\"handleClick()\"\n  >\n    <mat-icon *ngIf=\"icon && !isLoading\" class=\"material-symbols-outlined\">\n      {{ icon }}\n    </mat-icon>\n    <div class=\"spinner-container\">\n      <mat-spinner *ngIf=\"isLoading\" [diameter]=\"spinnerDiameter\" />\n      {{ label }}\n    </div>\n  </button>\n\n  <button\n    *ngSwitchCase=\"'stroked'\"\n    mat-stroked-button\n    [color]=\"materialColor\"\n    [ngClass]=\"[customColorClass, sizeClass]\"\n    [disabled]=\"disabled || isLoading\"\n    [type]=\"type\"\n    [attr.aria-label]=\"ariaLabel\"\n    [attr.aria-busy]=\"isLoading\"\n    [attr.aria-disabled]=\"disabled\"\n    (click)=\"handleClick()\"\n  >\n    <mat-icon *ngIf=\"icon && !isLoading\" class=\"material-symbols-outlined\">\n      {{ icon }}\n    </mat-icon>\n    <div class=\"spinner-container\">\n      <mat-spinner *ngIf=\"isLoading\" [diameter]=\"spinnerDiameter\" />\n      {{ label }}\n    </div>\n  </button>\n\n  <button\n    *ngSwitchCase=\"'icon'\"\n    mat-icon-button\n    [color]=\"materialColor\"\n    [ngClass]=\"[customColorClass, sizeClass]\"\n    [disabled]=\"disabled || isLoading\"\n    [type]=\"type\"\n    [attr.aria-label]=\"ariaLabel\"\n    [attr.aria-busy]=\"isLoading\"\n    [attr.aria-disabled]=\"disabled\"\n    (click)=\"handleClick()\"\n  >\n    <mat-icon *ngIf=\"icon && !isLoading\" class=\"material-symbols-outlined\">\n      {{ icon }}\n    </mat-icon>\n    <ng-content></ng-content>\n    <mat-spinner *ngIf=\"isLoading\" [diameter]=\"spinnerDiameter\" />\n  </button>\n\n  <button\n    *ngSwitchCase=\"'fab'\"\n    mat-fab\n    [color]=\"materialColor\"\n    [ngClass]=\"[customColorClass, sizeClass]\"\n    [disabled]=\"disabled || isLoading\"\n    [type]=\"type\"\n    [attr.aria-label]=\"ariaLabel\"\n    [attr.aria-busy]=\"isLoading\"\n    [attr.aria-disabled]=\"disabled\"\n    (click)=\"handleClick()\"\n  >\n    <mat-icon *ngIf=\"icon && !isLoading\" class=\"material-symbols-outlined\">\n      {{ icon }}\n    </mat-icon>\n    <mat-spinner *ngIf=\"isLoading\" [diameter]=\"spinnerDiameter\" />\n  </button>\n\n  <button\n    *ngSwitchCase=\"'mini-fab'\"\n    mat-mini-fab\n    [color]=\"materialColor\"\n    [ngClass]=\"customColorClass\"\n    [disabled]=\"disabled || isLoading\"\n    [type]=\"type\"\n    [attr.aria-label]=\"ariaLabel\"\n    [attr.aria-busy]=\"isLoading\"\n    [attr.aria-disabled]=\"disabled\"\n    (click)=\"handleClick()\"\n  >\n    <mat-icon *ngIf=\"icon && !isLoading\" class=\"material-symbols-outlined\">\n      {{ icon }}\n    </mat-icon>\n    <mat-spinner *ngIf=\"isLoading\" [diameter]=\"spinnerDiameter\" />\n  </button>\n</ng-container>\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { defaultIfEmpty, from, Observable, take } from 'rxjs';\nimport { ButtonColor } from '../button/button.component';\n\nexport type ActionDialogVariant = 'warning' | 'success' | 'info';\n\nexport interface ActionDialogData {\n  title?: string;\n  message: string;\n  variant?: ActionDialogVariant;\n  confirmLabel?: string;\n  cancelLabel?: string;\n  showCancel?: boolean;\n  asyncConfirm?: () => Observable<unknown> | Promise<unknown>;\n}\n\n@Component({\n  selector: 'epag-action-dialog',\n  templateUrl: './action-dialog.component.html',\n  styleUrls: ['./action-dialog.component.scss'],\n})\nexport class ActionDialogComponent {\n  loading = false;\n  asyncErrorMessage: string | null = null;\n\n  constructor(\n    private dialogRef: MatDialogRef<ActionDialogComponent, boolean>,\n    @Inject(MAT_DIALOG_DATA) public data: ActionDialogData,\n  ) {}\n\n  get title(): string {\n    const { title, variant = 'info' } = this.data;\n\n    const titleVariantMap: Record<ActionDialogVariant, string> = {\n      warning: 'Warning',\n      success: 'Success!',\n      info: 'Notification',\n    };\n\n    return title ?? titleVariantMap[variant];\n  }\n\n  get confirmButtonColor(): ButtonColor {\n    const { variant = 'info' } = this.data;\n\n    const colorMap: Record<ActionDialogVariant, ButtonColor> = {\n      warning: 'success',\n      success: 'primary',\n      info: 'primary',\n    };\n\n    return colorMap[variant];\n  }\n\n  get confirmButtonLabel(): string {\n    const { confirmLabel, showCancel } = this.data;\n    return confirmLabel ?? (showCancel === false ? 'OK' : 'Yes');\n  }\n\n  onConfirm(): void {\n    if (this.data.asyncConfirm) {\n      this.loading = true;\n      this.asyncErrorMessage = null;\n      this.dialogRef.disableClose = true;\n\n      try {\n        const result$ = this.data.asyncConfirm();\n\n        from(result$)\n          .pipe(defaultIfEmpty(undefined), take(1))\n          .subscribe({\n            next: () => {\n              this.loading = false;\n              this.dialogRef.close(true);\n            },\n            error: () => this.handleAsyncError(),\n          });\n      } catch {\n        this.handleAsyncError();\n      }\n\n      return;\n    }\n\n    this.dialogRef.close(true);\n  }\n\n  onCancel(): void {\n    this.dialogRef.close(false);\n  }\n\n  private handleAsyncError(): void {\n    this.loading = false;\n    this.dialogRef.disableClose = false;\n    this.asyncErrorMessage = 'Action failed. Please try again.';\n  }\n}\n","<h2 mat-dialog-title>\n  <span class=\"dialog-title\" [class]=\"data.variant\">\n    {{ title }}\n  </span>\n</h2>\n\n<div mat-dialog-content>\n  <p [innerHTML]=\"data.message\"></p>\n\n  <p *ngIf=\"asyncErrorMessage\" class=\"dialog-error\" role=\"alert\" aria-live=\"assertive\">\n    {{ asyncErrorMessage }}\n  </p>\n</div>\n\n<div mat-dialog-actions align=\"end\">\n  <epag-button\n    *ngIf=\"data.showCancel !== false\"\n    color=\"warn\"\n    [disabled]=\"loading\"\n    [label]=\"data.cancelLabel ?? 'No'\"\n    (clicked)=\"onCancel()\"\n  />\n\n  <epag-button\n    [color]=\"confirmButtonColor\"\n    [label]=\"confirmButtonLabel\"\n    [isLoading]=\"loading\"\n    (clicked)=\"onConfirm()\"\n  />\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { ButtonComponent } from './button.component';\n\n@NgModule({\n  declarations: [ButtonComponent],\n  imports: [CommonModule, MatButtonModule, MatIconModule, MatProgressSpinnerModule],\n  exports: [ButtonComponent],\n})\nexport class EpagButtonModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { ActionDialogComponent } from './action-dialog.component';\nimport { EpagButtonModule } from '../button/button.module';\n\n@NgModule({\n  declarations: [ActionDialogComponent],\n  imports: [CommonModule, MatDialogModule, EpagButtonModule],\n})\nexport class EpagActionDialogModule {}\n","import { Component, Input, EventEmitter, Output } from '@angular/core';\n\n/**\n * Avatar component that displays a user profile picture or initials with an optional name and description.\n *\n * @example\n * <epag-avatar\n *   name=\"John Doe\"\n *   description=\"Software Engineer\"\n *   src=\"https://example.com/avatar.jpg\">\n * </epag-avatar>\n */\n@Component({\n  selector: 'epag-avatar',\n  templateUrl: './avatar.component.html',\n  styleUrls: ['./avatar.component.scss'],\n})\nexport class AvatarComponent {\n  /**\n   * URL of the user profile image\n   */\n  @Input() src = '';\n\n  /**\n   * Username displayed right to the avatar and used for initials generation\n   */\n  @Input() name = '';\n\n  /**\n   * Additional description text below the name\n   */\n  @Input() description = '';\n\n  /**\n   * Whether to hide the name and description labels\n   */\n  @Input() hideLabels = false;\n\n  /**\n   * Emits when the image fails to load\n   */\n  @Output() imageError = new EventEmitter<Event>();\n\n  /**\n   * Generates initials from the name.\n   * - Single word: first two letters (e.g., \"Madonna\" -> \"MA\")\n   * - Multiple words: first letter of first and last word (e.g., \"John Doe\" -> \"JD\")\n   * - Empty/invalid: returns empty string\n   */\n  get initials(): string {\n    if (!this.name || typeof this.name !== 'string') {\n      return '';\n    }\n\n    // Trim and normalize whitespace, filter out empty strings\n    const normalizedName = this.name.trim().replace(/\\s+/g, ' ');\n    if (!normalizedName) {\n      return '';\n    }\n\n    const words = normalizedName.split(' ').filter((word) => word.length > 0);\n\n    if (words.length === 0) {\n      return '';\n    }\n\n    if (words.length === 1) {\n      // If only one word, use the first two letters\n      const word = words[0];\n      return word.length === 1 ? word.toUpperCase() : word.substring(0, 2).toUpperCase();\n    } else {\n      // If multiple words, use the first letter of first word and first letter of last word\n      const firstLetter = words[0].charAt(0);\n      const lastLetter = words[words.length - 1].charAt(0);\n      return (firstLetter + lastLetter).toUpperCase();\n    }\n  }\n\n  /**\n   * Checks if an image source is provided\n   */\n  get hasImage(): boolean {\n    return !!this.src && this.src.trim().length > 0;\n  }\n\n  /**\n   * Handles image loading errors\n   */\n  onImageError(event: Event): void {\n    this.imageError.emit(event);\n  }\n}\n","<figure class=\"avatar\" [attr.aria-label]=\"name ? 'User avatar for ' + name : 'User avatar'\">\n  <div class=\"avatar__wrapper\">\n    <div class=\"avatar__circle\" [class.avatar__circle--has-image]=\"hasImage\">\n      <img\n        *ngIf=\"hasImage\"\n        class=\"avatar__image\"\n        [src]=\"src\"\n        [alt]=\"name ? name + ' profile picture' : 'Profile picture'\"\n        (error)=\"onImageError($event)\"\n      />\n      <div\n        *ngIf=\"!hasImage\"\n        class=\"avatar__initials\"\n        [attr.aria-label]=\"name ? 'Initials for ' + name : 'User initials'\"\n      >\n        {{ initials }}\n      </div>\n    </div>\n\n    <figcaption *ngIf=\"!hideLabels && (name || description)\" class=\"avatar__content\">\n      <div *ngIf=\"name\" class=\"avatar__name\">{{ name }}</div>\n      <div *ngIf=\"description\" class=\"avatar__description\">{{ description }}</div>\n    </figcaption>\n  </div>\n</figure>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AvatarComponent } from './avatar.component';\n\n@NgModule({\n  declarations: [AvatarComponent],\n  imports: [CommonModule],\n  exports: [AvatarComponent],\n})\nexport class EpagAvatarModule {}\n","import {\n  booleanAttribute,\n  Component,\n  EventEmitter,\n  Input,\n  Optional,\n  Output,\n  Self,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport {\n  FloatLabelType,\n  MatFormFieldAppearance,\n  SubscriptSizing,\n} from '@angular/material/form-field';\n\n/**\n * Value emitted and consumed by the date range picker.\n * The date instance type depends on the configured Material date adapter\n * (for example `Date`, `Moment`, or `Luxon` date objects).\n * Both properties are nullable so partially selected ranges can be represented safely.\n */\nexport interface DateRangeValue<TDate extends object = object> {\n  start: TDate | null;\n  end: TDate | null;\n}\n\n/**\n * Material-based date range picker component with a single `value` / `valueChange` API.\n * Supports Angular forms integration, disabled state, and optional minimum and maximum dates.\n *\n * @example\n * ```html\n * <epag-date-range-picker\n *   label=\"Booking period\"\n *   [min]=\"minDate\"\n *   [max]=\"maxDate\"\n *   [(value)]=\"dateRange\">\n * </epag-date-range-picker>\n * ```\n */\n@Component({\n  selector: 'epag-date-range-picker',\n  templateUrl: './date-range-picker.component.html',\n  styleUrls: ['./date-range-picker.component.scss'],\n})\nexport class DateRangePickerComponent implements ControlValueAccessor {\n  /**\n   * Label rendered inside the form field.\n   */\n  @Input() label?: string;\n\n  /**\n   * Angular Material form-field appearance.\n   * @default 'fill'\n   */\n  @Input() appearance: MatFormFieldAppearance = 'fill';\n\n  /**\n   * Floating label behavior for the form field.\n   * @default 'auto'\n   */\n  @Input() floatLabel: FloatLabelType = 'auto';\n\n  /**\n   * Controls how the subscript area reserves space for hints and errors.\n   * @default 'dynamic'\n   */\n  @Input() subscriptSizing: SubscriptSizing = 'dynamic';\n\n  /**\n   * Placeholder shown in the start date input.\n   * @default 'aaaa-mm-dd'\n   */\n  @Input() startPlaceholder = 'aaaa-mm-dd';\n\n  /**\n   * Placeholder shown in the end date input.\n   * @default 'aaaa-mm-dd'\n   */\n  @Input() endPlaceholder = 'aaaa-mm-dd';\n\n  /**\n   * Disables the component when set directly by the consumer.\n   * Combined with Angular forms disabled state through `setDisabledState`.\n   * @default false\n   */\n  @Input({ transform: booleanAttribute }) disabled = false;\n\n  /**\n   * Minimum selectable date applied to the range input.\n   */\n  @Input() min: object | null = null;\n\n  /**\n   * Maximum selectable date applied to the range input.\n   */\n  @Input() max: object | null = null;\n\n  private _value: DateRangeValue = { start: null, end: null };\n\n  /**\n   * Current selected range.\n   * Incoming values are normalized so the component always works with a safe `{ start, end }` object.\n   */\n  @Input()\n  get value(): DateRangeValue {\n    return this._value;\n  }\n  set value(value: Partial<DateRangeValue> | null | undefined) {\n    this._value = this.normalizeValue(value);\n  }\n\n  /**\n   * Emits whenever the selected range changes.\n   */\n  @Output() valueChange = new EventEmitter<DateRangeValue>();\n\n  private cvaDisabled = false;\n\n  private onChange: (value: DateRangeValue) => void = () => {};\n  onTouched: () => void = () => {};\n\n  /**\n   * Effective disabled state, combining direct input binding and Angular forms state.\n   */\n  get isDisabled(): boolean {\n    return this.disabled || this.cvaDisabled;\n  }\n\n  /**\n   * Registers the component as the value accessor when used with Angular forms.\n   */\n  constructor(@Optional() @Self() public ngControl: NgControl) {\n    if (this.ngControl) {\n      this.ngControl.valueAccessor = this;\n    }\n  }\n\n  /**\n   * Writes a new value from Angular forms into the component.\n   */\n  writeValue(obj: DateRangeValue | null | undefined): void {\n    this.value = obj;\n  }\n\n  /**\n   * Stores the callback used by Angular forms when the value changes.\n   */\n  registerOnChange(fn: (value: DateRangeValue) => void): void {\n    this.onChange = fn;\n  }\n\n  /**\n   * Stores the callback used by Angular forms when the control is touched.\n   */\n  registerOnTouched(fn: VoidFunction): void {\n    this.onTouched = fn;\n  }\n\n  /**\n   * Updates the disabled state coming from Angular forms.\n   */\n  setDisabledState(isDisabled: boolean): void {\n    this.cvaDisabled = isDisabled;\n  }\n\n  /**\n   * Normalizes and emits the current range after either input changes.\n   */\n  onDateChange(): void {\n    const normalizedValue = this.normalizeValue(this._value);\n    this._value = normalizedValue;\n\n    this.valueChange.emit(normalizedValue);\n    this.onChange(normalizedValue);\n    this.onTouched();\n  }\n\n  /**\n   * Ensures the component always stores a safe range object with nullable `start` and `end` keys.\n   * @internal\n   */\n  private normalizeValue(value: Partial<DateRangeValue> | null | undefined): DateRangeValue {\n    return {\n      start: value?.start ?? null,\n      end: value?.end ?? null,\n    };\n  }\n}\n","<mat-form-field\n  [appearance]=\"appearance\"\n  [subscriptSizing]=\"subscriptSizing\"\n  [floatLabel]=\"floatLabel\"\n>\n  <mat-label *ngIf=\"label\">{{ label }}</mat-label>\n  <mat-date-range-input [rangePicker]=\"picker\" [disabled]=\"isDisabled\" [min]=\"min\" [max]=\"max\">\n    <input\n      matStartDate\n      [placeholder]=\"startPlaceholder\"\n      [disabled]=\"isDisabled\"\n      [ngModelOptions]=\"{ standalone: true }\"\n      [(ngModel)]=\"value.start\"\n      (ngModelChange)=\"onDateChange()\"\n      (blur)=\"onTouched()\"\n    />\n    <input\n      matEndDate\n      [placeholder]=\"endPlaceholder\"\n      [disabled]=\"isDisabled\"\n      [ngModelOptions]=\"{ standalone: true }\"\n      [(ngModel)]=\"value.end\"\n      (ngModelChange)=\"onDateChange()\"\n      (blur)=\"onTouched()\"\n    />\n  </mat-date-range-input>\n  <mat-datepicker-toggle matIconSuffix [for]=\"picker\" [disabled]=\"isDisabled\" />\n  <mat-date-range-picker #picker [disabled]=\"isDisabled\" />\n</mat-form-field>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { DateRangePickerComponent } from './date-range-picker.component';\n\n@NgModule({\n  declarations: [DateRangePickerComponent],\n  imports: [\n    CommonModule,\n    FormsModule,\n    MatNativeDateModule,\n    MatDatepickerModule,\n    MatFormFieldModule,\n  ],\n  exports: [DateRangePickerComponent],\n})\nexport class EpagDateRangePickerModule {}\n","// AUTO-GENERATED — do not edit manually.\n// Add SVGs to assets/icons/ and run: npm run generate:icons\n\nexport type EpagIconName =\n  | 'arrow'\n  | 'bankly'\n  | 'block'\n  | 'card'\n  | 'check'\n  | 'contract'\n  | 'copy'\n  | 'dados-pessoais'\n  | 'dashboard'\n  | 'download'\n  | 'edit'\n  | 'email'\n  | 'events'\n  | 'external-link'\n  | 'fees'\n  | 'filter'\n  | 'finance'\n  | 'firewall-rules'\n  | 'global'\n  | 'id-validation'\n  | 'legal'\n  | 'link'\n  | 'local'\n  | 'lock'\n  | 'logs'\n  | 'merchant'\n  | 'merchant-settings'\n  | 'more'\n  | 'notifications'\n  | 'password'\n  | 'payments'\n  | 'payouts'\n  | 'projects'\n  | 'receipt'\n  | 'refund'\n  | 'reports'\n  | 'search'\n  | 'store'\n  | 'support'\n  | 'sync'\n  | 'transaction-reports'\n  | 'trash'\n  | 'treasury'\n  | 'unlock'\n  | 'unview'\n  | 'upload'\n  | 'users'\n  | 'view'\n  | 'x';\n\nexport const EPAG_ICONS: Record<EpagIconName, string> = {\n  arrow: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M24 21.9098C21.3089 18.6247 18.9191 16.7607 16.8302 16.3174C14.7419 15.8747 12.7536 15.8076 10.8649 16.1167V22L2 12.3998L10.8649 3.30005V8.8919C14.3569 8.9194 17.3252 10.1723 19.7705 12.65C22.2153 15.1278 23.6255 18.2144 24 21.9098Z\" stroke=\"currentColor\" stroke-width=\"1.83333\" stroke-linejoin=\"round\"/>\n</svg>`,\n  bankly: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12.1429 4L4 8.28571V10H20.2857V8.28571M16 11.7143V17.7143H18.5714V11.7143M4 22H20.2857V19.4286H4M10.8571 11.7143V17.7143H13.4286V11.7143M5.71429 11.7143V17.7143H8.28571V11.7143H5.71429Z\" fill=\"currentColor\"/>\n</svg>`,\n  block: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M15 11.25V7.5C15 6.125 13.875 5 12.5 5C11.125 5 10 6.125 10 7.5H7.5C7.5 4.7375 9.7375 2.5 12.5 2.5C15.2625 2.5 17.5 4.7375 17.5 7.5V11.25H18.75C19.4375 11.25 20 11.8125 20 12.5V21.25C20 21.9375 19.4375 22.5 18.75 22.5H6.25C5.5625 22.5 5 21.9375 5 21.25V12.5C5 11.8125 5.5625 11.25 6.25 11.25H15ZM13.75 20L13.3 17.3125C13.9375 17.0125 14.375 16.375 14.375 15.625C14.375 14.5875 13.5375 13.75 12.5 13.75C11.4625 13.75 10.625 14.5875 10.625 15.625C10.625 16.375 11.0625 17.0125 11.7 17.3125L11.25 20H13.75Z\" fill=\"currentColor\"/>\n</svg>`,\n  card: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M4.33325 17.0714C4.33325 17.6019 4.54397 18.1106 4.91904 18.4856C5.29411 18.8607 5.80282 19.0714 6.33325 19.0714H18.3333C18.8637 19.0714 19.3724 18.8607 19.7475 18.4856C20.1225 18.1106 20.3333 17.6019 20.3333 17.0714V11.5714H4.33325V17.0714ZM6.69039 14.3571C6.69039 14.073 6.80328 13.8005 7.00421 13.5995C7.20514 13.3986 7.47766 13.2857 7.76182 13.2857H9.47611C9.76027 13.2857 10.0328 13.3986 10.2337 13.5995C10.4347 13.8005 10.5475 14.073 10.5475 14.3571V15.0714C10.5475 15.3556 10.4347 15.6281 10.2337 15.829C10.0328 16.03 9.76027 16.1429 9.47611 16.1429H7.76182C7.47766 16.1429 7.20514 16.03 7.00421 15.829C6.80328 15.6281 6.69039 15.3556 6.69039 15.0714V14.3571ZM18.3333 6.5H6.33325C5.80282 6.5 5.29411 6.71071 4.91904 7.08579C4.54397 7.46086 4.33325 7.96957 4.33325 8.5V9.42857H20.3333V8.5C20.3333 7.96957 20.1225 7.46086 19.7475 7.08579C19.3724 6.71071 18.8637 6.5 18.3333 6.5Z\" fill=\"currentColor\"/>\n</svg>`,\n  check: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M4 11.3636L9.81818 17.1818L20 7\" stroke=\"currentColor\" stroke-width=\"3.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>`,\n  contract: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M8.54571 11.8641H15.6371V13.637H8.54571V11.8641ZM10.3186 18.9556H6.77285V4.77273H12.9778V9.20486H17.41V11.9528L19.1828 10.1799V8.31844L13.8643 2.99988H6.77285C6.30266 2.99988 5.85173 3.18666 5.51926 3.51913C5.18678 3.85161 5 4.30254 5 4.77273V18.9556C5 19.4257 5.18678 19.8767 5.51926 20.2092C5.85173 20.5416 6.30266 20.7284 6.77285 20.7284H10.3186V18.9556ZM8.54571 17.1827H12.1801L12.9778 16.3849V15.4099H8.54571V17.1827ZM19.3601 12.7506C19.4488 12.7506 19.626 12.8392 19.7147 12.9279L20.867 14.0802C21.0443 14.2575 21.0443 14.6121 20.867 14.7894L19.9806 15.6758L18.1191 13.8143L19.0055 12.9279C19.0942 12.8392 19.1828 12.7506 19.3601 12.7506ZM19.3601 16.2076L13.9529 21.6148H12.0914V19.7533L17.4986 14.3461L19.3601 16.2076Z\" fill=\"currentColor\"/>\n</svg>`,\n  copy: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M6.5 23C5.95 23 5.479 22.804 5.087 22.412C4.695 22.02 4.49934 21.5493 4.5 21V8C4.5 7.71667 4.596 7.479 4.788 7.287C4.98 7.095 5.21733 6.99934 5.5 7C5.78333 7 6.021 7.096 6.213 7.288C6.405 7.48 6.50067 7.71734 6.5 8V21H16.5C16.7833 21 17.021 21.096 17.213 21.288C17.405 21.48 17.5007 21.7173 17.5 22C17.5 22.2833 17.404 22.521 17.212 22.713C17.02 22.905 16.7827 23.0007 16.5 23H6.5ZM10.5 19C9.95 19 9.479 18.804 9.087 18.412C8.695 18.02 8.49934 17.5493 8.5 17V5C8.5 4.45 8.696 3.979 9.088 3.587C9.48 3.195 9.95067 2.99934 10.5 3H19.5C20.05 3 20.521 3.196 20.913 3.588C21.305 3.98 21.5007 4.45067 21.5 5V17C21.5 17.55 21.304 18.021 20.912 18.413C20.52 18.805 20.0493 19.0007 19.5 19H10.5Z\" fill=\"currentColor\"/>\n</svg>`,\n  'dados-pessoais': `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.05556 7.44444C8.05556 6.2657 8.52381 5.13524 9.3573 4.30175C10.1908 3.46825 11.3213 3 12.5 3C13.6787 3 14.8092 3.46825 15.6427 4.30175C16.4762 5.13524 16.9444 6.2657 16.9444 7.44444C16.9444 8.62318 16.4762 9.75365 15.6427 10.5871C14.8092 11.4206 13.6787 11.8889 12.5 11.8889C11.3213 11.8889 10.1908 11.4206 9.3573 10.5871C8.52381 9.75365 8.05556 8.62318 8.05556 7.44444ZM8.05556 14.1111C6.58213 14.1111 5.16905 14.6964 4.12718 15.7383C3.08532 16.7802 2.5 18.1932 2.5 19.6667C2.5 20.5507 2.85119 21.3986 3.47631 22.0237C4.10143 22.6488 4.94928 23 5.83333 23H19.1667C20.0507 23 20.8986 22.6488 21.5237 22.0237C22.1488 21.3986 22.5 20.5507 22.5 19.6667C22.5 18.1932 21.9147 16.7802 20.8728 15.7383C19.8309 14.6964 18.4179 14.1111 16.9444 14.1111H8.05556Z\" fill=\"currentColor\"/>\n</svg>`,\n  dashboard: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M13.6111 8.55556V4.11111C13.6111 3.7963 13.7178 3.53223 13.9311 3.31889C14.1444 3.10556 14.4081 2.99926 14.7222 3H21.3889C21.7037 3 21.9678 3.10667 22.1811 3.32C22.3944 3.53334 22.5007 3.79704 22.5 4.11111V8.55556C22.5 8.87037 22.3933 9.13445 22.18 9.34778C21.9667 9.56111 21.703 9.66741 21.3889 9.66667H14.7222C14.4074 9.66667 14.1433 9.56 13.93 9.34667C13.7167 9.13333 13.6104 8.86963 13.6111 8.55556ZM2.5 13V4.11111C2.5 3.7963 2.60667 3.53223 2.82 3.31889C3.03334 3.10556 3.29704 2.99926 3.61111 3H10.2778C10.5926 3 10.8567 3.10667 11.07 3.32C11.2833 3.53334 11.3896 3.79704 11.3889 4.11111V13C11.3889 13.3148 11.2822 13.5789 11.0689 13.7922C10.8556 14.0056 10.5919 14.1119 10.2778 14.1111H3.61111C3.2963 14.1111 3.03223 14.0044 2.81889 13.7911C2.60556 13.5778 2.49926 13.3141 2.5 13ZM13.6111 21.8889V13C13.6111 12.6852 13.7178 12.4211 13.9311 12.2078C14.1444 11.9944 14.4081 11.8881 14.7222 11.8889H21.3889C21.7037 11.8889 21.9678 11.9956 22.1811 12.2089C22.3944 12.4222 22.5007 12.6859 22.5 13V21.8889C22.5 22.2037 22.3933 22.4678 22.18 22.6811C21.9667 22.8944 21.703 23.0007 21.3889 23H14.7222C14.4074 23 14.1433 22.8933 13.93 22.68C13.7167 22.4667 13.6104 22.203 13.6111 21.8889ZM2.5 21.8889V17.4444C2.5 17.1296 2.60667 16.8656 2.82 16.6522C3.03334 16.4389 3.29704 16.3326 3.61111 16.3333H10.2778C10.5926 16.3333 10.8567 16.44 11.07 16.6533C11.2833 16.8667 11.3896 17.1304 11.3889 17.4444V21.8889C11.3889 22.2037 11.2822 22.4678 11.0689 22.6811C10.8556 22.8944 10.5919 23.0007 10.2778 23H3.61111C3.2963 23 3.03223 22.8933 2.81889 22.68C2.60556 22.4667 2.49926 22.203 2.5 21.8889Z\" fill=\"currentColor\"/>\n</svg>`,\n  download: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M13 18L6.75 11.75L8.5 9.9375L11.75 13.1875V3H14.25V13.1875L17.5 9.9375L19.25 11.75L13 18ZM5.5 23C4.8125 23 4.22417 22.7554 3.735 22.2662C3.24583 21.7771 3.00083 21.1883 3 20.5V16.75H5.5V20.5H20.5V16.75H23V20.5C23 21.1875 22.7554 21.7762 22.2662 22.2662C21.7771 22.7562 21.1883 23.0008 20.5 23H5.5Z\" fill=\"currentColor\"/>\n</svg>`,\n  edit: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M19.0767 10.0904L14.8849 5.94795L16.2657 4.56712C16.6438 4.18904 17.1083 4 17.6594 4C18.2104 4 18.6746 4.18904 19.052 4.56712L20.4328 5.94795C20.8109 6.32603 21.0082 6.78236 21.0246 7.31693C21.041 7.85151 20.8602 8.30751 20.4821 8.68493L19.0767 10.0904ZM17.6465 11.5452L7.19177 22H3V17.8082L13.4548 7.35342L17.6465 11.5452Z\" fill=\"currentColor\"/>\n</svg>`,\n  email: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M22 7.10005C22 6.11005 21.19 5.30005 20.2 5.30005H5.8C4.81 5.30005 4 6.11005 4 7.10005V17.9C4 18.89 4.81 19.7 5.8 19.7H20.2C21.19 19.7 22 18.89 22 17.9V7.10005ZM20.2 7.10005L13 11.6L5.8 7.10005H20.2ZM20.2 17.9H5.8V8.90005L13 13.4L20.2 8.90005V17.9Z\" fill=\"currentColor\"/>\n</svg>`,\n  events: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M15.5 19.5C15.0875 19.5 14.7345 19.3532 14.441 19.0597C14.1475 18.7662 14.0005 18.413 14 18V15C14 14.5875 14.147 14.2345 14.441 13.941C14.735 13.6475 15.088 13.5005 15.5 13.5H18.5C18.9125 13.5 19.2657 13.647 19.5597 13.941C19.8537 14.235 20.0005 14.588 20 15V18C20 18.4125 19.8532 18.7657 19.5597 19.0597C19.2662 19.3537 18.913 19.5005 18.5 19.5H15.5ZM15.5 18H18.5V15H15.5V18ZM5 17.25V15.75H11.75V17.25H5ZM15.5 12C15.0875 12 14.7345 11.8532 14.441 11.5597C14.1475 11.2662 14.0005 10.913 14 10.5V7.5C14 7.0875 14.147 6.7345 14.441 6.441C14.735 6.1475 15.088 6.0005 15.5 6H18.5C18.9125 6 19.2657 6.147 19.5597 6.441C19.8537 6.735 20.0005 7.088 20 7.5V10.5C20 10.9125 19.8532 11.2657 19.5597 11.5597C19.2662 11.8537 18.913 12.0005 18.5 12H15.5ZM15.5 10.5H18.5V7.5H15.5V10.5ZM5 9.75V8.25H11.75V9.75H5Z\" fill=\"currentColor\"/>\n</svg>`,\n  'external-link': `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M13 6H7C6.46957 6 5.96086 6.21071 5.58579 6.58579C5.21071 6.96086 5 7.46957 5 8V18C5 18.5304 5.21071 19.0391 5.58579 19.4142C5.96086 19.7893 6.46957 20 7 20H17C17.5304 20 18.0391 19.7893 18.4142 19.4142C18.7893 19.0391 19 18.5304 19 18V12M12 13L21 4M21 4H16M21 4V9\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>`,\n  fees: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5 7.22231C5 6.63295 5.23412 6.06773 5.65086 5.65099C6.0676 5.23424 6.63283 5.00012 7.22219 5.00012H18.3331C19.0404 5.00012 19.7186 5.28107 20.2187 5.78116C20.7188 6.28125 20.9998 6.95951 20.9998 7.66675V20.111C20.9998 20.2692 20.9576 20.4245 20.8776 20.5609C20.7976 20.6973 20.6827 20.8099 20.5446 20.8871C20.4066 20.9643 20.2504 21.0032 20.0923 20.9999C19.9342 20.9966 19.7798 20.9512 19.6451 20.8683L17.222 19.3768L14.799 20.8683C14.6589 20.9545 14.4976 21.0001 14.3332 21.0001C14.1687 21.0001 14.0075 20.9545 13.8674 20.8683L11.4443 19.3768L9.02127 20.8683C8.88657 20.9512 8.73219 20.9966 8.57406 20.9999C8.41594 21.0032 8.2598 20.9643 8.12175 20.8871C7.9837 20.8099 7.86874 20.6973 7.78874 20.5609C7.70874 20.4245 7.66658 20.2692 7.66663 20.111V14.7777H5.88888C5.65313 14.7777 5.42704 14.6841 5.26035 14.5174C5.09365 14.3507 5 14.1246 5 13.8889V7.22231ZM9.44438 18.5199L10.9786 17.5759C11.1186 17.4897 11.2799 17.4441 11.4443 17.4441C11.6088 17.4441 11.77 17.4897 11.9101 17.5759L14.3332 19.0675L16.7563 17.5759C16.8963 17.4897 17.0576 17.4441 17.222 17.4441C17.3865 17.4441 17.5477 17.4897 17.6878 17.5759L19.222 18.5199V7.66675C19.222 7.431 19.1284 7.20491 18.9617 7.03822C18.795 6.87152 18.5689 6.77787 18.3331 6.77787H9.39993C9.42956 6.92187 9.44438 7.07002 9.44438 7.22231V18.5199ZM7.22219 6.77787C7.10432 6.77787 6.99127 6.8247 6.90792 6.90804C6.82457 6.99139 6.77775 7.10444 6.77775 7.22231V13H7.66663V7.22231C7.66663 7.10444 7.6198 6.99139 7.53645 6.90804C7.4531 6.8247 7.34006 6.77787 7.22219 6.77787ZM11.2221 10.3334C11.2221 10.0976 11.3158 9.87154 11.4825 9.70484C11.6492 9.53815 11.8753 9.4445 12.111 9.4445H16.5554C16.7911 9.4445 17.0172 9.53815 17.1839 9.70484C17.3506 9.87154 17.4443 10.0976 17.4443 10.3334C17.4443 10.5691 17.3506 10.7952 17.1839 10.9619C17.0172 11.1286 16.7911 11.2222 16.5554 11.2222H12.111C11.8753 11.2222 11.6492 11.1286 11.4825 10.9619C11.3158 10.7952 11.2221 10.5691 11.2221 10.3334ZM11.2221 13.8889C11.2221 13.6531 11.3158 13.427 11.4825 13.2603C11.6492 13.0936 11.8753 13 12.111 13H15.6665C15.9022 13 16.1283 13.0936 16.295 13.2603C16.4617 13.427 16.5554 13.6531 16.5554 13.8889C16.5554 14.1246 16.4617 14.3507 16.295 14.5174C16.1283 14.6841 15.9022 14.7777 15.6665 14.7777H12.111C11.8753 14.7777 11.6492 14.6841 11.4825 14.5174C11.3158 14.3507 11.2221 14.1246 11.2221 13.8889Z\" fill=\"currentColor\"/>\n</svg>`,\n  filter: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3.25 2H20.75L14.5 10.125V22L9.5 17V10.125L3.25 2Z\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>`,\n  finance: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3 5H21.136V8.12343C20.0882 8.12343 19.4736 8.74811 19.3224 8.89924L19.3123 8.9194L19.1209 9.10076V9.03023C18.5869 9.03023 18.073 8.81864 17.7003 8.43577C17.3174 8.06297 17.1058 7.54912 17.1058 7.01511H7.03023C7.03023 7.54912 6.81864 8.06297 6.43577 8.43577C6.06297 8.81864 5.54912 9.03023 5.01511 9.03023V13.0605C5.54912 13.0605 6.06297 13.272 6.43577 13.6549C6.81864 14.0277 7.03023 14.5416 7.03023 15.0756H13.1461L11.131 17.0907H3V5ZM12.068 8.02267C12.8741 8.02267 13.6398 8.34509 14.204 8.90932C14.4845 9.18983 14.707 9.52284 14.8589 9.88933C15.0107 10.2558 15.0888 10.6486 15.0888 11.0453C15.0888 11.442 15.0107 11.8348 14.8589 12.2013C14.707 12.5678 14.4845 12.9009 14.204 13.1814C13.9235 13.4619 13.5905 13.6844 13.224 13.8362C12.8575 13.988 12.4647 14.0661 12.068 14.0661C11.6713 14.0661 11.2785 13.988 10.912 13.8362C10.5455 13.6844 10.2125 13.4619 9.93199 13.1814C9.50832 12.7592 9.21955 12.2208 9.10231 11.6343C8.98506 11.0478 9.04462 10.4397 9.27342 9.8871C9.50223 9.33451 9.88998 8.86232 10.3875 8.53039C10.885 8.19846 11.4699 8.02175 12.068 8.02267ZM22.8489 11.6499L21.539 10.3401C21.4383 10.2393 21.3375 10.1385 21.136 10.1385C20.9345 10.1385 20.8338 10.2393 20.733 10.3401L19.7254 11.3476L21.8413 13.4635L22.8489 12.4559C23.0504 12.2544 23.0504 11.8514 22.8489 11.6499ZM15.1914 20.1133L21.2368 13.9673L19.2217 11.8514L13.0756 17.9975V20.1133H15.1914Z\" fill=\"currentColor\"/>\n</svg>`,\n  'firewall-rules': `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M20.3632 14.7766L20.3459 14.7852C20.5442 15.0266 20.7166 15.2939 20.846 15.5784L20.9236 15.7422C21.5357 17.1992 21.1046 18.8803 19.9752 19.9321C18.9493 20.8718 17.5182 21.1218 16.1905 20.9494C14.9318 20.7942 13.7765 20.0011 13.1127 18.9062C12.9144 18.57 12.742 18.1906 12.6558 17.8027C12.5437 17.5009 12.5092 17.1733 12.4834 16.8543C12.4058 15.4749 12.9575 14.0093 14.0007 13.1472C13.5265 14.1904 13.6386 15.4922 14.3369 16.3974L14.4318 16.5095C14.5525 16.6129 14.699 16.6388 14.837 16.5871C14.9663 16.5353 15.0697 16.406 15.0697 16.2681L15.0094 16.0612C14.2507 14.0524 14.8887 11.7247 16.5009 10.4056C16.9405 10.0435 17.4837 9.71594 18.0527 9.56938C17.4664 10.7419 17.6561 12.2764 18.5958 13.1903C18.9924 13.6214 19.4752 13.8714 19.8804 14.2507L20.3632 14.7766ZM18.3975 18.7941L18.3889 18.7682C18.7769 18.432 18.9924 17.8544 18.9752 17.3371L18.9493 17.0699C18.7769 16.2077 18.0268 15.9146 17.544 15.2853L17.1733 14.6128C16.9837 15.0439 16.9664 15.4491 17.044 15.9146C17.1302 16.406 17.3199 16.8285 17.225 17.3371C17.0871 17.8975 16.6474 18.4579 15.8801 18.6389C16.3112 19.0614 17.0095 19.3976 17.7078 19.1562C17.932 19.0958 18.2165 18.932 18.3975 18.7941ZM3.86212 15.3456H10.8108L10.7591 16.2077C10.7591 17.4233 11.0695 18.5613 11.6212 19.5528V19.6562H3.86212V15.3456ZM3 10.1729H8.17274V14.4835H3V10.1729ZM9.03487 10.1729H14.2076V10.2332C13.4142 10.6923 12.7198 11.3045 12.1648 12.0341C11.6098 12.7637 11.2053 13.5963 10.9746 14.4835H9.03487V10.1729ZM3.86212 5.00012H10.7591V9.31074H3.86212V5.00012ZM11.6212 5.00012H19.3804V9.31074H11.6212V5.00012Z\" fill=\"currentColor\"/>\n</svg>`,\n  global: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3.05007 13.9999H8.52707C8.69819 17.1668 9.70762 20.2313 11.4521 22.8799C9.26682 22.5369 7.25686 21.4793 5.73648 19.8727C4.2161 18.266 3.27204 16.2007 3.05007 13.9999ZM3.04907 11.9999C3.27078 9.79902 4.21561 7.73367 5.7358 6.1268C7.256 4.51994 9.26585 3.46217 11.4511 3.1189C9.70662 5.76751 8.69719 8.83204 8.52607 11.9989L3.04907 11.9999ZM22.9491 11.9999H17.4721C17.3011 8.8327 16.2917 5.7678 14.5471 3.1189C16.7323 3.46192 18.7423 4.51945 20.2627 6.12614C21.783 7.73282 22.7281 9.79805 22.9501 11.9989M22.9501 13.9989C22.7282 16.1996 21.7832 18.2647 20.2631 19.8714C18.7429 21.478 16.7331 22.5357 14.5481 22.8789C16.2924 20.2306 17.3018 17.1664 17.4731 13.9999L22.9501 13.9989ZM10.5301 13.9999H15.4701C15.3058 16.6994 14.4557 19.3125 13.0001 21.5919C11.5445 19.3125 10.6943 16.6994 10.5301 13.9999ZM10.5301 11.9999C10.6943 9.30035 11.5445 6.68731 13.0001 4.4079C14.4557 6.68731 15.3058 9.30035 15.4701 11.9999H10.5301Z\" fill=\"currentColor\"/>\n</svg>`,\n  'id-validation': `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M15.5 4.0625V4.75C15.5 5.51055 14.8855 6.125 14.125 6.125H11.375C10.6144 6.125 9.99999 5.51055 9.99999 4.75V4.0625H7.25C6.87187 4.0625 6.5625 4.37188 6.5625 4.75V21.25C6.5625 21.6281 6.87187 21.9375 7.25 21.9375H18.25C18.6281 21.9375 18.9375 21.6281 18.9375 21.25V4.75C18.9375 4.37188 18.6281 4.0625 18.25 4.0625H15.5ZM4.5 4.75C4.5 3.2332 5.7332 2 7.25 2H18.25C19.7668 2 21 3.2332 21 4.75V21.25C21 22.7668 19.7668 24 18.25 24H7.25C5.7332 24 4.5 22.7668 4.5 21.25V4.75ZM11.375 15.75H14.125C16.0242 15.75 17.5625 17.2883 17.5625 19.1875C17.5625 19.5656 17.2531 19.875 16.875 19.875H8.62499C8.24687 19.875 7.9375 19.5656 7.9375 19.1875C7.9375 17.2883 9.47577 15.75 11.375 15.75ZM9.99999 11.625C9.99999 10.8957 10.2897 10.1962 10.8054 9.68046C11.3212 9.16473 12.0206 8.875 12.75 8.875C13.4793 8.875 14.1788 9.16473 14.6945 9.68046C15.2103 10.1962 15.5 10.8957 15.5 11.625C15.5 12.3543 15.2103 13.0538 14.6945 13.5695C14.1788 14.0853 13.4793 14.375 12.75 14.375C12.0206 14.375 11.3212 14.0853 10.8054 13.5695C10.2897 13.0538 9.99999 12.3543 9.99999 11.625Z\" fill=\"currentColor\"/>\n</svg>`,\n  legal: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M23.75 20.6954C23.75 21.1547 23.5897 21.5446 23.2691 21.8653L21.8783 23.2691C21.5403 23.5897 21.146 23.75 20.6954 23.75C20.2361 23.75 19.8462 23.5897 19.5256 23.2691L14.8072 18.5377C14.4779 18.2257 14.3133 17.8358 14.3133 17.3679C14.3133 16.9086 14.4996 16.4926 14.8722 16.12L11.5446 12.7925L9.90685 14.4302C9.78553 14.5516 9.63822 14.6122 9.4649 14.6122C9.29159 14.6122 9.14428 14.5516 9.02296 14.4302C9.04029 14.4476 9.09445 14.4996 9.18544 14.5862C9.27643 14.6729 9.33059 14.7292 9.34792 14.7552C9.36525 14.7812 9.40858 14.831 9.4779 14.9047C9.54723 14.9783 9.59055 15.0368 9.60789 15.0802C9.62522 15.1235 9.65121 15.182 9.68587 15.2556C9.72054 15.3293 9.74437 15.4008 9.75737 15.4701C9.77036 15.5394 9.77686 15.6174 9.77686 15.7041C9.77686 16.0334 9.65555 16.328 9.41291 16.588C9.38692 16.614 9.31542 16.6919 9.19844 16.8219C9.08146 16.9519 8.99913 17.0407 8.95147 17.0884C8.90381 17.136 8.82366 17.2075 8.71101 17.3029C8.59835 17.3982 8.50303 17.4653 8.42504 17.5043C8.34705 17.5433 8.25173 17.5823 8.13908 17.6213C8.02643 17.6603 7.91378 17.6798 7.80113 17.6798C7.45451 17.6798 7.15988 17.5585 6.91724 17.3159L1.61395 12.0126C1.37132 11.7699 1.25 11.4753 1.25 11.1287C1.25 11.016 1.2695 10.9034 1.30849 10.7907C1.34749 10.6781 1.38648 10.5828 1.42548 10.5048C1.46447 10.4268 1.53163 10.3315 1.62695 10.2188C1.72227 10.1062 1.79376 10.026 1.84142 9.97834C1.88908 9.93068 1.9779 9.84835 2.10789 9.73137C2.23787 9.61438 2.31586 9.54289 2.34185 9.5169C2.60182 9.27426 2.89645 9.15295 3.22574 9.15295C3.31239 9.15295 3.39038 9.15945 3.45971 9.17244C3.52903 9.18544 3.60052 9.20927 3.67418 9.24393C3.74783 9.2786 3.80633 9.30459 3.84965 9.32192C3.89298 9.33926 3.95147 9.38258 4.02513 9.45191C4.09879 9.52123 4.14861 9.56456 4.17461 9.58189C4.20061 9.59922 4.25693 9.65338 4.34359 9.74437C4.43024 9.83536 4.48224 9.88951 4.49957 9.90685C4.37825 9.78553 4.31759 9.63822 4.31759 9.4649C4.31759 9.29159 4.37825 9.14428 4.49957 9.02296L9.02296 4.49957C9.14428 4.37825 9.29159 4.31759 9.4649 4.31759C9.63822 4.31759 9.78553 4.37825 9.90685 4.49957C9.88951 4.48224 9.83536 4.43024 9.74437 4.34359C9.65338 4.25693 9.59922 4.20061 9.58189 4.17461C9.56456 4.14861 9.52123 4.09879 9.45191 4.02513C9.38258 3.95147 9.33926 3.89298 9.32192 3.84965C9.30459 3.80633 9.2786 3.74783 9.24393 3.67418C9.20927 3.60052 9.18544 3.52903 9.17244 3.45971C9.15945 3.39038 9.15295 3.31239 9.15295 3.22574C9.15295 2.89645 9.27426 2.60182 9.5169 2.34185C9.54289 2.31586 9.61438 2.23787 9.73137 2.10789C9.84835 1.9779 9.93068 1.88908 9.97834 1.84142C10.026 1.79376 10.1062 1.72227 10.2188 1.62695C10.3315 1.53163 10.4268 1.46447 10.5048 1.42548C10.5828 1.38648 10.6781 1.34749 10.7907 1.30849C10.9034 1.2695 11.016 1.25 11.1287 1.25C11.4753 1.25 11.7699 1.37132 12.0126 1.61395L17.3159 6.91724C17.5585 7.15988 17.6798 7.45451 17.6798 7.80113C17.6798 7.91378 17.6603 8.02643 17.6213 8.13908C17.5823 8.25173 17.5433 8.34705 17.5043 8.42504C17.4653 8.50303 17.3982 8.59835 17.3029 8.71101C17.2075 8.82366 17.136 8.90381 17.0884 8.95147C17.0407 8.99913 16.9519 9.08146 16.8219 9.19844C16.6919 9.31542 16.614 9.38692 16.588 9.41291C16.328 9.65555 16.0334 9.77686 15.7041 9.77686C15.6174 9.77686 15.5394 9.77036 15.4701 9.75737C15.4008 9.74437 15.3293 9.72054 15.2556 9.68587C15.182 9.65121 15.1235 9.62522 15.0802 9.60789C15.0368 9.59055 14.9783 9.54723 14.9047 9.4779C14.831 9.40858 14.7812 9.36525 14.7552 9.34792C14.7292 9.33059 14.6729 9.27643 14.5862 9.18544C14.4996 9.09445 14.4476 9.04029 14.4302 9.02296C14.5516 9.14428 14.6122 9.29159 14.6122 9.4649C14.6122 9.63822 14.5516 9.78553 14.4302 9.90685L12.7925 11.5446L16.12 14.8722C16.4926 14.4996 16.9086 14.3133 17.3679 14.3133C17.8185 14.3133 18.2127 14.4736 18.5507 14.7942L23.2691 19.5126C23.5897 19.8505 23.75 20.2448 23.75 20.6954Z\" fill=\"currentColor\"/>\n</svg>`,\n  link: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12.5353 17.5353L11.0353 19.0353C10.3722 19.6983 9.47298 20.0707 8.53534 20.0707C7.5977 20.0707 6.69844 19.6983 6.03534 19.0353C5.37241 18.3722 5 17.473 5 16.5353C5 15.5977 5.37241 14.6984 6.03534 14.0353L9.03534 11.0353C9.69844 10.3724 10.5977 10 11.5353 10C12.473 10 13.3722 10.3724 14.0353 11.0353M12.5353 7.53534L14.0353 6.03534C14.6984 5.37241 15.5977 5 16.5353 5C17.473 5 18.3722 5.37241 19.0353 6.03534C19.6983 6.69844 20.0707 7.5977 20.0707 8.53534C20.0707 9.47298 19.6983 10.3722 19.0353 11.0353L16.0353 14.0353C15.3722 14.6983 14.473 15.0707 13.5353 15.0707C12.5977 15.0707 11.6984 14.6983 11.0353 14.0353\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n</svg>`,\n  local: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M8.95679 11.2665C8.95679 10.3268 9.33008 9.4256 9.99454 8.76114C10.659 8.09668 11.5602 7.72339 12.4999 7.72339C13.4396 7.72339 14.3408 8.09668 15.0053 8.76114C15.6697 9.4256 16.043 10.3268 16.043 11.2665C16.043 12.2062 15.6697 13.1074 15.0053 13.7719C14.3408 14.4363 13.4396 14.8096 12.4999 14.8096C11.5602 14.8096 10.659 14.4363 9.99454 13.7719C9.33008 13.1074 8.95679 12.2062 8.95679 11.2665Z\" fill=\"currentColor\"/>\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3.53206 10.0423C3.71291 7.85058 4.71125 5.80697 6.32892 4.31715C7.94658 2.82732 10.0653 2.00021 12.2645 2H12.7354C14.9346 2.00021 17.0533 2.82732 18.671 4.31715C20.2886 5.80697 21.287 7.85058 21.4678 10.0423C21.6699 12.4892 20.9144 14.9191 19.3605 16.82L14.1352 23.2107C13.9372 23.4531 13.6877 23.6484 13.4049 23.7826C13.1221 23.9167 12.813 23.9863 12.5 23.9863C12.1869 23.9863 11.8778 23.9167 11.595 23.7826C11.3122 23.6484 11.0627 23.4531 10.8647 23.2107L5.64049 16.82C4.08621 14.9192 3.33033 12.4894 3.53206 10.0423ZM12.5 6.08821C11.1266 6.08821 9.80941 6.63379 8.83827 7.60492C7.86714 8.57606 7.32156 9.8932 7.32156 11.2666C7.32156 12.64 7.86714 13.9571 8.83827 14.9283C9.80941 15.8994 11.1266 16.445 12.5 16.445C13.8733 16.445 15.1905 15.8994 16.1616 14.9283C17.1328 13.9571 17.6783 12.64 17.6783 11.2666C17.6783 9.8932 17.1328 8.57606 16.1616 7.60492C15.1905 6.63379 13.8733 6.08821 12.5 6.08821Z\" fill=\"currentColor\"/>\n</svg>`,\n  lock: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12.8571 17.7143C12.4025 17.7143 11.9665 17.5337 11.645 17.2122C11.3235 16.8907 11.1429 16.4547 11.1429 16C11.1429 15.0486 11.9057 14.2857 12.8571 14.2857C13.3118 14.2857 13.7478 14.4663 14.0693 14.7878C14.3908 15.1093 14.5714 15.5453 14.5714 16C14.5714 16.4547 14.3908 16.8907 14.0693 17.2122C13.7478 17.5337 13.3118 17.7143 12.8571 17.7143ZM18 20.2857V11.7143H7.71429V20.2857H18ZM18 10C18.4547 10 18.8907 10.1806 19.2122 10.5021C19.5337 10.8236 19.7143 11.2596 19.7143 11.7143V20.2857C19.7143 20.7404 19.5337 21.1764 19.2122 21.4979C18.8907 21.8194 18.4547 22 18 22H7.71429C7.25963 22 6.82359 21.8194 6.5021 21.4979C6.18061 21.1764 6 20.7404 6 20.2857V11.7143C6 10.7629 6.76286 10 7.71429 10H8.57143V8.28571C8.57143 7.14907 9.02296 6.05898 9.82669 5.25526C10.6304 4.45153 11.7205 4 12.8571 4C13.42 4 13.9772 4.11085 14.4972 4.32623C15.0172 4.54161 15.4896 4.85729 15.8876 5.25526C16.2856 5.65322 16.6012 6.12568 16.8166 6.64564C17.032 7.16561 17.1429 7.72291 17.1429 8.28571V10H18ZM12.8571 5.71429C12.1752 5.71429 11.5211 5.9852 11.0389 6.46744C10.5566 6.94968 10.2857 7.60373 10.2857 8.28571V10H15.4286V8.28571C15.4286 7.60373 15.1577 6.94968 14.6754 6.46744C14.1932 5.9852 13.5391 5.71429 12.8571 5.71429Z\" fill=\"currentColor\"/>\n</svg>`,\n  logs: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3.03365 4.41159L4.5521 5.93005C5.96424 4.08133 7.97671 2.78276 10.2431 2.25788C12.5094 1.733 14.8879 2.01466 16.9689 3.05436C19.05 4.09406 20.7035 5.82676 21.6448 7.95417C22.5861 10.0816 22.7562 12.4706 22.126 14.7099C21.4958 16.9493 20.1045 18.8989 18.1918 20.223C16.2791 21.5472 13.9646 22.1631 11.6468 21.9648C9.32888 21.7664 7.15268 20.7662 5.49277 19.1363C3.83286 17.5064 2.7931 15.3488 2.55249 13.035C2.52697 12.7875 2.60078 12.5401 2.7577 12.3471C2.91461 12.1541 3.14177 12.0313 3.3892 12.0058C3.63664 11.9802 3.88407 12.0541 4.07708 12.211C4.27009 12.3679 4.39286 12.5951 4.41838 12.8425C4.61542 14.7326 5.46888 16.4939 6.83029 17.8198C8.19169 19.1457 9.97486 19.9523 11.8695 20.0993C13.7642 20.2464 15.6505 19.7245 17.2001 18.6245C18.7498 17.5245 19.8647 15.916 20.351 14.0789C20.8373 12.2417 20.6641 10.2923 19.8616 8.56968C19.059 6.84707 17.678 5.46034 15.9587 4.65077C14.2393 3.84119 12.2906 3.66002 10.4515 4.13878C8.61245 4.61753 6.99942 5.7259 5.8931 7.27105L7.59027 8.96822C7.63408 9.01192 7.66392 9.06764 7.67602 9.12832C7.68813 9.18901 7.68194 9.25191 7.65824 9.30907C7.63455 9.36623 7.59442 9.41507 7.54293 9.4494C7.49145 9.48372 7.43094 9.50198 7.36906 9.50187H2.81244C2.72958 9.50187 2.65011 9.46896 2.59151 9.41036C2.53292 9.35177 2.5 9.2723 2.5 9.18943V4.6328C2.49989 4.57092 2.51815 4.51041 2.55248 4.45892C2.5868 4.40744 2.63564 4.36731 2.6928 4.34361C2.74996 4.31992 2.81287 4.31373 2.87355 4.32583C2.93423 4.33794 2.98995 4.36778 3.03365 4.41159ZM12.1856 7.00235C12.4342 7.00235 12.6726 7.1011 12.8484 7.27688C13.0242 7.45267 13.1229 7.69108 13.1229 7.93967V11.679L15.6575 12.6938C15.8808 12.7911 16.0575 12.9716 16.15 13.197C16.2425 13.4224 16.2436 13.675 16.1531 13.9012C16.0626 14.1274 15.8876 14.3095 15.6651 14.4089C15.4426 14.5082 15.1902 14.517 14.9613 14.4334L11.8369 13.1837C11.6633 13.1139 11.5145 12.9938 11.4096 12.8388C11.3047 12.6838 11.2485 12.501 11.2483 12.3138V7.93967C11.2483 7.69108 11.3471 7.45267 11.5228 7.27688C11.6986 7.1011 11.937 7.00235 12.1856 7.00235Z\" fill=\"currentColor\"/>\n</svg>`,\n  merchant: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M16.5 18V20H2.5V18C2.5 18 2.5 14 9.5 14C16.5 14 16.5 18 16.5 18ZM13 8.50004C13 7.8078 12.7947 7.13111 12.4101 6.55554C12.0256 5.97997 11.4789 5.53137 10.8394 5.26646C10.1999 5.00155 9.49612 4.93224 8.81718 5.06729C8.13825 5.20234 7.51461 5.53568 7.02513 6.02516C6.53564 6.51465 6.2023 7.13829 6.06725 7.81722C5.9322 8.49615 6.00152 9.19989 6.26642 9.83943C6.53133 10.479 6.97993 11.0256 7.5555 11.4102C8.13108 11.7948 8.80777 12 9.5 12C10.4283 12 11.3185 11.6313 11.9749 10.9749C12.6313 10.3185 13 9.42829 13 8.50004ZM16.44 14C17.0547 14.4758 17.5578 15.0805 17.9137 15.7715C18.2696 16.4626 18.4697 17.2233 18.5 18V20H22.5V18C22.5 18 22.5 14.37 16.44 14ZM15.5 5.00004C14.8118 4.99684 14.1388 5.20257 13.57 5.59004C14.1774 6.43877 14.5041 7.45632 14.5041 8.50004C14.5041 9.54375 14.1774 10.5613 13.57 11.41C14.1388 11.7975 14.8118 12.0032 15.5 12C16.4283 12 17.3185 11.6313 17.9749 10.9749C18.6313 10.3185 19 9.42829 19 8.50004C19 7.57178 18.6313 6.68154 17.9749 6.02516C17.3185 5.36879 16.4283 5.00004 15.5 5.00004Z\" fill=\"currentColor\"/>\n</svg>`,\n  'merchant-settings': `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M21.9579 12.7306C21.9622 12.5758 21.9622 12.421 21.9579 12.2662L23.5618 10.2625C23.6459 10.1573 23.7041 10.0338 23.7317 9.90198C23.7593 9.77017 23.7556 9.6337 23.7209 9.50358C23.4575 8.51543 23.0642 7.56658 22.5513 6.68184C22.4841 6.56608 22.3908 6.46762 22.2788 6.39428C22.1669 6.32094 22.0393 6.27475 21.9063 6.25938L19.3566 5.97559C19.2505 5.8638 19.143 5.7563 19.0341 5.65311L18.7331 3.09688C18.7176 2.96381 18.6713 2.83621 18.5977 2.72423C18.5242 2.61225 18.4255 2.519 18.3096 2.45191C17.4249 1.93943 16.476 1.54685 15.4878 1.28451C15.3577 1.24975 15.2212 1.24604 15.0894 1.27367C14.9576 1.3013 14.8341 1.35951 14.7289 1.44361L12.7306 3.03883H12.2662L10.2625 1.43823C10.1573 1.35414 10.0338 1.29593 9.90198 1.26829C9.77017 1.24066 9.6337 1.24438 9.50358 1.27914C8.51543 1.54253 7.56658 1.93581 6.68184 2.44868C6.56608 2.5159 6.46762 2.6092 6.39428 2.72117C6.32094 2.83314 6.27475 2.96069 6.25938 3.09365L5.97559 5.64773C5.8638 5.75451 5.7563 5.86201 5.65311 5.97022L3.09688 6.26368C2.96381 6.27916 2.83621 6.32552 2.72423 6.39905C2.61225 6.47258 2.519 6.57126 2.45191 6.68721C1.93953 7.57207 1.54662 8.5209 1.28344 9.50895C1.24882 9.63916 1.24528 9.77567 1.2731 9.90749C1.30092 10.0393 1.35933 10.1628 1.44361 10.2679L3.03883 12.2662V12.7306L1.43823 14.7343C1.35414 14.8395 1.29593 14.963 1.26829 15.0948C1.24066 15.2266 1.24438 15.3631 1.27914 15.4932C1.54253 16.4813 1.93581 17.4302 2.44868 18.3149C2.5159 18.4307 2.6092 18.5292 2.72117 18.6025C2.83314 18.6758 2.96069 18.722 3.09365 18.7374L5.64344 19.0212C5.75021 19.133 5.85771 19.2405 5.96592 19.3437L6.26368 21.8999C6.27916 22.033 6.32552 22.1606 6.39905 22.2725C6.47258 22.3845 6.57126 22.4778 6.68721 22.5449C7.57207 23.0572 8.5209 23.4502 9.50895 23.7133C9.63916 23.748 9.77567 23.7515 9.90749 23.7237C10.0393 23.6959 10.1628 23.6374 10.2679 23.5532L12.2662 21.9579C12.421 21.9622 12.5758 21.9622 12.7306 21.9579L14.7343 23.5618C14.8395 23.6459 14.963 23.7041 15.0948 23.7317C15.2266 23.7593 15.3631 23.7556 15.4932 23.7209C16.4815 23.4579 17.4304 23.0646 18.3149 22.5513C18.4307 22.4841 18.5292 22.3908 18.6025 22.2788C18.6758 22.1669 18.722 22.0393 18.7374 21.9063L19.0212 19.3566C19.133 19.2505 19.2405 19.143 19.3437 19.0341L21.8999 18.7331C22.033 18.7176 22.1606 18.6713 22.2725 18.5977C22.3845 18.5242 22.4778 18.4255 22.5449 18.3096C23.0572 17.4247 23.4502 16.4759 23.7133 15.4878C23.748 15.3576 23.7515 15.2211 23.7237 15.0893C23.6959 14.9575 23.6374 14.834 23.5532 14.7289L21.9579 12.7306ZM12.4984 16.7982C11.648 16.7982 10.8166 16.546 10.1095 16.0735C9.40245 15.6011 8.85133 14.9295 8.52589 14.1439C8.20045 13.3582 8.1153 12.4936 8.28121 11.6595C8.44712 10.8255 8.85663 10.0593 9.45797 9.45797C10.0593 8.85663 10.8255 8.44712 11.6595 8.28121C12.4936 8.1153 13.3582 8.20045 14.1439 8.52589C14.9295 8.85133 15.6011 9.40245 16.0735 10.1095C16.546 10.8166 16.7982 11.648 16.7982 12.4984C16.7982 13.6388 16.3452 14.7324 15.5388 15.5388C14.7324 16.3452 13.6388 16.7982 12.4984 16.7982Z\" fill=\"currentColor\"/>\n</svg>`,\n  more: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M18.8571 14.1429H13.1429V19.8571C13.1429 20.1602 13.0225 20.4509 12.8081 20.6653C12.5938 20.8796 12.3031 21 12 21C11.6969 21 11.4062 20.8796 11.1919 20.6653C10.9776 20.4509 10.8571 20.1602 10.8571 19.8571V14.1429H5.14286C4.83975 14.1429 4.54906 14.0224 4.33474 13.8081C4.12041 13.5938 4 13.3031 4 13C4 12.6969 4.12041 12.4062 4.33474 12.1919C4.54906 11.9776 4.83975 11.8571 5.14286 11.8571H10.8571V6.14286C10.8571 5.83975 10.9776 5.54906 11.1919 5.33473C11.4062 5.12041 11.6969 5 12 5C12.3031 5 12.5938 5.12041 12.8081 5.33473C13.0225 5.54906 13.1429 5.83975 13.1429 6.14286V11.8571H18.8571C19.1602 11.8571 19.4509 11.9776 19.6653 12.1919C19.8796 12.4062 20 12.6969 20 13C20 13.3031 19.8796 13.5938 19.6653 13.8081C19.4509 14.0224 19.1602 14.1429 18.8571 14.1429Z\" fill=\"currentColor\"/>\n</svg>`,\n  notifications: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M11.359 5.93731C11.4711 5.66037 11.6633 5.42321 11.911 5.25621C12.1587 5.08922 12.4507 5 12.7494 5C13.0481 5 13.3401 5.08922 13.5878 5.25621C13.8355 5.42321 14.0277 5.66037 14.1398 5.93731C15.2489 6.24195 16.2273 6.90245 16.9245 7.81726C17.6217 8.73207 17.9992 9.85056 17.9989 11.0008V14.5232L19.3727 16.5839C19.4481 16.6969 19.4913 16.8282 19.4979 16.9638C19.5045 17.0994 19.4742 17.2342 19.4101 17.3539C19.3461 17.4736 19.2507 17.5737 19.1342 17.6435C19.0178 17.7133 18.8845 17.7501 18.7488 17.7501H15.3479C15.2576 18.3748 14.9452 18.9461 14.468 19.3594C13.9908 19.7726 13.3807 20 12.7494 20C12.1181 20 11.508 19.7726 11.0308 19.3594C10.5536 18.9461 10.2412 18.3748 10.1509 17.7501H6.75003C6.61427 17.7501 6.48104 17.7133 6.36457 17.6435C6.2481 17.5737 6.15275 17.4736 6.0887 17.3539C6.02465 17.2342 5.9943 17.0994 6.00088 16.9638C6.00747 16.8282 6.05075 16.6969 6.1261 16.5839L7.49995 14.5232V11.0008C7.49995 8.58303 9.13478 6.54625 11.359 5.93731ZM11.689 17.7501C11.7665 17.9695 11.9101 18.1596 12.1001 18.294C12.29 18.4284 12.517 18.5006 12.7498 18.5006C12.9825 18.5006 13.2095 18.4284 13.3995 18.294C13.5895 18.1596 13.7331 17.9695 13.8105 17.7501H11.689ZM12.7494 7.25117C11.7549 7.25117 10.8012 7.64622 10.098 8.34941C9.39484 9.05259 8.9998 10.0063 8.9998 11.0008V14.7504C8.99983 14.8985 8.95599 15.0433 8.87381 15.1666L8.15164 16.2502H17.3464L16.6242 15.1666C16.5423 15.0433 16.4988 14.8984 16.499 14.7504V11.0008C16.499 10.0063 16.104 9.05259 15.4008 8.34941C14.6976 7.64622 13.7439 7.25117 12.7494 7.25117Z\" fill=\"currentColor\"/>\n</svg>`,\n  password: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12.8571 17.7143C12.4025 17.7143 11.9665 17.5337 11.645 17.2122C11.3235 16.8907 11.1429 16.4547 11.1429 16C11.1429 15.0486 11.9057 14.2857 12.8571 14.2857C13.3118 14.2857 13.7478 14.4663 14.0693 14.7878C14.3908 15.1093 14.5714 15.5453 14.5714 16C14.5714 16.4547 14.3908 16.8907 14.0693 17.2122C13.7478 17.5337 13.3118 17.7143 12.8571 17.7143ZM18 20.2857V11.7143H7.71429V20.2857H18ZM18 10C18.4547 10 18.8907 10.1806 19.2122 10.5021C19.5337 10.8236 19.7143 11.2596 19.7143 11.7143V20.2857C19.7143 20.7404 19.5337 21.1764 19.2122 21.4979C18.8907 21.8194 18.4547 22 18 22H7.71429C7.25963 22 6.82359 21.8194 6.5021 21.4979C6.18061 21.1764 6 20.7404 6 20.2857V11.7143C6 10.7629 6.76286 10 7.71429 10H8.57143V8.28571C8.57143 7.14907 9.02296 6.05898 9.82669 5.25526C10.6304 4.45153 11.7205 4 12.8571 4C13.42 4 13.9772 4.11085 14.4972 4.32623C15.0172 4.54161 15.4896 4.85729 15.8876 5.25526C16.2856 5.65322 16.6012 6.12568 16.8166 6.64564C17.032 7.16561 17.1429 7.72291 17.1429 8.28571V10H18ZM12.8571 5.71429C12.1752 5.71429 11.5211 5.9852 11.0389 6.46744C10.5566 6.94968 10.2857 7.60373 10.2857 8.28571V10H15.4286V8.28571C15.4286 7.60373 15.1577 6.94968 14.6754 6.46744C14.1932 5.9852 13.5391 5.71429 12.8571 5.71429Z\" fill=\"currentColor\"/>\n</svg>`,\n  payments: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g clip-path=\"url(#clip0_443_8447)\">\n<path d=\"M15.3573 13.7143C18.9077 13.7143 21.7859 12.4351 21.7859 10.8571C21.7859 9.27919 18.9077 8 15.3573 8C11.8069 8 8.92871 9.27919 8.92871 10.8571C8.92871 12.4351 11.8069 13.7143 15.3573 13.7143Z\" stroke=\"currentColor\" stroke-width=\"1.42857\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M8.92871 10.8572V19.4286C8.92871 21 11.7859 22.2857 15.3573 22.2857C18.9287 22.2857 21.7859 21 21.7859 19.4286V10.8572\" stroke=\"currentColor\" stroke-width=\"1.42857\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M21.7858 15.1429C21.7858 16.7143 18.9286 18 15.3572 18C11.7858 18 8.92864 16.7143 8.92864 15.1429M15.2144 5.14289C13.5451 4.11271 11.602 3.61449 9.64293 3.71432C6.08578 3.71432 3.21436 5.00003 3.21436 6.57146C3.21436 7.41432 4.04293 8.17146 5.35721 8.71432\" stroke=\"currentColor\" stroke-width=\"1.42857\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M5.35721 17.2857C4.04293 16.7428 3.21436 15.9857 3.21436 15.1428V6.57141\" stroke=\"currentColor\" stroke-width=\"1.42857\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M5.35721 13C4.04293 12.4572 3.21436 11.7 3.21436 10.8572\" stroke=\"currentColor\" stroke-width=\"1.42857\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</g>\n<defs>\n<clipPath id=\"clip0_443_8447\">\n<rect width=\"20\" height=\"20\" fill=\"currentColor\" transform=\"translate(2.5 3)\"/>\n</clipPath>\n</defs>\n</svg>`,\n  payouts: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12.6667 21.3333C7.60392 21.3333 3.5 17.2294 3.5 12.1667C3.5 7.10392 7.60392 3 12.6667 3C17.7294 3 21.8333 7.10392 21.8333 12.1667C21.8333 17.2294 17.7294 21.3333 12.6667 21.3333ZM12.6667 19.5C14.6116 19.5 16.4768 18.7274 17.8521 17.3521C19.2274 15.9769 20 14.1116 20 12.1667C20 10.2217 19.2274 8.35648 17.8521 6.98122C16.4768 5.60595 14.6116 4.83333 12.6667 4.83333C10.7217 4.83333 8.85648 5.60595 7.48122 6.98122C6.10595 8.35648 5.33333 10.2217 5.33333 12.1667C5.33333 14.1116 6.10595 15.9769 7.48122 17.3521C8.85648 18.7274 10.7217 19.5 12.6667 19.5ZM9.45833 14H14.5C14.6216 14 14.7381 13.9517 14.8241 13.8658C14.91 13.7798 14.9583 13.6632 14.9583 13.5417C14.9583 13.4201 14.91 13.3035 14.8241 13.2176C14.7381 13.1316 14.6216 13.0833 14.5 13.0833H10.8333C10.2255 13.0833 9.64265 12.8419 9.21288 12.4121C8.78311 11.9823 8.54167 11.3995 8.54167 10.7917C8.54167 10.1839 8.78311 9.60098 9.21288 9.17121C9.64265 8.74144 10.2255 8.5 10.8333 8.5H11.75V6.66667H13.5833V8.5H15.875V10.3333H10.8333C10.7118 10.3333 10.5952 10.3816 10.5092 10.4676C10.4233 10.5535 10.375 10.6701 10.375 10.7917C10.375 10.9132 10.4233 11.0298 10.5092 11.1158C10.5952 11.2017 10.7118 11.25 10.8333 11.25H14.5C15.1078 11.25 15.6907 11.4914 16.1205 11.9212C16.5502 12.351 16.7917 12.9339 16.7917 13.5417C16.7917 14.1495 16.5502 14.7323 16.1205 15.1621C15.6907 15.5919 15.1078 15.8333 14.5 15.8333H13.5833V17.6667H11.75V15.8333H9.45833V14Z\" fill=\"currentColor\"/>\n</svg>`,\n  projects: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M21.5 5.75H18.125V3.5C18.125 2.25912 17.1159 1.25 15.875 1.25H9.125C7.88412 1.25 6.875 2.25912 6.875 3.5V5.75H3.5C2.25912 5.75 1.25 6.75912 1.25 8V20.375C1.25 21.6159 2.25912 22.625 3.5 22.625H21.5C22.7409 22.625 23.75 21.6159 23.75 20.375V8C23.75 6.75912 22.7409 5.75 21.5 5.75ZM15.875 3.5V5.75H9.125V3.5H15.875ZM8 8H21.5V11.375H3.5V8H8ZM3.5 20.375V13.625H10.25V15.875H14.75V13.625H21.5L21.5011 20.375H3.5Z\" fill=\"currentColor\"/>\n</svg>`,\n  receipt: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.6881 1.7892C17.0333 2.13443 17.2273 2.60266 17.2273 3.0909V5.34091H19.4772C19.9655 5.34091 20.4338 5.53486 20.779 5.88011C21.1242 6.22534 21.3182 6.69357 21.3182 7.18184V21.9091C21.3182 22.3973 21.1242 22.8656 20.779 23.2108C20.4338 23.5561 19.9655 23.75 19.4772 23.75H8.43187C7.9436 23.75 7.47531 23.5561 7.13011 23.2108C6.78492 22.8656 6.59091 22.3973 6.59091 21.9091V19.6591H4.34096C3.85269 19.6591 3.3844 19.4651 3.0392 19.1199C2.69401 18.7747 2.5 18.3064 2.5 17.8182V6.77272C2.50012 6.52862 2.59713 6.29453 2.76966 6.12197L7.37194 1.5197C7.5446 1.34707 7.77868 1.25006 8.02275 1.25H15.3863C15.8746 1.25 16.3429 1.44395 16.6881 1.7892ZM17.2273 7.19847V17.8182C17.2273 18.3064 17.0333 18.7747 16.6881 19.1199C16.3429 19.4651 15.8746 19.6591 15.3863 19.6591H8.43187V21.9091H19.4772V7.18184C19.2769 7.18184 19.1214 7.18814 18.9503 7.19507C18.6052 7.20902 18.1963 7.22563 17.2273 7.19847ZM8.02275 3.47198L4.72198 6.77272H8.02275V3.47198ZM15.3863 3.0909H9.86371V7.69317C9.86371 7.9373 9.76671 8.17142 9.59405 8.34405C9.42139 8.51664 9.1873 8.61365 8.94323 8.61365H4.34096V17.8182H15.3863V3.0909Z\" fill=\"currentColor\"/>\n</svg>`,\n  refund: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M21.174 11.5001H18.48C17.056 11.5001 15.999 12.5591 15.999 13.7501C15.999 14.9411 17.056 16.0001 18.479 16.0001H21.197C21.403 15.9871 21.492 15.8481 21.499 15.7641V11.7361C21.492 11.6521 21.403 11.5131 21.197 11.5011H21.173L21.174 11.5001ZM21.1 10.0001C21.166 10.0001 21.23 10.0001 21.29 10.0041C22.16 10.0571 22.931 10.7141 22.996 11.6321C23 11.6921 23 11.7571 23 11.8171V15.6831C23 15.7431 23 15.8081 22.996 15.8681C22.931 16.7861 22.16 17.4431 21.289 17.4971C21.23 17.5001 21.166 17.5001 21.099 17.5001H18.481C16.336 17.5001 14.5 15.8721 14.5 13.7501C14.5 11.6281 16.336 10.0001 18.48 10.0001H21.1Z\" fill=\"currentColor\"/>\n<path d=\"M19.25 13.7501C19.25 14.0153 19.1446 14.2697 18.9571 14.4572C18.7696 14.6448 18.5152 14.7501 18.25 14.7501C17.9848 14.7501 17.7304 14.6448 17.5429 14.4572C17.3554 14.2697 17.25 14.0153 17.25 13.7501C17.25 13.4849 17.3554 13.2305 17.5429 13.043C17.7304 12.8555 17.9848 12.7501 18.25 12.7501C18.5152 12.7501 18.7696 12.8555 18.9571 13.043C19.1446 13.2305 19.25 13.4849 19.25 13.7501Z\" fill=\"currentColor\"/>\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M21.1 10.0001C21.3869 9.98927 21.6725 10.044 21.935 10.1601C21.828 8.55412 21.533 7.31612 20.609 6.39112C19.86 5.64312 18.911 5.31112 17.739 5.15312L17.697 5.14812C17.6865 5.14018 17.6759 5.13251 17.665 5.12512L13.929 2.64812C13.281 2.2252 12.5238 2 11.75 2C10.9762 2 10.219 2.2252 9.571 2.64812L5.836 5.12512C5.8248 5.1325 5.8138 5.14017 5.803 5.14812L5.761 5.15312C4.589 5.31112 3.64 5.64312 2.891 6.39112C2.143 7.14012 1.811 8.08912 1.653 9.26112C1.5 10.4011 1.5 11.8561 1.5 13.6941V13.8061C1.5 15.6441 1.5 17.1001 1.653 18.2391C1.811 19.4111 2.143 20.3601 2.891 21.1091C3.64 21.8571 4.589 22.1891 5.761 22.3471C6.901 22.5001 8.356 22.5001 10.194 22.5001H13.306C15.144 22.5001 16.6 22.5001 17.739 22.3471C18.911 22.1891 19.86 21.8571 20.609 21.1091C21.533 20.1841 21.828 18.9461 21.935 17.3391C21.733 17.4291 21.515 17.4831 21.289 17.4971C21.23 17.5001 21.166 17.5001 21.099 17.5001H20.418C20.304 18.8411 20.047 19.5501 19.548 20.0481C19.125 20.4711 18.545 20.7251 17.539 20.8601C16.512 20.9981 15.157 21.0001 13.25 21.0001H10.25C8.343 21.0001 6.989 20.9981 5.96 20.8601C4.955 20.7251 4.375 20.4711 3.952 20.0481C3.529 19.6251 3.275 19.0451 3.14 18.0391C3.002 17.0121 3 15.6571 3 13.7501C3 11.8431 3.002 10.4891 3.14 9.46012C3.275 8.45512 3.529 7.87512 3.952 7.45212C4.375 7.02912 4.955 6.77512 5.961 6.64012C6.989 6.50212 8.343 6.50012 10.25 6.50012H13.25C15.157 6.50012 16.512 6.50212 17.54 6.64012C18.545 6.77512 19.125 7.02912 19.548 7.45212C20.047 7.95012 20.304 8.65912 20.418 10.0001H21.1ZM13.306 5.00012C13.823 5.00012 14.309 5.00012 14.766 5.00312L13.1 3.89812C12.3 3.36812 11.2 3.36812 10.4 3.89812L8.733 5.00312C9.191 5.00012 9.677 5.00012 10.193 5.00012H13.306Z\" fill=\"currentColor\"/>\n<path d=\"M6.25 9.00012C6.05109 9.00012 5.86032 9.07914 5.71967 9.21979C5.57902 9.36044 5.5 9.55121 5.5 9.75012C5.5 9.94903 5.57902 10.1398 5.71967 10.2804C5.86032 10.4211 6.05109 10.5001 6.25 10.5001H10.25C10.4489 10.5001 10.6397 10.4211 10.7803 10.2804C10.921 10.1398 11 9.94903 11 9.75012C11 9.55121 10.921 9.36044 10.7803 9.21979C10.6397 9.07914 10.4489 9.00012 10.25 9.00012H6.25Z\" fill=\"currentColor\"/>\n<path d=\"M19.25 13.7501C19.25 14.0153 19.1446 14.2697 18.9571 14.4572C18.7696 14.6448 18.5152 14.7501 18.25 14.7501C17.9848 14.7501 17.7304 14.6448 17.5429 14.4572C17.3554 14.2697 17.25 14.0153 17.25 13.7501C17.25 13.4849 17.3554 13.2305 17.5429 13.043C17.7304 12.8555 17.9848 12.7501 18.25 12.7501C18.5152 12.7501 18.7696 12.8555 18.9571 13.043C19.1446 13.2305 19.25 13.4849 19.25 13.7501Z\" fill=\"currentColor\"/>\n</svg>`,\n  reports: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.6881 1.7892C17.0333 2.13443 17.2273 2.60266 17.2273 3.0909V5.34091H19.4772C19.9655 5.34091 20.4338 5.53486 20.779 5.88011C21.1242 6.22534 21.3182 6.69357 21.3182 7.18184V21.9091C21.3182 22.3973 21.1242 22.8656 20.779 23.2108C20.4338 23.5561 19.9655 23.75 19.4772 23.75H8.43187C7.9436 23.75 7.47531 23.5561 7.13011 23.2108C6.78492 22.8656 6.59091 22.3973 6.59091 21.9091V19.6591H4.34096C3.85269 19.6591 3.3844 19.4651 3.0392 19.1199C2.69401 18.7747 2.5 18.3064 2.5 17.8182V6.77272C2.50012 6.52862 2.59713 6.29453 2.76966 6.12197L7.37194 1.5197C7.5446 1.34707 7.77868 1.25006 8.02275 1.25H15.3863C15.8746 1.25 16.3429 1.44395 16.6881 1.7892ZM17.2273 7.19847V17.8182C17.2273 18.3064 17.0333 18.7747 16.6881 19.1199C16.3429 19.4651 15.8746 19.6591 15.3863 19.6591H8.43187V21.9091H19.4772V7.18184C19.2769 7.18184 19.1214 7.18814 18.9503 7.19507C18.6052 7.20902 18.1963 7.22563 17.2273 7.19847ZM8.02275 3.47198L4.72198 6.77272H8.02275V3.47198ZM15.3863 3.0909H9.86371V7.69317C9.86371 7.9373 9.76671 8.17142 9.59405 8.34405C9.42139 8.51664 9.1873 8.61365 8.94323 8.61365H4.34096V17.8182H15.3863V3.0909Z\" fill=\"currentColor\"/>\n</svg>`,\n  search: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M13.9992 3C9.53577 3 5.91993 6.61761 5.91993 11.079C5.91762 12.5487 6.31825 13.991 7.07825 15.249L3.16121 19.166L3.17485 19.1797C2.75676 19.5798 2.5 20.1479 2.5 20.7899C2.49975 22.0303 3.48791 23.0003 4.72702 23C5.35996 22.9997 5.92599 22.7465 6.32994 22.3345L6.33978 22.3443L10.3813 18.3026C11.5039 18.8663 12.743 19.1592 13.9992 19.1579C18.4628 19.1579 22.0779 15.5408 22.0779 11.079C22.0779 6.61761 18.4625 3 13.9992 3ZM14.0481 15.9811C11.2584 15.9811 8.99852 13.7205 8.99852 10.9318C8.99852 8.14353 11.2584 5.88243 14.0481 5.88243C16.8379 5.88243 19.0972 8.14328 19.0972 10.9318C19.0975 13.7205 16.8379 15.9811 14.0481 15.9811Z\" fill=\"currentColor\"/>\n</svg>`,\n  store: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M21 5H5V7H21V5ZM22 15V13L21 8H5L4 13V15H5V21H15V15H19V21H21V15H22ZM13 19H7V15H13V19Z\" fill=\"currentColor\"/>\n</svg>`,\n  support: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3.44434 11.3778C3.44434 6.16578 7.75545 2 12.9999 2C18.2443 2 22.5554 6.16578 22.5554 11.3778V15.1502C22.5554 15.2317 22.5514 15.3121 22.5434 15.3916C22.5514 15.4449 22.5554 15.4996 22.5554 15.5556C22.5554 16.4311 22.4474 17.3853 22.3421 18.1142C22.1768 19.2551 21.5017 20.3867 20.2657 20.876C18.9354 21.4031 16.6257 22 12.9999 22C12.7052 22 12.4226 21.8829 12.2142 21.6746C12.0058 21.4662 11.8888 21.1836 11.8888 20.8889C11.8888 20.5942 12.0058 20.3116 12.2142 20.1032C12.4226 19.8948 12.7052 19.7778 12.9999 19.7778C16.379 19.7778 18.4066 19.2222 19.4474 18.8102C19.7861 18.676 20.0652 18.3316 20.1426 17.796C20.1523 17.7281 20.162 17.6591 20.1714 17.5889C19.5466 17.728 18.8248 17.8622 18.107 17.9373C17.1639 18.0364 16.2443 17.468 16.0723 16.444C15.9719 15.8484 15.8888 14.9893 15.8888 13.7773C15.8888 12.5662 15.9719 11.7076 16.0723 11.1116C16.2443 10.0876 17.1639 9.51911 18.107 9.61822C18.4857 9.65778 18.8657 9.71378 19.2314 9.77822C18.5079 7.10978 16.0146 5.11111 12.9999 5.11111C9.98522 5.11111 7.49234 7.10978 6.76834 9.77822C7.1412 9.71196 7.51623 9.65859 7.89278 9.61822C8.83589 9.51911 9.75545 10.0876 9.92789 11.1116C10.0279 11.7071 10.111 12.5662 10.111 13.7778C10.111 14.9893 10.0279 15.848 9.92789 16.444C9.75545 17.468 8.83589 18.0364 7.89278 17.9373C6.91589 17.8351 5.93278 17.624 5.195 17.4396C4.12834 17.1724 3.44434 16.2053 3.44434 15.1507V11.3778Z\" fill=\"currentColor\"/>\n</svg>`,\n  sync: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M13 5V2L9 6L13 10V7C16.31 7 19 9.69 19 13C19 14.01 18.75 14.97 18.3 15.8L19.76 17.26C20.5702 15.9869 21.0004 14.5091 21 13C21 8.58 17.42 5 13 5ZM13 19C9.69 19 7 16.31 7 13C7 11.99 7.25 11.03 7.7 10.2L6.24 8.74C5.42975 10.0131 4.99958 11.4909 5 13C5 17.42 8.58 21 13 21V24L17 20L13 16V19Z\" fill=\"currentColor\"/>\n</svg>`,\n  'transaction-reports': `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M4 13.4948C4.05859 13.1498 4.10312 12.8015 4.17859 12.4598C4.70453 10.0889 6.76234 8.1459 9.16 7.76668C9.58 7.70012 10.0094 7.66684 10.435 7.66356C11.9284 7.65137 13.4219 7.65887 14.9158 7.65887C14.98 7.65887 15.0442 7.65887 15.1159 7.65887C14.6425 7.1859 14.1752 6.71903 13.7181 6.26247C14.1653 5.81481 14.5778 5.40231 14.9795 5.00012C16.1603 6.1809 17.3519 7.372 18.5275 8.54715C17.3472 9.72747 16.1528 10.9223 14.9617 12.1139C14.575 11.7243 14.1634 11.3095 13.7425 10.8853C14.1991 10.4306 14.6659 9.96559 15.1637 9.47012C15.0672 9.46309 15.0184 9.45606 14.9697 9.45606C13.4233 9.45559 11.8769 9.4509 10.3309 9.457C8.09641 9.4659 6.31328 10.9261 5.88297 13.0987C5.82859 13.3725 5.81359 13.6547 5.77797 13.9514C5.19109 13.9514 4.59578 13.9514 4.00047 13.9514C4 13.7995 4 13.6472 4 13.4948Z\" fill=\"currentColor\"/>\n<path d=\"M22 10.8229C21.9409 11.1679 21.8964 11.5157 21.8209 11.857C21.2945 14.2303 19.2362 16.1732 16.8381 16.5511C16.4177 16.6172 15.9883 16.6509 15.5627 16.6542C14.0687 16.6664 12.5744 16.6589 11.0805 16.6589C11.0172 16.6589 10.9539 16.6589 10.8944 16.6589C11.3627 17.1267 11.8272 17.5907 12.2856 18.0487C11.8328 18.494 11.4133 18.9061 11.005 19.3073C9.83359 18.1359 8.64156 16.9434 7.45797 15.7598C8.64203 14.5767 9.835 13.3851 11.0186 12.2025C11.4137 12.5995 11.8253 13.0134 12.2373 13.4268C11.7911 13.8712 11.3242 14.3357 10.8573 14.8007C10.8662 14.8162 10.8747 14.8317 10.8836 14.8472C10.9248 14.8518 10.9661 14.8603 11.0078 14.8603C12.572 14.8607 14.1367 14.8697 15.7009 14.8584C17.9181 14.8425 19.6923 13.3762 20.1166 11.2186C20.1705 10.9443 20.1864 10.6626 20.222 10.365C20.8089 10.365 21.4047 10.365 22 10.365C22 10.5182 22 10.6706 22 10.8229Z\" fill=\"currentColor\"/>\n</svg>`,\n  trash: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M7.09394 22.5C6.68654 22.5 6.33777 22.3549 6.04765 22.0648C5.75753 21.7747 5.61247 21.0185 5.61247 21.0185V6.94445L4.6001 6.94445C4.6001 6.94445 4.6001 5.83334 4.60013 5.46297C4.60024 4.16667 7.09394 4.16667 7.09394 4.16667L9.71121 4.16667C9.71121 4.16667 9.71121 2.5 12.3778 2.5C15.2914 2.5 15.2914 4.16667 15.2914 4.16667L17.9334 4.16667C17.9334 4.16667 20.4025 4.16667 20.4025 5.46297V6.94445H19.3902V21.0185C19.3902 21.4136 19.242 21.7593 18.9457 22.0556C18.6494 22.3519 18.3038 22.5 17.9087 22.5H7.09394ZM17.9087 6.94445H7.09394V21.0185H17.9087V6.94445ZM9.71121 18.8951H11.1927V9.04322H9.71121V18.8951ZM13.81 18.8951H15.2914V9.04322H13.81V18.8951Z\" fill=\"currentColor\"/>\n</svg>`,\n  treasury: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M18.8125 20.5C14.6042 20.5 10.3958 20.5 6.1875 20.5C6.16417 20.4904 6.14167 20.4767 6.11708 20.4725C5.59542 20.3813 5.18292 20.1167 4.86625 19.6946C4.66833 19.4313 4.57708 19.125 4.5 18.8125C4.5 14.6042 4.5 10.3958 4.5 6.1875C4.50917 6.16417 4.52292 6.14125 4.52708 6.11667C4.61833 5.595 4.88292 5.1825 5.30542 4.86625C5.56917 4.66875 5.87417 4.57583 6.1875 4.5C10.3958 4.5 14.6042 4.5 18.8125 4.5C18.8413 4.51 18.8692 4.52375 18.8988 4.52917C19.4067 4.62458 19.8129 4.88083 20.125 5.2925C20.3275 5.55958 20.4229 5.86917 20.5 6.1875C20.5 10.3958 20.5 14.6042 20.5 18.8125C20.49 18.8408 20.4758 18.8688 20.4704 18.8983C20.37 19.4363 20.1029 19.8771 19.6388 20.1621C19.3888 20.3158 19.0896 20.39 18.8125 20.5ZM12.5 19.5625C14.4946 19.5625 16.4892 19.5629 18.4837 19.5625C19.1508 19.5625 19.5625 19.1492 19.5625 18.4796C19.5629 14.4958 19.5625 10.5117 19.5625 6.52792C19.5625 5.84792 19.1533 5.43792 18.4754 5.43792C14.4917 5.43792 10.5075 5.43792 6.52375 5.43792C5.84583 5.43792 5.4375 5.84792 5.4375 6.52875C5.4375 10.5075 5.4375 14.4862 5.4375 18.4646C5.4375 19.1546 5.84417 19.5629 6.53208 19.5629C8.52167 19.5625 10.5108 19.5625 12.5 19.5625Z\" fill=\"currentColor\"/>\n<path d=\"M17.6912 7.32375C17.6912 7.9475 17.6912 8.56 17.6912 9.18417C18.0029 9.18417 18.3029 9.18417 18.6142 9.18417C18.6142 10.1246 18.6142 11.0529 18.6142 11.9933C18.3138 11.9933 18.0138 11.9933 17.7008 11.9933C17.7008 12.3292 17.7008 12.6538 17.7008 12.9958C18 12.9958 18.3042 12.9958 18.6167 12.9958C18.6167 13.9379 18.6167 14.8629 18.6167 15.805C18.3167 15.805 18.0129 15.805 17.6921 15.805C17.6921 16.4383 17.6921 17.0546 17.6921 17.6792C14.2296 17.6792 10.7838 17.6792 7.32583 17.6792C7.32583 14.2333 7.32583 10.7842 7.32583 7.32375C10.77 7.32375 14.2192 7.32375 17.6912 7.32375ZM15.8237 15.8113C15.8237 14.8654 15.8237 13.9367 15.8237 12.9967C16.135 12.9967 16.435 12.9967 16.7404 12.9967C16.7404 12.6604 16.7404 12.3358 16.7404 11.9942C16.4271 11.9942 16.1229 11.9942 15.8204 11.9942C15.8204 11.0521 15.8204 10.1271 15.8204 9.185C16.1321 9.185 16.4358 9.185 16.7383 9.185C16.7383 8.86375 16.7383 8.56042 16.7383 8.25792C13.9058 8.25792 11.0854 8.25792 8.25958 8.25792C8.25958 11.09 8.25958 13.9142 8.25958 16.7392C11.0933 16.7392 13.9175 16.7392 16.7371 16.7392C16.7371 16.4242 16.7371 16.1208 16.7371 15.8113C16.4279 15.8113 16.1317 15.8113 15.8237 15.8113ZM16.7612 10.1317C16.7612 10.4488 16.7612 10.7521 16.7612 11.0496C17.0763 11.0496 17.3796 11.0496 17.6788 11.0496C17.6788 10.7371 17.6788 10.4375 17.6788 10.1317C17.3708 10.1317 17.0712 10.1317 16.7612 10.1317ZM16.7563 14.8675C17.0733 14.8675 17.3725 14.8675 17.6788 14.8675C17.6788 14.5567 17.6788 14.2533 17.6788 13.9479C17.3667 13.9479 17.0633 13.9479 16.7563 13.9479C16.7563 14.2575 16.7563 14.5571 16.7563 14.8675Z\" fill=\"currentColor\"/>\n<path d=\"M10.1562 12.4958C10.1579 11.2054 11.2117 10.155 12.5037 10.1567C13.7942 10.1579 14.845 11.2125 14.8433 12.5042C14.8417 13.7942 13.7875 14.845 12.4954 14.8438C11.2063 14.8425 10.155 13.7871 10.1562 12.4958ZM12.0221 13.8054C12.0221 12.9288 12.0221 12.0625 12.0221 11.1937C11.4992 11.3371 11.0963 11.9054 11.0942 12.4921C11.0917 13.0875 11.4938 13.6608 12.0221 13.8054ZM12.9688 11.1917C12.9688 11.6363 12.9688 12.0679 12.9688 12.4996C12.9688 12.9342 12.9688 13.3688 12.9688 13.8079C13.4967 13.6675 13.9033 13.0942 13.9058 12.5079C13.9083 11.9133 13.5042 11.3363 12.9688 11.1917Z\" fill=\"currentColor\"/>\n</svg>`,\n  unlock: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M15 11.875V8.5C15 7.2625 13.9875 6.25 12.75 6.25C11.5125 6.25 10.5 7.2625 10.5 8.5H8.25C8.25 6.01375 10.2638 4 12.75 4C15.2362 4 17.25 6.01375 17.25 8.5V11.875H18.375C18.9937 11.875 19.5 12.3813 19.5 13V20.875C19.5 21.4937 18.9937 22 18.375 22H7.125C6.50625 22 6 21.4937 6 20.875V13C6 12.3813 6.50625 11.875 7.125 11.875H15ZM13.875 19.75L13.47 17.3313C14.0438 17.0613 14.4375 16.4875 14.4375 15.8125C14.4375 14.8787 13.6838 14.125 12.75 14.125C11.8162 14.125 11.0625 14.8787 11.0625 15.8125C11.0625 16.4875 11.4562 17.0613 12.03 17.3313L11.625 19.75H13.875Z\" fill=\"currentColor\"/>\n</svg>`,\n  unview: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M21.9643 12.2962C21.2789 10.5027 20.0838 8.94879 18.5262 7.82608L21.4002 4.946L20.5542 4.09998L4.59976 20.0544L5.44579 20.9005L8.50587 17.8464C9.87177 18.6424 11.4193 19.0742 13 19.1004C14.9557 19.0269 16.8471 18.3818 18.4402 17.2451C20.0334 16.1083 21.2585 14.5297 21.9643 12.7042C22.0119 12.5724 22.0119 12.428 21.9643 12.2962ZM13 16.4003C12.1729 16.3999 11.3677 16.135 10.7019 15.6443L11.8 14.5583C12.2553 14.8077 12.7792 14.9028 13.2931 14.8293C13.807 14.7558 14.2832 14.5176 14.6503 14.1505C15.0174 13.7834 15.2556 13.3072 15.3291 12.7933C15.4026 12.2794 15.3075 11.7555 15.0581 11.3002L16.1441 10.2141C16.5668 10.7947 16.8207 11.4809 16.8778 12.1968C16.9349 12.9126 16.7928 13.6304 16.4675 14.2706C16.1421 14.9108 15.646 15.4485 15.0341 15.8244C14.4221 16.2003 13.7182 16.3996 13 16.4003ZM6.11781 15.9863L9.11789 12.9862C9.10229 12.8247 9.09628 12.6624 9.09989 12.5002C9.10148 11.4663 9.51289 10.4752 10.244 9.74417C10.975 9.0131 11.9661 8.60169 13 8.6001C13.1585 8.60094 13.3167 8.61096 13.474 8.6301L15.7421 6.36804C14.8594 6.06486 13.9333 5.9068 13 5.90003C11.0443 5.97357 9.15292 6.61858 7.55977 7.75533C5.96661 8.89208 4.74146 10.4707 4.03575 12.2962C3.98808 12.428 3.98808 12.5724 4.03575 12.7042C4.49657 13.9298 5.20538 15.0472 6.11781 15.9863Z\" fill=\"currentColor\"/>\n</svg>`,\n  upload: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M5.5 23C4.8125 23 4.22417 22.7554 3.735 22.2662C3.24583 21.7771 3.00083 21.1883 3 20.5V16.75H5.5V20.5H20.5V16.75H23V20.5C23 21.1875 22.7554 21.7762 22.2662 22.2662C21.7771 22.7563 21.1883 23.0008 20.5 23H5.5Z\" fill=\"currentColor\"/>\n<path d=\"M17.5 11.0625L19.25 9.25L13 3L6.75 9.25L8.5 11.0625L11.75 7.8125V18H14.25V7.8125L17.5 11.0625Z\" fill=\"currentColor\"/>\n</svg>`,\n  users: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M6 12C7.10313 12 8 11.1031 8 10C8 8.89687 7.10313 8 6 8C4.89688 8 4 8.89687 4 10C4 11.1031 4.89688 12 6 12ZM20 12C21.1031 12 22 11.1031 22 10C22 8.89687 21.1031 8 20 8C18.8969 8 18 8.89687 18 10C18 11.1031 18.8969 12 20 12ZM21 13H19C18.45 13 17.9531 13.2219 17.5906 13.5813C18.85 14.2719 19.7437 15.5188 19.9375 17H22C22.5531 17 23 16.5531 23 16V15C23 13.8969 22.1031 13 21 13ZM13 13C14.9344 13 16.5 11.4344 16.5 9.5C16.5 7.56562 14.9344 6 13 6C11.0656 6 9.5 7.56562 9.5 9.5C9.5 11.4344 11.0656 13 13 13ZM15.4 14H15.1406C14.4906 14.3125 13.7688 14.5 13 14.5C12.2312 14.5 11.5125 14.3125 10.8594 14H10.6C8.6125 14 7 15.6125 7 17.6V18.5C7 19.3281 7.67188 20 8.5 20H17.5C18.3281 20 19 19.3281 19 18.5V17.6C19 15.6125 17.3875 14 15.4 14ZM8.40938 13.5813C8.04688 13.2219 7.55 13 7 13H5C3.89688 13 3 13.8969 3 15V16C3 16.5531 3.44687 17 4 17H6.05938C6.25625 15.5188 7.15 14.2719 8.40938 13.5813Z\" fill=\"currentColor\"/>\n</svg>`,\n  view: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M13 10.0818C12.349 10.0818 11.7247 10.3404 11.2644 10.8008C10.8041 11.2611 10.5455 11.8854 10.5455 12.5364C10.5455 13.1874 10.8041 13.8117 11.2644 14.272C11.7247 14.7323 12.349 14.9909 13 14.9909C13.651 14.9909 14.2753 14.7323 14.7356 14.272C15.1959 13.8117 15.4545 13.1874 15.4545 12.5364C15.4545 11.8854 15.1959 11.2611 14.7356 10.8008C14.2753 10.3404 13.651 10.0818 13 10.0818ZM13 16.6273C11.915 16.6273 10.8745 16.1963 10.1073 15.4291C9.3401 14.6619 8.90909 13.6214 8.90909 12.5364C8.90909 11.4514 9.3401 10.4109 10.1073 9.64368C10.8745 8.87648 11.915 8.44548 13 8.44548C14.085 8.44548 15.1255 8.87648 15.8927 9.64368C16.6599 10.4109 17.0909 11.4514 17.0909 12.5364C17.0909 13.6214 16.6599 14.6619 15.8927 15.4291C15.1255 16.1963 14.085 16.6273 13 16.6273ZM13 6.40002C8.90909 6.40002 5.41545 8.94457 4 12.5364C5.41545 16.1282 8.90909 18.6728 13 18.6728C17.0909 18.6728 20.5845 16.1282 22 12.5364C20.5845 8.94457 17.0909 6.40002 13 6.40002Z\" fill=\"currentColor\"/>\n</svg>`,\n  x: `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M20.0237 7.62242C20.6588 6.9873 20.6588 5.95758 20.0237 5.32247L19.6775 4.97633C19.0424 4.34122 18.0127 4.34122 17.3776 4.97633L12.5 9.85392L7.62242 4.97634C6.9873 4.34122 5.95758 4.34122 5.32247 4.97633L4.97633 5.32247C4.34122 5.95758 4.34122 6.9873 4.97633 7.62242L9.85392 12.5L4.97634 17.3776C4.34122 18.0127 4.34122 19.0424 4.97633 19.6775L5.32247 20.0237C5.95758 20.6588 6.9873 20.6588 7.62241 20.0237L12.5 15.1461L17.3776 20.0237C18.0127 20.6588 19.0424 20.6588 19.6775 20.0237L20.0237 19.6775C20.6588 19.0424 20.6588 18.0127 20.0237 17.3776L15.1461 12.5L20.0237 7.62242Z\" fill=\"currentColor\"/>\n</svg>`,\n};\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport { EPAG_ICONS, EpagIconName } from './icons';\n\n@Component({\n  selector: 'epag-icon',\n  templateUrl: './icon.component.html',\n  styleUrls: ['./icon.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IconComponent implements OnChanges {\n  /**\n   * Name of the icon to render.\n   * Autocomplete lists all epag icon names — any other value falls back to mat-icon.\n   * @example\n   * <epag-icon name=\"payments\" />\n   * <epag-icon name=\"home\" /> <!-- fallback to mat-icon -->\n   */\n  // eslint-disable-next-line @typescript-eslint/ban-types\n  @Input({ required: true }) name!: EpagIconName | (string & {});\n\n  /** Icon size in pixels. Default: 24. */\n  @Input() size: number = 24;\n\n  /** Override the default icon color. Uses currentColor — inherits from parent if not set. */\n  @Input() color?: string;\n\n  @HostBinding('style.color')\n  get hostColor(): string | undefined {\n    return this.color;\n  }\n\n  protected safeSvg: SafeHtml = '';\n  protected isEpagIcon = false;\n\n  constructor(private sanitizer: DomSanitizer) {}\n\n  ngOnChanges(): void {\n    this.isEpagIcon = this.name in EPAG_ICONS;\n\n    if (this.isEpagIcon) {\n      this.safeSvg = this.sanitizer.bypassSecurityTrustHtml(EPAG_ICONS[this.name as EpagIconName]);\n    }\n  }\n}\n","<span\n  *ngIf=\"isEpagIcon\"\n  [innerHTML]=\"safeSvg\"\n  class=\"epag-icon__svg\"\n  [style.width.px]=\"size\"\n  [style.height.px]=\"size\"\n></span>\n\n<mat-icon\n  *ngIf=\"!isEpagIcon\"\n  class=\"epag-icon__mat material-symbols-outlined\"\n  [style.font-size.px]=\"size\"\n  [style.width.px]=\"size\"\n  [style.height.px]=\"size\"\n  [style.color]=\"color\"\n  >{{ name }}</mat-icon\n>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { IconComponent } from './icon.component';\n\n@NgModule({\n  declarations: [IconComponent],\n  imports: [CommonModule, MatIconModule],\n  exports: [IconComponent],\n})\nexport class EpagIconModule {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'lib-last-days-card',\n  templateUrl: './last-days-card.component.html',\n  styleUrls: ['./last-days-card.component.scss'],\n})\nexport class LastDaysCardComponent {\n  @Input() value = {\n    id: '30Sales',\n    amount: 0,\n  };\n  public style: Object = {};\n  public days = 30;\n\n  ngOnInit(): void {\n    if (this.value.id === '07Sales') {\n      this.days = 7;\n    }\n  }\n  ngOnChanges(): void {\n    if (this.value.amount > 0) {\n      this.style = { background: '#1B98E0' };\n    } else if (this.value.amount < 0) {\n      this.style = { background: 'red' };\n    } else {\n      this.style = { background: '#FA0' };\n    }\n  }\n}\n","<div [ngStyle]=\"style\" class=\"last-days-card\">Last {{ days }} days</div>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'lib-card',\n  templateUrl: './card.component.html',\n  styleUrls: ['./card.component.scss'],\n})\nexport class CardComponent {\n  @Input() cardTitle: string | undefined = '';\n  @Input() subTitle?: string;\n  @Input() customPadding?: string = '1.9rem';\n  @Input() biggerTitle: boolean = false;\n  @Input() hasDivider: boolean = false;\n  @Input() lastDaysCard = { id: 'none', amount: 0 };\n  @Input() centerTitle: boolean = false;\n  @Input() cardColor: string = '#fff';\n  @Input() noTitle: boolean = false;\n  @Input() notFitContent: boolean = false;\n  @Input() titleIcon?: string;\n}\n","<div\n  class=\"my-card\"\n  [ngStyle]=\"{ background: cardColor, padding: customPadding }\"\n  [ngClass]=\"notFitContent ? 'not-fit' : ''\"\n>\n  <div\n    *ngIf=\"!noTitle\"\n    [ngClass]=\"centerTitle ? 'card-title-center' : 'card-title'\"\n    [ngStyle]=\"hasDivider ? { margin: 0 } : { 'margin-bottom': '1rem' }\"\n  >\n    <h3\n      [ngStyle]=\"biggerTitle ? { 'font-size': '32px' } : { 'font-size': '22px' }\"\n      class=\"card-title-text\"\n    >\n      <mat-icon *ngIf=\"titleIcon\" class=\"card-title-icon\">{{ titleIcon }}</mat-icon>\n      {{ cardTitle }}\n    </h3>\n    <ng-content select=\"[cardTitleRight]\"></ng-content>\n    <lib-last-days-card\n      *ngIf=\"lastDaysCard.id !== 'none'\"\n      [value]=\"lastDaysCard\"\n    ></lib-last-days-card>\n    <h4 *ngIf=\"subTitle\" [ngStyle]=\"{ 'font-size': '18px', 'margin-top': '0.5rem' }\">\n      {{ subTitle }}\n    </h4>\n  </div>\n  <hr *ngIf=\"hasDivider\" />\n  <div><ng-content></ng-content></div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { LastDaysCardComponent } from '../last-days-card/last-days-card.component';\nimport { CardComponent } from './card.component';\n\n@NgModule({\n  declarations: [CardComponent, LastDaysCardComponent],\n  imports: [CommonModule, MatIconModule],\n  exports: [CardComponent, LastDaysCardComponent],\n})\nexport class EpagCardModule {}\n","import { Directive, Input, TemplateRef } from '@angular/core';\nimport { InfoCardEntryItem } from './info-card.component';\n\nexport interface InfoCardItemValueContext<T = unknown> {\n  $implicit: T;\n  value: T;\n  item: InfoCardEntryItem<T>;\n}\n\n@Directive({\n  selector: 'ng-template[itemValue]',\n})\nexport class InfoCardItemValueDirective<T = unknown> {\n  @Input('itemValue') key!: string;\n\n  constructor(public readonly template: TemplateRef<InfoCardItemValueContext<T>>) {}\n}\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'lib-loader',\n  templateUrl: './loader.component.html',\n  styleUrls: ['./loader.component.scss'],\n})\nexport class LoaderComponent {}\n","<div>\n  <div class=\"spinner\">\n    <svg viewBox=\"0 0 100 100\">\n      <circle cx=\"50\" cy=\"50\" r=\"45\" />\n    </svg>\n  </div>\n</div>\n","import {\n  ComponentFactoryResolver,\n  Directive,\n  ElementRef,\n  Input,\n  Renderer2,\n  ViewContainerRef,\n} from '@angular/core';\n\nimport { LoaderComponent } from '../components/loader/loader.component';\n\n@Directive({\n  selector: '[loader]',\n})\nexport class LoaderDirective {\n  private isLoading = false;\n  private componentRef: any;\n\n  constructor(\n    private el: ElementRef,\n    private viewContainer: ViewContainerRef,\n    private componentFactoryResolver: ComponentFactoryResolver,\n    private renderer: Renderer2,\n  ) {}\n\n  @Input() set loader(condition: boolean) {\n    if (condition && !this.isLoading) {\n      if (this.componentRef) {\n        this.componentRef.destroy();\n      }\n\n      this.renderer.addClass(this.el.nativeElement, 'hidden-content');\n\n      const factory = this.componentFactoryResolver.resolveComponentFactory(LoaderComponent);\n      this.componentRef = this.viewContainer.createComponent(factory);\n      this.isLoading = true;\n    } else if (!condition && this.isLoading) {\n      this.renderer.removeClass(this.el.nativeElement, 'hidden-content');\n\n      this.componentRef.destroy();\n      this.isLoading = false;\n    }\n  }\n}\n","import {\n  AfterContentInit,\n  ChangeDetectorRef,\n  ChangeDetectionStrategy,\n  Component,\n  ContentChildren,\n  Input,\n  OnDestroy,\n  QueryList,\n  TemplateRef,\n  booleanAttribute,\n} from '@angular/core';\nimport {\n  InfoCardItemValueContext,\n  InfoCardItemValueDirective,\n} from './info-card-item-value.directive';\n\nimport { Subscription } from 'rxjs';\n\n/**\n * Represents a regular key/label/value entry displayed in the info card.\n * @template T - The type of the value associated with this item\n */\nexport interface InfoCardEntryItem<T = unknown> {\n  /** Unique identifier for the item, used for tracking and template mapping */\n  key: string;\n  /** Display label for the item */\n  label: string;\n  /** Optional helper text shown in an info tooltip next to the label */\n  info?: string;\n  /** The value to be displayed, can be of any type */\n  value: T;\n  /** Whether to render a button that copies the item value */\n  copyable?: boolean;\n}\n\n/**\n * Represents a grouped info card entry rendered side by side.\n * @template T - The type of the value associated with each grouped item\n */\nexport interface InfoCardGroupItem<T = unknown> {\n  /** Flag indicating this entry is a group of items. */\n  group: true;\n  /** Regular entries rendered inside the group. */\n  items: InfoCardEntryItem<T>[];\n}\n\n/**\n * Represents a divider rendered between info card entries.\n */\nexport interface InfoCardDividerItem {\n  divider: true;\n}\n\n/**\n * Represents a single item displayed in the info card.\n * An item can be a regular entry, a group of entries, or a divider.\n * @template T - The type of the value associated with this item\n */\nexport type InfoCardItem<T = unknown> =\n  | InfoCardEntryItem<T>\n  | InfoCardGroupItem<T>\n  | InfoCardDividerItem;\n\nexport type InfoCardVariant = 'horizontal' | 'vertical';\n\n/**\n * InfoCardComponent - A reusable component for displaying key-value information in a card layout.\n *\n * This component provides a flexible way to display structured information with support for:\n * - Custom templates for specific item values via content projection\n * - Empty value fallbacks\n * - Dynamic template updates\n * - OnPush change detection for optimal performance\n *\n * @example\n * ```html\n * <epag-info-card\n *   [title]=\"'User Information'\"\n *   [items]=\"userItems\"\n *   [emptyFallback]=\"'N/A'\">\n *   <ng-template itemValue=\"status\" let-value>\n *     <span [class]=\"value\">{{value}}</span>\n *   </ng-template>\n * </epag-info-card>\n * ```\n */\n@Component({\n  selector: 'epag-info-card',\n  templateUrl: './info-card.component.html',\n  styleUrls: ['./info-card.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class InfoCardComponent implements AfterContentInit, OnDestroy {\n  private static readonly COPIED_TOOLTIP_DURATION_MS = 2000;\n\n  /** Optional title displayed at the top of the card */\n  @Input() title?: string;\n\n  /** Optional Material icon name to display before the title */\n  @Input() titleIcon?: string;\n\n  /** Array of items to display in the card, each containing a key, label, and value */\n  @Input() items: InfoCardItem[] = [];\n\n  /** Controls whether entries are rendered horizontally or vertically */\n  @Input() variant: InfoCardVariant = 'horizontal';\n\n  /** Fallback text to display when a value is empty or invalid. Defaults to '-' */\n  @Input() emptyFallback = '-';\n\n  /** A boolean variable indicating the loading state */\n  @Input({ transform: booleanAttribute }) isLoading = false;\n\n  /** Collection of custom value templates projected via content children */\n  @ContentChildren(InfoCardItemValueDirective)\n  private readonly itemValueTemplates?: QueryList<InfoCardItemValueDirective>;\n\n  /** Map storing custom templates keyed by item key for quick lookup */\n  private templateMap = new Map<string, TemplateRef<InfoCardItemValueContext>>();\n\n  /** Subscription to handle dynamic changes in projected templates */\n  private templateChangesSubscription?: Subscription;\n\n  /** Current item key showing the copied tooltip state */\n  private copiedItemKey: string | null = null;\n\n  /** Timeout id used to reset copied tooltip state */\n  private copiedTooltipTimeoutId?: ReturnType<typeof setTimeout>;\n\n  constructor(private readonly cdr: ChangeDetectorRef) {}\n\n  /**\n   * Lifecycle hook called after content initialization.\n   * Builds the initial template map and subscribes to template changes.\n   */\n  ngAfterContentInit(): void {\n    this.rebuildTemplateMap();\n\n    this.templateChangesSubscription = this.itemValueTemplates?.changes.subscribe(() => {\n      this.rebuildTemplateMap();\n    });\n  }\n\n  /**\n   * Lifecycle hook called before component destruction.\n   * Cleans up subscriptions to prevent memory leaks.\n   */\n  ngOnDestroy(): void {\n    this.templateChangesSubscription?.unsubscribe();\n    this.clearCopiedTooltipTimeout();\n  }\n\n  /**\n   * TrackBy function for ngFor optimization.\n   * @param index - The index of the item in the list\n   * @param item - The info card item\n   * @returns The unique key for regular entries, or an index-based key for grouped and divider entries\n   */\n  trackByKey = (index: number, item: InfoCardItem): string => {\n    if (this.isDivider(item)) {\n      return `__divider_${index}`;\n    }\n\n    if (this.isGroup(item)) {\n      return `__group_${index}`;\n    }\n\n    return item.key;\n  };\n\n  /**\n   * TrackBy function for grouped entry items.\n   * @param index - The index of the grouped item\n   * @param item - The grouped entry item\n   * @returns The unique key for grouped entry item\n   */\n  trackByGroupItemKey = (_index: number, item: InfoCardEntryItem): string => {\n    return item.key;\n  };\n\n  /**\n   * Type guard that checks whether the given item is a divider.\n   * @param item - The info card item to check\n   * @returns True if the item represents a divider\n   */\n  isDivider(item: InfoCardItem): item is Extract<InfoCardItem, { divider: true }> {\n    return (item as { divider?: true }).divider === true;\n  }\n\n  /**\n   * Type guard that checks whether the given item is a group entry.\n   * @param item - The info card item to check\n   * @returns True if the item represents a group\n   */\n  isGroup(item: InfoCardItem): item is InfoCardGroupItem {\n    return (item as { group?: true }).group === true;\n  }\n\n  /**\n   * Type guard that checks whether the given item is a regular entry.\n   * @param item - The info card item to check\n   * @returns True if the item represents a regular entry\n   */\n  isEntry(item: InfoCardItem): item is InfoCardEntryItem {\n    return !this.isDivider(item) && !this.isGroup(item);\n  }\n\n  /**\n   * Retrieves the custom template for a specific item, if one exists.\n   * @param item - The info card item to get the template for\n   * @returns The custom template reference or null if no custom template exists\n   */\n  getTemplate(item: InfoCardItem): TemplateRef<InfoCardItemValueContext> | null {\n    if (!this.isEntry(item)) {\n      return null;\n    }\n    return this.templateMap.get(item.key) ?? null;\n  }\n\n  /**\n   * Creates the template context for rendering custom item values.\n   * @param item - The info card item\n   * @returns Context object containing the value and item reference\n   */\n  getContext(item: InfoCardEntryItem): InfoCardItemValueContext {\n    return {\n      $implicit: item.value,\n      value: item.value,\n      item,\n    };\n  }\n\n  /**\n   * Checks if a value is considered non-empty and should be displayed.\n   * @param value - The value to check\n   * @returns True if the value should be displayed, false if it should show the fallback\n   */\n  hasValue(value: unknown): boolean {\n    if (value === null || value === undefined) {\n      return false;\n    }\n\n    if (typeof value === 'string') {\n      return value.trim().length > 0;\n    }\n\n    if (Array.isArray(value)) {\n      return value.length > 0;\n    }\n\n    if (typeof value === 'object') {\n      return Object.keys(value).length > 0;\n    }\n\n    return true;\n  }\n\n  /**\n   * Determines whether a copy button should be displayed for an item.\n   * @param item - The item to evaluate\n   * @returns True when the item is copyable and has a non-empty value\n   */\n  shouldShowCopyButton(item: InfoCardItem): boolean {\n    return this.isEntry(item) && item.copyable === true && this.hasValue(item.value);\n  }\n\n  /**\n   * Determines whether an entry should display the info tooltip icon.\n   * @param item - The entry item to evaluate\n   * @returns True when the item has a non-empty info message\n   */\n  shouldShowInfoTooltip(item: InfoCardEntryItem): boolean {\n    return typeof item.info === 'string' && item.info.trim().length > 0;\n  }\n\n  /**\n   * Returns the tooltip label for a copy button.\n   * @param item - The item associated with the copy button\n   * @returns The tooltip text\n   */\n  getCopyTooltipMessage(item: InfoCardItem): string {\n    if (!this.isEntry(item)) {\n      return 'Copy';\n    }\n\n    return this.copiedItemKey === item.key ? 'Copied' : 'Copy';\n  }\n\n  /**\n   * Copies an item value to the clipboard and updates tooltip feedback state.\n   * @param item - The item whose value should be copied\n   */\n  copyItemValue(item: InfoCardItem): void {\n    if (!this.isEntry(item) || item.copyable !== true || !this.hasValue(item.value)) {\n      return;\n    }\n\n    this.copyText(String(item.value))\n      .then(() => {\n        this.setCopiedItemKey(item.key);\n      })\n      .catch((error) => {\n        console.error('Failed to copy text: ', error);\n      });\n  }\n\n  /**\n   * Rebuilds the template map from the current set of projected templates.\n   * Called during initialization and whenever the projected templates change.\n   * @private\n   */\n  private rebuildTemplateMap(): void {\n    this.templateMap.clear();\n\n    this.itemValueTemplates?.forEach((templateDef) => {\n      if (templateDef.key) {\n        this.templateMap.set(templateDef.key, templateDef.template);\n      }\n    });\n  }\n\n  /**\n   * Copies plain text to clipboard with fallback when Clipboard API is unavailable.\n   * @param value - Text value to copy\n   */\n  private copyText(value: string): Promise<void> {\n    if (navigator.clipboard) {\n      return navigator.clipboard.writeText(value);\n    }\n\n    return new Promise<void>((resolve, reject) => {\n      const textarea = document.createElement('textarea');\n      textarea.value = value;\n      document.body.appendChild(textarea);\n      textarea.select();\n\n      try {\n        document.execCommand('copy');\n        resolve();\n      } catch (error) {\n        reject(error);\n      } finally {\n        document.body.removeChild(textarea);\n      }\n    });\n  }\n\n  /**\n   * Updates copied tooltip state and resets it after a short delay.\n   * @param itemKey - Item key currently marked as copied\n   */\n  private setCopiedItemKey(itemKey: string): void {\n    this.copiedItemKey = itemKey;\n    this.cdr.markForCheck();\n    this.clearCopiedTooltipTimeout();\n\n    this.copiedTooltipTimeoutId = setTimeout(() => {\n      this.copiedItemKey = null;\n      this.copiedTooltipTimeoutId = undefined;\n      this.cdr.markForCheck();\n    }, InfoCardComponent.COPIED_TOOLTIP_DURATION_MS);\n  }\n\n  /**\n   * Clears the copied tooltip timeout when active.\n   */\n  private clearCopiedTooltipTimeout(): void {\n    if (!this.copiedTooltipTimeoutId) {\n      return;\n    }\n\n    clearTimeout(this.copiedTooltipTimeoutId);\n    this.copiedTooltipTimeoutId = undefined;\n  }\n}\n","<lib-card\n  class=\"info-card\"\n  [class.info-card--no-title]=\"!title\"\n  [class.info-card--vertical]=\"variant === 'vertical'\"\n  [cardTitle]=\"title\"\n  [hasDivider]=\"!!title\"\n  [noTitle]=\"!title\"\n  [titleIcon]=\"titleIcon\"\n>\n  <ng-content select=\"[cardTitleRight]\" ngProjectAs=\"[cardTitleRight]\"></ng-content>\n  <dl class=\"info-card__list\" [loader]=\"isLoading\">\n    <ng-container *ngIf=\"!isLoading\">\n      <ng-container *ngFor=\"let item of items; trackBy: trackByKey\">\n        <mat-divider *ngIf=\"isDivider(item); else nonDividerRow\" />\n\n        <ng-template #nonDividerRow>\n          <ng-container *ngIf=\"isGroup(item); else singleEntryRow\">\n            <div\n              class=\"info-card__row info-card__row--group\"\n              [class.info-card__row--vertical]=\"variant === 'vertical'\"\n            >\n              <div\n                class=\"info-card__group-item\"\n                [class.info-card__group-item--vertical]=\"variant === 'vertical'\"\n                *ngFor=\"let groupItem of item.items; trackBy: trackByGroupItemKey\"\n              >\n                <ng-container\n                  *ngTemplateOutlet=\"entryTemplate; context: { $implicit: groupItem }\"\n                ></ng-container>\n              </div>\n            </div>\n          </ng-container>\n\n          <ng-template #singleEntryRow>\n            <div class=\"info-card__row\" [class.info-card__row--vertical]=\"variant === 'vertical'\">\n              <ng-container\n                *ngTemplateOutlet=\"entryTemplate; context: { $implicit: item }\"\n              ></ng-container>\n            </div>\n          </ng-template>\n        </ng-template>\n      </ng-container>\n    </ng-container>\n  </dl>\n\n  <ng-content select=\"[footer]\"></ng-content>\n</lib-card>\n\n<ng-template #entryTemplate let-entryItem>\n  <dt class=\"info-card__label\">\n    <span class=\"info-card__label-content\">\n      <span>{{ entryItem.label }}</span>\n      <button\n        *ngIf=\"shouldShowInfoTooltip(entryItem)\"\n        type=\"button\"\n        class=\"info-card__info-button\"\n        matTooltipPosition=\"above\"\n        [matTooltip]=\"entryItem.info\"\n        [attr.aria-label]=\"'More info about ' + entryItem.label\"\n      >\n        <epag-icon name=\"info\" color=\"#999\" [size]=\"16\" />\n      </button>\n    </span>\n  </dt>\n\n  <dd class=\"info-card__value\">\n    <span\n      class=\"info-card__value-wrapper\"\n      [class.info-card__value-wrapper--vertical-copy]=\"\n        variant === 'vertical' && shouldShowCopyButton(entryItem)\n      \"\n    >\n      <span class=\"info-card__value-content\">\n        <ng-container *ngIf=\"getTemplate(entryItem) as template; else defaultValue\">\n          <ng-container *ngTemplateOutlet=\"template; context: getContext(entryItem)\"></ng-container>\n        </ng-container>\n\n        <ng-template #defaultValue>\n          <ng-container *ngIf=\"hasValue(entryItem.value); else emptyValue\">\n            {{ entryItem.value }}\n          </ng-container>\n        </ng-template>\n\n        <ng-template #emptyValue>\n          <span class=\"info-card__empty\">{{ emptyFallback }}</span>\n        </ng-template>\n      </span>\n\n      <button\n        *ngIf=\"shouldShowCopyButton(entryItem)\"\n        type=\"button\"\n        class=\"info-card__copy-button\"\n        matTooltipPosition=\"above\"\n        [matTooltip]=\"getCopyTooltipMessage(entryItem)\"\n        [attr.aria-label]=\"'Copy ' + entryItem.label\"\n        (click)=\"copyItemValue(entryItem)\"\n      >\n        <epag-icon name=\"copy\" color=\"#999\" [size]=\"20\" />\n      </button>\n    </span>\n  </dd>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LoaderDirective } from '../../directives/loader.directive';\nimport { LoaderComponent } from './loader.component';\n\n@NgModule({\n  declarations: [LoaderComponent, LoaderDirective],\n  imports: [CommonModule],\n  exports: [LoaderComponent, LoaderDirective],\n})\nexport class EpagLoaderModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { EpagIconModule } from '../icon/icon.module';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { EpagCardModule } from '../card/card.module';\nimport { InfoCardItemValueDirective } from './info-card-item-value.directive';\nimport { InfoCardComponent } from './info-card.component';\nimport { EpagLoaderModule } from '../loader/loader.module';\n\n@NgModule({\n  declarations: [InfoCardComponent, InfoCardItemValueDirective],\n  imports: [\n    CommonModule,\n    EpagCardModule,\n    EpagLoaderModule,\n    MatDividerModule,\n    EpagIconModule,\n    MatTooltipModule,\n  ],\n  exports: [InfoCardComponent, InfoCardItemValueDirective],\n})\nexport class EpagInfoCardModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nexport const STATUS_BADGE_COLORS = [\n  'success',\n  'warning',\n  'error',\n  'info',\n  'neutral',\n  'financial',\n  'waiting',\n  'stage',\n  'recovery',\n  'alert',\n  'special',\n] as const;\n\nexport type StatusBadgeColor = (typeof STATUS_BADGE_COLORS)[number];\n\n/**\n * Read-only badge used to display short status labels with predefined semantic colors.\n */\n@Component({\n  selector: 'epag-status-badge',\n  templateUrl: './status-badge.component.html',\n  styleUrls: ['./status-badge.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class StatusBadgeComponent {\n  @Input({ required: true }) label!: string;\n  @Input() color: StatusBadgeColor = 'neutral';\n\n  get badgeClass(): string {\n    return `status-badge--${this.color ?? 'neutral'}`;\n  }\n}\n","<span class=\"status-badge\" [ngClass]=\"badgeClass\">\n  {{ label }}\n</span>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { StatusBadgeComponent } from './status-badge.component';\n\n@NgModule({\n  declarations: [StatusBadgeComponent],\n  imports: [CommonModule],\n  exports: [StatusBadgeComponent],\n})\nexport class EpagStatusBadgeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'splitUnderscore',\n})\nexport class SplitUnderscorePipe implements PipeTransform {\n  transform(value: string): string {\n    if (!value) return value;\n\n    return value\n      .split('_')\n      .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n      .join(' ');\n  }\n}\n","import { Component, Input } from '@angular/core';\nimport { Params } from '@angular/router';\nimport { InfoCardItem } from '../info-card/info-card.component';\nimport { StatusBadgeColor } from '../status-badge/status-badge.component';\nimport { SplitUnderscorePipe } from '../../pipes/split-underscore.pipe';\n\nexport const disputeStatusColor: Partial<Record<string, StatusBadgeColor>> = {\n  CREATED: 'info',\n  EVIDENCE_PENDING: 'waiting',\n  EVIDENCE_RECEIVED: 'warning',\n  EVIDENCE_SUBMITTED: 'success',\n  REFUNDED: 'warning',\n  CHARGED_BACK: 'success',\n  RECOVERED: 'success',\n  DISPUTE_FINAL: 'error',\n  POST_REFUND_DISPUTE: 'success',\n} as const;\n\nexport interface DisputeInfo {\n  dispute_id: string | null;\n  dispute_date: string | null;\n  dispute_status: string | null;\n}\n\nexport interface DisputeInfoRoute {\n  link: string | any[];\n  queryParams?: Params;\n}\n\n@Component({\n  selector: 'epag-disputes-info',\n  templateUrl: './disputes-info.component.html',\n})\nexport class DisputesInfoComponent {\n  @Input() disputeInfo?: DisputeInfo;\n  @Input() route?: DisputeInfoRoute;\n  private readonly splitUnderscorePipe = new SplitUnderscorePipe();\n\n  get disputeInfoList(): InfoCardItem[] {\n    return [\n      { label: 'Dispute ID', key: 'id', value: this.disputeInfo?.dispute_id },\n      { label: 'Dispute Date', key: 'date', value: this.disputeInfo?.dispute_date },\n      { label: 'Status', key: 'status', value: this.disputeInfo?.dispute_status },\n    ];\n  }\n\n  getDisputeStatusColor(status?: string | null): StatusBadgeColor {\n    if (!status) {\n      return 'neutral';\n    }\n\n    return disputeStatusColor[status] ?? 'neutral';\n  }\n\n  formatDisputeStatusLabel(status?: string | null): string {\n    if (!status) {\n      return '';\n    }\n\n    return this.splitUnderscorePipe.transform(status);\n  }\n\n  hasRouteLink(): boolean {\n    const link = this.route?.link;\n\n    if (typeof link === 'string') {\n      return link.trim().length > 0;\n    }\n\n    if (Array.isArray(link)) {\n      return link.length > 0;\n    }\n\n    return false;\n  }\n}\n","<epag-info-card title=\"Disputes\" [items]=\"disputeInfoList\">\n  <ng-template itemValue=\"id\" let-value>\n    <ng-container *ngIf=\"value; else noValue\">\n      <a\n        *ngIf=\"hasRouteLink(); else plainIdText\"\n        [routerLink]=\"route?.link\"\n        [queryParams]=\"route?.queryParams\"\n      >\n        {{ value }}\n      </a>\n\n      <ng-template #plainIdText>\n        {{ value }}\n      </ng-template>\n    </ng-container>\n  </ng-template>\n\n  <ng-template itemValue=\"date\" let-value>\n    <ng-container *ngIf=\"value; else noValue\">\n      {{ value | date: 'MM-dd-yyyy' }}\n    </ng-container>\n  </ng-template>\n\n  <ng-template itemValue=\"status\" let-value>\n    <epag-status-badge\n      *ngIf=\"value; else noValue\"\n      [color]=\"getDisputeStatusColor(value)\"\n      [label]=\"formatDisputeStatusLabel(value)\"\n    />\n  </ng-template>\n</epag-info-card>\n\n<ng-template #noValue> - </ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { EpagInfoCardModule } from '../info-card/info-card.module';\nimport { EpagStatusBadgeModule } from '../status-badge/status-badge.module';\nimport { DisputesInfoComponent } from './disputes-info.component';\n\n@NgModule({\n  declarations: [DisputesInfoComponent],\n  imports: [CommonModule, RouterModule, EpagInfoCardModule, EpagStatusBadgeModule],\n  exports: [DisputesInfoComponent],\n})\nexport class EpagDisputesInfoModule {}\n","import { CurrencyPipe, DatePipe } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'applyPipe',\n})\nexport class ApplyPipe implements PipeTransform {\n  constructor(\n    private currencyPipe: CurrencyPipe,\n    private datePipe: DatePipe,\n  ) {}\n\n  transform(value: any, pipeName: string | PipeTransform, pipeArgs: any[] = []): any {\n    const pipeNameStr =\n      typeof pipeName === 'string'\n        ? pipeName\n        : pipeName.constructor.name.toLowerCase().replace('pipe', '');\n\n    switch (pipeNameStr) {\n      case 'currency':\n        return this.currencyPipe.transform(value, ...pipeArgs);\n      case 'date':\n        return this.datePipe.transform(value, ...pipeArgs);\n      default:\n        return value;\n    }\n  }\n}\n","import { Directive, Input, TemplateRef } from '@angular/core';\nimport { TableColumn } from './table.model';\n\nexport interface PaginatedTableItemContext<T = unknown> {\n  $implicit: T;\n  value: T;\n  element: any;\n  column: TableColumn;\n}\n\n@Directive({\n  selector: 'ng-template[epagTableItem]',\n})\nexport class PaginatedTableItemDirective<T = unknown> {\n  @Input('epagTableItem') key!: string;\n\n  constructor(public readonly template: TemplateRef<PaginatedTableItemContext<T>>) {}\n}\n","import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class MessageNotificaionService {\n  constructor(private snackBar: MatSnackBar) {}\n\n  public showSuccess(message: string, duration: number = 3000): void {\n    this.snackBar.open('✔️ ' + message, 'Close', {\n      duration,\n      panelClass: ['snackbar-success'],\n    });\n  }\n\n  public showError(message: string, duration: number = 3000): void {\n    this.snackBar.open('❌ ' + message, 'Close', {\n      duration,\n      panelClass: ['snackbar-error'],\n    });\n  }\n\n  public showInfo(message: string, duration: number = 3000): void {\n    this.snackBar.open('ℹ️ ' + message, 'Close', {\n      duration,\n      panelClass: ['snackbar-info'],\n    });\n  }\n\n  public showWarning(message: string, duration: number = 3000): void {\n    this.snackBar.open('⚠️ ' + message, 'Close', {\n      duration,\n      panelClass: ['snackbar-warning'],\n    });\n  }\n}\n","import {\n  AfterContentInit,\n  AfterViewInit,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnDestroy,\n  Output,\n  PipeTransform,\n  QueryList,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild,\n} from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MessageNotificaionService } from '../../services/messageNotificationService/message-notification-service.service';\nimport { PageEvent } from '@angular/material/paginator';\nimport { Router } from '@angular/router';\nimport { TableColumn } from './table.model';\nimport {\n  PaginatedTableItemContext,\n  PaginatedTableItemDirective,\n} from './paginated-table-item.directive';\nimport { Subscription } from 'rxjs';\n\n@Component({\n  selector: 'epag-paginated-table',\n  templateUrl: './paginated-table.component.html',\n  styleUrls: ['./paginated-table.component.scss'],\n})\nexport class PaginatedTableComponent\n  implements OnChanges, AfterContentInit, AfterViewInit, OnDestroy\n{\n  public readonly selectionColumnDef = '__epagSelection__';\n\n  @ViewChild(MatSort, { static: true }) sort!: MatSort;\n  @ContentChildren(PaginatedTableItemDirective)\n  private readonly itemTemplates?: QueryList<PaginatedTableItemDirective>;\n\n  @Input() displayedColumns: TableColumn[] = [];\n  @Input() dataSource = new MatTableDataSource<any>([]);\n  @Input() tableClass: string = 'transactions-table';\n  @Input() isLoading: boolean = false;\n  @Input() isSelectable: boolean = false;\n  @Input() selectedRows: any[] = [];\n  @Input() selectionKey?: string | ((row: any) => string);\n  @Input() resetSelectionOnDataChange: boolean = false;\n  @Input() pageSize: number = 20;\n  @Input() totalLength: number = 0;\n  @Input() saveFiltersAndNavigate!: (element: any) => void;\n  @Input() pageSizeOptions: number[] = [20, 50, 100];\n  @Input() pageIndex: number = 0;\n\n  /**\n   * Internal page index used to drive `mat-paginator`. Kept separate from the\n   * `pageIndex` @Input to avoid mutating an input directly. It is synced from\n   * the input via `ngOnChanges` and updated locally when the user navigates.\n   */\n  currentPageIndex: number = 0;\n\n  @Output() pageChange: EventEmitter<PageEvent> = new EventEmitter<PageEvent>();\n  @Output() selectedRowsChange = new EventEmitter<any[]>();\n  @Output() toggleChange = new EventEmitter<{\n    element: any;\n    checked: boolean;\n  }>();\n\n  columnDefs: string[] = [];\n  private readonly itemTemplateMap = new Map<string, TemplateRef<PaginatedTableItemContext>>();\n  private itemTemplateChangesSubscription?: Subscription;\n\n  constructor(\n    private notificationService: MessageNotificaionService,\n    private cdr: ChangeDetectorRef,\n    public router: Router,\n    private datePipe: DatePipe,\n  ) {}\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes['displayedColumns'] || changes['isSelectable']) {\n      this.updateColumnDefs();\n    }\n\n    if (changes['pageIndex']) {\n      this.currentPageIndex = this.pageIndex ?? 0;\n    }\n\n    if (changes['selectedRows']) {\n      this.selectedRows = Array.isArray(this.selectedRows) ? [...this.selectedRows] : [];\n    }\n\n    if (changes['dataSource']) {\n      if (this.dataSource && this.sort) {\n        this.dataSource.sort = this.sort;\n      }\n\n      if (this.resetSelectionOnDataChange) {\n        this.setSelectedRows([], true);\n      }\n    }\n  }\n\n  ngAfterContentInit(): void {\n    this.rebuildItemTemplateMap();\n\n    this.itemTemplateChangesSubscription = this.itemTemplates?.changes.subscribe(() => {\n      this.rebuildItemTemplateMap();\n    });\n  }\n\n  ngAfterViewInit() {\n    this.dataSource.sort = this.sort;\n    this.cdr.detectChanges();\n  }\n\n  ngOnDestroy(): void {\n    this.itemTemplateChangesSubscription?.unsubscribe();\n  }\n\n  public onPageChange(event: PageEvent) {\n    this.currentPageIndex = event.pageIndex;\n    this.pageChange.emit(event);\n  }\n\n  public copyToClipboard(value: string) {\n    if (navigator.clipboard) {\n      navigator.clipboard\n        .writeText(value)\n        .then(() => {\n          this.notificationService.showInfo('Copiado', 1000);\n        })\n        .catch((err) => {\n          console.error('Failed to copy text: ', err);\n        });\n    } else {\n      const textarea = document.createElement('textarea');\n      textarea.value = value;\n      document.body.appendChild(textarea);\n      textarea.select();\n      try {\n        document.execCommand('copy');\n        this.notificationService.showInfo('Copiado', 1000);\n      } catch (err) {\n        console.error('Failed to copy text: ', err);\n      }\n      document.body.removeChild(textarea);\n    }\n  }\n\n  public isTextOverflowing(element: HTMLElement | null): boolean {\n    if (!element) {\n      return false;\n    }\n    return element.scrollWidth > element.clientWidth;\n  }\n\n  public getQueryParams(queryParams: any, element: any): any {\n    const params: any = {};\n    for (const key in queryParams) {\n      if (queryParams.hasOwnProperty(key)) {\n        const value = queryParams[key];\n        params[key] = value\n          .split('.')\n          .reduce((acc: any, part: string) => acc && acc[part], element);\n      }\n    }\n    return params;\n  }\n\n  public onToggleChange(element: any, checked: boolean) {\n    this.toggleChange.emit({ element, checked });\n  }\n\n  public onToggleRowSelection(row: any, checked: boolean): void {\n    const hasRow = this.hasSelectedRow(row);\n\n    if (checked && !hasRow) {\n      this.setSelectedRows([...this.selectedRows, row], true);\n      return;\n    }\n\n    if (!checked && hasRow) {\n      this.setSelectedRows(this.removeRowsByIdentity(this.selectedRows, [row]), true);\n    }\n  }\n\n  public onToggleAllRows(checked: boolean): void {\n    const currentRows = this.getCurrentRows();\n\n    if (!currentRows.length) {\n      return;\n    }\n\n    if (checked) {\n      this.setSelectedRows(this.addRowsByIdentity(this.selectedRows, currentRows), true);\n      return;\n    }\n\n    this.setSelectedRows(this.removeRowsByIdentity(this.selectedRows, currentRows), true);\n  }\n\n  public isRowSelected(row: any): boolean {\n    return this.hasSelectedRow(row);\n  }\n\n  public isAllCurrentRowsSelected(): boolean {\n    const currentRows = this.getCurrentRows();\n    if (!currentRows.length) {\n      return false;\n    }\n\n    return currentRows.every((row) => this.hasSelectedRow(row));\n  }\n\n  public isSelectionIndeterminate(): boolean {\n    if (!this.selectedRows.length) {\n      return false;\n    }\n\n    const currentRows = this.getCurrentRows();\n    if (!currentRows.length) {\n      return true;\n    }\n\n    return !this.isAllCurrentRowsSelected();\n  }\n\n  public hasItemTemplate(columnDef: string): boolean {\n    return this.itemTemplateMap.has(columnDef);\n  }\n\n  public getItemTemplate(columnDef: string): TemplateRef<PaginatedTableItemContext> | null {\n    return this.itemTemplateMap.get(columnDef) ?? null;\n  }\n\n  public getItemTemplateContext(column: TableColumn, element: any): PaginatedTableItemContext {\n    const value = this.getNestedValue(element, column.def);\n\n    return {\n      $implicit: value,\n      value,\n      element,\n      column,\n    };\n  }\n\n  public getNestedValue(element: any, path: string): any {\n    if (!element) {\n      return undefined;\n    }\n    if (path.indexOf('.') === -1) {\n      return element[path];\n    }\n\n    return path.split('.').reduce((acc, key) => {\n      return acc != null ? acc[key] : undefined;\n    }, element);\n  }\n  public applyDynamicPipe(value: any, pipe: string | PipeTransform, args?: any[]): any {\n    if (!pipe) {\n      return value;\n    }\n\n    if (typeof pipe === 'string') {\n      return this.applyAngularPipe(value, pipe, args);\n    } else if (typeof pipe.transform === 'function') {\n      return pipe.transform(value, ...(args || []));\n    }\n\n    return value;\n  }\n\n  private applyAngularPipe(value: any, pipeName: string, args?: any[]): any {\n    switch (pipeName) {\n      case 'date':\n        return this.datePipe.transform(value, ...(args || []));\n      default:\n        return value;\n    }\n  }\n\n  private rebuildItemTemplateMap(): void {\n    this.itemTemplateMap.clear();\n\n    this.itemTemplates?.forEach((templateDef) => {\n      if (templateDef.key) {\n        this.itemTemplateMap.set(templateDef.key, templateDef.template);\n      }\n    });\n  }\n\n  private updateColumnDefs(): void {\n    const displayedColumnDefs = this.displayedColumns.map((column) => column.def);\n    this.columnDefs = this.isSelectable\n      ? [this.selectionColumnDef, ...displayedColumnDefs]\n      : displayedColumnDefs;\n  }\n\n  private getCurrentRows(): any[] {\n    return this.dataSource?.data ?? [];\n  }\n\n  private hasSelectedRow(row: any): boolean {\n    return this.selectedRows.some((selectedRow) => this.areRowsEquivalent(selectedRow, row));\n  }\n\n  private addRowsByIdentity(baseRows: any[], rowsToAdd: any[]): any[] {\n    const nextRows = [...baseRows];\n\n    rowsToAdd.forEach((row) => {\n      if (!nextRows.some((selectedRow) => this.areRowsEquivalent(selectedRow, row))) {\n        nextRows.push(row);\n      }\n    });\n\n    return nextRows;\n  }\n\n  private removeRowsByIdentity(baseRows: any[], rowsToRemove: any[]): any[] {\n    return baseRows.filter((selectedRow) => {\n      return !rowsToRemove.some((row) => this.areRowsEquivalent(selectedRow, row));\n    });\n  }\n\n  private areRowsEquivalent(left: any, right: any): boolean {\n    if (left === right) {\n      return true;\n    }\n\n    const selectionKeyMatch = this.areRowsEquivalentBySelectionKey(left, right);\n    if (selectionKeyMatch !== null) {\n      return selectionKeyMatch;\n    }\n\n    const idColumnMatch = this.areRowsEquivalentByIdColumn(left, right);\n    if (idColumnMatch !== null) {\n      return idColumnMatch;\n    }\n\n    return this.areRowsEquivalentByJson(left, right);\n  }\n\n  private areRowsEquivalentBySelectionKey(left: any, right: any): boolean | null {\n    if (!this.selectionKey) {\n      return null;\n    }\n\n    try {\n      const leftKey = this.getSelectionKeyValue(left);\n      const rightKey = this.getSelectionKeyValue(right);\n\n      if (leftKey == null || rightKey == null) {\n        return this.areRowsEquivalentByJson(left, right);\n      }\n\n      return leftKey === rightKey;\n    } catch {\n      return this.areRowsEquivalentByJson(left, right);\n    }\n  }\n\n  private getSelectionKeyValue(row: any): any {\n    const key = this.selectionKey;\n\n    if (typeof key === 'function') {\n      return key(row);\n    }\n\n    if (typeof key === 'string') {\n      return this.getNestedValue(row, key);\n    }\n\n    return undefined;\n  }\n\n  private areRowsEquivalentByIdColumn(left: any, right: any): boolean | null {\n    const idColumnDef = this.getIdColumnDef();\n    if (!idColumnDef) {\n      return null;\n    }\n\n    const leftId = this.getNestedValue(left, idColumnDef);\n    const rightId = this.getNestedValue(right, idColumnDef);\n\n    if (leftId == null || rightId == null) {\n      return this.areRowsEquivalentByJson(left, right);\n    }\n\n    return leftId === rightId;\n  }\n\n  private getIdColumnDef(): string | undefined {\n    return this.displayedColumns.find((column) => column?.def?.toLowerCase() === 'id')?.def;\n  }\n\n  private areRowsEquivalentByJson(left: any, right: any): boolean {\n    const leftSerialized = this.safeStringify(left);\n    const rightSerialized = this.safeStringify(right);\n\n    if (leftSerialized === undefined || rightSerialized === undefined) {\n      return false;\n    }\n\n    return leftSerialized === rightSerialized;\n  }\n\n  private safeStringify(value: any): string | undefined {\n    try {\n      return JSON.stringify(value);\n    } catch {\n      return undefined;\n    }\n  }\n\n  private setSelectedRows(rows: any[], emit: boolean): void {\n    this.selectedRows = [...rows];\n\n    if (emit) {\n      this.selectedRowsChange.emit(this.selectedRows);\n    }\n  }\n}\n","<div class=\"paginated-table\">\n  <table\n    mat-table\n    class=\"table-container\"\n    [dataSource]=\"dataSource\"\n    [class]=\"tableClass\"\n    [loader]=\"isLoading\"\n  >\n    <ng-container *ngIf=\"isSelectable\" [matColumnDef]=\"selectionColumnDef\">\n      <th mat-header-cell class=\"selection-cell\" *matHeaderCellDef>\n        <mat-checkbox\n          [checked]=\"isAllCurrentRowsSelected()\"\n          [indeterminate]=\"isSelectionIndeterminate()\"\n          (change)=\"onToggleAllRows($event.checked)\"\n          (click)=\"$event.stopPropagation()\"\n        >\n        </mat-checkbox>\n      </th>\n\n      <td mat-cell class=\"selection-cell\" *matCellDef=\"let row\">\n        <mat-checkbox\n          [checked]=\"isRowSelected(row)\"\n          (change)=\"onToggleRowSelection(row, $event.checked)\"\n          (click)=\"$event.stopPropagation()\"\n        >\n        </mat-checkbox>\n      </td>\n    </ng-container>\n\n    <ng-container *ngFor=\"let column of displayedColumns\" [matColumnDef]=\"column.def\">\n      <th mat-header-cell [class.action-cell]=\"column.actions\" *matHeaderCellDef>\n        <div class=\"header-content\">\n          <span>{{ column.header }}</span>\n          <mat-icon\n            *ngIf=\"column.headerIcon\"\n            class=\"material-symbols-outlined header-icon\"\n            [matTooltip]=\"column.headerIconTooltip || ''\"\n            matTooltipPosition=\"above\"\n            [attr.aria-label]=\"column.headerIconTooltip || column.header\"\n          >\n            {{ column.headerIcon }}\n          </mat-icon>\n        </div>\n      </th>\n\n      <td\n        mat-cell\n        #cell\n        [class.action-cell]=\"column.actions\"\n        (click)=\"\n          !hasItemTemplate(column.def) && !column.actions && !column.routerLink && !column.toggle\n            ? copyToClipboard(element[column.def])\n            : ''\n        \"\n        [matTooltip]=\"\n          !hasItemTemplate(column.def) && isTextOverflowing(cell)\n            ? column.pipe\n              ? (element[column.def] | applyPipe: column.pipe : column.pipeArgs)\n              : element[column.def]\n            : ''\n        \"\n        matTooltipPosition=\"above\"\n        *matCellDef=\"let element\"\n      >\n        <ng-container *ngIf=\"hasItemTemplate(column.def); else defaultTableCell\">\n          <ng-container\n            *ngTemplateOutlet=\"\n              getItemTemplate(column.def);\n              context: getItemTemplateContext(column, element)\n            \"\n          >\n          </ng-container>\n        </ng-container>\n\n        <ng-template #defaultTableCell>\n          <ng-container *ngIf=\"column.routerLink && !column.statusCard; else normalCell\">\n            <div class=\"copy-cell\">\n              <div class=\"truncated-text\">\n                <a\n                  *ngIf=\"saveFiltersAndNavigate; else normalLink\"\n                  (click)=\"saveFiltersAndNavigate(element); $event.preventDefault()\"\n                >\n                  {{ column.fixedText ? column.fixedText : element[column.def] }}\n                </a>\n              </div>\n\n              <ng-template #normalLink>\n                <div class=\"truncated-text\">\n                  <a\n                    [routerLink]=\"[column.routerLink]\"\n                    [queryParams]=\"getQueryParams(column.queryParams, element)\"\n                  >\n                    {{ column.fixedText ? column.fixedText : element[column.def] }}\n                  </a>\n                </div>\n              </ng-template>\n\n              <mat-icon\n                *ngIf=\"!column.fixedText\"\n                (click)=\"copyToClipboard(element[column.def]); $event.stopPropagation()\"\n                matTooltip=\"Copy\"\n                style=\"cursor: pointer; margin-left: 8px\"\n              >\n                content_copy\n              </mat-icon>\n            </div>\n          </ng-container>\n\n          <ng-template #normalCell>\n            <ng-container *ngIf=\"column.toggle || column.checkbox; else defaultCell\">\n              <mat-slide-toggle\n                *ngIf=\"column.toggle\"\n                [checked]=\"element[column.def]\"\n                (change)=\"onToggleChange(element, $event.checked)\"\n              >\n              </mat-slide-toggle>\n\n              <mat-checkbox\n                *ngIf=\"column.checkbox\"\n                class=\"small-checkbox\"\n                [checked]=\"!!element[column.def]\"\n                (change)=\"onToggleChange(element, $event.checked)\"\n                (click)=\"$event.stopPropagation()\"\n              >\n              </mat-checkbox>\n            </ng-container>\n\n            <ng-template #defaultCell>\n              <ng-container *ngIf=\"column.pipe && !column.statusCardFunction\">\n                {{ applyDynamicPipe(element[column.def], column.pipe, column.pipeArgs) ?? '-' }}\n              </ng-container>\n              <ng-container *ngIf=\"!column.pipe && !column.statusCardFunction\">\n                <ng-container\n                  *ngIf=\"\n                    (getNestedValue(element, column.def) !== undefined &&\n                      getNestedValue(element, column.def) !== null &&\n                      getNestedValue(element, column.def) !== '') ||\n                      column.actions;\n                    else noValue\n                  \"\n                >\n                  {{ getNestedValue(element, column.def) }}\n                </ng-container>\n              </ng-container>\n\n              <ng-container *ngIf=\"column.statusCardFunction\">\n                <div class=\"centered-cell\">\n                  <epag-status-badge\n                    *ngIf=\"element[column.def]; else noValue\"\n                    [label]=\"\n                      column.pipe\n                        ? applyDynamicPipe(element[column.def], column.pipe, column.pipeArgs)\n                        : element[column.def]\n                    \"\n                    [color]=\"column.statusCardFunction(element[column.def])\"\n                  />\n                </div>\n              </ng-container>\n            </ng-template>\n          </ng-template>\n\n          <ng-container *ngIf=\"column.actions\">\n            <ng-container *ngFor=\"let action of column.actions\">\n              <button\n                *ngIf=\"(!action.condition || action.condition(element)) && action.label\"\n                style=\"background-color: transparent; border: none\"\n                mat-flat-button\n                [ngStyle]=\"{\n                  'background-color': action.color || '#016197',\n                  color: '#fff',\n                  height: '20px',\n                }\"\n                (click)=\"action.handler(element)\"\n              >\n                <mat-icon [attr.aria-hidden]=\"true\" [fontIcon]=\"action.icon\"></mat-icon>\n                <span *ngIf=\"action.label\">{{ action.label }}</span>\n              </button>\n\n              <button\n                *ngIf=\"(!action.condition || action.condition(element)) && !action.label\"\n                style=\"background-color: transparent; border: none\"\n                [ngStyle]=\"{\n                  color: action.color || '#19457e',\n                }\"\n                (click)=\"action.handler(element)\"\n              >\n                <mat-icon\n                  class=\"material-symbols-outlined\"\n                  [attr.aria-hidden]=\"true\"\n                  [fontIcon]=\"action.icon\"\n                ></mat-icon>\n              </button>\n            </ng-container>\n          </ng-container>\n        </ng-template>\n      </td>\n    </ng-container>\n\n    <tr mat-header-row *matHeaderRowDef=\"columnDefs\"></tr>\n    <tr\n      mat-row\n      *matRowDef=\"let row; columns: columnDefs\"\n      [class.selected-row]=\"isSelectable && isRowSelected(row)\"\n    ></tr>\n  </table>\n</div>\n\n<mat-paginator\n  *ngIf=\"totalLength\"\n  showFirstLastButtons\n  class=\"paginated-table-paginator\"\n  [pageSizeOptions]=\"pageSizeOptions\"\n  [pageSize]=\"pageSize\"\n  [pageIndex]=\"currentPageIndex\"\n  [length]=\"totalLength\"\n  (page)=\"onPageChange($event)\"\n/>\n\n<ng-template #noValue> - </ng-template>\n","import { CommonModule, CurrencyPipe, DatePipe } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { RouterModule } from '@angular/router';\nimport { SimplebarAngularModule } from 'simplebar-angular';\nimport { EpagLoaderModule } from '../loader/loader.module';\nimport { EpagStatusBadgeModule } from '../status-badge/status-badge.module';\nimport { ApplyPipe } from '../../pipes/apply-pipe.pipe';\nimport { PaginatedTableComponent } from './paginated-table.component';\nimport { PaginatedTableItemDirective } from './paginated-table-item.directive';\n\n@NgModule({\n  declarations: [PaginatedTableComponent, PaginatedTableItemDirective, ApplyPipe],\n  providers: [CurrencyPipe, DatePipe],\n  imports: [\n    CommonModule,\n    RouterModule,\n    MatButtonModule,\n    MatTableModule,\n    MatPaginatorModule,\n    MatSortModule,\n    MatIconModule,\n    MatTooltipModule,\n    MatSlideToggleModule,\n    MatSnackBarModule,\n    MatCheckboxModule,\n    SimplebarAngularModule,\n    EpagStatusBadgeModule,\n    EpagLoaderModule,\n  ],\n  exports: [PaginatedTableComponent, PaginatedTableItemDirective, ApplyPipe, EpagLoaderModule],\n})\nexport class EpagPaginatedTableModule {}\n","import { booleanAttribute, Component, Input } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { SplitUnderscorePipe } from '../../pipes/split-underscore.pipe';\nimport { TableColumn } from '../paginated-table/table.model';\n\nexport interface FinanceInfo {\n  type: string;\n  original_value: number | null;\n  original_currency: string | null;\n  fx_rate: number | null;\n  value: number | null;\n  currency: string | null;\n}\n\ntype FinanceTableRow = {\n  type: string;\n  fx_rate: number | null;\n  [key: string]: string | number | null | undefined;\n};\n\ntype FinanceCurrencyColumn = {\n  def: string;\n  header: string;\n  currency: string;\n};\n\n@Component({\n  selector: 'epag-finance-info',\n  templateUrl: './finance-info.component.html',\n})\nexport class FinanceInfoComponent {\n  private _data: FinanceInfo[] = [];\n  private readonly typeLabelPipe = new SplitUnderscorePipe();\n\n  @Input()\n  set data(value: FinanceInfo[] | undefined) {\n    this._data = value ?? [];\n    this.syncFinanceInfoData();\n  }\n  get data(): FinanceInfo[] {\n    return this._data;\n  }\n\n  @Input({ transform: booleanAttribute }) isLoading = false;\n\n  financeDisplayedColumns: TableColumn[] = [\n    { def: 'type', header: 'Description' },\n    { def: 'fx_rate', header: 'FX Rate' },\n  ];\n\n  financeInfoDataSource = new MatTableDataSource<FinanceTableRow>([]);\n\n  private syncFinanceInfoData(): void {\n    const normalizedFinanceInfo = this._data.map((finance) => ({\n      ...finance,\n      type: this.typeLabelPipe.transform(finance.type),\n    }));\n\n    const originalCurrencyColumns = this.buildCurrencyColumns(\n      normalizedFinanceInfo.map((item) => item.original_currency),\n      'orig',\n    );\n\n    const finalCurrencyColumns = this.buildCurrencyColumns(\n      normalizedFinanceInfo.map((item) => item.currency),\n      'final',\n    );\n\n    const originalColumnByCurrency = new Map(\n      originalCurrencyColumns.map((column) => [column.currency, column.def]),\n    );\n\n    const finalColumnByCurrency = new Map(\n      finalCurrencyColumns.map((column) => [column.currency, column.def]),\n    );\n\n    this.financeDisplayedColumns = [\n      { def: 'type', header: 'Description' },\n      ...originalCurrencyColumns.map(({ def, header }) => ({\n        def,\n        header,\n        headerIcon: 'info',\n        headerIconTooltip: 'Original Currency',\n      })),\n      ...finalCurrencyColumns.map(({ def, header }) => ({\n        def,\n        header,\n        headerIcon: 'info',\n        headerIconTooltip: 'Final Currency',\n      })),\n      { def: 'fx_rate', header: 'FX Rate' },\n    ];\n\n    this.financeInfoDataSource.data = normalizedFinanceInfo.map((finance) => {\n      const row: FinanceTableRow = {\n        type: finance.type,\n        fx_rate: finance.fx_rate,\n      };\n\n      const originalCurrency = this.normalizeCurrency(finance.original_currency);\n      const finalCurrency = this.normalizeCurrency(finance.currency);\n\n      if (originalCurrency) {\n        const columnDef = originalColumnByCurrency.get(originalCurrency);\n        if (columnDef) {\n          row[columnDef] = finance.original_value;\n        }\n      }\n\n      if (finalCurrency) {\n        const columnDef = finalColumnByCurrency.get(finalCurrency);\n        if (columnDef) {\n          row[columnDef] = finance.value;\n        }\n      }\n\n      return row;\n    });\n  }\n\n  private buildCurrencyColumns(\n    currencies: Array<string | null | undefined>,\n    role: 'orig' | 'final',\n  ): FinanceCurrencyColumn[] {\n    const columns: FinanceCurrencyColumn[] = [];\n    const seen = new Set<string>();\n    const usedDefs = new Set<string>();\n\n    currencies.forEach((currency) => {\n      const normalizedCurrency = this.normalizeCurrency(currency);\n      if (!normalizedCurrency || seen.has(normalizedCurrency)) {\n        return;\n      }\n\n      seen.add(normalizedCurrency);\n\n      const baseDef = `${role}_${normalizedCurrency.replace(/[^a-zA-Z0-9]/g, '_')}`;\n      let def = baseDef;\n      let suffix = 1;\n\n      while (usedDefs.has(def)) {\n        def = `${baseDef}_${suffix}`;\n        suffix += 1;\n      }\n\n      usedDefs.add(def);\n      columns.push({\n        def,\n        header: normalizedCurrency,\n        currency: normalizedCurrency,\n      });\n    });\n\n    return columns;\n  }\n\n  private normalizeCurrency(currency: string | null | undefined): string | null {\n    if (!currency) {\n      return null;\n    }\n\n    const trimmed = currency.trim();\n    return trimmed ? trimmed : null;\n  }\n}\n","<lib-card cardTitle=\"Finance Info\" [hasDivider]=\"true\">\n  <epag-paginated-table\n    [displayedColumns]=\"financeDisplayedColumns\"\n    [dataSource]=\"financeInfoDataSource\"\n    [isLoading]=\"isLoading\"\n  />\n</lib-card>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EpagCardModule } from '../card/card.module';\nimport { EpagPaginatedTableModule } from '../paginated-table/paginated-table.module';\nimport { FinanceInfoComponent } from './finance-info.component';\n\n@NgModule({\n  declarations: [FinanceInfoComponent],\n  imports: [CommonModule, EpagCardModule, EpagPaginatedTableModule],\n  exports: [FinanceInfoComponent],\n})\nexport class EpagFinanceInfoModule {}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ContractFeeTier, PaymentMethod, Tier } from './payment-fees.model';\n\n/**\n * Mapping of payment method codes to their human-readable labels.\n * @constant\n */\nconst methodLabels: Record<string, string> = {\n  CREDITCARD: 'Credit Card',\n  BOLETO: 'Boleto',\n  DEBITCARD: 'Debit Card',\n  PIX: 'PIX',\n  OXXO: 'OXXO',\n  PAYNET: 'Paynet',\n  TIENDAS_Y_FARMACIAS: 'Tiendas y Farmacias',\n  SPEI: 'SPEI',\n  PAYCASH: 'PayCash',\n  PICPAY: 'PicPay',\n  BANK_TRANSFER: 'Bank Transfer',\n  PAGO_EFECTIVO: 'Pago Efectivo',\n  DEUNA: 'Deuna',\n  NEQUI: 'Nequi',\n  MACH: 'Mach',\n} as const;\n\n/**\n * Component for displaying payment fees organized by country, payment method, and tier levels.\n *\n * @description\n * This component renders a comprehensive view of payment fees with the following structure:\n * - Groups fees by country\n * - Within each country, groups by payment method\n * - Within each method, displays fee tiers with fixed amounts and percentage rates\n * - Shows whether fees apply to merchant or client side\n *\n * @example\n * ```html\n * <epag-payment-fees [data]=\"contractFeeTiers\"></epag-payment-fees>\n * ```\n */\n@Component({\n  selector: 'epag-payment-fees',\n  templateUrl: './payment-fees.component.html',\n  styleUrls: ['./payment-fees.component.scss'],\n})\nexport class PaymentFeesComponent implements OnInit {\n  /**\n   * Array of contract fee tiers organized by country, payment method, and tier level.\n   * @type {ContractFeeTier[]}\n   */\n  @Input() data: ContractFeeTier[] = [];\n\n  /**\n   * Columns to display in the fee tier tables.\n   * @type {string[]}\n   */\n  displayedColumns: string[] = ['feeName', 'fixedAmount', 'percentageRate', 'logic'];\n\n  /**\n   * SVG icon representing merchant-side fees (store/shop icon).\n   * @private\n   * @readonly\n   */\n  private readonly MERCHANT_FEE_ICON = `\n\t\t<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t<path d=\"M16.8 4H3.99995V5.6H16.8V4ZM17.6 12V10.4L16.8 6.4H3.99995L3.19995 10.4V12H3.99995V16.8H12V12H15.2V16.8H16.8V12H17.6ZM10.4 15.2H5.59995V12H10.4V15.2Z\" fill=\"currentColor\"/>\n\t\t</svg>\n\t`;\n\n  /**\n   * SVG icon representing client-side fees (group of people icon).\n   * @private\n   * @readonly\n   */\n  private readonly CLIENT_FEE_ICON = `\n\t\t<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t<path d=\"M4.4 9.20039C5.2825 9.20039 6 8.48289 6 7.60039C6 6.71789 5.2825 6.00039 4.4 6.00039C3.5175 6.00039 2.8 6.71789 2.8 7.60039C2.8 8.48289 3.5175 9.20039 4.4 9.20039ZM15.6 9.20039C16.4825 9.20039 17.2 8.48289 17.2 7.60039C17.2 6.71789 16.4825 6.00039 15.6 6.00039C14.7175 6.00039 14 6.71789 14 7.60039C14 8.48289 14.7175 9.20039 15.6 9.20039ZM16.4 10.0004H14.8C14.36 10.0004 13.9625 10.1779 13.6725 10.4654C14.68 11.0179 15.395 12.0154 15.55 13.2004H17.2C17.6425 13.2004 18 12.8429 18 12.4004V11.6004C18 10.7179 17.2825 10.0004 16.4 10.0004ZM10 10.0004C11.5475 10.0004 12.8 8.74789 12.8 7.20039C12.8 5.65289 11.5475 4.40039 10 4.40039C8.4525 4.40039 7.2 5.65289 7.2 7.20039C7.2 8.74789 8.4525 10.0004 10 10.0004ZM11.92 10.8004H11.7125C11.1925 11.0504 10.615 11.2004 10 11.2004C9.385 11.2004 8.81 11.0504 8.2875 10.8004H8.08C6.49 10.8004 5.2 12.0904 5.2 13.6804V14.4004C5.2 15.0629 5.7375 15.6004 6.4 15.6004H13.6C14.2625 15.6004 14.8 15.0629 14.8 14.4004V13.6804C14.8 12.0904 13.51 10.8004 11.92 10.8004ZM6.3275 10.4654C6.0375 10.1779 5.64 10.0004 5.2 10.0004H3.6C2.7175 10.0004 2 10.7179 2 11.6004V12.4004C2 12.8429 2.3575 13.2004 2.8 13.2004H4.4475C4.605 12.0154 5.32 11.0179 6.3275 10.4654Z\" fill=\"currentColor\"/>\n\t\t</svg>\n\t`;\n\n  /**\n   * Creates an instance of PaymentFeesComponent.\n   *\n   * @param {MatIconRegistry} matIconRegistry - Service for registering custom SVG icons\n   * @param {DomSanitizer} domSanitizer - Service for sanitizing HTML/SVG content\n   */\n  constructor(\n    private matIconRegistry: MatIconRegistry,\n    private domSanitizer: DomSanitizer,\n  ) {}\n\n  /**\n   * Lifecycle hook that is called after Angular has initialized all data-bound properties.\n   * Registers custom SVG icons for merchant and client fees.\n   *\n   * @returns {void}\n   */\n  ngOnInit(): void {\n    this.registerIcons();\n  }\n\n  /**\n   * Registers custom SVG icons for merchant and client fees with Angular Material's icon registry.\n   * Handles errors gracefully by logging warnings if registration fails.\n   *\n   * @private\n   * @returns {void}\n   */\n  private registerIcons(): void {\n    try {\n      this.matIconRegistry.addSvgIconLiteral(\n        'merchant_fee',\n        this.domSanitizer.bypassSecurityTrustHtml(this.MERCHANT_FEE_ICON),\n      );\n      this.matIconRegistry.addSvgIconLiteral(\n        'client_fee',\n        this.domSanitizer.bypassSecurityTrustHtml(this.CLIENT_FEE_ICON),\n      );\n    } catch (error) {\n      console.warn('Failed to register payment fee icons:', error);\n    }\n  }\n\n  /**\n   * Converts a country code to its human-readable country name.\n   *\n   * @param {string} code - ISO 3166-1 alpha-2 country code (e.g., 'US', 'BR', 'MX')\n   * @returns {string} The localized country name in English, or the original code if conversion fails\n   *\n   * @example\n   * getCountryName('US') // Returns: 'United States'\n   * getCountryName('BR') // Returns: 'Brazil'\n   * getCountryName('INVALID') // Returns: 'INVALID'\n   */\n  getCountryName(code: string): string {\n    if (!code) {\n      return '';\n    }\n\n    try {\n      return new Intl.DisplayNames(['en'], { type: 'region' }).of(code) ?? code;\n    } catch (error) {\n      console.warn(`Failed to get country name for code: ${code}`, error);\n      return code;\n    }\n  }\n\n  /**\n   * Formats a payment method code into a human-readable label.\n   *\n   * @param {string} method - Payment method code (e.g., 'CREDITCARD', 'PIX', 'BOLETO')\n   * @returns {string} The formatted payment method name, or the original code if no mapping exists\n   *\n   * @example\n   * formatMethodName('CREDITCARD') // Returns: 'Credit Card'\n   * formatMethodName('PIX') // Returns: 'PIX'\n   * formatMethodName('UNKNOWN') // Returns: 'UNKNOWN'\n   */\n  formatMethodName(method: string): string {\n    return methodLabels[method] ?? method;\n  }\n\n  /**\n   * Returns a tooltip text explaining whether a fee applies to the merchant or client side.\n   *\n   * @param {boolean} isMerchantFee - True if the fee is charged to the merchant, false if charged to the client\n   * @returns {string} Tooltip text describing who pays the fee\n   *\n   * @example\n   * feeTooltip(true) // Returns: 'This fee is on the Merchant side'\n   * feeTooltip(false) // Returns: 'This fee is on the Client side'\n   */\n  feeTooltip(isMerchantFee: boolean): string {\n    if (isMerchantFee) {\n      return 'This fee is on the Merchant side';\n    }\n\n    return 'This fee is on the Client side';\n  }\n\n  /**\n   * TrackBy function for Angular's ngFor to optimize rendering of country items.\n   * Helps Angular identify which items have changed, been added, or removed.\n   *\n   * @param {number} index - The index of the item in the array\n   * @param {ContractFeeTier} country - The contract fee tier object representing a country\n   * @returns {string} A unique identifier combining index and country code\n   */\n  trackByCountry(index: number, country: ContractFeeTier): string {\n    return `${index}-${country.country}`;\n  }\n\n  /**\n   * TrackBy function for Angular's ngFor to optimize rendering of payment method items.\n   * Helps Angular identify which items have changed, been added, or removed.\n   *\n   * @param {number} _ - The index of the item (unused)\n   * @param {PaymentMethod} method - The payment method object\n   * @returns {string} A unique identifier using the method's name\n   */\n  trackByMethod(_: number, method: PaymentMethod): string {\n    return method.name;\n  }\n\n  /**\n   * TrackBy function for Angular's ngFor to optimize rendering of fee tier items.\n   * Helps Angular identify which items have changed, been added, or removed.\n   *\n   * @param {number} _ - The index of the item (unused)\n   * @param {Tier} tier - The tier object containing fee information\n   * @returns {number} A unique identifier using the tier's level\n   */\n  trackByTier(_: number, tier: Tier): number {\n    return tier.tierLevel;\n  }\n}\n","<mat-accordion class=\"payment-fees\">\n  <mat-expansion-panel\n    *ngFor=\"let country of data; trackBy: trackByCountry\"\n    class=\"payment-fees__country\"\n  >\n    <mat-expansion-panel-header>\n      <mat-panel-title>\n        {{ getCountryName(country.country) }}\n      </mat-panel-title>\n    </mat-expansion-panel-header>\n\n    <mat-accordion>\n      <mat-expansion-panel\n        *ngFor=\"let method of country.paymentMethods; trackBy: trackByMethod\"\n        class=\"payment-fees__method\"\n      >\n        <mat-expansion-panel-header>\n          <mat-panel-title>\n            {{ formatMethodName(method.name) }}\n          </mat-panel-title>\n        </mat-expansion-panel-header>\n\n        <mat-accordion multi>\n          <mat-expansion-panel\n            *ngFor=\"let tier of method.tiers; trackBy: trackByTier\"\n            expanded\n            class=\"payment-fees__tier\"\n          >\n            <mat-expansion-panel-header>\n              <mat-panel-title> Tier {{ tier.tierLevel }} </mat-panel-title>\n            </mat-expansion-panel-header>\n\n            <table mat-table class=\"payment-fees__tier-table\" [dataSource]=\"tier.fees\">\n              <!-- Fee Column -->\n              <ng-container matColumnDef=\"feeName\">\n                <th mat-header-cell *matHeaderCellDef>Fee</th>\n                <td\n                  mat-cell\n                  *matCellDef=\"let element\"\n                  [matTooltip]=\"feeTooltip(element.isMerchantFee)\"\n                >\n                  <div class=\"fee-name-column-content\">\n                    <mat-icon\n                      [color]=\"element.isMerchantFee ? 'primary' : 'accent'\"\n                      [svgIcon]=\"element.isMerchantFee ? 'merchant_fee' : 'client_fee'\"\n                    />\n                    {{ element.feeName }}\n                  </div>\n                </td>\n              </ng-container>\n\n              <!-- Fixed Amount Column -->\n              <ng-container matColumnDef=\"fixedAmount\">\n                <th mat-header-cell *matHeaderCellDef>Fixed Amount</th>\n                <td mat-cell *matCellDef=\"let element\">\n                  <ng-container *ngIf=\"element.fixedAmount; else noFixedAmount\">\n                    {{ element.fixedAmount }} {{ element.currencyCode }}\n                  </ng-container>\n\n                  <ng-template #noFixedAmount> - </ng-template>\n                </td>\n              </ng-container>\n\n              <!-- Percentage Rate Column -->\n              <ng-container matColumnDef=\"percentageRate\">\n                <th mat-header-cell *matHeaderCellDef>Percentage Rate</th>\n                <td mat-cell *matCellDef=\"let element\">\n                  <ng-container *ngIf=\"element.percentageRate; else noPercentageRate\">\n                    {{ element.percentageRate }}%\n                  </ng-container>\n\n                  <ng-template #noPercentageRate> - </ng-template>\n                </td>\n              </ng-container>\n\n              <!-- Logic Column -->\n              <ng-container matColumnDef=\"logic\">\n                <th mat-header-cell *matHeaderCellDef>Logic</th>\n                <td mat-cell *matCellDef=\"let element\">\n                  <ng-container *ngIf=\"element.logic; else noLogic\">\n                    {{\n                      element.logic === 'SUM'\n                        ? 'Apply the sum of the values'\n                        : 'Apply the Highest Value'\n                    }}\n                  </ng-container>\n\n                  <ng-template #noLogic> - </ng-template>\n                </td>\n              </ng-container>\n\n              <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n              <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n            </table>\n          </mat-expansion-panel>\n        </mat-accordion>\n      </mat-expansion-panel>\n    </mat-accordion>\n  </mat-expansion-panel>\n</mat-accordion>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { PaymentFeesComponent } from './payment-fees.component';\n\n@NgModule({\n  declarations: [PaymentFeesComponent],\n  imports: [CommonModule, MatExpansionModule, MatTableModule, MatIconModule, MatTooltipModule],\n  exports: [PaymentFeesComponent],\n})\nexport class EpagPaymentFeesModule {}\n","import { booleanAttribute, Component, Input } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { TableColumn } from '../paginated-table/table.model';\nimport { StatusBadgeColor } from '../status-badge/status-badge.component';\nimport { SplitUnderscorePipe } from '../../pipes/split-underscore.pipe';\n\nexport interface RefundHistory {\n  refund_amount: number;\n  refund_currency: string;\n  refund_date: string;\n  refund_id: number;\n  refund_status: string;\n}\n\nexport const refundStatusColor: Partial<Record<string, StatusBadgeColor>> = {\n  REQUESTED: 'info',\n  PROCESSING: 'waiting',\n  COMPLETED: 'success',\n  FAILED: 'error',\n} as const;\n\n@Component({\n  selector: 'epag-refunds-info',\n  templateUrl: './refunds-info.component.html',\n  styleUrls: ['./refunds-info.component.scss'],\n})\nexport class RefundsInfoComponent {\n  private readonly statusLabelPipe = new SplitUnderscorePipe();\n  private _refundHistory?: RefundHistory[];\n\n  @Input()\n  set refundHistory(value: RefundHistory[] | undefined) {\n    this._refundHistory = value;\n    this.syncRefundHistoryData();\n  }\n  get refundHistory(): RefundHistory[] | undefined {\n    return this._refundHistory;\n  }\n\n  @Input() refundedValue?: string;\n  @Input({ transform: booleanAttribute }) isLoading = false;\n\n  refundsDisplayedColumns: TableColumn[] = [\n    { def: 'refund_id', header: 'ID' },\n    { def: 'refund_date', header: 'Date' },\n    {\n      def: 'refund_status',\n      header: 'Status',\n      pipe: this.statusLabelPipe,\n      statusCardFunction: (status: string) => refundStatusColor[status] ?? 'neutral',\n    },\n    { def: 'refund_amount', header: 'Amount' },\n    { def: 'refund_currency', header: 'Currency' },\n  ];\n  refundsInfoDataSource = new MatTableDataSource<RefundHistory>([]);\n\n  private syncRefundHistoryData(): void {\n    this.refundsInfoDataSource.data = this._refundHistory ?? [];\n  }\n}\n","<lib-card cardTitle=\"Refunds\" class=\"refunds-info\">\n  <epag-paginated-table\n    [displayedColumns]=\"refundsDisplayedColumns\"\n    [dataSource]=\"refundsInfoDataSource\"\n    [isLoading]=\"isLoading\"\n  />\n\n  <p class=\"refunds-info__total\">\n    <span>Refunded Amount</span>\n    <ng-container *ngIf=\"refundedValue; else noValue\">\n      {{ refundedValue }}\n    </ng-container>\n  </p>\n</lib-card>\n\n<ng-template #noValue> - </ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EpagCardModule } from '../card/card.module';\nimport { EpagPaginatedTableModule } from '../paginated-table/paginated-table.module';\nimport { RefundsInfoComponent } from './refunds-info.component';\n\n@NgModule({\n  declarations: [RefundsInfoComponent],\n  imports: [CommonModule, EpagCardModule, EpagPaginatedTableModule],\n  exports: [RefundsInfoComponent],\n})\nexport class EpagRefundsInfoModule {}\n","import {\n  booleanAttribute,\n  Component,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Optional,\n  Output,\n  Self,\n  SimpleChanges,\n} from '@angular/core';\nimport {\n  AbstractControl,\n  ControlValueAccessor,\n  FormControl,\n  FormGroupDirective,\n  NgControl,\n  NgForm,\n  Validators,\n} from '@angular/forms';\nimport { ErrorStateMatcher } from '@angular/material/core';\nimport {\n  FloatLabelType,\n  MatFormFieldAppearance,\n  SubscriptSizing,\n} from '@angular/material/form-field';\nimport { MatSelectChange } from '@angular/material/select';\n\n@Component({\n  selector: 'epag-select',\n  templateUrl: './select.component.html',\n  styleUrls: ['./select.component.scss'],\n})\nexport class SelectComponent<\n  Item extends object,\n  LabelKey extends keyof Item,\n  ValueKey extends keyof Item,\n>\n  implements OnChanges, ControlValueAccessor\n{\n  // Field label and placeholder\n  @Input() label?: string;\n  @Input() placeholder = '';\n\n  @Input() items: Item[] = [];\n\n  // Which property to use as label and value\n  @Input({ alias: 'itemLabel', required: true }) LabelKeyProp!: LabelKey;\n  @Input({ alias: 'itemValue', required: true }) ValueKeyProp!: ValueKey;\n\n  // Selection config\n  @Input({ transform: booleanAttribute }) multiple = false;\n  @Input({ transform: booleanAttribute }) disabled = false;\n  @Input({ transform: booleanAttribute }) clearable = false;\n  @Input({ transform: booleanAttribute, alias: 'emit-object' }) emitObject = false;\n\n  // Form field config\n  @Input() appearance: MatFormFieldAppearance = 'fill';\n  @Input() floatLabel: FloatLabelType = 'auto';\n  @Input() subscriptSizing: SubscriptSizing = 'dynamic';\n\n  // Search config\n  @Input({ transform: booleanAttribute }) enableSearch = false;\n  @Input() searchPlaceholder = 'Search...';\n  @Input() noEntriesFoundLabel = 'No items found';\n\n  // Two-way binding API similar to MatSelect\n  @Input() value: any;\n  @Output() valueChange = new EventEmitter<any>();\n\n  // Local state\n  searchText = '';\n\n  get selectTriggerLabel(): string {\n    if (!this.value) {\n      return '';\n    }\n\n    if (this.emitObject) {\n      // When emitObject is true, value contains the full object(s)\n      if (this.multiple && Array.isArray(this.value)) {\n        return this.value.map((val) => this.resolveLabel(val as Item)).join(', ');\n      }\n      return this.resolveLabel(this.value as Item);\n    } else {\n      // When emitObject is false, value contains the extracted value(s)\n      // Need to find the corresponding items\n      return this.items\n        .filter((item: Item) => {\n          const itemValue = this.resolveValue(item);\n          if (this.multiple) {\n            return this.value?.includes(itemValue);\n          }\n          return this.value === itemValue;\n        })\n        .map((item) => this.resolveLabel(item))\n        .join(', ');\n    }\n  }\n\n  // ControlValueAccessor callbacks\n  private onChange: (value: any) => void = () => {};\n  onTouched: () => void = () => {};\n\n  // Internal control: allows MatSelect to compute error state and propagate it\n  // to the surrounding mat-form-field while the actual validity comes from the\n  // parent form control via our custom ErrorStateMatcher.\n  internalControl = new FormControl<any>(null);\n\n  get isRequired(): boolean {\n    const c = this.ngControl?.control as AbstractControl | null;\n    try {\n      // Angular >=14 has hasValidator; guard in case of older versions\n      return !!c?.hasValidator?.(Validators.required);\n    } catch {\n      return !!c?.validator?.({} as any)?.['required'];\n    }\n  }\n\n  // Expose the parent control and provide a custom error state matcher so the\n  // mat-form-field can reflect the validity of the actual form control that is\n  // bound to <epag-select formControlName=\"...\">.\n  constructor(@Optional() @Self() public ngControl: NgControl) {\n    // Ensure this component is used as the value accessor for the attached control\n    // when used with Angular forms APIs.\n    if (this.ngControl) {\n      this.ngControl.valueAccessor = this;\n    }\n  }\n\n  // Match Angular Material default behavior: show an error when control is invalid\n  // and either dirty, touched, or the parent form was submitted.\n  errorStateMatcher: ErrorStateMatcher = {\n    isErrorState: (\n      _control: FormControl | null,\n      form: FormGroupDirective | NgForm | null,\n    ): boolean => {\n      const c = this.ngControl?.control as FormControl | null;\n      const isSubmitted = !!form && form.submitted;\n      return !!(c && c.invalid && (c.touched || c.dirty || isSubmitted));\n    },\n  };\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if ('items' in changes) {\n      // Ensure that the list is of objects; drop invalid entries with a warning\n      if (!Array.isArray(this.items)) {\n        console.warn(\n          '[SelectComponent] \"items\" should be an array of objects. Received:',\n          this.items,\n        );\n        this.items = [];\n      } else {\n        const originalLen = this.items.length;\n\n        this.items = this.items.filter(\n          (item) => item !== null && typeof item === 'object' && !Array.isArray(item),\n        );\n\n        if (this.items.length !== originalLen) {\n          console.warn('[SelectComponent] Some non-object entries were removed from items.');\n        }\n      }\n    }\n\n    if ('value' in changes) {\n      // Sync internal control when value input changes externally\n      this.internalControl.setValue(this.value, { emitEvent: false });\n    }\n\n    if ('disabled' in changes) {\n      // Sync the disabled state with internal control to avoid conflicts with reactive forms\n      if (this.disabled) {\n        this.internalControl.disable({ emitEvent: false });\n      } else {\n        this.internalControl.enable({ emitEvent: false });\n      }\n    }\n  }\n\n  onSelectionChange(event: MatSelectChange) {\n    this.value = event.value;\n    // When emitObject is true, event.value is already the full object(s)\n    // When emitObject is false, event.value is already the extracted value(s)\n    this.valueChange.emit(event.value);\n    // propagate to Angular forms\n    this.onChange(event.value);\n    this.onTouched();\n    // keep internal control synced so Material updates error visuals\n    this.internalControl.setValue(this.value, { emitEvent: false });\n  }\n\n  clearValue(event: Event) {\n    event.stopPropagation();\n    this.value = this.multiple ? [] : null;\n    const emitValue = this.value; // Clear emits the same for both modes (null or [])\n    this.valueChange.emit(emitValue);\n    // propagate to Angular forms\n    this.onChange(emitValue);\n    this.onTouched();\n    // keep internal control synced so Material updates error visuals\n    this.internalControl.setValue(this.value, { emitEvent: false });\n  }\n\n  resolveLabel(item: Item): string {\n    const label = item[this.LabelKeyProp];\n    return label !== null ? String(label) : '';\n  }\n\n  resolveValue(item: Item): Item[ValueKey] {\n    return item[this.ValueKeyProp];\n  }\n\n  // Compare function for mat-select to properly match objects\n  compareWith = (o1: any, o2: any): boolean => {\n    if (this.emitObject) {\n      // When emitObject is true, both values are objects - compare by their value property\n      if (!o1 || !o2) {\n        return o1 === o2;\n      }\n      return this.resolveValue(o1 as Item) === this.resolveValue(o2 as Item);\n    } else {\n      // When emitObject is false, both values are primitives - direct comparison\n      return o1 === o2;\n    }\n  };\n\n  get filteredItems(): Item[] {\n    if (!this.enableSearch || !this.searchText) {\n      return this.items;\n    }\n\n    const searchText = this.searchText.toLowerCase();\n\n    return this.items.filter((item) => {\n      const label = this.resolveLabel(item).toLowerCase();\n      return label.includes(searchText);\n    });\n  }\n\n  // ControlValueAccessor implementation\n  writeValue(obj: any): void {\n    // obj is what was emitted/stored: either the extracted value(s) or the full object(s)\n    this.value = obj;\n    // sync internal control for Material error state computation\n    this.internalControl.setValue(this.value, { emitEvent: false });\n  }\n\n  registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any): void {\n    this.onTouched = fn;\n  }\n\n  setDisabledState?(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n    if (isDisabled) {\n      this.internalControl.disable({ emitEvent: false });\n    } else {\n      this.internalControl.enable({ emitEvent: false });\n    }\n  }\n}\n","<mat-form-field\n  [subscriptSizing]=\"subscriptSizing\"\n  [floatLabel]=\"floatLabel\"\n  [appearance]=\"appearance\"\n>\n  <mat-label *ngIf=\"label\">\n    {{ label }}\n  </mat-label>\n  <mat-select\n    [panelClass]=\"{\n      rounded: appearance === 'outline',\n    }\"\n    [multiple]=\"multiple\"\n    [placeholder]=\"placeholder\"\n    [required]=\"isRequired\"\n    [formControl]=\"internalControl\"\n    [errorStateMatcher]=\"errorStateMatcher\"\n    [compareWith]=\"compareWith\"\n    (selectionChange)=\"onSelectionChange($event)\"\n    (closed)=\"onTouched()\"\n  >\n    <mat-select-trigger *ngIf=\"clearable\">\n      <span class=\"select-trigger-label\">\n        {{ selectTriggerLabel }}\n      </span>\n\n      <button class=\"clear-btn\" type=\"button\">\n        <mat-icon (click)=\"clearValue($event)\"> cancel </mat-icon>\n      </button>\n    </mat-select-trigger>\n\n    <mat-option *ngIf=\"enableSearch\">\n      <ngx-mat-select-search\n        [placeholderLabel]=\"searchPlaceholder\"\n        [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\n        [(ngModel)]=\"searchText\"\n      />\n    </mat-option>\n    <mat-option *ngFor=\"let item of filteredItems\" [value]=\"emitObject ? item : resolveValue(item)\">\n      {{ resolveLabel(item) }}\n    </mat-option>\n  </mat-select>\n  <mat-error>\n    <ng-container *ngIf=\"ngControl?.errors?.['required']; else genericError\">\n      This field is required\n    </ng-container>\n    <ng-template #genericError> Invalid value </ng-template>\n  </mat-error>\n</mat-form-field>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\nimport { SelectComponent } from './select.component';\n\n@NgModule({\n  declarations: [SelectComponent],\n  imports: [\n    CommonModule,\n    FormsModule,\n    MatFormFieldModule,\n    MatSelectModule,\n    MatInputModule,\n    MatIconModule,\n    NgxMatSelectSearchModule,\n    ReactiveFormsModule,\n  ],\n  exports: [SelectComponent],\n})\nexport class EpagSelectModule {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'lib-general-status-card',\n  templateUrl: './general-status-card.component.html',\n  styleUrls: ['./general-status-card.component.scss'],\n})\nexport class GeneralStatusCardComponent {\n  @Input() text: string | null = null;\n  @Input() color: string | null = null;\n  @Input() isUpperCase: boolean = false;\n\n  public style: Object = {};\n\n  ngOnChanges(): void {\n    if (!this.color) {\n      this.color = this.returnCardColor(this.text);\n    }\n    this.style = { background: this.color };\n  }\n\n  public returnCardColor(text: string | null): string {\n    if (text === 'PAID' || text === 'DISPUTE_RECOVERED') {\n      return '#00D68F';\n    } else if (text === 'PROCESSING') {\n      return '#E69900';\n    } else if (\n      text === 'DECLINED' ||\n      text === 'ERROR' ||\n      text === 'CANCELED' ||\n      text === 'DISPUTE_FINAL'\n    ) {\n      return '#f43841';\n    } else if (text === 'REFUNDED' || text === 'PARTIALLY_REFUNDED') {\n      return '#19457e';\n    } else if (\n      text === 'DISPUTE' ||\n      text === 'IN_ANALYSIS' ||\n      text === 'DISPUTE_REFUNDED' ||\n      text === 'POST_REFUND_DISPUTE'\n    ) {\n      return '#FFAA00';\n    }\n    return '#019FD1';\n  }\n}\n","<div *ngIf=\"text; else emptyCard\" [ngStyle]=\"style\" class=\"status-card\">\n  {{ isUpperCase ? (text | splitUnderscore).toUpperCase() : (text | splitUnderscore) }}\n</div>\n<ng-template #emptyCard> - </ng-template>\n","import { Directive, Input, TemplateRef } from '@angular/core';\n\n/**\n * Directive to mark and identify content templates for the PageMenuComponent.\n *\n * This directive is used within `<ng-template>` tags to define the content\n * for each menu tab. The directive's value must match the `name` property\n * of a corresponding PageMenuItem.\n *\n * @example\n * ```html\n * <epag-page-menu [menuItems]=\"tabs\">\n *   <ng-template pageMenuItem=\"overview\">\n *     <h2>Overview Section</h2>\n *     <p>This is the overview content.</p>\n *   </ng-template>\n *   <ng-template pageMenuItem=\"settings\">\n *     <h2>Settings Section</h2>\n *     <app-settings-form></app-settings-form>\n *   </ng-template>\n * </epag-page-menu>\n * ```\n */\n@Directive({\n  selector: '[pageMenuItem]',\n})\nexport class PageMenuItemDirective {\n  /**\n   * Unique identifier for this menu item template.\n   * Must match the `name` property of a PageMenuItem in the menuItems array.\n   */\n  @Input('pageMenuItem') name!: string;\n\n  /**\n   * @param template - The template reference containing the content for this menu item\n   */\n  constructor(public template: TemplateRef<any>) {}\n}\n","import {\n  AfterContentInit,\n  Component,\n  ContentChildren,\n  Input,\n  OnChanges,\n  QueryList,\n  SimpleChanges,\n  TemplateRef,\n} from '@angular/core';\nimport { PageMenuItemDirective } from './page-menu-item.directive';\n\n/**\n * Interface representing a menu item in the page menu.\n */\nexport interface PageMenuItem {\n  /** Display label for the menu tab */\n  label: string;\n  /** Unique identifier matching the pageMenuItem directive name */\n  name: string;\n}\n\n/**\n * PageMenuComponent provides a tabbed navigation interface using Angular Material tabs.\n *\n * This component allows you to define menu items with custom content templates using\n * content projection. Each tab's content is defined using the `pageMenuItem` directive.\n *\n * @example\n * ```html\n * <epag-page-menu [menuItems]=\"tabs\">\n *   <ng-template pageMenuItem=\"overview\">\n *     <h2>Overview Content</h2>\n *   </ng-template>\n *   <ng-template pageMenuItem=\"details\">\n *     <p>Details Content</p>\n *   </ng-template>\n * </epag-page-menu>\n * ```\n *\n * @example\n * ```typescript\n * tabs: PageMenuItem[] = [\n *   { label: 'Overview', name: 'overview' },\n *   { label: 'Details', name: 'details' }\n * ];\n * ```\n */\n@Component({\n  selector: 'epag-page-menu',\n  templateUrl: './page-menu.component.html',\n  styleUrls: ['./page-menu.component.scss'],\n})\nexport class PageMenuComponent implements AfterContentInit, OnChanges {\n  /**\n   * Array of menu items to display as tabs.\n   * Each item must have a corresponding ng-template with matching pageMenuItem name.\n   */\n  @Input() menuItems: PageMenuItem[] = [];\n\n  /** Query list of all content templates projected with pageMenuItem directive */\n  @ContentChildren(PageMenuItemDirective) itemTemplates!: QueryList<PageMenuItemDirective>;\n\n  /** Internal map for fast template lookup by name */\n  private templateMap = new Map<string, PageMenuItemDirective>();\n\n  /**\n   * Lifecycle hook that initializes the template map after content children are available.\n   */\n  ngAfterContentInit(): void {\n    this.buildTemplateMap();\n\n    // Rebuild map when templates change dynamically\n    this.itemTemplates.changes.subscribe(() => {\n      this.buildTemplateMap();\n    });\n  }\n\n  /**\n   * Lifecycle hook that responds to input property changes.\n   */\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes['menuItems'] && !changes['menuItems'].firstChange) {\n      // Template map will be rebuilt on next change detection if needed\n      // This ensures consistency when menuItems change dynamically\n    }\n  }\n\n  /**\n   * Builds or rebuilds the internal template map from content children.\n   */\n  private buildTemplateMap(): void {\n    this.templateMap.clear();\n    this.itemTemplates.forEach((directive) => {\n      this.templateMap.set(directive.name, directive);\n    });\n  }\n\n  /**\n   * Retrieves the template for a given menu item name.\n   *\n   * @param name - The unique identifier of the menu item\n   * @returns The template reference if found, null otherwise\n   */\n  getTemplate(name: string): TemplateRef<any> | null {\n    const directive = this.templateMap.get(name);\n    return directive ? directive.template : null;\n  }\n}\n","<mat-tab-group class=\"page-menu\" [disableRipple]=\"true\" [disablePagination]=\"true\">\n  <mat-tab *ngFor=\"let item of menuItems\" [label]=\"item.label\">\n    <ng-container *ngTemplateOutlet=\"getTemplate(item.name)\"></ng-container>\n  </mat-tab>\n</mat-tab-group>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { PageMenuComponent } from './page-menu.component';\nimport { PageMenuItemDirective } from './page-menu-item.directive';\n\n/**\n * Module for the PageMenu component and related directives.\n *\n * Import this module to use the epag-page-menu component in your application.\n *\n * @example\n * ```typescript\n * import { PageMenuModule } from 'epag-front-components';\n *\n * @NgModule({\n *   imports: [PageMenuModule]\n * })\n * export class MyModule {}\n * ```\n */\n@NgModule({\n  declarations: [PageMenuComponent, PageMenuItemDirective],\n  imports: [CommonModule, MatTabsModule],\n  exports: [PageMenuComponent, PageMenuItemDirective],\n})\nexport class PageMenuModule {}\n","export enum BlockMethods {\n  EMAIL = 'Email',\n  TAXID = 'Tax Id',\n  IP = 'IP',\n  CREDIT_CARD_NUMBER = 'Credit Card Number',\n  BIN = 'Bin',\n  RANGE_BIN = 'Range Bin',\n  RANGE_IP = 'Range IP',\n  CARD_BRAND = 'Card Brand',\n}\n\nexport enum PaymentMethods {\n  BITCOIN = 'Bitcoin',\n  BOLETO = 'Boleto Bancário',\n  CREDITCARD = 'Credit Card',\n  DEBITCARD = 'Debit Card',\n  NOT_DEFINED = 'Undefined',\n  OXXO = 'Oxxo',\n  PIX = 'Pix',\n  RIPPLE = 'Ripple',\n  SPEI = 'Spei',\n  TEDDOC = 'Ted or Doc',\n  PAYNET = 'Paynet',\n  PAYCASH = 'Paycash',\n}\n\nexport enum Fees {\n  SERVICE_FEE = 'Service Fee',\n  TAX = ' Tax',\n  SETTLEMENT = 'Settlement',\n  CUSTOMER_FEE = 'Customer Fee',\n  OTHER = 'Other',\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { PaymentMethods } from './../utils/enum';\n\n@Pipe({ name: 'paymentMethodEnum' })\nexport class PaymentMethodEnumPipe implements PipeTransform {\n  private methodMapping = PaymentMethods;\n\n  transform(value: string[] | string, separator: string = ', '): string {\n    if (Array.isArray(value)) {\n      return value\n        .map((method) => this.methodMapping[method as keyof typeof PaymentMethods] || method)\n        .join(separator);\n    }\n\n    return this.methodMapping[value as keyof typeof PaymentMethods] || value;\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'splitCamelCase',\n})\nexport class SplitCamelCasePipe implements PipeTransform {\n  transform(value: string): string {\n    if (!value) return value;\n\n    const spaced = value.replace(/([A-Z])/g, ' $1').trim();\n    return spaced.charAt(0).toUpperCase() + spaced.slice(1);\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'splitDash',\n})\nexport class SplitDashPipe implements PipeTransform {\n  transform(value: string): string {\n    if (!value) return value;\n\n    return value\n      .split('-')\n      .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n      .join(' ');\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'statusCard',\n})\nexport class StatusCardPipe implements PipeTransform {\n  transform(status: string, colorFunction: (status: string) => string): string {\n    const color = colorFunction(status);\n    return `<lib-general-status-card\n              [isUpperCase]=\"true\"\n              [text]=\"'${status}'\"\n              [color]=\"'${color}'\"\n            ></lib-general-status-card>`;\n  }\n}\n","import { DestroyRef, Injectable, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Location } from '@angular/common';\nimport { filter } from 'rxjs';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class NavigationService {\n  private static readonly DEFAULT_FALLBACK_URL = '/';\n\n  private readonly router = inject(Router);\n  private readonly location = inject(Location);\n  private readonly destroyRef = inject(DestroyRef);\n  private readonly history: string[] = [];\n\n  constructor() {\n    this.listenToNavigationEndEvents();\n  }\n\n  back(fallbackUrl: string = NavigationService.DEFAULT_FALLBACK_URL): void {\n    const canGoBack = this.history.length > 1;\n\n    if (!canGoBack) {\n      void this.router.navigateByUrl(fallbackUrl);\n      return;\n    }\n\n    this.history.pop();\n    this.location.back();\n  }\n\n  private listenToNavigationEndEvents(): void {\n    this.router.events\n      .pipe(\n        filter((event): event is NavigationEnd => event instanceof NavigationEnd),\n        takeUntilDestroyed(this.destroyRef),\n      )\n      .subscribe((event: NavigationEnd) => {\n        this.addToHistory(event.urlAfterRedirects);\n      });\n  }\n\n  private addToHistory(url: string): void {\n    const lastUrl = this.history[this.history.length - 1];\n\n    if (lastUrl !== url) {\n      this.history.push(url);\n    }\n  }\n}\n","import { Directive, HostListener, Input, inject } from '@angular/core';\nimport { NavigationService } from '../../services/navigation/navigation.service';\n\nconst DEFAULT_FALLBACK_URL = '/';\n\nfunction normalizeFallbackUrl(value: string | null | undefined): string {\n  if (typeof value !== 'string') {\n    return DEFAULT_FALLBACK_URL;\n  }\n\n  const trimmedValue = value.trim();\n  return trimmedValue.length > 0 ? trimmedValue : DEFAULT_FALLBACK_URL;\n}\n\n@Directive({\n  selector: '[epagGoBack]',\n  standalone: true,\n})\nexport class GoBackDirective {\n  private readonly navigationService = inject(NavigationService);\n  private fallbackUrl = DEFAULT_FALLBACK_URL;\n\n  @Input({ alias: 'epagGoBack' })\n  set fallback(value: string | null | undefined) {\n    this.fallbackUrl = normalizeFallbackUrl(value);\n  }\n\n  get fallback(): string {\n    return this.fallbackUrl;\n  }\n\n  @HostListener('click', ['$event'])\n  onClick(event?: MouseEvent): void {\n    event?.preventDefault();\n    this.navigationService.back(this.fallbackUrl);\n  }\n}\n","import { CommonModule, CurrencyPipe } from '@angular/common';\n\nimport { EpagActionDialogModule } from './components/action-dialog/action-dialog.module';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { EpagAvatarModule } from './components/avatar/avatar.module';\nimport { EpagButtonModule } from './components/button/button.module';\nimport { EpagDateRangePickerModule } from './components/date-range-picker/date-range-picker.module';\nimport { EpagDisputesInfoModule } from './components/disputes-info/disputes-info.module';\nimport { EpagFinanceInfoModule } from './components/finance-info/finance-info.module';\nimport { EpagPaymentFeesModule } from './components/payment-fees/payment-fees.module';\nimport { EpagRefundsInfoModule } from './components/refunds-info/refunds-info.module';\nimport { EpagSelectModule } from './components/select/select.module';\nimport { EpagStatusBadgeModule } from './components/status-badge/status-badge.module';\nimport { GeneralStatusCardComponent } from './components/general-status-card/general-status-card.component';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { NgModule } from '@angular/core';\nimport { PageMenuModule } from './components/page-menu/page-menu.module';\nimport { EpagPaginatedTableModule } from './components/paginated-table/paginated-table.module';\nimport { PaymentMethodEnumPipe } from './pipes/payment-method-enum.pipe';\nimport { RouterModule } from '@angular/router';\nimport { SimplebarAngularModule } from 'simplebar-angular';\nimport { SplitCamelCasePipe } from './pipes/split-camel-case.pipe';\nimport { SplitDashPipe } from './pipes/split-dash.pipe';\nimport { SplitUnderscorePipe } from './pipes/split-underscore.pipe';\nimport { StatusCardPipe } from './pipes/status-card.pipe';\nimport { EpagCardModule } from './components/card/card.module';\nimport { EpagInfoCardModule } from './components/info-card/info-card.module';\nimport { GoBackDirective } from './directives/go-back/go-back.directive';\n\n@NgModule({\n  declarations: [\n    GeneralStatusCardComponent,\n    SplitCamelCasePipe,\n    SplitDashPipe,\n    SplitUnderscorePipe,\n    PaymentMethodEnumPipe,\n    StatusCardPipe,\n  ],\n  providers: [CurrencyPipe],\n  imports: [\n    BrowserModule,\n    CommonModule,\n    RouterModule,\n    EpagActionDialogModule,\n    MatTableModule,\n    MatPaginatorModule,\n    MatSortModule,\n    MatIconModule,\n    MatTooltipModule,\n    SimplebarAngularModule,\n    MatSlideToggleModule,\n    MatSnackBarModule,\n    MatCheckboxModule,\n    EpagAvatarModule,\n    EpagButtonModule,\n    EpagCardModule,\n    EpagDateRangePickerModule,\n    EpagDisputesInfoModule,\n    EpagFinanceInfoModule,\n    EpagInfoCardModule,\n    EpagPaginatedTableModule,\n    PageMenuModule,\n    EpagPaymentFeesModule,\n    EpagRefundsInfoModule,\n    EpagSelectModule,\n    EpagStatusBadgeModule,\n    GoBackDirective,\n  ],\n  exports: [\n    GeneralStatusCardComponent,\n    PaymentMethodEnumPipe,\n    StatusCardPipe,\n    EpagPaginatedTableModule,\n    EpagActionDialogModule,\n    EpagAvatarModule,\n    EpagButtonModule,\n    EpagCardModule,\n    EpagDateRangePickerModule,\n    EpagDisputesInfoModule,\n    EpagFinanceInfoModule,\n    EpagInfoCardModule,\n    PageMenuModule,\n    EpagPaymentFeesModule,\n    EpagRefundsInfoModule,\n    EpagSelectModule,\n    EpagStatusBadgeModule,\n    GoBackDirective,\n  ],\n})\nexport class EpagFrontComponentsModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nexport const CALLOUT_VARIANTS = ['informative', 'warning', 'error'] as const;\n\nexport type CalloutVariant = (typeof CALLOUT_VARIANTS)[number];\n\nconst CALLOUT_ICON: Record<CalloutVariant, string> = {\n  informative: 'info',\n  warning: 'warning',\n  error: 'error',\n};\n\n/**\n * Callout component for displaying contextual messages with semantic variants.\n *\n * @example\n * <epag-callout variant=\"informative\" text=\"Changes to fixed values do not affect other contracts.\" />\n * <epag-callout variant=\"warning\" text=\"This action cannot be undone.\" />\n * <epag-callout variant=\"error\" text=\"An unexpected error occurred.\" />\n */\n@Component({\n  selector: 'epag-callout',\n  templateUrl: './callout.component.html',\n  styleUrls: ['./callout.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalloutComponent {\n  @Input({ required: true }) text!: string;\n  @Input() variant: CalloutVariant = 'informative';\n\n  get hostClass(): string {\n    return `callout callout--${this.variant}`;\n  }\n\n  get icon(): string {\n    return CALLOUT_ICON[this.variant];\n  }\n}\n","<div [class]=\"hostClass\">\n  <mat-icon class=\"callout__icon\">{{ icon }}</mat-icon>\n  <div class=\"callout__body\">\n    <span class=\"callout__label\">{{ variant | uppercase }}</span>\n    <p class=\"callout__text\">{{ text }}</p>\n  </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CalloutComponent } from './callout.component';\n\n@NgModule({\n  declarations: [CalloutComponent],\n  imports: [CommonModule, MatIconModule],\n  exports: [CalloutComponent],\n})\nexport class EpagCalloutModule {}\n","import { Directive, Input, TemplateRef } from '@angular/core';\n\nexport interface DetailCardItemValueContext<T = unknown> {\n  $implicit: T;\n  value: T;\n}\n\n@Directive({\n  selector: 'ng-template[epagDetailCardItem]',\n})\nexport class DetailCardItemValueDirective<T = unknown> {\n  @Input('epagDetailCardItem') key!: string;\n\n  constructor(public readonly template: TemplateRef<DetailCardItemValueContext<T>>) {}\n}\n","import {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  Component,\n  ContentChildren,\n  Input,\n  QueryList,\n  TemplateRef,\n} from '@angular/core';\n\nimport { EpagIconName } from '../icon/icons';\nimport { DetailCardItemValueDirective } from './detail-card-item-value.directive';\nimport { DetailCardItem } from './detail-card-item.model';\n\n@Component({\n  selector: 'epag-detail-card',\n  templateUrl: './detail-card.component.html',\n  styleUrls: ['./detail-card.component.scss'],\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class DetailCardComponent implements AfterContentInit {\n  @Input() title = '';\n  // eslint-disable-next-line @typescript-eslint/ban-types\n  @Input() titleIcon: EpagIconName | (string & {}) = '';\n  @Input() items: DetailCardItem[] = [];\n  @Input() columns = 1;\n  @Input() isLoading = false;\n  @Input() emptyFallback = '-';\n\n  @ContentChildren(DetailCardItemValueDirective)\n  private itemTemplates!: QueryList<DetailCardItemValueDirective>;\n\n  private templateMap = new Map<string, TemplateRef<unknown>>();\n\n  public ngAfterContentInit(): void {\n    this.buildTemplateMap();\n    this.itemTemplates.changes.subscribe(() => this.buildTemplateMap());\n  }\n\n  public getTemplate(item: DetailCardItem): TemplateRef<unknown> | null {\n    return this.templateMap.get(item.key) ?? null;\n  }\n\n  public getContext(item: DetailCardItem) {\n    return { $implicit: item.value, value: item.value };\n  }\n\n  public hasValue(value: unknown): boolean {\n    return value !== null && value !== undefined && value !== '';\n  }\n\n  public trackItem(_index: number, item: DetailCardItem): string {\n    return item.key;\n  }\n\n  private buildTemplateMap(): void {\n    this.templateMap.clear();\n    this.itemTemplates.forEach((directive) => {\n      this.templateMap.set(directive.key, directive.template);\n    });\n  }\n}\n","<div class=\"detail-card\">\n  <div class=\"detail-card__header\" *ngIf=\"title\">\n    <h3 class=\"detail-card__title\">\n      <epag-icon\n        *ngIf=\"titleIcon\"\n        [name]=\"titleIcon\"\n        [size]=\"22\"\n        class=\"detail-card__title-icon\"\n      ></epag-icon>\n      {{ title }}\n    </h3>\n    <ng-content select=\"[cardTitleRight]\"></ng-content>\n  </div>\n\n  <hr class=\"detail-card__divider\" *ngIf=\"title\" />\n\n  <div class=\"detail-card__body\" [loader]=\"isLoading\">\n    <dl class=\"detail-card__grid\" [style.--columns]=\"columns\" *ngIf=\"!isLoading\">\n      <div class=\"detail-card__item\" *ngFor=\"let item of items; trackBy: trackItem\">\n        <dt class=\"detail-card__label\">{{ item.label }}</dt>\n        <dd class=\"detail-card__value\">\n          <ng-container *ngIf=\"getTemplate(item) as template; else defaultValue\">\n            <ng-container *ngTemplateOutlet=\"template; context: getContext(item)\"></ng-container>\n          </ng-container>\n          <ng-template #defaultValue>\n            <ng-container *ngIf=\"hasValue(item.value); else emptyValue\">\n              {{ item.value }}\n            </ng-container>\n          </ng-template>\n          <ng-template #emptyValue>\n            <span class=\"detail-card__empty\">{{ emptyFallback }}</span>\n          </ng-template>\n        </dd>\n      </div>\n    </dl>\n  </div>\n\n  <ng-content select=\"[footer]\"></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EpagIconModule } from '../icon/icon.module';\nimport { EpagLoaderModule } from '../loader/loader.module';\nimport { DetailCardItemValueDirective } from './detail-card-item-value.directive';\nimport { DetailCardComponent } from './detail-card.component';\n\n@NgModule({\n  declarations: [DetailCardComponent, DetailCardItemValueDirective],\n  imports: [CommonModule, EpagIconModule, EpagLoaderModule],\n  exports: [DetailCardComponent, DetailCardItemValueDirective],\n})\nexport class EpagDetailCardModule {}\n","import { ChangeDetectionStrategy, Component, Input, booleanAttribute } from '@angular/core';\n\n/**\n * Fieldset container component for grouping related form controls or actions.\n *\n * @example\n * <epag-fieldset title=\"Filters\">\n *   <mat-form-field>...</mat-form-field>\n * </epag-fieldset>\n *\n * <epag-fieldset title=\"Actions\" [fullWidth]=\"true\">\n *   <button mat-flat-button color=\"primary\">Save</button>\n * </epag-fieldset>\n */\n@Component({\n  selector: 'epag-fieldset',\n  templateUrl: './fieldset.component.html',\n  styleUrls: ['./fieldset.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FieldsetComponent {\n  @Input() title: string = '';\n  @Input({ transform: booleanAttribute }) fullWidth: boolean = false;\n}\n","<fieldset [class]=\"fullWidth ? 'epag-fieldset epag-fieldset--full-width' : 'epag-fieldset'\">\n  <legend class=\"epag-fieldset__legend\">{{ title }}</legend>\n  <ng-content></ng-content>\n</fieldset>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FieldsetComponent } from './fieldset.component';\n\n@NgModule({\n  declarations: [FieldsetComponent],\n  imports: [CommonModule],\n  exports: [FieldsetComponent],\n})\nexport class EpagFieldsetModule {}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  booleanAttribute,\n} from '@angular/core';\n\n/**\n * Standardized filter section that wraps filter fields with Filter and Clear Filters buttons.\n *\n * @example\n * <epag-filters-panel (filter)=\"applyFilters()\" (cleared)=\"clearFilters()\">\n *   <mat-form-field appearance=\"outline\">...</mat-form-field>\n *   <mat-form-field appearance=\"outline\">...</mat-form-field>\n * </epag-filters-panel>\n */\n@Component({\n  selector: 'epag-filters-panel',\n  templateUrl: './filters-panel.component.html',\n  styleUrls: ['./filters-panel.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FiltersPanelComponent {\n  @Input() title: string = 'Filters';\n  @Input() filterLabel: string = 'Filter';\n  @Input() clearLabel: string = 'Clear Filters';\n  @Input({ transform: booleanAttribute }) isLoading: boolean = false;\n\n  @Output() filter = new EventEmitter<void>();\n  @Output() cleared = new EventEmitter<void>();\n}\n","<epag-fieldset [title]=\"title\" class=\"filters-panel\">\n  <div class=\"filters-panel__fields\">\n    <ng-content></ng-content>\n    <div class=\"filters-panel__actions\">\n      <epag-button\n        [label]=\"filterLabel\"\n        [isLoading]=\"isLoading\"\n        (clicked)=\"filter.emit()\"\n      ></epag-button>\n      <epag-button\n        [label]=\"clearLabel\"\n        variant=\"stroked\"\n        icon=\"clear\"\n        (clicked)=\"cleared.emit()\"\n      ></epag-button>\n    </div>\n  </div>\n</epag-fieldset>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EpagButtonModule } from '../button/button.module';\nimport { EpagFieldsetModule } from '../fieldset/fieldset.module';\nimport { FiltersPanelComponent } from './filters-panel.component';\n\n@NgModule({\n  declarations: [FiltersPanelComponent],\n  imports: [CommonModule, EpagButtonModule, EpagFieldsetModule],\n  exports: [FiltersPanelComponent],\n})\nexport class EpagFiltersPanelModule {}\n","import { Component, Input, booleanAttribute } from '@angular/core';\n\n@Component({\n  selector: 'epag-three-section-layout',\n  templateUrl: './three-section-layout.component.html',\n  styleUrls: ['./three-section-layout.component.scss'],\n})\nexport class ThreeSectionLayoutComponent {\n  @Input({ transform: booleanAttribute }) noMargin = false;\n  @Input({ transform: booleanAttribute }) showDownloads = false;\n  @Input({ transform: booleanAttribute }) showActions = false;\n}\n","<section class=\"three-section-container\" [ngClass]=\"{ 'no-margin': noMargin }\">\n  <div class=\"section-wrapper filters-section\">\n    <ng-content select=\"[filters]\"></ng-content>\n  </div>\n\n  <div class=\"section-wrapper\" *ngIf=\"showDownloads\">\n    <epag-fieldset title=\"Downloads\">\n      <ng-content select=\"[downloads]\"></ng-content>\n    </epag-fieldset>\n  </div>\n\n  <div class=\"section-wrapper\" *ngIf=\"showActions\">\n    <epag-fieldset title=\"Actions\">\n      <ng-content select=\"[actions]\"></ng-content>\n    </epag-fieldset>\n  </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EpagFieldsetModule } from '../fieldset/fieldset.module';\nimport { ThreeSectionLayoutComponent } from './three-section-layout.component';\n\n@NgModule({\n  declarations: [ThreeSectionLayoutComponent],\n  imports: [CommonModule, EpagFieldsetModule],\n  exports: [ThreeSectionLayoutComponent],\n})\nexport class EpagThreeSectionLayoutModule {}\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { ActionDialogComponent, ActionDialogData } from './action-dialog.component';\n\n@Injectable({ providedIn: 'root' })\nexport class DialogService {\n  constructor(private dialog: MatDialog) {}\n\n  open(data: ActionDialogData): Observable<boolean> {\n    const ref = this.dialog.open(ActionDialogComponent, {\n      panelClass: 'action-dialog',\n      width: '328px',\n      data,\n    });\n    return ref.afterClosed();\n  }\n\n  confirm(options: ActionDialogData): Observable<boolean> {\n    return this.open({\n      variant: 'warning',\n      confirmLabel: options.confirmLabel || 'Yes',\n      cancelLabel: options.cancelLabel || 'No',\n      showCancel: true,\n      ...options,\n    });\n  }\n\n  success(options: ActionDialogData): Observable<boolean> {\n    return this.open({\n      variant: 'success',\n      confirmLabel: options.confirmLabel || 'OK',\n      showCancel: false,\n      ...options,\n    });\n  }\n\n  info(options: ActionDialogData): Observable<boolean> {\n    return this.open({\n      variant: 'info',\n      confirmLabel: options.confirmLabel || 'OK',\n      showCancel: false,\n      ...options,\n    });\n  }\n\n  /**\n   * Opens a confirmation dialog that keeps opened while the provided async `work` runs.\n   * The dialog closes with `true` only if the async work resolves successfully.\n   * If the async work fails, the dialog remains open and shows an error message.\n   */\n  confirmAsync(\n    options: ActionDialogData,\n    work: () => Observable<unknown> | Promise<unknown>,\n  ): Observable<boolean> {\n    return this.confirm({\n      asyncConfirm: work,\n      ...options,\n    });\n  }\n}\n","// Main module export\nexport * from './lib/epag-front-components.module';\n\n// Exportation of components' modules\nexport * from './lib/components/action-dialog/action-dialog.module';\nexport * from './lib/components/avatar/avatar.module';\nexport * from './lib/components/button/button.module';\nexport * from './lib/components/callout/callout.module';\nexport * from './lib/components/card/card.module';\nexport * from './lib/components/date-range-picker/date-range-picker.module';\nexport * from './lib/components/detail-card/detail-card.module';\nexport * from './lib/components/disputes-info/disputes-info.module';\nexport * from './lib/components/fieldset/fieldset.module';\nexport * from './lib/components/filters-panel/filters-panel.module';\nexport * from './lib/components/finance-info/finance-info.module';\nexport * from './lib/components/icon/icon.module';\nexport * from './lib/components/info-card/info-card.module';\nexport * from './lib/components/loader/loader.module';\nexport * from './lib/components/page-menu/page-menu.module';\nexport * from './lib/components/paginated-table/paginated-table.module';\nexport * from './lib/components/payment-fees/payment-fees.module';\nexport * from './lib/components/refunds-info/refunds-info.module';\nexport * from './lib/components/select/select.module';\nexport * from './lib/components/status-badge/status-badge.module';\nexport * from './lib/components/three-section-layout/three-section-layout.module';\n\n// Exportation of components\nexport * from './lib/components/avatar/avatar.component';\nexport * from './lib/components/button/button.component';\nexport * from './lib/components/callout/callout.component';\nexport * from './lib/components/card/card.component';\nexport * from './lib/components/date-range-picker/date-range-picker.component';\nexport * from './lib/components/detail-card/detail-card-item-value.directive';\nexport * from './lib/components/detail-card/detail-card-item.model';\nexport * from './lib/components/detail-card/detail-card.component';\nexport * from './lib/components/disputes-info/disputes-info.component';\nexport * from './lib/components/fieldset/fieldset.component';\nexport * from './lib/components/filters-panel/filters-panel.component';\nexport * from './lib/components/finance-info/finance-info.component';\nexport * from './lib/components/general-status-card/general-status-card.component';\n\nexport * from './lib/components/icon/icon.component';\nexport * from './lib/components/icon/icons';\nexport * from './lib/components/info-card/info-card.component';\nexport * from './lib/components/last-days-card/last-days-card.component';\nexport * from './lib/components/loader/loader.component';\nexport * from './lib/components/page-menu/page-menu.component';\nexport * from './lib/components/paginated-table/paginated-table.component';\nexport * from './lib/components/payment-fees/payment-fees.component';\nexport * from './lib/components/refunds-info/refunds-info.component';\nexport * from './lib/components/select/select.component';\nexport * from './lib/components/status-badge/status-badge.component';\nexport * from './lib/components/three-section-layout/three-section-layout.component';\n\n// Exportation of services\nexport * from './lib/components/action-dialog/dialog.service';\nexport * from './lib/services/navigation/navigation.service';\n\n// Exportation of directives\nexport * from './lib/components/info-card/info-card-item-value.directive';\nexport * from './lib/components/page-menu/page-menu-item.directive';\nexport * from './lib/components/paginated-table/paginated-table-item.directive';\nexport * from './lib/directives/go-back/go-back.directive';\nexport * from './lib/directives/loader.directive';\n\n// Exportation of models and types\nexport type {\n  ActionDialogData,\n  ActionDialogVariant,\n} from './lib/components/action-dialog/action-dialog.component';\nexport * from './lib/components/paginated-table/table.model';\nexport * from './lib/components/payment-fees/payment-fees.model';\n\n// Exportation of pipes\nexport * from './lib/pipes/apply-pipe.pipe';\nexport * from './lib/pipes/payment-method-enum.pipe';\nexport * from './lib/pipes/status-card.pipe';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3","i2","i1","i3.ButtonComponent","i4","i3.LastDaysCardComponent","i2.CardComponent","i3.LoaderDirective","i5.IconComponent","i3.InfoCardComponent","i4.InfoCardItemValueDirective","i5.StatusBadgeComponent","i1.MessageNotificaionService","i6","i7","i8","i11.StatusBadgeComponent","i12.LoaderDirective","i13.ApplyPipe","i1.CardComponent","i2.PaginatedTableComponent","i3.PaginatedTableComponent","i5","i2.SplitUnderscorePipe","i2.IconComponent","i1.ButtonComponent","i2.FieldsetComponent"],"mappings":"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"}