{"version":3,"file":"flowbite-angular-dropdown.mjs","sources":["../../../../libs/flowbite-angular/dropdown/src/dropdown/theme.ts","../../../../libs/flowbite-angular/dropdown/src/config/dropdown-config.ts","../../../../libs/flowbite-angular/dropdown/src/dropdown/dropdown-state.ts","../../../../libs/flowbite-angular/dropdown/src/dropdown/dropdown.directive.ts","../../../../libs/flowbite-angular/dropdown/src/dropdown-item/theme.ts","../../../../libs/flowbite-angular/dropdown/src/config/dropdown-item-config.ts","../../../../libs/flowbite-angular/dropdown/src/dropdown-item/dropdown-item-state.ts","../../../../libs/flowbite-angular/dropdown/src/dropdown-item/dropdown-item.directive.ts","../../../../libs/flowbite-angular/dropdown/src/dropdown-content/theme.ts","../../../../libs/flowbite-angular/dropdown/src/config/dropdown-content-config.ts","../../../../libs/flowbite-angular/dropdown/src/dropdown-content/dropdown-content-state.ts","../../../../libs/flowbite-angular/dropdown/src/dropdown-content/dropdown-content.directive.ts","../../../../libs/flowbite-angular/dropdown/src/index.ts","../../../../libs/flowbite-angular/dropdown/src/flowbite-angular-dropdown.ts"],"sourcesContent":["import type { ColorToTheme, FlowbiteColors } from 'flowbite-angular';\r\nimport { createTheme } from 'flowbite-angular';\r\n\r\nexport interface FLowbiteDropdownColors\r\n  extends Pick<FlowbiteColors, 'default' | 'info' | 'failure' | 'success' | 'warning' | 'primary'> {\r\n  [key: string]: ColorToTheme;\r\n}\r\n\r\nexport interface FlowbiteDropdownTheme {\r\n  host: FlowbiteDropdownHostTheme;\r\n}\r\n\r\nexport interface FlowbiteDropdownHostTheme {\r\n  base: string;\r\n  transition: string;\r\n  color: FLowbiteDropdownColors;\r\n}\r\n\r\nexport const flowbiteDropdownTheme: FlowbiteDropdownTheme = createTheme({\r\n  host: {\r\n    base: 'fixed z-10 w-max divide-y rounded-lg border shadow-sm',\r\n    transition: '',\r\n    color: {\r\n      default: {\r\n        light: 'divide-gray-200 border-gray-200 bg-white',\r\n        dark: 'dark:divide-gray-700 dark:border-gray-700 dark:bg-gray-800',\r\n      },\r\n      info: {\r\n        light: 'divide-blue-200 border-blue-200 bg-white',\r\n        dark: 'dark:divide-blue-700 dark:border-blue-700 dark:bg-gray-800',\r\n      },\r\n      failure: {\r\n        light: 'divide-red-200 border-red-200 bg-white',\r\n        dark: 'dark:divide-red-700 dark:border-red-700 dark:bg-gray-800',\r\n      },\r\n      success: {\r\n        light: 'divide-green-200 border-green-200 bg-white',\r\n        dark: 'dark:divide-green-700 dark:border-green-700 dark:bg-gray-800',\r\n      },\r\n      warning: {\r\n        light: 'divide-yellow-200 border-yellow-200 bg-white',\r\n        dark: 'dark:divide-yellow-700 dark:border-yellow-700 dark:bg-gray-800',\r\n      },\r\n      primary: {\r\n        light: 'divide-primary-200 border-primary-200 bg-white',\r\n        dark: 'dark:divide-primary-700 dark:border-primary-700 dark:bg-gray-800',\r\n      },\r\n    },\r\n  },\r\n});\r\n","import type { FLowbiteDropdownColors, FlowbiteDropdownTheme } from '../dropdown/theme';\r\nimport { flowbiteDropdownTheme } from '../dropdown/theme';\r\n\r\nimport type { DeepPartial } from 'flowbite-angular';\r\n\r\nimport type { Provider } from '@angular/core';\r\nimport { inject, InjectionToken } from '@angular/core';\r\n\r\nexport interface FlowbiteDropdownConfig {\r\n  baseTheme: FlowbiteDropdownTheme;\r\n  /**\r\n   * The custom color of dropdown\r\n   */\r\n  color: keyof FLowbiteDropdownColors;\r\n  /**\r\n   * The custom theme of dropdown\r\n   */\r\n  customTheme: DeepPartial<FlowbiteDropdownTheme>;\r\n}\r\n\r\nexport const defaultFlowbiteDropdownConfig: FlowbiteDropdownConfig = {\r\n  baseTheme: flowbiteDropdownTheme,\r\n  color: 'default',\r\n  customTheme: {},\r\n};\r\n\r\nexport const FlowbiteDropdownConfigToken = new InjectionToken<FlowbiteDropdownConfig>(\r\n  'FlowbiteDropdownConfigToken'\r\n);\r\n\r\n/**\r\n * Provide the default Dropdown configuration\r\n * @param config The Dropdown configuration\r\n * @returns The provider\r\n */\r\nexport const provideFlowbiteDropdownConfig = (\r\n  config: Partial<FlowbiteDropdownConfig>\r\n): Provider[] => [\r\n  {\r\n    provide: FlowbiteDropdownConfigToken,\r\n    useValue: { ...defaultFlowbiteDropdownConfig, ...config },\r\n  },\r\n];\r\n\r\n/**\r\n * Inject the Dropdown configuration\r\n * @see {@link defaultFlowbiteDropdownConfig}\r\n * @returns The configuration\r\n */\r\nexport const injectFlowbiteDropdownConfig = (): FlowbiteDropdownConfig =>\r\n  inject(FlowbiteDropdownConfigToken, { optional: true }) ?? defaultFlowbiteDropdownConfig;\r\n","import type { Dropdown } from './dropdown.directive';\r\n\r\nimport {\r\n  createState,\r\n  createStateInjector,\r\n  createStateProvider,\r\n  createStateToken,\r\n} from 'ng-primitives/state';\r\n\r\nexport const FlowbiteDropdownStateToken = createStateToken<Dropdown>('Flowbite Dropdown');\r\nexport const provideFlowbiteDropdownState = createStateProvider(FlowbiteDropdownStateToken);\r\nexport const injectFlowbiteDropdownState = createStateInjector(FlowbiteDropdownStateToken);\r\nexport const flowbiteDropdownState = createState(FlowbiteDropdownStateToken);\r\n","import { injectFlowbiteDropdownConfig } from '../config/dropdown-config';\r\nimport { flowbiteDropdownState, provideFlowbiteDropdownState } from './dropdown-state';\r\n\r\nimport { colorToTheme, mergeDeep } from 'flowbite-angular';\r\n\r\nimport { computed, Directive, input } from '@angular/core';\r\nimport { NgpMenu } from 'ng-primitives/menu';\r\nimport { twMerge } from 'tailwind-merge';\r\n\r\n@Directive({\r\n  standalone: true,\r\n  selector: `\r\n    div[flowbiteDropdown]\r\n  `,\r\n  exportAs: 'flowbiteDropdown',\r\n  hostDirectives: [\r\n    {\r\n      directive: NgpMenu,\r\n      inputs: [],\r\n      outputs: [],\r\n    },\r\n  ],\r\n  providers: [provideFlowbiteDropdownState()],\r\n  host: {\r\n    '[class]': `theme().host.root`,\r\n  },\r\n})\r\nexport class Dropdown {\r\n  readonly config = injectFlowbiteDropdownConfig();\r\n\r\n  /**\r\n   * @see {@link injectFlowbiteDropdownConfig}\r\n   */\r\n  readonly color = input(this.config.color);\r\n  /**\r\n   * @see {@link injectFlowbiteDropdownConfig}\r\n   */\r\n  readonly customTheme = input(this.config.customTheme);\r\n\r\n  readonly theme = computed(() => {\r\n    const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());\r\n\r\n    return {\r\n      host: {\r\n        root: twMerge(\r\n          mergedTheme.host.base,\r\n          mergedTheme.host.transition,\r\n          colorToTheme(mergedTheme.host.color, this.state.color())\r\n        ),\r\n      },\r\n    };\r\n  });\r\n\r\n  /**\r\n   * @internal\r\n   */\r\n  readonly state = flowbiteDropdownState<Dropdown>(this);\r\n}\r\n","import type { FLowbiteDropdownColors } from '../dropdown/theme';\r\n\r\nimport { createTheme } from 'flowbite-angular';\r\n\r\nexport interface FlowbiteDropdownItemTheme {\r\n  host: FlowbiteDropdownItemHostTheme;\r\n}\r\n\r\nexport interface FlowbiteDropdownItemHostTheme {\r\n  base: string;\r\n  transition: string;\r\n  color: FLowbiteDropdownColors;\r\n}\r\n\r\nexport const flowbiteDropdownItemTheme: FlowbiteDropdownItemTheme = createTheme({\r\n  host: {\r\n    base: 'flex cursor-pointer items-center justify-between px-4 py-2 font-medium',\r\n    transition: '',\r\n    color: {\r\n      default: {\r\n        light: 'data-hover:bg-gray-100',\r\n        dark: 'dark:data-hover:bg-gray-700 dark:data-hover:text-white',\r\n      },\r\n      info: {\r\n        light: 'data-hover:bg-blue-100',\r\n        dark: 'dark:data-hover:bg-blue-700 dark:data-hover:text-white',\r\n      },\r\n      failure: {\r\n        light: 'data-hover:bg-red-100',\r\n        dark: 'dark:data-hover:bg-red-700 dark:data-hover:text-white',\r\n      },\r\n      success: {\r\n        light: 'data-hover:bg-green-100',\r\n        dark: 'dark:data-hover:bg-green-700 dark:data-hover:text-white',\r\n      },\r\n      warning: {\r\n        light: 'data-hover:bg-yellow-100',\r\n        dark: 'dark:data-hover:bg-yellow-700 dark:data-hover:text-white',\r\n      },\r\n      primary: {\r\n        light: 'data-hover:bg-primary-100',\r\n        dark: 'dark:data-hover:bg-primary-700 dark:data-hover:text-white',\r\n      },\r\n    },\r\n  },\r\n});\r\n","import type { FlowbiteDropdownItemTheme } from '../dropdown-item/theme';\r\nimport { flowbiteDropdownItemTheme } from '../dropdown-item/theme';\r\n\r\nimport type { DeepPartial } from 'flowbite-angular';\r\n\r\nimport type { Provider } from '@angular/core';\r\nimport { inject, InjectionToken } from '@angular/core';\r\n\r\nexport interface FlowbiteDropdownItemConfig {\r\n  baseTheme: FlowbiteDropdownItemTheme;\r\n  /**\r\n   * The custom theme of dropdown item\r\n   */\r\n  customTheme: DeepPartial<FlowbiteDropdownItemTheme>;\r\n}\r\n\r\nexport const defaultFlowbiteDropdownItemConfig: FlowbiteDropdownItemConfig = {\r\n  baseTheme: flowbiteDropdownItemTheme,\r\n  customTheme: {},\r\n};\r\n\r\nexport const FlowbiteDropdownItemConfigToken = new InjectionToken<FlowbiteDropdownItemConfig>(\r\n  'FlowbiteDropdownItemConfigToken'\r\n);\r\n\r\n/**\r\n * Provide the default Dropdown Item configuration\r\n * @param config The Dropdown Item configuration\r\n * @returns The provider\r\n */\r\nexport const provideFlowbiteDropdownItemConfig = (\r\n  config: Partial<FlowbiteDropdownItemConfig>\r\n): Provider[] => [\r\n  {\r\n    provide: FlowbiteDropdownItemConfigToken,\r\n    useValue: { ...defaultFlowbiteDropdownItemConfig, ...config },\r\n  },\r\n];\r\n\r\n/**\r\n * Inject the Dropdown Item configuration\r\n * @see {@link defaultFlowbiteDropdownItemConfig}\r\n * @returns The configuration\r\n */\r\nexport const injectFlowbiteDropdownItemConfig = (): FlowbiteDropdownItemConfig =>\r\n  inject(FlowbiteDropdownItemConfigToken, { optional: true }) ?? defaultFlowbiteDropdownItemConfig;\r\n","import type { DropdownItem } from './dropdown-item.directive';\r\n\r\nimport {\r\n  createState,\r\n  createStateInjector,\r\n  createStateProvider,\r\n  createStateToken,\r\n} from 'ng-primitives/state';\r\n\r\nexport const FlowbiteDropdownItemStateToken =\r\n  createStateToken<DropdownItem>('Flowbite Dropdown Item');\r\nexport const provideFlowbiteDropdownItemState = createStateProvider(FlowbiteDropdownItemStateToken);\r\nexport const injectFlowbiteDropdownItemState = createStateInjector(FlowbiteDropdownItemStateToken);\r\nexport const flowbiteDropdownItemState = createState(FlowbiteDropdownItemStateToken);\r\n","import { injectFlowbiteDropdownItemConfig } from '../config/dropdown-item-config';\r\nimport { injectFlowbiteDropdownState } from '../dropdown/dropdown-state';\r\nimport { flowbiteDropdownItemState, provideFlowbiteDropdownItemState } from './dropdown-item-state';\r\nimport type { FlowbiteDropdownItemTheme } from './theme';\r\n\r\nimport type { DeepPartial } from 'flowbite-angular';\r\nimport { colorToTheme, mergeDeep } from 'flowbite-angular';\r\n\r\nimport { computed, Directive, input } from '@angular/core';\r\nimport { NgpFocus } from 'ng-primitives/interactions';\r\nimport { NgpMenuItem } from 'ng-primitives/menu';\r\nimport { twMerge } from 'tailwind-merge';\r\n\r\n@Directive({\r\n  standalone: true,\r\n  selector: `\r\n    li[flowbiteDropdownItem]\r\n  `,\r\n  exportAs: 'flowbiteDropdownItem',\r\n  hostDirectives: [\r\n    {\r\n      directive: NgpMenuItem,\r\n      inputs: [],\r\n      outputs: [],\r\n    },\r\n    {\r\n      directive: NgpFocus,\r\n      inputs: [],\r\n      outputs: [],\r\n    },\r\n  ],\r\n  providers: [provideFlowbiteDropdownItemState()],\r\n  host: {\r\n    '[class]': `theme().host.root`,\r\n  },\r\n})\r\nexport class DropdownItem {\r\n  readonly config = injectFlowbiteDropdownItemConfig();\r\n  readonly dropdownState = injectFlowbiteDropdownState();\r\n\r\n  /**\r\n   * @see {@link injectFlowbiteDropdownItemConfig}\r\n   */\r\n  readonly customTheme = input<DeepPartial<FlowbiteDropdownItemTheme>>(this.config.customTheme);\r\n\r\n  readonly theme = computed(() => {\r\n    const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());\r\n\r\n    return {\r\n      host: {\r\n        root: twMerge(\r\n          mergedTheme.host.base,\r\n          mergedTheme.host.transition,\r\n          colorToTheme(mergedTheme.host.color, this.dropdownState().color())\r\n        ),\r\n      },\r\n    };\r\n  });\r\n\r\n  /**\r\n   * @internal\r\n   */\r\n  readonly state = flowbiteDropdownItemState<DropdownItem>(this);\r\n}\r\n","import type { FLowbiteDropdownColors } from '../dropdown/theme';\r\n\r\nimport { createTheme } from 'flowbite-angular';\r\n\r\nexport interface FlowbiteDropdownContentTheme {\r\n  host: FlowbiteDropdownContentHostTheme;\r\n}\r\n\r\nexport interface FlowbiteDropdownContentHostTheme {\r\n  base: string;\r\n  transition: string;\r\n  color: FLowbiteDropdownColors;\r\n}\r\n\r\nexport const flowbiteDropdownContentTheme: FlowbiteDropdownContentTheme = createTheme({\r\n  host: {\r\n    base: 'py-2 text-sm',\r\n    transition: '',\r\n    color: {\r\n      default: {\r\n        light: 'text-gray-700',\r\n        dark: 'dark:text-gray-200',\r\n      },\r\n      info: {\r\n        light: 'text-gray-700',\r\n        dark: 'dark:text-gray-200',\r\n      },\r\n      failure: {\r\n        light: 'text-gray-700',\r\n        dark: 'dark:text-gray-200',\r\n      },\r\n      success: {\r\n        light: 'text-gray-700',\r\n        dark: 'dark:text-gray-200',\r\n      },\r\n      warning: {\r\n        light: 'text-gray-700',\r\n        dark: 'dark:text-gray-200',\r\n      },\r\n      primary: {\r\n        light: 'text-gray-700',\r\n        dark: 'dark:text-gray-200',\r\n      },\r\n    },\r\n  },\r\n});\r\n","import {\r\n  flowbiteDropdownContentTheme,\r\n  type FlowbiteDropdownContentTheme,\r\n} from '../dropdown-content/theme';\r\n\r\nimport type { DeepPartial } from 'flowbite-angular';\r\n\r\nimport type { Provider } from '@angular/core';\r\nimport { inject, InjectionToken } from '@angular/core';\r\n\r\nexport interface FlowbiteDropdownContentConfig {\r\n  /**\r\n   * The default theme of DropdownContent\r\n   */\r\n  baseTheme: FlowbiteDropdownContentTheme;\r\n\r\n  /**\r\n   * The custom theme of DropdownContent\r\n   */\r\n  customTheme: DeepPartial<FlowbiteDropdownContentTheme>;\r\n}\r\n\r\nexport const defaultFlowbiteDropdownContentConfig: FlowbiteDropdownContentConfig = {\r\n  baseTheme: flowbiteDropdownContentTheme,\r\n  customTheme: {},\r\n};\r\n\r\nexport const FlowbiteDropdownContentConfigToken = new InjectionToken<FlowbiteDropdownContentConfig>(\r\n  'FlowbiteDropdownContentConfigToken'\r\n);\r\n\r\n/**\r\n * Provide the default DropdownContent configuration\r\n * @param config The DropdownContent configuration\r\n * @returns The provider\r\n */\r\nexport const provideFlowbiteDropdownContentConfig = (\r\n  config: Partial<FlowbiteDropdownContentConfig>\r\n): Provider[] => [\r\n  {\r\n    provide: FlowbiteDropdownContentConfigToken,\r\n    useValue: { ...defaultFlowbiteDropdownContentConfig, ...config },\r\n  },\r\n];\r\n\r\n/**\r\n * Inject the DropdownContent configuration\r\n * @see {@link defaultFlowbiteDropdownContentConfig}\r\n * @returns The configuration\r\n */\r\nexport const injectFlowbiteDropdownContentConfig = (): FlowbiteDropdownContentConfig =>\r\n  inject(FlowbiteDropdownContentConfigToken, { optional: true }) ??\r\n  defaultFlowbiteDropdownContentConfig;\r\n","import type { DropdownContent } from './dropdown-content.directive';\r\n\r\nimport {\r\n  createState,\r\n  createStateInjector,\r\n  createStateProvider,\r\n  createStateToken,\r\n} from 'ng-primitives/state';\r\n\r\nexport const FlowbiteDropdownContentStateToken = createStateToken<DropdownContent>(\r\n  'Flowbite DropdownContent'\r\n);\r\nexport const provideFlowbiteDropdownContentState = createStateProvider(\r\n  FlowbiteDropdownContentStateToken\r\n);\r\nexport const injectFlowbiteDropdownContentState = createStateInjector(\r\n  FlowbiteDropdownContentStateToken\r\n);\r\nexport const flowbiteDropdownContentState = createState(FlowbiteDropdownContentStateToken);\r\n","import { injectFlowbiteDropdownContentConfig } from '../config/dropdown-content-config';\r\nimport { injectFlowbiteDropdownState } from '../dropdown/dropdown-state';\r\nimport {\r\n  flowbiteDropdownContentState,\r\n  provideFlowbiteDropdownContentState,\r\n} from './dropdown-content-state';\r\n\r\nimport { colorToTheme, mergeDeep } from 'flowbite-angular';\r\n\r\nimport { computed, Directive, input } from '@angular/core';\r\nimport { twMerge } from 'tailwind-merge';\r\n\r\n@Directive({\r\n  standalone: true,\r\n  selector: `\r\n    ul[flowbiteDropdownContent]\r\n  `,\r\n  exportAs: 'flowbiteDropdownContent',\r\n  hostDirectives: [],\r\n  providers: [provideFlowbiteDropdownContentState()],\r\n  host: { '[class]': `theme().host.root` },\r\n})\r\nexport class DropdownContent {\r\n  readonly config = injectFlowbiteDropdownContentConfig();\r\n  readonly dropdownState = injectFlowbiteDropdownState();\r\n\r\n  /**\r\n   * @see {@link injectFlowbiteDropdownContentConfig}\r\n   */\r\n  readonly customTheme = input(this.config.customTheme);\r\n\r\n  readonly theme = computed(() => {\r\n    const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());\r\n\r\n    return {\r\n      host: {\r\n        root: twMerge(\r\n          mergedTheme.host.base,\r\n          mergedTheme.host.transition,\r\n          colorToTheme(mergedTheme.host.color, this.dropdownState().color())\r\n        ),\r\n      },\r\n    };\r\n  });\r\n\r\n  /**\r\n   * @internal\r\n   */\r\n  readonly state = flowbiteDropdownContentState<DropdownContent>(this);\r\n}\r\n","/* Dropdown */\r\nexport * from './dropdown/dropdown.directive';\r\nexport * from './dropdown/dropdown-state';\r\nexport * from './dropdown/theme';\r\n/* Config */\r\nexport * from './config/dropdown-config';\r\n/* DropdownItem */\r\nexport * from './dropdown-item/dropdown-item.directive';\r\nexport * from './dropdown-item/dropdown-item-state';\r\nexport * from './dropdown-item/theme';\r\n/* Config */\r\nexport * from './config/dropdown-item-config';\r\n/* DropdownContent */\r\nexport * from './dropdown-content/dropdown-content.directive';\r\nexport * from './dropdown-content/dropdown-content-state';\r\nexport * from './dropdown-content/theme';\r\n/* Config */\r\nexport * from './config/dropdown-content-config';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}