{"version":3,"file":"fiscal-io-ds-components.mjs","sources":["../../../../projects/fiscal-io/ds-components/src/lib/services/ds-sidebar.service.ts","../../../../projects/fiscal-io/ds-components/src/lib/services/theme.service.ts","../../../../projects/fiscal-io/ds-components/src/lib/services/locale.service.ts","../../../../projects/fiscal-io/ds-components/src/lib/services/ds-toast.service.ts","../../../../projects/fiscal-io/ds-components/src/public-api.ts","../../../../projects/fiscal-io/ds-components/src/fiscal-io-ds-components.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class DsSidebarService {\n  // Status signal to lock/unlock expansion\n  private _isLocked = signal<boolean>(false);\n  readonly isLocked = this._isLocked.asReadonly();\n\n  constructor() {}\n\n  /**\n   * Locks the sidebar, preventing it from opening.\n   * If the sidebar is currently open, it should be closed by the component listening to this state.\n   */\n  lock(): void {\n    this._isLocked.set(true);\n  }\n\n  /**\n   * Unlocks the sidebar, allowing normal open/close behavior.\n   */\n  unlock(): void {\n    this._isLocked.set(false);\n  }\n\n  /**\n   * Sets the locked state manually.\n   * @param value True to lock, False to unlock\n   */\n  setLocked(value: boolean): void {\n    this._isLocked.set(value);\n  }\n}\n","import {\r\n  Injectable,\r\n  Inject,\r\n  InjectionToken,\r\n  Optional,\r\n  Renderer2,\r\n  RendererFactory2,\r\n  DOCUMENT,\r\n  signal,\r\n} from '@angular/core';\r\n\r\nexport type ClientTheme = {\r\n  primary: string;\r\n};\r\n\r\n/**\r\n * Configuration for the ThemeService.\r\n * Provide via `DS_THEME_CONFIG` token in your app's providers.\r\n */\r\nexport interface DsThemeConfig {\r\n  /** Prefix for localStorage keys (default: 'ds'). Use your app name to avoid conflicts. */\r\n  storagePrefix?: string;\r\n  /** Default primary color hex (e.g. '#265cd1'). If not set, uses the theme's default. */\r\n  defaultPrimaryColor?: string;\r\n}\r\n\r\n/** Injection token to configure ThemeService per-app */\r\nexport const DS_THEME_CONFIG = new InjectionToken<DsThemeConfig>('DS_THEME_CONFIG');\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class ThemeService {\r\n  private renderer: Renderer2;\r\n  private readonly STORAGE_KEY: string;\r\n  private readonly DARK_MODE_STORAGE_KEY: string;\r\n  private readonly defaultPrimaryColor: string | null;\r\n  public isDarkMode = signal<boolean>(false);\r\n\r\n  constructor(\r\n    @Inject(DOCUMENT) private document: Document,\r\n    private rendererFactory: RendererFactory2,\r\n    @Optional() @Inject(DS_THEME_CONFIG) config?: DsThemeConfig,\r\n  ) {\r\n    const prefix = config?.storagePrefix || 'ds';\r\n    this.STORAGE_KEY = `${prefix}-primary-color`;\r\n    this.DARK_MODE_STORAGE_KEY = `${prefix}-dark-mode`;\r\n    this.defaultPrimaryColor = config?.defaultPrimaryColor || null;\r\n\r\n    this.renderer = rendererFactory.createRenderer(null, null);\r\n\r\n    // Ensure Syncfusion theme CSS loads AFTER Angular's compiled styles (Bootstrap)\r\n    // so that Syncfusion has higher CSS cascade priority\r\n    this.ensureThemeLinkOrder();\r\n\r\n    this.loadSavedTheme();\r\n    \r\n    const savedDarkMode = localStorage.getItem(this.DARK_MODE_STORAGE_KEY);\r\n    if (savedDarkMode === 'true') {\r\n      this.isDarkMode.set(true);\r\n      this.applyDarkMode(true);\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Ensures the Syncfusion theme CSS link exists and is at the END of <head>.\r\n   * Angular injects its compiled styles.css (Bootstrap) after existing <head> tags,\r\n   * so the sf-theme link must come AFTER to win in the CSS cascade.\r\n   * Also handles HMR scenarios where the link may be missing.\r\n   */\r\n  private ensureThemeLinkOrder(): void {\r\n    let themeLink = this.document.getElementById('sf-theme') as HTMLLinkElement;\r\n    \r\n    if (!themeLink) {\r\n      // Link missing (e.g. HMR rebuild) — create it\r\n      themeLink = this.document.createElement('link');\r\n      themeLink.id = 'sf-theme';\r\n      themeLink.rel = 'stylesheet';\r\n      themeLink.href = this.isDarkMode() ? 'assets/themes/syncfusion-dark.css' : 'assets/themes/syncfusion-light.css';\r\n    }\r\n    \r\n    // (Re-)append to end of <head> so it comes AFTER Angular's compiled styles\r\n    this.document.head.appendChild(themeLink);\r\n  }\r\n\r\n  toggleDarkMode(): void {\r\n    const newMode = !this.isDarkMode();\r\n    this.isDarkMode.set(newMode);\r\n    localStorage.setItem(this.DARK_MODE_STORAGE_KEY, newMode.toString());\r\n    this.applyDarkMode(newMode);\r\n  }\r\n\r\n  private applyDarkMode(isDark: boolean): void {\r\n    this.document.documentElement.setAttribute('data-bs-theme', isDark ? 'dark' : 'light');\r\n    const themeLink = this.document.getElementById('sf-theme') as HTMLLinkElement;\r\n    if (themeLink) {\r\n      themeLink.href = isDark ? 'assets/themes/syncfusion-dark.css' : 'assets/themes/syncfusion-light.css';\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Restores the previously saved primary color from localStorage.\r\n   * Falls back to `defaultPrimaryColor` from config if nothing is saved.\r\n   */\r\n  private loadSavedTheme(): void {\r\n    const savedColor = localStorage.getItem(this.STORAGE_KEY);\r\n    if (savedColor) {\r\n      this.setPrimaryColor(savedColor);\r\n    } else if (this.defaultPrimaryColor) {\r\n      this.setPrimaryColor(this.defaultPrimaryColor);\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Removes the saved primary color from localStorage.\r\n   */\r\n  clearSavedTheme(): void {\r\n    localStorage.removeItem(this.STORAGE_KEY);\r\n  }\r\n\r\n  /**\r\n   * Set the primary color and update ALL Bootstrap 5.3 + Syncfusion selectors at runtime.\r\n   */\r\n  setPrimaryColor(color: string): void {\r\n    const root = this.document.documentElement;\r\n    const rgb = this.hexToRgb(color);\r\n    const rgbString = `${rgb.r}, ${rgb.g}, ${rgb.b}`;\r\n\r\n    // --- Color variations (Bootstrap-like tint/shade) ---\r\n    const hover = this.tintColor(color, 15);\r\n    const hoverBorder = this.shadeColor(color, 20);\r\n    const active = this.shadeColor(color, 20);\r\n    const activeBorder = this.shadeColor(color, 25);\r\n    const linkHover = this.shadeColor(color, 20);\r\n    const subtle = this.tintColor(color, 80);\r\n    const borderSubtle = this.tintColor(color, 60);\r\n    const textEmphasis = this.shadeColor(color, 60);\r\n    const focusShadow = this.mixColor(color, '#ffffff', 50);\r\n\r\n    const hoverRgb = this.hexToRgb(hover);\r\n    const activeRgb = this.hexToRgb(active);\r\n    const linkHoverRgb = this.hexToRgb(linkHover);\r\n    const focusShadowRgb = this.hexToRgb(focusShadow);\r\n    const subtleRgb = this.hexToRgb(subtle);\r\n\r\n    // ──────────────────────────────────────────────\r\n    // 1. :root CSS variables (handles already-reactive selectors)\r\n    //    .bg-primary, .text-primary, .text-bg-primary, .form-control:focus,\r\n    //    .nav-pills .nav-link.active, a tags, etc.\r\n    // ──────────────────────────────────────────────\r\n    const rootVars: Record<string, string> = {\r\n      '--bs-primary': color,\r\n      '--bs-primary-rgb': rgbString,\r\n      '--bs-link-color': color,\r\n      '--bs-link-color-rgb': rgbString,\r\n      '--bs-link-hover-color': linkHover,\r\n      '--bs-link-hover-color-rgb': `${linkHoverRgb.r}, ${linkHoverRgb.g}, ${linkHoverRgb.b}`,\r\n      '--bs-focus-ring-color': `rgba(${rgbString}, 0.25)`,\r\n      '--bs-primary-bg-subtle': subtle,\r\n      '--bs-primary-border-subtle': borderSubtle,\r\n      '--bs-primary-text-emphasis': textEmphasis,\r\n\r\n      // Syncfusion Variables\r\n      '--color-sf-primary': color,\r\n      '--color-sf-primary-text-color': '#ffffff',\r\n      '--color-sf-primary-light': borderSubtle,\r\n      '--color-sf-primary-lighter': subtle,\r\n      '--color-sf-primary-dark': active,\r\n      '--color-sf-primary-darker': textEmphasis,\r\n      '--color-sf-primary-bg-color': color,\r\n      '--color-sf-primary-border-color': color,\r\n      '--color-sf-primary-bg-color-hover': hover,\r\n      '--color-sf-primary-border-color-hover': hover,\r\n      '--color-sf-primary-bg-color-pressed': active,\r\n      '--color-sf-primary-border-color-pressed': active,\r\n      '--color-sf-primary-bg-color-focus': hover,\r\n      '--color-sf-primary-border-color-focus': hover,\r\n      '--color-sf-primary-bg-color-disabled': `rgba(${rgbString}, 0.65)`,\r\n      '--color-sf-primary-border-color-disabled': `rgba(${rgbString}, 0.65)`,\r\n      '--color-sf-primary-text': '#ffffff',\r\n      '--color-sf-primary-text-hover': '#ffffff',\r\n      '--color-sf-primary-text-pressed': '#ffffff',\r\n      '--color-sf-primary-text-focus': '#ffffff',\r\n      '--color-sf-primary-text-disabled': 'rgba(255, 255, 255, 0.65)',\r\n      '--color-sf-content-bg-color-selected': color,\r\n      '--color-sf-content-text-color-selected': '#ffffff',\r\n      '--color-sf-flyout-bg-color-pressed': color,\r\n      '--color-sf-flyout-text-color-pressed': '#ffffff',\r\n      '--color-sf-rating-selected-color': color,\r\n      '--color-sf-rating-unrated-hover-color': color,\r\n      '--color-sf-border-focus': borderSubtle,\r\n      '--color-sf-border-selected': borderSubtle,\r\n      '--color-sf-primary-shadow': rgbString,\r\n    };\r\n\r\n    Object.entries(rootVars).forEach(([key, value]) => {\r\n      root.style.setProperty(key, value);\r\n    });\r\n\r\n    // ──────────────────────────────────────────────\r\n    // 2. Inject <style> for selectors with hardcoded hex (BS5.3 component vars)\r\n    // ──────────────────────────────────────────────\r\n    const focusShadowRgbStr = `${focusShadowRgb.r}, ${focusShadowRgb.g}, ${focusShadowRgb.b}`;\r\n    const subtleBorderRgb = this.hexToRgb(this.tintColor(color, 40));\r\n    const subtleBg = this.tintColor(color, 80);\r\n    const subtleStriped = this.tintColor(color, 70);\r\n    const subtleActive = this.tintColor(color, 60);\r\n    const subtleHover = this.tintColor(color, 65);\r\n\r\n    const css = `\r\n/* ═══════════════════════════════════════════════════════════\r\n   Bootstrap 5.3 + Syncfusion Runtime Theme Override\r\n   Generated by ThemeService.setPrimaryColor('${color}')\r\n   ═══════════════════════════════════════════════════════════ */\r\n\r\n/* Força as variáveis de cor em todos os contextos de tema para evitar o reset do Bootstrap */\r\n:root, [data-bs-theme=\"light\"], [data-bs-theme=\"dark\"] {\r\n  --bs-primary: ${color};\r\n  --bs-primary-rgb: ${rgbString};\r\n  --bs-link-color: ${color};\r\n  --bs-link-hover-color: ${linkHover};\r\n  --bs-primary-bg-subtle: ${subtle};\r\n  --bs-primary-border-subtle: ${borderSubtle};\r\n  --bs-primary-text-emphasis: ${textEmphasis};\r\n}\r\n\r\n/* ─── Buttons: .btn-primary ─── */\r\n.btn-primary {\r\n  --bs-btn-color: #fff;\r\n  --bs-btn-bg: ${color};\r\n  --bs-btn-border-color: ${color};\r\n  --bs-btn-hover-color: #fff;\r\n  --bs-btn-hover-bg: ${hover};\r\n  --bs-btn-hover-border-color: ${hoverBorder};\r\n  --bs-btn-focus-shadow-rgb: ${focusShadowRgbStr};\r\n  --bs-btn-active-color: #fff;\r\n  --bs-btn-active-bg: ${active};\r\n  --bs-btn-active-border-color: ${activeBorder};\r\n  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\r\n  --bs-btn-disabled-color: #fff;\r\n  --bs-btn-disabled-bg: ${color};\r\n  --bs-btn-disabled-border-color: ${color};\r\n}\r\n\r\n/* ─── Buttons: .btn-outline-primary ─── */\r\n.btn-outline-primary {\r\n  --bs-btn-color: ${color};\r\n  --bs-btn-border-color: ${color};\r\n  --bs-btn-hover-color: #fff;\r\n  --bs-btn-hover-bg: ${color};\r\n  --bs-btn-hover-border-color: ${color};\r\n  --bs-btn-focus-shadow-rgb: ${rgbString};\r\n  --bs-btn-active-color: #fff;\r\n  --bs-btn-active-bg: ${color};\r\n  --bs-btn-active-border-color: ${color};\r\n  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\r\n  --bs-btn-disabled-color: ${color};\r\n  --bs-btn-disabled-border-color: ${color};\r\n}\r\n\r\n/* ─── Buttons: .btn-link ─── */\r\n.btn-link {\r\n  --bs-btn-focus-shadow-rgb: ${focusShadowRgbStr};\r\n}\r\n\r\n/* ─── Dropdown Active ─── */\r\n.dropdown-menu {\r\n  --bs-dropdown-link-active-bg: ${color};\r\n}\r\n\r\n/* ─── Table Primary ─── */\r\n.table-primary {\r\n  --bs-table-bg: ${subtleBg};\r\n  --bs-table-border-color: ${this.tintColor(color, 40)};\r\n  --bs-table-striped-bg: ${subtleStriped};\r\n  --bs-table-active-bg: ${subtleActive};\r\n  --bs-table-hover-bg: ${subtleHover};\r\n}\r\n\r\n/* ─── Link Primary Hover (hardcoded RGB in BS5.3) ─── */\r\n.link-primary:hover,\r\n.link-primary:focus {\r\n  color: RGBA(${linkHoverRgb.r}, ${linkHoverRgb.g}, ${linkHoverRgb.b}, var(--bs-link-opacity, 1)) !important;\r\n  -webkit-text-decoration-color: RGBA(${linkHoverRgb.r}, ${linkHoverRgb.g}, ${linkHoverRgb.b}, var(--bs-link-underline-opacity, 1)) !important;\r\n  text-decoration-color: RGBA(${linkHoverRgb.r}, ${linkHoverRgb.g}, ${linkHoverRgb.b}, var(--bs-link-underline-opacity, 1)) !important;\r\n}\r\n\r\n/* ─── Alert Primary ─── */\r\n.alert-primary {\r\n  --bs-alert-color: ${textEmphasis};\r\n  --bs-alert-bg: ${subtle};\r\n  --bs-alert-border-color: ${borderSubtle};\r\n  --bs-alert-link-color: ${textEmphasis};\r\n}\r\n\r\n/* ─── List Group Item Primary ─── */\r\n.list-group-item-primary {\r\n  --bs-list-group-color: ${textEmphasis};\r\n  --bs-list-group-bg: ${subtle};\r\n  --bs-list-group-border-color: ${borderSubtle};\r\n  --bs-list-group-action-hover-color: ${textEmphasis};\r\n  --bs-list-group-action-hover-bg: ${borderSubtle};\r\n  --bs-list-group-action-active-color: ${textEmphasis};\r\n  --bs-list-group-action-active-bg: ${subtle};\r\n  --bs-list-group-active-color: ${textEmphasis};\r\n  --bs-list-group-active-bg: ${subtle};\r\n  --bs-list-group-active-border-color: ${borderSubtle};\r\n}\r\n\r\n/* ─── Badge Primary ─── */\r\n.badge.text-bg-primary,\r\n.badge.bg-primary {\r\n  background-color: ${color} !important;\r\n}\r\n\r\n/* ─── Progress Bar ─── */\r\n.progress-bar {\r\n  background-color: ${color};\r\n}\r\n\r\n/* ─── Form Control / Select focus (hardcoded #86b7fe in BS5.3) ─── */\r\n.form-control:focus,\r\n.form-select:focus {\r\n  border-color: ${borderSubtle} !important;\r\n  box-shadow: 0 0 0 0.25rem rgba(${rgbString}, 0.25) !important;\r\n}\r\n\r\n/* ─── Form Check / Switch checked ─── */\r\n.form-check-input:checked {\r\n  background-color: ${color};\r\n  border-color: ${color};\r\n}\r\n\r\n/* ─── Form Switch focus shadow ─── */\r\n.form-check-input:focus {\r\n  box-shadow: 0 0 0 0.25rem rgba(${rgbString}, 0.25);\r\n}\r\n\r\n/* ─── Accordion active ─── */\r\n.accordion-button:not(.collapsed) {\r\n  color: ${textEmphasis};\r\n  background-color: ${subtle};\r\n}\r\n.accordion-button:focus {\r\n  box-shadow: 0 0 0 0.25rem rgba(${rgbString}, 0.25);\r\n}\r\n\r\n/* ─── Nav Pills active ─── */\r\n.nav-pills .nav-link.active,\r\n.nav-pills .show > .nav-link {\r\n  background-color: ${color};\r\n}\r\n\r\n/* ─── Pagination ─── */\r\n.page-link {\r\n  color: ${color};\r\n}\r\n.page-link:hover {\r\n  color: ${linkHover};\r\n}\r\n.page-link:focus {\r\n  box-shadow: 0 0 0 0.25rem rgba(${rgbString}, 0.25);\r\n}\r\n.page-item.active .page-link {\r\n  background-color: ${color};\r\n  border-color: ${color};\r\n}\r\n\r\n/* ─── List Group Active ─── */\r\n.list-group-item.active {\r\n  background-color: ${color};\r\n  border-color: ${color};\r\n}\r\n`;\r\n\r\n    this.injectStyleOverrides(css);\r\n\r\n    // Persist to localStorage\r\n    localStorage.setItem(this.STORAGE_KEY, color);\r\n  }\r\n\r\n  // ──────────────────────────────────────────────\r\n  // Style injection\r\n  // ──────────────────────────────────────────────\r\n  private injectStyleOverrides(css: string): void {\r\n    const styleId = 'theme-overrides';\r\n    let styleElement = this.document.getElementById(styleId);\r\n\r\n    if (!styleElement) {\r\n      styleElement = this.renderer.createElement('style');\r\n      this.renderer.setProperty(styleElement, 'id', styleId);\r\n      this.renderer.appendChild(this.document.head, styleElement);\r\n    }\r\n\r\n    this.renderer.setProperty(styleElement, 'textContent', css);\r\n  }\r\n\r\n  // ──────────────────────────────────────────────\r\n  // Color Utilities\r\n  // ──────────────────────────────────────────────\r\n  private hexToRgb(hex: string): { r: number; g: number; b: number } {\r\n    const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n    return result\r\n      ? {\r\n          r: parseInt(result[1], 16),\r\n          g: parseInt(result[2], 16),\r\n          b: parseInt(result[3], 16),\r\n        }\r\n      : { r: 0, g: 0, b: 0 };\r\n  }\r\n\r\n  private rgbToHex(r: number, g: number, b: number): string {\r\n    return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\r\n  }\r\n\r\n  /** Mix two colors. weight = percentage of color1. */\r\n  private mixColor(color1: string, color2: string, weight: number): string {\r\n    const c1 = this.hexToRgb(color1);\r\n    const c2 = this.hexToRgb(color2);\r\n    const w = weight / 100;\r\n    const w2 = 1 - w;\r\n    return this.rgbToHex(\r\n      Math.round(c1.r * w + c2.r * w2),\r\n      Math.round(c1.g * w + c2.g * w2),\r\n      Math.round(c1.b * w + c2.b * w2),\r\n    );\r\n  }\r\n\r\n  /** Bootstrap tint: mix with white. */\r\n  private tintColor(color: string, weight: number): string {\r\n    return this.mixColor('#ffffff', color, weight);\r\n  }\r\n\r\n  /** Bootstrap shade: mix with black. */\r\n  private shadeColor(color: string, weight: number): string {\r\n    return this.mixColor('#000000', color, weight);\r\n  }\r\n}\r\n","import { Injectable, Inject, InjectionToken, Optional } from '@angular/core';\r\nimport { L10n, setCulture, loadCldr } from '@syncfusion/ej2-base';\r\nimport PT_BR_TRANSLATIONS from '../assets/locales/pt-br.json';\r\nimport PT_BR_CLDR from '../assets/cldr/pt/all.json';\r\n\r\n/**\r\n * Configuration for the DsLocaleService.\r\n * Provide via `DS_LOCALE_CONFIG` token in your app's providers.\r\n */\r\nexport interface DsLocaleConfig {\r\n  /** The culture code to use (e.g. 'pt-BR'). If not set, 'pt-BR' is used as default. */\r\n  locale?: string;\r\n  /** Custom translations to load. If provided, they will be merged with the library defaults. */\r\n  customTranslations?: any;\r\n}\r\n\r\n/** Injection token to configure DsLocaleService per-app */\r\nexport const DS_LOCALE_CONFIG = new InjectionToken<DsLocaleConfig>('DS_LOCALE_CONFIG');\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class DsLocaleService {\r\n  private currentLocale: string = 'pt-BR';\r\n\r\n  constructor(@Optional() @Inject(DS_LOCALE_CONFIG) config?: DsLocaleConfig) {\r\n    this.initialize(config);\r\n  }\r\n\r\n  /**\r\n   * Initializes the Syncfusion locale settings.\r\n   */\r\n  private initialize(config?: DsLocaleConfig): void {\r\n    const locale = config?.locale || 'pt-BR';\r\n    this.currentLocale = locale;\r\n\r\n    // Load CLDR data for dates and numbers (from official all.json)\r\n    loadCldr(PT_BR_CLDR);\r\n\r\n    // Load translations (L10n)\r\n    if (this.currentLocale === 'pt-BR') {\r\n      // The official CLDR uses 'pt' as key. We map our 'pt-BR' labels to 'pt' \r\n      // so Syncfusion find them after setCulture('pt')\r\n      L10n.load({\r\n        'pt': (PT_BR_TRANSLATIONS as any)['pt-BR'] || PT_BR_TRANSLATIONS\r\n      });\r\n    }\r\n\r\n    // Load custom translations if provided\r\n    if (config?.customTranslations) {\r\n      L10n.load(config.customTranslations);\r\n    }\r\n\r\n    // Use 'pt' to match the official Syncfusion CLDR data key\r\n    const cultureToSet = this.currentLocale === 'pt-BR' ? 'pt' : this.currentLocale;\r\n    setCulture(cultureToSet);\r\n  }\r\n\r\n  /**\r\n   * Dynamically changes the culture.\r\n   * Note: Some Syncfusion components might need a refresh to apply the new culture.\r\n   */\r\n  public setLocale(locale: string): void {\r\n    this.currentLocale = locale;\r\n    // Map pt-BR to pt to match the official CLDR data key\r\n    const cultureToSet = locale === 'pt-BR' ? 'pt' : locale;\r\n    setCulture(cultureToSet);\r\n  }\r\n\r\n  /** Returns the current active locale */\r\n  public getLocale(): string {\r\n    return this.currentLocale;\r\n  }\r\n}\r\n","import { Injectable, signal } from '@angular/core';\n\nexport interface ToastMessageModel {\n  title?: string;\n  content: string;\n  cssClass?: string;\n  icon?: string;\n}\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class DsToastService {\n  readonly toastState = signal<ToastMessageModel | null>(null);\n\n  show(message: ToastMessageModel): void {\n    this.toastState.set({ ...message });\n  }\n\n  success(content: string, title?: string): void {\n    const config: ToastMessageModel = {\n      content,\n      cssClass: 'e-toast-success',\n      icon: 'bi bi-check-circle',\n    };\n    if (title) config.title = title;\n    this.show(config);\n  }\n\n  error(content: string, title?: string): void {\n    const config: ToastMessageModel = {\n      content,\n      cssClass: 'e-toast-danger',\n      icon: 'bi bi-x-circle',\n    };\n    if (title) config.title = title;\n    this.show(config);\n  }\n\n  warning(content: string, title?: string): void {\n    const config: ToastMessageModel = {\n      content,\n      cssClass: 'e-toast-warning',\n      icon: 'bi bi-exclamation-triangle',\n    };\n    if (title) config.title = title;\n    this.show(config);\n  }\n\n  info(content: string, title?: string): void {\n    const config: ToastMessageModel = {\n      content,\n      cssClass: 'e-toast-info',\n      icon: 'bi bi-info-circle',\n    };\n    if (title) config.title = title;\n    this.show(config);\n  }\n}\n","/*\r\n * Public API of @fiscal-io/ds-components (core).\r\n * Components live in secondary entries, e.g. `@fiscal-io/ds-components/button`.\r\n */\r\n\r\nexport * from './lib/services/ds-sidebar.service';\r\nexport * from './lib/services/theme.service';\r\nexport * from './lib/services/locale.service';\r\nexport * from './lib/services/ds-toast.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BvC;MACa,gB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"}