UNPKG

flowbite-angular

Version:

<div align="center"> <h1>:construction: flowbite-angular (unreleased) :construction:</h1> <p> <a href="https://flowbite.com"> <img alt="Flowbite - Tailwind CSS components" width="350" src="https://flowbite.s3.amazonaws.com/github/logo-github

1 lines 51 kB
{"version":3,"file":"flowbite-angular-navbar.mjs","sources":["../../../../libs/flowbite-angular/navbar/navbar-brand.theme.service.ts","../../../../libs/flowbite-angular/navbar/navbar-brand.component.ts","../../../../libs/flowbite-angular/navbar/navbar-content.theme.service.ts","../../../../libs/flowbite-angular/navbar/navbar-content.component.ts","../../../../libs/flowbite-angular/navbar/navbar-toggle.theme.service.ts","../../../../libs/flowbite-angular/navbar/navbar-toggle.component.ts","../../../../libs/flowbite-angular/navbar/navbar.theme.service.ts","../../../../libs/flowbite-angular/navbar/navbar.component.ts","../../../../libs/flowbite-angular/navbar/navbar.theme.ts","../../../../libs/flowbite-angular/navbar/navbar-brand.theme.ts","../../../../libs/flowbite-angular/navbar/navbar-content.theme.ts","../../../../libs/flowbite-angular/navbar/navbar-item.theme.service.ts","../../../../libs/flowbite-angular/navbar/navbar-item.component.ts","../../../../libs/flowbite-angular/navbar/navbar-item.theme.ts","../../../../libs/flowbite-angular/navbar/navbar-toggle.theme.ts","../../../../libs/flowbite-angular/navbar/navbar-icon-button.theme.service.ts","../../../../libs/flowbite-angular/navbar/navbar-icon-button.component.ts","../../../../libs/flowbite-angular/navbar/navbar-icon-button.theme.ts","../../../../libs/flowbite-angular/navbar/flowbite-angular-navbar.ts"],"sourcesContent":["import type {\n NavbarBrandClass,\n NavbarBrandProperties,\n NavbarBrandTheme,\n} from './navbar-brand.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 `NavbarBrandTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_NAVBAR_BRAND_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_NAVBAR_BRAND_THEME_TOKEN = new InjectionToken<NavbarBrandTheme>(\n 'FLOWBITE_NAVBAR_BRAND_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavbarBrandThemeService implements FlowbiteThemeService<NavbarBrandProperties> {\n private readonly baseTheme = inject(FLOWBITE_NAVBAR_BRAND_THEME_TOKEN);\n\n public getClasses(properties: NavbarBrandProperties): NavbarBrandClass {\n const theme: NavbarBrandTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: NavbarBrandClass = {\n rootClass: twMerge(theme.root.base),\n };\n\n return output;\n }\n}\n","import type { NavbarBrandClass, NavbarBrandTheme } from './navbar-brand.theme';\nimport { NavbarBrandThemeService } from './navbar-brand.theme.service';\nimport { NavbarComponent } from './navbar.component';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } 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_NAVBAR_BRAND_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<NavbarBrandTheme>\n>('FLOWBITE_NAVBAR_BRAND_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const navbarBrandDefaultThemeProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_NAVBAR_BRAND_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/navbar/\n */\n@Component({\n standalone: true,\n selector: 'flowbite-navbar-brand',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarBrandComponent extends BaseComponent<NavbarBrandClass> {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(NavbarBrandThemeService);\n /**\n * The parent `NavbarComponent`\n */\n public readonly navbarComponent = inject(NavbarComponent);\n\n //#region properties\n /**\n * Set the custom style for this navbar brand\n */\n public customStyle = model(inject(FLOWBITE_NAVBAR_BRAND_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): NavbarBrandClass {\n return this.themeService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n}\n","import type {\n NavbarContentClass,\n NavbarContentProperties,\n NavbarContentTheme,\n} from './navbar-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 `NavbarContentTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_NAVBAR_CONTENT_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_NAVBAR_CONTENT_THEME_TOKEN = new InjectionToken<NavbarContentTheme>(\n 'FLOWBITE_NAVBAR_CONTENT_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavbarContentThemeService implements FlowbiteThemeService<NavbarContentProperties> {\n private readonly baseTheme = inject(FLOWBITE_NAVBAR_CONTENT_THEME_TOKEN);\n\n public getClasses(properties: NavbarContentProperties): NavbarContentClass {\n const theme: NavbarContentTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: NavbarContentClass = {\n rootClass: twMerge(theme.root.base),\n navbarContentListClass: twMerge(theme.list.base),\n };\n\n return output;\n }\n}\n","import type { NavbarContentClass, NavbarContentTheme } from './navbar-content.theme';\nimport { NavbarContentThemeService } from './navbar-content.theme.service';\nimport { NavbarComponent } from './navbar.component';\nimport type { NavbarColors } from './navbar.theme';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\n\nimport { animate, state, style, transition, trigger } from '@angular/animations';\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';\n\nexport const FLOWBITE_NAVBAR_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<NavbarContentTheme>\n>('FLOWBITE_NAVBAR_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const navbarContentDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_NAVBAR_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/navbar/\n */\n@Component({\n standalone: true,\n selector: 'flowbite-navbar-content',\n template: `\n <div [class]=\"contentClasses().navbarContentListClass\">\n <ng-content />\n </div>\n `,\n host: {\n '[@isOpenAnimation]': 'navbarComponent().isOpen()',\n },\n animations: [\n trigger('isOpenAnimation', [\n state('true', style({ height: '*' })),\n state('false', style({ height: '0px' })),\n transition('true <=> false', animate('300ms')),\n ]),\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarContentComponent extends BaseComponent<NavbarContentClass> implements OnInit {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(NavbarContentThemeService);\n /**\n * The parent `NavbarComponent`\n */\n public readonly navbarComponent = model(inject(NavbarComponent));\n\n //#region properties\n /**\n * Set the navbar content color\n *\n * @default `NavbarComponent`'s color\n */\n public color = model<keyof NavbarColors>(this.navbarComponent().color());\n /**\n * Set the custom style for this navbar content\n */\n public customStyle = model(inject(FLOWBITE_NAVBAR_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): NavbarContentClass {\n return this.themeService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n}\n","import type {\n NavbarToggleClass,\n NavbarToggleProperties,\n NavbarToggleTheme,\n} from './navbar-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 `NavbarToggleTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_NAVBAR_TOGGLE_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_NAVBAR_TOGGLE_THEME_TOKEN = new InjectionToken<NavbarToggleTheme>(\n 'FLOWBITE_NAVBAR_TOGGLE_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavbarToggleThemeService implements FlowbiteThemeService<NavbarToggleProperties> {\n private readonly baseTheme = inject(FLOWBITE_NAVBAR_TOGGLE_THEME_TOKEN);\n\n public getClasses(properties: NavbarToggleProperties): NavbarToggleClass {\n const theme: NavbarToggleTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: NavbarToggleClass = {\n rootClass: twMerge(theme.root.base),\n };\n\n return output;\n }\n}\n","import type { NavbarToggleClass, NavbarToggleTheme } from './navbar-toggle.theme';\nimport { NavbarToggleThemeService } from './navbar-toggle.theme.service';\nimport { NavbarComponent } from './navbar.component';\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 {\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_NAVBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<NavbarToggleTheme>\n>('FLOWBITE_NAVBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const navbarToggleDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_NAVBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/navbar/\n */\n@Component({\n standalone: true,\n selector: 'flowbite-navbar-toggle',\n imports: [IconComponent],\n template: `\n <flowbite-icon\n svgIcon=\"flowbite-angular:bars\"\n class=\"w-5 h-5\" />\n `,\n host: {\n '(click)': 'onClick()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarToggleComponent extends BaseComponent<NavbarToggleClass> {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(NavbarToggleThemeService);\n /**\n * The parent `NavbarComponent`\n */\n public readonly navbarComponent = model(inject(NavbarComponent));\n /**\n * `IconRegistry` service\n */\n public readonly iconRegistry = inject(IconRegistry);\n /**\n * `DomSanitizer` service\n */\n public readonly domSanitizer = inject(DomSanitizer);\n\n //#region properties\n /**\n * Set the custom style for this navbar toggle\n */\n public customStyle = model(inject(FLOWBITE_NAVBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): NavbarToggleClass {\n return this.themeService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n\n public override init(): void {\n this.iconRegistry.addRawSvgIconInNamepsace(\n 'flowbite-angular',\n 'bars',\n this.domSanitizer.bypassSecurityTrustHtml(BARS_SVG_ICON)\n );\n }\n //#endregion\n\n /**\n * Toggle navbar visibility (open close on mobile device)\n */\n public onClick(): void {\n const isCollapsed = this.navbarComponent().isOpen();\n\n this.navbarComponent().isOpen.set(!isCollapsed);\n }\n}\n","import type { NavbarClass, NavbarProperties, NavbarTheme } from './navbar.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 `NavbarTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_NAVBAR_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_NAVBAR_THEME_TOKEN = new InjectionToken<NavbarTheme>(\n 'FLOWBITE_NAVBAR_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavbarThemeService implements FlowbiteThemeService<NavbarProperties> {\n private readonly baseTheme = inject(FLOWBITE_NAVBAR_THEME_TOKEN);\n\n public getClasses(properties: NavbarProperties): NavbarClass {\n const theme: NavbarTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: NavbarClass = {\n rootClass: twMerge(\n theme.root.base,\n theme.root.color['gray'],\n theme.root.isRounded[properties.isRounded],\n theme.root.hasBorder[properties.hasBorder],\n theme.root.isFixed[properties.isFixed]\n ),\n };\n\n return output;\n }\n}\n","import { NavbarBrandComponent } from './navbar-brand.component';\nimport { NavbarContentComponent } from './navbar-content.component';\nimport { NavbarToggleComponent } from './navbar-toggle.component';\nimport type { NavbarClass, NavbarColors, NavbarTheme } from './navbar.theme';\nimport { NavbarThemeService } from './navbar.theme.service';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\n\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_NAVBAR_COLOR_DEFAULT_VALUE = new InjectionToken<keyof NavbarColors>(\n 'FLOWBITE_NAVBAR_COLOR_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_NAVBAR_IS_OPEN_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_NAVBAR_IS_OPEN_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_NAVBAR_IS_ROUNDED_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_NAVBAR_IS_ROUNDED_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_NAVBAR_HAS_BORDER_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_NAVBAR_HAS_BORDER_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_NAVBAR_IS_FIXED_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_NAVBAR_IS_FIXED_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_NAVBAR_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<NavbarTheme>\n>('FLOWBITE_NAVBAR_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const navbarDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_NAVBAR_COLOR_DEFAULT_VALUE,\n useValue: 'primary',\n },\n {\n provide: FLOWBITE_NAVBAR_IS_OPEN_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_NAVBAR_IS_ROUNDED_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_NAVBAR_HAS_BORDER_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_NAVBAR_IS_FIXED_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_NAVBAR_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/navbar/\n */\n@Component({\n standalone: true,\n selector: 'flowbite-navbar',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarComponent extends BaseComponent<NavbarClass> {\n /**\n * Service injecteed used to generate class\n */\n public readonly themeService = inject(NavbarThemeService);\n /**\n * The child `NavbarBrandComponent`\n */\n public readonly navbarBrandChild = contentChild(NavbarBrandComponent);\n /**\n * The child `NavbarToggleComponent`\n */\n public readonly navbarToggleChild = contentChild(NavbarToggleComponent);\n /**\n * The child `NavbarContentComponent`\n */\n public readonly navbarContentChild = contentChild.required(NavbarContentComponent);\n\n //#region properties\n /**\n * Set the navbar color\n *\n * @default primary\n */\n public color = model(inject(FLOWBITE_NAVBAR_COLOR_DEFAULT_VALUE));\n /**\n * Set if the navbar is open\n *\n * @default false\n */\n public isOpen = model(inject(FLOWBITE_NAVBAR_IS_OPEN_DEFAULT_VALUE));\n /**\n * Set if the navbar is rounded\n *\n * @default false\n */\n public isRounded = model(inject(FLOWBITE_NAVBAR_IS_ROUNDED_DEFAULT_VALUE));\n /**\n * Set if the navbar has border\n *\n * @default false\n */\n public hasBorder = model(inject(FLOWBITE_NAVBAR_HAS_BORDER_DEFAULT_VALUE));\n /**\n * Set if the navbar is fixed\n *\n * @default false\n */\n public isFixed = model(inject(FLOWBITE_NAVBAR_IS_FIXED_DEFAULT_VALUE));\n /**\n * Set the custom style for this navbar\n */\n public customStyle = model(inject(FLOWBITE_NAVBAR_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): NavbarClass {\n return this.themeService.getClasses({\n hasBorder: booleanToFlowbiteBoolean(this.isRounded()),\n isRounded: booleanToFlowbiteBoolean(this.hasBorder()),\n isFixed: booleanToFlowbiteBoolean(this.isFixed()),\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n\n /**\n * Toggle visibility of the navbar\n *\n * @param isOpen When provide force the 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 NavbarColors extends Pick<FlowbiteColors, 'primary' | 'gray'> {\n [key: string]: string;\n}\n//#endregion\n\nexport interface NavbarProperties {\n isRounded: keyof FlowbiteBoolean;\n hasBorder: keyof FlowbiteBoolean;\n isFixed: keyof FlowbiteBoolean;\n customStyle: DeepPartial<NavbarTheme>;\n}\n\nexport interface NavbarTheme {\n root: {\n base: string;\n color: NavbarColors;\n isRounded: FlowbiteBoolean;\n hasBorder: FlowbiteBoolean;\n isFixed: FlowbiteBoolean;\n };\n}\n\nexport const navbarTheme: NavbarTheme = createTheme({\n root: {\n base: 'flex flex-wrap items-center justify-between p-4',\n color: {\n primary: 'bg-primary-200 dark:bg-primary-800 border-primary-200 dark:border-primary-700',\n gray: 'bg-white dark:bg-gray-800 border-gray-200 dark:border-gray-700',\n },\n isRounded: {\n enabled: 'rounded',\n disabled: '',\n },\n hasBorder: {\n enabled: 'border',\n disabled: '',\n },\n isFixed: {\n enabled: 'fixed w-full border-b',\n disabled: '',\n },\n },\n});\n\nexport type NavbarClass = FlowbiteClass;\n","import type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `NavbarBrandComponent`\n */\nexport interface NavbarBrandProperties {\n customStyle: DeepPartial<NavbarBrandTheme>;\n}\n\n/**\n * Theme definition for `NavbarBrandComponent`\n */\nexport interface NavbarBrandTheme {\n root: {\n base: string;\n };\n}\n\n/**\n * Default theme for `NavbarBrandComponent`\n */\nexport const navbarBrandTheme: NavbarBrandTheme = createTheme({\n root: {\n base: 'cursor-pointer flex items-center space-x-3 rtl:space-x-reverse',\n },\n});\n\n/**\n * Generated class definition for `NavbarBrandComponent`\n */\nexport type NavbarBrandClass = FlowbiteClass;\n","import type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `NavbarContentComponent`\n */\nexport interface NavbarContentProperties {\n customStyle: DeepPartial<NavbarContentTheme>;\n}\n\n/**\n * Theme definition for `NavbarContentComponent`\n */\nexport interface NavbarContentTheme {\n root: {\n base: string;\n };\n list: {\n base: string;\n };\n}\n\n/**\n * Default theme for `NavbarContentComponent`\n */\nexport const navbarContentTheme: NavbarContentTheme = createTheme({\n root: {\n base: 'w-full md:!h-fit md:w-auto order-last md:order-none overflow-hidden',\n },\n list: {\n base: 'font-medium flex flex-col p-4 md:p-0 mt-4 items-center border border-gray-100 rounded-lg bg-gray-50 md:flex-row md:space-x-8 rtl:space-x-reverse md:mt-0 md:border-0 md:bg-white dark:bg-gray-900 md:dark:bg-gray-800 dark:border-gray-700',\n },\n});\n\n/**\n * Generated class definition for `NavbarContentComponent`\n */\nexport interface NavbarContentClass extends FlowbiteClass {\n navbarContentListClass: string;\n}\n","import type { NabvarItemProperties, NavbarItemClass, NavbarItemTheme } from './navbar-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 `NavbarItemTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_NAVBAR_ITEM_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_NAVBAR_ITEM_THEME_TOKEN = new InjectionToken<NavbarItemTheme>(\n 'FLOWBITE_NAVBAR_ITEM_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavbarItemThemeService implements FlowbiteThemeService<NabvarItemProperties> {\n private readonly baseTheme = inject(FLOWBITE_NAVBAR_ITEM_THEME_TOKEN);\n\n public getClasses(properties: NabvarItemProperties): NavbarItemClass {\n const theme: NavbarItemTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: NavbarItemClass = {\n rootClass: twMerge(theme.root.base, theme.root.color[properties.color]),\n };\n\n return output;\n }\n}\n","import { NavbarContentComponent } from './navbar-content.component';\nimport type { NavbarItemClass, NavbarItemTheme } from './navbar-item.theme';\nimport { NavbarItemThemeService } from './navbar-item.theme.service';\nimport type { NavbarColors } from './navbar.theme';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\nimport { FlowbiteRouterLinkDirective } from 'flowbite-angular/router-link';\nimport { FlowbiteRouterLinkActiveDirective } from 'flowbite-angular/router-link-active';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n InjectionToken,\n makeEnvironmentProviders,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\nexport const FLOWBITE_NAVBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<NavbarItemTheme>\n>('FLOWBITE_NAVBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const navbarItemDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_NAVBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/navbar/\n */\n@Component({\n standalone: true,\n selector: 'flowbite-navbar-item',\n template: `<ng-content />`,\n host: {\n '(click)': 'onClick()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarItemComponent extends BaseComponent<NavbarItemClass> {\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(NavbarItemThemeService);\n /**\n * The parent `NavbarContentComponent`\n */\n public readonly navbarContentComponent = inject(NavbarContentComponent);\n\n //#region properties\n /**\n * Set the navbar item color\n *\n * @default `NavbarContentComponent`'s color\n */\n public color = model<keyof NavbarColors>(this.navbarContentComponent.color());\n /**\n * Set the custom style for this navbar item\n */\n public customStyle = model(inject(FLOWBITE_NAVBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): NavbarItemClass {\n return this.themeService.getClasses({\n color: this.color(),\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n\n /**\n * Toggle the nnavbar visibility (auto close when on mobile device)\n */\n public onClick(): void {\n this.navbarContentComponent.navbarComponent().toggleVisibility(false);\n }\n}\n","import type { NavbarColors } from './navbar.theme';\n\nimport type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for class generation of `NavbarItemComponent`\n */\nexport interface NabvarItemProperties {\n color: keyof NavbarColors;\n customStyle: DeepPartial<NavbarItemTheme>;\n}\n\n/**\n * Theme definition for `NavbarItemComponent`\n */\nexport interface NavbarItemTheme {\n root: {\n base: string;\n color: NavbarColors;\n };\n}\n\n/**\n * Default theme for `NavbarItemComponent`\n */\nexport const navbarItemTheme: NavbarItemTheme = createTheme({\n root: {\n base: 'cursor-pointer block py-2 px-3 rounded text-sm text-gray-900 dark:text-white hover:bg-gray-100 dark:hover:bg-gray-700 md:hover:bg-transparent md:border-0 md:p-0 md:dark:hover:bg-transparent',\n color: {\n primary:\n 'md:hover:text-primary-700 md:dark:hover:text-primary-500 aria-current:text-primary-500 dark:aria-current:text-primary-300',\n gray: 'md:hover:text-gray-700 md:dark:hover:text-gray-500 aria-current:text-gray-500 dark:aria-current:text-gray-300',\n },\n },\n});\n\n/**\n * Generated class definition for `NavbarItemComponent`\n */\nexport type NavbarItemClass = FlowbiteClass;\n","import type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `NavbarToggleComponent`\n */\nexport interface NavbarToggleProperties {\n customStyle: DeepPartial<NavbarToggleTheme>;\n}\n\n/**\n * Theme definition for `NavbarToggleComponent`\n */\nexport interface NavbarToggleTheme {\n root: {\n base: string;\n };\n}\n\n/**\n * Default theme for `NavbarToggleComponent`\n */\nexport const navbarToggleTheme: NavbarToggleTheme = createTheme({\n root: {\n base: 'cursor-pointer inline-flex items-center p-2 w-10 h-10 justify-center text-sm text-gray-500 rounded-lg md:hidden hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-gray-200 dark:text-gray-400 dark:hover:bg-gray-700 dark:focus:ring-gray-600',\n },\n});\n\n/**\n * Generated class definition for `NavbarToggleComponent`\n */\nexport type NavbarToggleClass = FlowbiteClass;\n","import type {\n NavbarIconButtonClass,\n NavbarIconButtonProperties,\n NavbarIconButtonTheme,\n} from './navbar-icon-button.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 `NavbarIconButtonTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_NAVBAR_ICON_BUTTON_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_NAVBAR_ICON_BUTTON_THEME_TOKEN = new InjectionToken<NavbarIconButtonTheme>(\n 'FLOWBITE_NAVBAR_ICON_BUTTON_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavbarIconButtonThemeService\n implements FlowbiteThemeService<NavbarIconButtonProperties>\n{\n private readonly baseTheme = inject(FLOWBITE_NAVBAR_ICON_BUTTON_THEME_TOKEN);\n\n public getClasses(properties: NavbarIconButtonProperties): NavbarIconButtonClass {\n const theme: NavbarIconButtonTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: NavbarIconButtonClass = {\n rootClass: twMerge(theme.root.base, theme.root.color[properties.color]),\n };\n\n return output;\n }\n}\n","import { NavbarContentComponent } from './navbar-content.component';\nimport type { NavbarIconButtonClass, NavbarIconButtonTheme } from './navbar-icon-button.theme';\nimport { NavbarIconButtonThemeService } from './navbar-icon-button.theme.service';\nimport { NavbarComponent } from './navbar.component';\nimport type { NavbarColors } from './navbar.theme';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } 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_NAVBAR_ICON_BUTTON_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<NavbarIconButtonTheme>\n>('FLOWBITE_NAVBAR_ICON_BUTTON_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const navbarIconButtonDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_NAVBAR_ICON_BUTTON_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/navbar/\n */\n@Component({\n standalone: true,\n selector: 'flowbite-navbar-icon-button',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarIconButtonComponent extends BaseComponent<NavbarIconButtonClass> {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(NavbarIconButtonThemeService);\n /**\n * The optional parent `NavbarComponent`\n */\n public readonly navbarComponent = inject(NavbarComponent, { optional: true });\n /**\n * The optional parent `NavbarContentComponent`\n */\n public readonly navbarContentComponent = inject(NavbarContentComponent, { optional: true });\n\n //#region properties\n /**\n * Set the navbar icon button color\n *\n * @default `NavbarContentComponent`'s color\n * @default `NavbarComponent`'s color\n */\n public color = model<keyof NavbarColors>(\n this.navbarContentComponent?.color() || this.navbarComponent!.color()\n );\n /**\n * Set the custom style for this navbar icon button\n */\n public customStyle = model(inject(FLOWBITE_NAVBAR_ICON_BUTTON_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): NavbarIconButtonClass {\n return this.themeService.getClasses({\n color: this.color(),\n customStyle: this.customStyle(),\n });\n }\n}\n","import type { NavbarColors } from './navbar.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 `NavbarIconButtonComponent`\n */\nexport interface NavbarIconButtonProperties {\n color: keyof NavbarColors;\n customStyle: DeepPartial<NavbarIconButtonTheme>;\n}\n\n/**\n * Theme definition for `NavbarIconButtonComponent`\n */\nexport interface NavbarIconButtonTheme {\n root: {\n base: string;\n color: NavbarColors;\n };\n}\n\n/**\n * Default theme for `NavbarIconButtonComponent`\n */\nexport const navbarIconButtonTheme: NavbarIconButtonTheme = createTheme({\n root: {\n base: 'cursor-pointer rounded-lg p-2.5 text-sm text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:text-gray-400 dark:hover:bg-gray-700 dark:focus:ring-gray-700',\n color: {\n primary: 'text-primary-500 dark:text-primary-300',\n gray: 'text-gray-500 dark:text-gray-400',\n blue: 'text-blue-500 dark:text-blue-300',\n red: 'text-red-500 dark:text-red-300',\n green: 'text-green-500 dark:text-green-300',\n yellow: 'text-yellow-500 dark:text-yellow-300',\n },\n },\n});\n\n/**\n * Generated class definition for `NavbarIconButtonComponent`\n */\nexport type NavbarIconButtonClass = FlowbiteClass;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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