{"version":3,"file":"flowbite-angular-sidebar.mjs","sources":["../../../../libs/flowbite-angular/sidebar/sidebar-item-group.theme.service.ts","../../../../libs/flowbite-angular/sidebar/sidebar-item.theme.service.ts","../../../../libs/flowbite-angular/sidebar/sidebar-item.component.ts","../../../../libs/flowbite-angular/sidebar/sidebar-item-group.component.ts","../../../../libs/flowbite-angular/sidebar/sidebar-menu.theme.service.ts","../../../../libs/flowbite-angular/sidebar/sidebar-menu.component.ts","../../../../libs/flowbite-angular/sidebar/sidebar-page-content.theme.service.ts","../../../../libs/flowbite-angular/sidebar/sidebar-page-content.component.ts","../../../../libs/flowbite-angular/sidebar/sidebar.theme.service.ts","../../../../libs/flowbite-angular/sidebar/sidebar.component.ts","../../../../libs/flowbite-angular/sidebar/sidebar.theme.ts","../../../../libs/flowbite-angular/sidebar/sidebar-item.theme.ts","../../../../libs/flowbite-angular/sidebar/sidebar-item-group.theme.ts","../../../../libs/flowbite-angular/sidebar/sidebar-toggle.theme.service.ts","../../../../libs/flowbite-angular/sidebar/sidebar-toggle.component.ts","../../../../libs/flowbite-angular/sidebar/sidebar-toggle.theme.ts","../../../../libs/flowbite-angular/sidebar/sidebar-page-content.theme.ts","../../../../libs/flowbite-angular/sidebar/sidebar-menu.theme.ts","../../../../libs/flowbite-angular/sidebar/flowbite-angular-sidebar.ts"],"sourcesContent":["import type {\n  SidebarItemGroupClass,\n  SidebarItemGroupProperties,\n  SidebarItemGroupTheme,\n} from './sidebar-item-group.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `SidebarItemGroupTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_SIDEBAR_ITEM_GROUP_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_SIDEBAR_ITEM_GROUP_THEME_TOKEN = new InjectionToken<SidebarItemGroupTheme>(\n  'FLOWBITE_SIDEBAR_ITEM_GROUP_THEME_TOKEN'\n);\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class SidebarItemGroupThemeService\n  implements FlowbiteThemeService<SidebarItemGroupProperties>\n{\n  private readonly baseTheme = inject(FLOWBITE_SIDEBAR_ITEM_GROUP_THEME_TOKEN);\n\n  public getClasses(properties: SidebarItemGroupProperties): SidebarItemGroupClass {\n    const theme: SidebarItemGroupTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n    const output: SidebarItemGroupClass = {\n      rootClass: twMerge(theme.root.base),\n      spanClass: twMerge(theme.spanText.base, theme.spanText.color[properties.color]),\n    };\n\n    return output;\n  }\n}\n","import type {\n  SidebarItemClass,\n  SidebarItemProperties,\n  SidebarItemTheme,\n} from './sidebar-item.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `SidebarItemTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_SIDEBAR_ITEM_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_SIDEBAR_ITEM_THEME_TOKEN = new InjectionToken<SidebarItemTheme>(\n  'FLOWBITE_SIDEBAR_ITEM_THEME_TOKEN'\n);\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class SidebarItemThemeService implements FlowbiteThemeService<SidebarItemProperties> {\n  private readonly baseTheme = inject(FLOWBITE_SIDEBAR_ITEM_THEME_TOKEN);\n\n  public getClasses(properties: SidebarItemProperties): SidebarItemClass {\n    const theme: SidebarItemTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n    const output: SidebarItemClass = {\n      rootClass: twMerge(theme.root.base, theme.root.color[properties.color]),\n      sidebarIconClass: twMerge(theme.icon.base),\n    };\n\n    return output;\n  }\n}\n","import { SidebarItemGroupComponent } from './sidebar-item-group.component';\nimport type { SidebarItemClass, SidebarItemTheme } from './sidebar-item.theme';\nimport { SidebarItemThemeService } from './sidebar-item.theme.service';\nimport { SidebarMenuComponent } from './sidebar-menu.component';\nimport type { SidebarColors } from './sidebar.theme';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\nimport { BadgeComponent } from 'flowbite-angular/badge';\nimport { FlowbiteRouterLinkDirective } from 'flowbite-angular/router-link';\nimport { FlowbiteRouterLinkActiveDirective } from 'flowbite-angular/router-link-active';\nimport { SanitizeHtmlPipe } from 'flowbite-angular/sanitize-html';\n\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  inject,\n  InjectionToken,\n  makeEnvironmentProviders,\n  model,\n  ViewEncapsulation,\n} from '@angular/core';\n\nexport const FLOWBITE_SIDEBAR_ITEM_ICON_DEFAULT_VALUE = new InjectionToken<string | undefined>(\n  'FLOWBITE_SIDEBAR_ITEM_ICON_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_SIDEBAR_ITEM_LABEL_DEFAULT_VALUE = new InjectionToken<string | undefined>(\n  'FLOWBITE_SIDEBAR_ITEM_LABEL_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_SIDEBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n  DeepPartial<SidebarItemTheme>\n>('FLOWBITE_SIDEBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const sidebarItemDefaultValueProvider = makeEnvironmentProviders([\n  {\n    provide: FLOWBITE_SIDEBAR_ITEM_ICON_DEFAULT_VALUE,\n    useValue: undefined,\n  },\n  {\n    provide: FLOWBITE_SIDEBAR_ITEM_LABEL_DEFAULT_VALUE,\n    useValue: undefined,\n  },\n  {\n    provide: FLOWBITE_SIDEBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE,\n    useValue: {},\n  },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/sidebar/\n */\n@Component({\n  standalone: true,\n  imports: [SanitizeHtmlPipe, BadgeComponent],\n  selector: 'flowbite-sidebar-item',\n  template: `\n    @if (icon()) {\n      <span\n        class=\"flex-shrink-0\"\n        [innerHTML]=\"icon()! | sanitizeHtml\"></span>\n    }\n\n    <span\n      [class]=\"contentClasses().sidebarIconClass\"\n      [class.ml-3]=\"icon()\">\n      <ng-content />\n    </span>\n    @if (label()) {\n      <flowbite-badge>{{ label() }}</flowbite-badge>\n    }\n  `,\n  host: {\n    '(click)': 'onClick()',\n  },\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SidebarItemComponent extends BaseComponent<SidebarItemClass> {\n  /**\n   * Optional `FlowbiteRouterLinkDirective` injected\n   */\n  public readonly flowbiteRouterLink = inject(FlowbiteRouterLinkDirective, { optional: true });\n  /**\n   * Optional `FlowbiteRouterLinkActiveDirective` injected\n   */\n  public readonly flowbiteRouterLinkActive = inject(FlowbiteRouterLinkActiveDirective, {\n    optional: true,\n  });\n  /**\n   * Service injected used to generate class\n   */\n  public readonly themeService = inject(SidebarItemThemeService);\n  /**\n   * The optional parent `SidebarItemGroupComponent`\n   */\n  public readonly sidebarItemGroupComponent = inject(SidebarItemGroupComponent, { optional: true });\n  /**\n   * The optional parent `SidebarMenuComponent`\n   */\n  public readonly sidebarMenuComponent = inject(SidebarMenuComponent, { optional: true });\n\n  //#region properties\n  /**\n   * Set the sidebar item icon\n   *\n   * @default undefined\n   */\n  public icon = model(inject(FLOWBITE_SIDEBAR_ITEM_ICON_DEFAULT_VALUE));\n  /**\n   * Set the sidebar item color\n   *\n   * @default `SidebarItemGroupComponent`'s color\n   * @default `SidebarMenuComponent`'s color\n   */\n  public color = model<keyof SidebarColors>(\n    (this.sidebarItemGroupComponent ?? this.sidebarMenuComponent)!.color()\n  );\n  /**\n   * Set the sidebar item label\n   *\n   * @default undefined\n   */\n  public label = model(inject(FLOWBITE_SIDEBAR_ITEM_LABEL_DEFAULT_VALUE));\n  /**\n   * Set the custom style for this sidebar item\n   */\n  public customStyle = model(inject(FLOWBITE_SIDEBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE));\n  //#endregion\n\n  //#region BaseComponent implementation\n  public override fetchClass(): SidebarItemClass {\n    return this.themeService.getClasses({\n      icon: this.icon(),\n      color: this.color(),\n      label: this.label(),\n      customStyle: this.customStyle(),\n    });\n  }\n  //#endregion\n\n  /**\n   * Toggle sidebar menu visibility\n   */\n  onClick(): void {\n    (this.sidebarMenuComponent || this.sidebarItemGroupComponent?.sidebarMenuComponent)?.closeAll();\n    (\n      this.sidebarMenuComponent || this.sidebarItemGroupComponent?.sidebarMenuComponent\n    )?.sidebarComponent.toggleVisibility(false);\n  }\n}\n","import type { SidebarItemGroupClass, SidebarItemGroupTheme } from './sidebar-item-group.theme';\nimport { SidebarItemGroupThemeService } from './sidebar-item-group.theme.service';\nimport { SidebarItemComponent } from './sidebar-item.component';\nimport { SidebarMenuComponent } from './sidebar-menu.component';\nimport type { SidebarColors } from './sidebar.theme';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\nimport { IconComponent, IconRegistry } from 'flowbite-angular/icon';\nimport { CHEVRON_DOWN_SVG_ICON } from 'flowbite-angular/utils';\n\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  contentChildren,\n  inject,\n  InjectionToken,\n  makeEnvironmentProviders,\n  model,\n  untracked,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nexport const FLOWBITE_SIDEBAR_ITEM_GROUP_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n  DeepPartial<SidebarItemGroupTheme>\n>('FLOWBITE_SIDEBAR_ITEM_GROUP_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const sidebarItemGroupDefaultValueProvider = makeEnvironmentProviders([\n  {\n    provide: FLOWBITE_SIDEBAR_ITEM_GROUP_CUSTOM_STYLE_DEFAULT_VALUE,\n    useValue: {},\n  },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/sidebar/\n */\n@Component({\n  standalone: true,\n  imports: [IconComponent],\n  selector: 'flowbite-sidebar-item-group',\n  template: `\n    <span\n      [class]=\"contentClasses().spanClass\"\n      (click)=\"toggleVisibility()\">\n      <h4>{{ title() }}</h4>\n      <flowbite-icon\n        svgIcon=\"flowbite-angular:chevron-down\"\n        class=\"h-6 w-6 shrink-0 duration-200\"\n        [class.rotate-180]=\"!isOpen()\" />\n    </span>\n    @if (isOpen()) {\n      <ng-content />\n    }\n  `,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SidebarItemGroupComponent extends BaseComponent<SidebarItemGroupClass> {\n  /**\n   * Service injecteed used to generate class\n   */\n  public readonly themeService = inject(SidebarItemGroupThemeService);\n  /**\n   * `IconRegistry` service\n   */\n  public readonly iconRegistry = inject(IconRegistry);\n  /**\n   * `DomSanitizer` service\n   */\n  public readonly domSanitizer = inject(DomSanitizer);\n  /**\n   * The parent `SidebarMenuComponent`\n   */\n  public readonly sidebarMenuComponent = inject(SidebarMenuComponent);\n  /**\n   * List of `SidebarItemComponent`\n   */\n  public readonly sidebarItemChildren = contentChildren(SidebarItemComponent);\n\n  //#region properties\n  /**\n   * Set if the sidebar item group is open\n   *\n   * @default One of children is active\n   * @default false\n   */\n  public isOpen = model<boolean>(\n    this.sidebarItemChildren().some((x) => x.flowbiteRouterLinkActive?.isActive() ?? false)\n  );\n  /**\n   * Set the sidebar item group color\n   *\n   * @default `SidebarMenuComponent`'s color\n   */\n  public color = model<keyof SidebarColors>(this.sidebarMenuComponent.color());\n  /**\n   * Set the sidebar item group title\n   */\n  public title = model.required<string>();\n  /**\n   * Set the custom style for this sidebar item group\n   */\n  public customStyle = model(inject(FLOWBITE_SIDEBAR_ITEM_GROUP_CUSTOM_STYLE_DEFAULT_VALUE));\n  //#endregion\n\n  //#region BaseComponent implementation\n  public override fetchClass(): SidebarItemGroupClass {\n    return this.themeService.getClasses({\n      color: this.color(),\n      customStyle: this.customStyle(),\n    });\n  }\n\n  public override init(): void {\n    this.iconRegistry.addRawSvgIconInNamepsace(\n      'flowbite-angular',\n      'chevron-down',\n      this.domSanitizer.bypassSecurityTrustHtml(CHEVRON_DOWN_SVG_ICON)\n    );\n  }\n  //#endregion\n\n  /**\n   * Toggle isOpen value\n   *\n   * @param isOpen If provided force isOpen value\n   */\n  public toggleVisibility(isOpen?: boolean): void {\n    if (isOpen === undefined) {\n      isOpen = untracked(() => !this.isOpen());\n    }\n\n    this.isOpen.set(isOpen);\n  }\n}\n","import type {\n  SidebarMenuClass,\n  SidebarMenuProperties,\n  SidebarMenuTheme,\n} from './sidebar-menu.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `SidebarMenuTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_SIDEBAR_MENU_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_SIDEBAR_MENU_THEME_TOKEN = new InjectionToken<SidebarMenuTheme>(\n  'FLOWBITE_SIDEBAR_MENU_THEME_TOKEN'\n);\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class SidebarMenuThemeService implements FlowbiteThemeService<SidebarMenuProperties> {\n  private readonly baseTheme = inject(FLOWBITE_SIDEBAR_MENU_THEME_TOKEN);\n\n  public getClasses(properties: SidebarMenuProperties): SidebarMenuClass {\n    const theme: SidebarMenuTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n    const output: SidebarMenuClass = {\n      rootClass: twMerge(\n        theme.root.base,\n        theme.root.isOpen[properties.isOpen],\n        properties.isOpen === 'enabled' && theme.root.displayMode[properties.displayMode],\n        theme.root.color[properties.color]\n      ),\n    };\n\n    return output;\n  }\n}\n","import { SidebarItemGroupComponent } from './sidebar-item-group.component';\nimport { SidebarItemComponent } from './sidebar-item.component';\nimport type { SidebarMenuClass, SidebarMenuTheme } from './sidebar-menu.theme';\nimport { SidebarMenuThemeService } from './sidebar-menu.theme.service';\nimport { SidebarComponent } from './sidebar.component';\nimport type { SidebarColors } from './sidebar.theme';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\n\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  contentChildren,\n  inject,\n  InjectionToken,\n  makeEnvironmentProviders,\n  model,\n  ViewEncapsulation,\n} from '@angular/core';\n\nexport const FLOWBITE_SIDEBAR_MENU_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n  DeepPartial<SidebarMenuTheme>\n>('FLOWBITE_SIDEBAR_MENU_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const sidebarMenuDefaultValueProvider = makeEnvironmentProviders([\n  {\n    provide: FLOWBITE_SIDEBAR_MENU_CUSTOM_STYLE_DEFAULT_VALUE,\n    useValue: {},\n  },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/sidebar/\n */\n@Component({\n  standalone: true,\n  selector: 'flowbite-sidebar-menu',\n  template: '<ng-content />',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SidebarMenuComponent extends BaseComponent<SidebarMenuClass> {\n  /**\n   * Service injected used to generate class\n   */\n  public readonly themeService = inject(SidebarMenuThemeService);\n  /**\n   * The parent `SidebarComponent`\n   */\n  public readonly sidebarComponent = inject(SidebarComponent);\n  /**\n   * List of `SidebarItemGroupComponent`\n   */\n  public readonly sidebarItemGroupChildren = contentChildren(SidebarItemGroupComponent);\n  /**\n   * List of `SidebarItemComponent`\n   */\n  public readonly sidebarItemChildren = contentChildren(SidebarItemComponent);\n\n  //#region properties\n  /**\n   * Set the sidebar menu color\n   *\n   * @default `SidebarComponent`'s color\n   */\n  public color = model<keyof SidebarColors>(this.sidebarComponent.color());\n  /**\n   * Set the custom style for this sidebar menu\n   */\n  public customStyle = model(inject(FLOWBITE_SIDEBAR_MENU_CUSTOM_STYLE_DEFAULT_VALUE));\n  //#endregion\n\n  public override fetchClass(): SidebarMenuClass {\n    return this.themeService.getClasses({\n      isOpen: booleanToFlowbiteBoolean(this.sidebarComponent.isOpen()),\n      color: this.color(),\n      displayMode: this.sidebarComponent.displayMode(),\n      customStyle: this.customStyle(),\n    });\n  }\n\n  /**\n   * Toggle visibility of ll children to false\n   */\n  public closeAll(): void {\n    this.sidebarItemGroupChildren().forEach((x) => x.toggleVisibility(false));\n  }\n}\n","import type {\n  SidebarPageContentClass,\n  SidebarPageContentProperties,\n  SidebarPageContentTheme,\n} from './sidebar-page-content.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `SidebarPageContentTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_SIDEBAR_PAGE_CONTENT_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_SIDEBAR_PAGE_CONTENT_THEME_TOKEN =\n  new InjectionToken<SidebarPageContentTheme>('FLOWBITE_SIDEBAR_PAGE_CONTENT_THEME_TOKEN');\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class SidebarPageContentThemeService\n  implements FlowbiteThemeService<SidebarPageContentProperties>\n{\n  private readonly baseTheme = inject(FLOWBITE_SIDEBAR_PAGE_CONTENT_THEME_TOKEN);\n\n  public getClasses(properties: SidebarPageContentProperties): SidebarPageContentClass {\n    const theme: SidebarPageContentTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n    const output: SidebarPageContentClass = {\n      rootClass: twMerge(\n        theme.root.base,\n        properties.isOpen === 'enabled' && theme.root.displayMode[properties.displayMode]\n      ),\n    };\n\n    return output;\n  }\n}\n","import type {\n  SidebarPageContentClass,\n  SidebarPageContentTheme,\n} from './sidebar-page-content.theme';\nimport { SidebarPageContentThemeService } from './sidebar-page-content.theme.service';\nimport { SidebarComponent } from './sidebar.component';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\n\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  inject,\n  InjectionToken,\n  makeEnvironmentProviders,\n  model,\n  ViewEncapsulation,\n} from '@angular/core';\n\nexport const FLOWBITE_SIDEBAR_PAGE_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n  DeepPartial<SidebarPageContentTheme>\n>('FLOWBITE_SIDEBAR_PAGE_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const sidebarPageContentDefaultValueProvider = makeEnvironmentProviders([\n  {\n    provide: FLOWBITE_SIDEBAR_PAGE_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE,\n    useValue: {},\n  },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/sidebar/\n */\n@Component({\n  standalone: true,\n  selector: 'flowbite-sidebar-page-content',\n  template: `<ng-content />`,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SidebarPageContentComponent extends BaseComponent<SidebarPageContentClass> {\n  /**\n   * Service injected used to generate class\n   */\n  public readonly themeService = inject(SidebarPageContentThemeService);\n  /**\n   * The parent `SidebarComponent`\n   */\n  public readonly sidebarComponent = inject(SidebarComponent);\n\n  //#region properties\n  /**\n   * Set the custom style for this sidebar page content\n   */\n  public customStyle = model(inject(FLOWBITE_SIDEBAR_PAGE_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE));\n  //endregion\n\n  //region BaseComponent implementation\n  public override fetchClass(): SidebarPageContentClass {\n    return this.themeService.getClasses({\n      isOpen: booleanToFlowbiteBoolean(this.sidebarComponent.isOpen()),\n      displayMode: this.sidebarComponent.displayMode(),\n      customStyle: this.customStyle(),\n    });\n  }\n  //endregion\n}\n","import type { SidebarClass, SidebarProperties, SidebarTheme } from './sidebar.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `SidebarTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_SIDEBAR_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_SIDEBAR_THEME_TOKEN = new InjectionToken<SidebarTheme>(\n  'FLOWBITE_SIDEBAR_THEME_TOKEN'\n);\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class SidebarThemeService implements FlowbiteThemeService<SidebarProperties> {\n  private readonly baseTheme = inject(FLOWBITE_SIDEBAR_THEME_TOKEN);\n\n  public getClasses(properties: SidebarProperties): SidebarClass {\n    const theme: SidebarTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n    const output: SidebarClass = {\n      rootClass: twMerge(theme.root.base, theme.root.isRounded[properties.isRounded]),\n    };\n\n    return output;\n  }\n}\n","import { SidebarMenuComponent } from './sidebar-menu.component';\nimport { SidebarPageContentComponent } from './sidebar-page-content.component';\nimport type {\n  SidebarClass,\n  SidebarColors,\n  SidebarDisplayMode,\n  SidebarTheme,\n} from './sidebar.theme';\nimport { SidebarThemeService } from './sidebar.theme.service';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\n\nimport type { OnInit } from '@angular/core';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  contentChild,\n  inject,\n  InjectionToken,\n  makeEnvironmentProviders,\n  model,\n  untracked,\n  ViewEncapsulation,\n} from '@angular/core';\n\nexport const FLOWBITE_SIDEBAR_COLOR_DEFAULT_VALUE = new InjectionToken<keyof SidebarColors>(\n  'FLOWBITE_SIDEBAR_COLOR_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_SIDEBAR_DISPLAY_MODE_DEFAULT_VALUE = new InjectionToken<\n  keyof SidebarDisplayMode\n>('FLOWBITE_SIDEBAR_DISPLAY_MODE_DEFAULT_VALUE');\n\nexport const FLOWBITE_SIDEBAR_IS_OPEN_DEFAULT_VALUE = new InjectionToken<boolean>(\n  'FLOWBITE_SIDEBAR_IS_OPEN_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_SIDEBAR_IS_ROUNDED_DEFAULT_VALUE = new InjectionToken<boolean>(\n  'FLOWBITE_SIDEBAR_IS_ROUNDED_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_SIDEBAR_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n  DeepPartial<SidebarTheme>\n>('FLOWBITE_SIDEBAR_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const sidebarDefaultValueProvider = makeEnvironmentProviders([\n  {\n    provide: FLOWBITE_SIDEBAR_COLOR_DEFAULT_VALUE,\n    useValue: 'primary',\n  },\n  {\n    provide: FLOWBITE_SIDEBAR_DISPLAY_MODE_DEFAULT_VALUE,\n    useValue: 'push',\n  },\n  {\n    provide: FLOWBITE_SIDEBAR_IS_OPEN_DEFAULT_VALUE,\n    useValue: false,\n  },\n  {\n    provide: FLOWBITE_SIDEBAR_IS_ROUNDED_DEFAULT_VALUE,\n    useValue: false,\n  },\n  {\n    provide: FLOWBITE_SIDEBAR_CUSTOM_STYLE_DEFAULT_VALUE,\n    useValue: {},\n  },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/sidebar/\n */\n@Component({\n  standalone: true,\n  selector: 'flowbite-sidebar',\n  template: `<ng-content />`,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SidebarComponent extends BaseComponent<SidebarClass> implements OnInit {\n  /**\n   * Service injected used to generate class\n   */\n  public readonly themeService = inject(SidebarThemeService);\n  /**\n   * The child `SidebarMenuComponent`\n   */\n  public readonly sidebarMenuChild = contentChild.required(SidebarMenuComponent);\n  /**\n   * The child `SidebarPageContentComponent`\n   */\n  public readonly sidebarPageContentChild = contentChild.required(SidebarPageContentComponent);\n\n  //#region properties\n  /**\n   * Set the sidebar color\n   *\n   * @default primary\n   */\n  public color = model(inject(FLOWBITE_SIDEBAR_COLOR_DEFAULT_VALUE));\n  /**\n   * Set the sidebar display mode\n   *\n   * @default push\n   */\n  public displayMode = model(inject(FLOWBITE_SIDEBAR_DISPLAY_MODE_DEFAULT_VALUE));\n  /**\n   * Set is the sidebar is open\n   *\n   * @default false\n   */\n  public isOpen = model(inject(FLOWBITE_SIDEBAR_IS_OPEN_DEFAULT_VALUE));\n  /**\n   * Set is the sidebar is rounded\n   *\n   * @default false\n   */\n  public isRounded = model(inject(FLOWBITE_SIDEBAR_IS_ROUNDED_DEFAULT_VALUE));\n  /**\n   * Set the custom style for this sidebar\n   */\n  public customStyle = model(inject(FLOWBITE_SIDEBAR_CUSTOM_STYLE_DEFAULT_VALUE));\n  //#endregion\n\n  //#region BaseComponent implementation\n  public override fetchClass(): SidebarClass {\n    return this.themeService.getClasses({\n      displayMode: this.displayMode(),\n      isRounded: booleanToFlowbiteBoolean(this.isRounded()),\n      customStyle: this.customStyle(),\n    });\n  }\n  //#endregion\n\n  /**\n   * Toggle sidebar visibility\n   *\n   * @param isOpen If provided force isOpen value\n   */\n  public toggleVisibility(isOpen?: boolean): void {\n    if (isOpen === undefined) {\n      isOpen = untracked(() => !this.isOpen());\n    }\n\n    this.isOpen.set(isOpen);\n  }\n}\n","import type { DeepPartial, FlowbiteBoolean, FlowbiteClass, FlowbiteColors } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region Component theme option\nexport interface SidebarColors\n  extends Pick<FlowbiteColors, 'primary' | 'dark' | 'blue' | 'red' | 'green' | 'yellow'> {\n  [key: string]: string;\n}\n\nexport interface SidebarDisplayMode {\n  push: string;\n  over: string;\n  backdrop: string;\n}\n//endregion\n\nexport interface SidebarProperties {\n  displayMode: keyof SidebarDisplayMode;\n  isRounded: keyof FlowbiteBoolean;\n  customStyle: DeepPartial<SidebarTheme>;\n}\n\nexport interface SidebarTheme {\n  root: {\n    base: string;\n    isRounded: FlowbiteBoolean;\n  };\n}\n\nexport const sidebarTheme: SidebarTheme = createTheme({\n  root: {\n    base: 'flex flex-row min-h-full',\n    isRounded: {\n      enabled: 'rounded',\n      disabled: '',\n    },\n  },\n});\n\nexport type SidebarClass = FlowbiteClass;\n","import type { SidebarColors } from './sidebar.theme';\n\nimport type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `SidebarItemComponent`\n */\nexport interface SidebarItemProperties {\n  icon: string | undefined;\n  color: keyof SidebarColors;\n  label: string | undefined;\n  customStyle: DeepPartial<SidebarItemTheme>;\n}\n\n/**\n * Theme definition for `SidebarItemComponent`\n */\nexport interface SidebarItemTheme {\n  root: {\n    base: string;\n    color: SidebarColors;\n  };\n  icon: {\n    base: string;\n  };\n}\n\n/**\n * Default theme for `SidebarItemComponent`\n */\nexport const sidebarItemTheme: SidebarItemTheme = createTheme({\n  root: {\n    base: 'group flex cursor-pointer items-center rounded-lg p-2 text-base font-normal text-gray-900 dark:text-white',\n    color: {\n      primary:\n        'aria-current:text-primary-500 dark:aria-current:text-primary-300 hover:bg-primary-200/35 dark:hover:bg-primary-700/35',\n      dark: 'aria-current:text-gray-500 dark:aria-current:text-gray-300 hover:bg-gray-200/35 dark:hover:bg-gray-700/35',\n      blue: 'aria-current:text-blue-500 dark:aria-current:text-blue-300 hover:bg-blue-200/35 dark:hover:bg-blue-700/35',\n      red: 'aria-current:text-red-500 dark:aria-current:text-red-300 hover:bg-red-200/35 dark:hover:bg-red-700/35',\n      green:\n        'aria-current:text-green-500 dark:aria-current:text-green-300 hover:bg-green-200/35 dark:hover:bg-green-700/35',\n      yellow:\n        'aria-current:text-yellow-500 dark:aria-current:text-yellow-300 hover:bg-yellow-200/35 dark:hover:bg-yellow-700/35',\n    },\n  },\n  icon: {\n    base: 'flex-1 whitespace-nowrap',\n  },\n});\n\n/**\n * Generated class definition for `SidebarItemComponent`\n */\nexport interface SidebarItemClass extends FlowbiteClass {\n  sidebarIconClass: string;\n}\n","import type { SidebarColors } from './sidebar.theme';\n\nimport type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `SidebarItemGroupComponent`\n */\nexport interface SidebarItemGroupProperties {\n  color: keyof SidebarColors;\n  customStyle: DeepPartial<SidebarItemGroupTheme>;\n}\n\n/**\n * Theme definition for `SidebarItemGroupComponent`\n */\nexport interface SidebarItemGroupTheme {\n  root: {\n    base: string;\n  };\n  spanText: {\n    base: string;\n    color: SidebarColors;\n  };\n}\n\n/**\n * Default theme for `SidebarItemGroupComponent`\n */\nexport const sidebarItemGroupTheme: SidebarItemGroupTheme = createTheme({\n  root: {\n    base: 'flex flex-col py-2 font-semibold cursor-pointer',\n  },\n  spanText: {\n    base: 'flex flex-row justify-between m-2',\n    color: {\n      primary: 'text-primary-600',\n      dark: 'text-gray-600',\n      blue: 'text-blue-600',\n      red: 'text-red-600',\n      green: 'text-green-600',\n      yellow: 'text-yellow-600',\n    },\n  },\n});\n\n/**\n * Generated class definition for `SidebarItemGroupComponent`\n */\nexport interface SidebarItemGroupClass extends FlowbiteClass {\n  spanClass: string;\n}\n","import type {\n  SidebarToggleClass,\n  SidebarToggleProperties,\n  SidebarToggleTheme,\n} from './sidebar-toggle.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `SidebarToggleTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_SIDEBAR_TOGGLE_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_SIDEBAR_TOGGLE_THEME_TOKEN = new InjectionToken<SidebarToggleTheme>(\n  'FLOWBITE_TOGGLE_SIDEBAR_THEME_TOKEN'\n);\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class SidebarToggleThemeService implements FlowbiteThemeService<SidebarToggleProperties> {\n  private readonly baseTheme = inject(FLOWBITE_SIDEBAR_TOGGLE_THEME_TOKEN);\n\n  public getClasses(properties: SidebarToggleProperties): SidebarToggleClass {\n    const theme: SidebarToggleTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n    const output: SidebarToggleClass = {\n      rootClass: twMerge(\n        theme.root.base,\n        theme.root.color[properties.color],\n        theme.root.size[properties.color]\n      ),\n    };\n\n    return output;\n  }\n}\n","import type {\n  SidebarToggleClass,\n  SidebarToggleSizes,\n  SidebarToggleTheme,\n} from './sidebar-toggle.theme';\nimport { SidebarToggleThemeService } from './sidebar-toggle.theme.service';\nimport { SidebarComponent } from './sidebar.component';\nimport type { SidebarColors } from './sidebar.theme';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\nimport { IconComponent, IconRegistry } from 'flowbite-angular/icon';\nimport { BARS_SVG_ICON } from 'flowbite-angular/utils';\n\nimport type { OnInit } from '@angular/core';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  inject,\n  InjectionToken,\n  makeEnvironmentProviders,\n  model,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nexport const FLOWBITE_SIDEBAR_TOGGLE_COLOR_DEFAULT_VALUE = new InjectionToken<keyof SidebarColors>(\n  'FLOWBITE_SIDEBAR_TOGGLE_COLOR_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_SIDEBAR_TOGGLE_SIZE_DEFAULT_VALUE = new InjectionToken<\n  keyof SidebarToggleSizes\n>('FLOWBITE_SIDEBAR_TOGGLE_SIZE_DEFAULT_VALUE');\n\nexport const FLOWBITE_SIDEBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n  DeepPartial<SidebarToggleTheme>\n>('FLOWBITE_SIDEBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const sidebarToggleDefaultValueProvider = makeEnvironmentProviders([\n  {\n    provide: FLOWBITE_SIDEBAR_TOGGLE_COLOR_DEFAULT_VALUE,\n    useValue: 'primary',\n  },\n  {\n    provide: FLOWBITE_SIDEBAR_TOGGLE_SIZE_DEFAULT_VALUE,\n    useValue: 'sm',\n  },\n  {\n    provide: FLOWBITE_SIDEBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE,\n    useValue: {},\n  },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/sidebar/\n */\n@Component({\n  standalone: true,\n  imports: [IconComponent],\n  selector: 'flowbite-sidebar-toggle',\n  template: `<flowbite-icon svgIcon=\"flowbite-angular:bars\" />`,\n  host: {\n    '(click)': 'onClick()',\n  },\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SidebarToggleComponent extends BaseComponent<SidebarToggleClass> implements OnInit {\n  /**\n   * Service injected used to generate class\n   */\n  public readonly themeService = inject(SidebarToggleThemeService);\n  /**\n   * `IconRegistry` service\n   */\n  public readonly iconRegistry = inject(IconRegistry);\n  /**\n   * `DomSanitizer` service\n   */\n  public readonly domSanitizer = inject(DomSanitizer);\n  /**\n   * The `SidebarComponent` to use\n   *\n   * @default The injected `SidebarComponent`\n   */\n  public readonly sidebarComponent = model(inject(SidebarComponent));\n\n  //#region properties\n  /**\n   * Set the sidebar toggle color\n   *\n   * @default primary\n   */\n  public color = model(inject(FLOWBITE_SIDEBAR_TOGGLE_COLOR_DEFAULT_VALUE));\n  /**\n   * Set the sidebar toggle size\n   *\n   * @default sm\n   */\n  public size = model(inject(FLOWBITE_SIDEBAR_TOGGLE_SIZE_DEFAULT_VALUE));\n  /**\n   * Set the custom style for this sidebar toggle\n   */\n  public customStyle = model(inject(FLOWBITE_SIDEBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE));\n  //#endregion\n\n  //#region BaseComponent implementation\n  public override fetchClass(): SidebarToggleClass {\n    return this.themeService.getClasses({\n      color: this.color(),\n      size: this.size(),\n      customStyle: this.customStyle(),\n    });\n  }\n\n  public override init(): void {\n    this.iconRegistry.addRawSvgIconInNamepsace(\n      'flowbite-angular',\n      'tabs',\n      this.domSanitizer.bypassSecurityTrustHtml(BARS_SVG_ICON)\n    );\n  }\n  //#endregion\n\n  /**\n   * Toggle sidebar visibility\n   */\n  public onClick(): void {\n    const isOpen = this.sidebarComponent().isOpen();\n\n    this.sidebarComponent().isOpen.set(!isOpen);\n  }\n}\n","import type { SidebarColors } from './sidebar.theme';\n\nimport type { DeepPartial, FlowbiteClass, FlowbiteSizes } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region region Component theme option\n/**\n * Available sizes for `SidebarToggleComponent`\n */\nexport interface SidebarToggleSizes extends Pick<FlowbiteSizes, 'sm'> {\n  [key: string]: string;\n}\n//#endregion\n\n/**\n * Required properties for the class generation of `SidebarToggleComponent`\n */\nexport interface SidebarToggleProperties {\n  color: keyof SidebarColors;\n  size: keyof SidebarToggleSizes;\n  customStyle: DeepPartial<SidebarToggleTheme>;\n}\n\n/**\n * Theme definitions for `SidebarToggleComponent`\n */\nexport interface SidebarToggleTheme {\n  root: {\n    base: string;\n    color: SidebarColors;\n    size: SidebarToggleSizes;\n  };\n}\n\n/**\n * Default theme for `SidebarToggleComponent`\n */\nexport const sidebarToggleTheme: SidebarToggleTheme = createTheme({\n  root: {\n    base: 'cursor-pointer inline-flex items-center p-2 justify-center rounded-lg focus:outline-none focus:ring-2',\n    color: {\n      primary:\n        'text-primary-500 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-gray-700 focus:ring-primary-200 dark:focus:ring-primary-600',\n      dark: 'text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:ring-gray-200 dark:focus:ring-gray-600',\n      blue: 'text-blue-500 dark:text-blue-400 hover:bg-blue-100 dark:hover:bg-blue-700 focus:ring-blue-200 dark:focus:ring-blue-600',\n      red: 'text-red-500 dark:text-red-400 hover:bg-red-100 dark:hover:bg-red-700 focus:ring-red-200 dark:focus:ring-red-600',\n      green:\n        'text-green-500 dark:text-green-400 hover:bg-green-100 dark:hover:bg-green-700 focus:ring-green-200 dark:focus:ring-green-600',\n      yellow:\n        'text-yellow-500 dark:text-yellow-400 hover:bg-yellow-100 dark:hover:bg-yellow-700 focus:ring-yellow-200 dark:focus:ring-yellow-600',\n    },\n    size: {\n      sm: 'text-sm',\n    },\n  },\n});\n\n/**\n * Generated class definition for `SidebarToggleComponent`\n */\nexport type SidebarToggleClass = FlowbiteClass;\n","import type { SidebarDisplayMode } from './sidebar.theme';\n\nimport type { DeepPartial, FlowbiteBoolean, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `SidebarPageContentComponent`\n */\nexport interface SidebarPageContentProperties {\n  isOpen: keyof FlowbiteBoolean;\n  displayMode: keyof SidebarDisplayMode;\n  customStyle: DeepPartial<SidebarPageContentTheme>;\n}\n\n/**\n * Theme definition for `SidebarPageContentComponent`\n */\nexport interface SidebarPageContentTheme {\n  root: {\n    base: string;\n    displayMode: SidebarDisplayMode;\n  };\n}\n\n/**\n * Default theme for `SidebarPageContentComponent`\n */\nexport const sidebarPageContentTheme: SidebarPageContentTheme = createTheme({\n  root: {\n    base: 'flex flex-1',\n    displayMode: {\n      push: '',\n      over: '',\n      backdrop: 'sticky left-0 right-0 z-30 bg-gray-500 bg-opacity-50 blur-md',\n    },\n  },\n});\n\n/**\n * Generated class definition for `SidebarPageContentComponent`\n */\nexport type SidebarPageContentClass = FlowbiteClass;\n","import type { SidebarColors, SidebarDisplayMode } from './sidebar.theme';\n\nimport type { DeepPartial, FlowbiteBoolean, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class definition of `SidebarMenuComponent`\n */\nexport interface SidebarMenuProperties {\n  isOpen: keyof FlowbiteBoolean;\n  color: keyof SidebarColors;\n  displayMode: keyof SidebarDisplayMode;\n  customStyle: DeepPartial<SidebarMenuTheme>;\n}\n\n/**\n * Theme definition for `SidebarMenuComponent`\n */\nexport interface SidebarMenuTheme {\n  root: {\n    base: string;\n    displayMode: SidebarDisplayMode;\n    isOpen: FlowbiteBoolean;\n    color: SidebarColors;\n  };\n}\n\n/**\n * Default theme for `SidebarMenuComponent`\n */\nexport const sidebarMenuTheme: SidebarMenuTheme = createTheme({\n  root: {\n    base: 'flex-col min-h-full overflow-y-auto shrink-0 pr-1 border-r bg-white dark:bg-gray-800',\n    displayMode: {\n      push: '',\n      over: 'sticky top-0 z-50',\n      backdrop: 'sticky top-0 z-50',\n    },\n    isOpen: {\n      enabled: 'flex',\n      disabled: 'hidden',\n    },\n    color: {\n      primary: 'border-primary-200 dark:border-primary-700',\n      dark: 'border-gray-200 dark:border-gray-800',\n      blue: 'border-blue-200 dark:border-blue-700',\n      red: 'border-red-200 dark:border-red-700',\n      green: 'border-green-200 dark:border-green-700',\n      yellow: 'border-yellow-200 dark:border-yellow-700',\n    },\n  },\n});\n\n/**\n * Generated class definition for `SidebarMenuComponent`\n */\nexport type SidebarMenuClass = FlowbiteClass;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}