{"version":3,"file":"flowbite-angular-alert.mjs","sources":["../../../../libs/flowbite-angular/alert/src/alert/theme.ts","../../../../libs/flowbite-angular/alert/src/config/alert-config.ts","../../../../libs/flowbite-angular/alert/src/alert/alert-state.ts","../../../../libs/flowbite-angular/alert/src/alert/alert.directive.ts","../../../../libs/flowbite-angular/alert/src/alert-button/theme.ts","../../../../libs/flowbite-angular/alert/src/config/alert-button-config.ts","../../../../libs/flowbite-angular/alert/src/alert-button/alert-button-state.ts","../../../../libs/flowbite-angular/alert/src/alert-button/alert-button.directive.ts","../../../../libs/flowbite-angular/alert/src/alert-content/theme.ts","../../../../libs/flowbite-angular/alert/src/config/alert-content-config.ts","../../../../libs/flowbite-angular/alert/src/alert-content/alert-content-state.ts","../../../../libs/flowbite-angular/alert/src/alert-content/alert-content.directive.ts","../../../../libs/flowbite-angular/alert/src/index.ts","../../../../libs/flowbite-angular/alert/src/flowbite-angular-alert.ts"],"sourcesContent":["import type { ColorToTheme, FlowbiteBoolean, FlowbiteColors } from 'flowbite-angular';\r\nimport { createTheme } from 'flowbite-angular';\r\n\r\nexport interface FlowbiteAlertColors\r\n  extends Pick<FlowbiteColors, 'default' | 'info' | 'failure' | 'success' | 'warning' | 'primary'> {\r\n  [key: string]: ColorToTheme;\r\n}\r\n\r\nexport interface FlowbiteAlertTheme {\r\n  host: FlowbiteAlertHostTheme;\r\n}\r\n\r\nexport interface FlowbiteAlertHostTheme {\r\n  base: string;\r\n  transition: string;\r\n  color: FlowbiteAlertColors;\r\n  border: FlowbiteBoolean;\r\n  accent: FlowbiteBoolean;\r\n}\r\n\r\nexport const flowbiteAlertTheme: FlowbiteAlertTheme = createTheme({\r\n  host: {\r\n    base: 'mb-4 rounded-lg p-4',\r\n    transition: '',\r\n    color: {\r\n      default: {\r\n        light: 'border-gray-200 bg-gray-50',\r\n        dark: 'dark:border-gray-700 dark:bg-gray-950',\r\n      },\r\n      info: {\r\n        light: 'border-blue-200 bg-blue-50',\r\n        dark: 'dark:border-blue-700 dark:bg-blue-950',\r\n      },\r\n      failure: {\r\n        light: 'border-red-200 bg-red-50',\r\n        dark: 'dark:border-red-700 dark:bg-red-950',\r\n      },\r\n      success: {\r\n        light: 'border-green-200 bg-green-50',\r\n        dark: 'dark:border-green-700 dark:bg-green-950',\r\n      },\r\n      warning: {\r\n        light: 'border-yellow-200 bg-yellow-50',\r\n        dark: 'dark:border-yellow-700 dark:bg-yellow-950',\r\n      },\r\n      primary: {\r\n        light: 'bg-primary-50 border-primary-200',\r\n        dark: 'dark:bg-primary-950 dark:border-primary-700',\r\n      },\r\n    },\r\n    border: {\r\n      on: 'border',\r\n      off: 'border-0',\r\n    },\r\n    accent: {\r\n      on: 'border-t-4',\r\n      off: '',\r\n    },\r\n  },\r\n});\r\n","import {\r\n  flowbiteAlertTheme,\r\n  type FlowbiteAlertColors,\r\n  type FlowbiteAlertTheme,\r\n} from '../alert/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 FlowbiteAlertConfig {\r\n  /**\r\n   * The default theme of alert\r\n   */\r\n  baseTheme: FlowbiteAlertTheme;\r\n  /**\r\n   * The default color of alert\r\n   */\r\n  color: keyof FlowbiteAlertColors;\r\n  /**\r\n   * Wether the alert has border\r\n   */\r\n  border: boolean;\r\n  /**\r\n   * Wether the alert has border accent\r\n   */\r\n  accent: boolean;\r\n  /**\r\n   * The custom theme of alert\r\n   */\r\n  customTheme: DeepPartial<FlowbiteAlertTheme>;\r\n}\r\n\r\nexport const defaultFlowbiteAlertConfig: FlowbiteAlertConfig = {\r\n  baseTheme: flowbiteAlertTheme,\r\n  color: 'default',\r\n  border: false,\r\n  accent: false,\r\n  customTheme: {},\r\n};\r\n\r\nexport const FlowbiteAlertConfigToken = new InjectionToken<FlowbiteAlertConfig>(\r\n  'FlowbiteAlertConfigToken'\r\n);\r\n\r\n/**\r\n * Provide the default Alert configuration\r\n * @param config The Alert configuration\r\n * @returns The provider\r\n */\r\nexport const provideFlowbiteAlertConfig = (config: Partial<FlowbiteAlertConfig>): Provider[] => [\r\n  {\r\n    provide: FlowbiteAlertConfigToken,\r\n    useValue: { ...defaultFlowbiteAlertConfig, ...config },\r\n  },\r\n];\r\n\r\n/**\r\n * Inject the Alert configuration\r\n * @see {@link defaultFlowbiteAlertConfig}\r\n * @returns The configuration\r\n */\r\nexport const injectFlowbiteAlertConfig = (): FlowbiteAlertConfig =>\r\n  inject(FlowbiteAlertConfigToken, { optional: true }) ?? defaultFlowbiteAlertConfig;\r\n","import type { Alert } from './alert.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 FlowbiteAlertStateToken = createStateToken<Alert>('Flowbite Alert');\r\nexport const provideFlowbiteAlertState = createStateProvider(FlowbiteAlertStateToken);\r\nexport const injectFlowbiteAlertState = createStateInjector(FlowbiteAlertStateToken);\r\nexport const flowbiteAlertState = createState(FlowbiteAlertStateToken);\r\n","import { injectFlowbiteAlertConfig } from '../config/alert-config';\r\nimport { flowbiteAlertState, provideFlowbiteAlertState } from './alert-state';\r\n\r\nimport { colorToTheme, mergeDeep } from 'flowbite-angular';\r\n\r\nimport { booleanAttribute, 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    div[flowbiteAlert]\r\n  `,\r\n  exportAs: 'flowbiteAlert',\r\n  hostDirectives: [],\r\n  providers: [provideFlowbiteAlertState()],\r\n  host: {\r\n    '[class]': `theme().host.root`,\r\n  },\r\n})\r\nexport class Alert {\r\n  readonly config = injectFlowbiteAlertConfig();\r\n\r\n  /**\r\n   * @see {@link injectFlowbiteAlertConfig}\r\n   */\r\n  readonly color = input(this.config.color);\r\n  /**\r\n   * @see {@link injectFlowbiteAlertConfig}\r\n   */\r\n  readonly border = input(this.config.border, { transform: booleanAttribute });\r\n  /**\r\n   * @see {@link injectFlowbiteAlertConfig}\r\n   */\r\n  readonly accent = input(this.config.accent, { transform: booleanAttribute });\r\n  /**\r\n   * @see {@link injectFlowbiteAlertConfig}\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          mergedTheme.host.border[this.state.border() ? 'on' : 'off'],\r\n          mergedTheme.host.accent[this.state.accent() ? 'on' : 'off']\r\n        ),\r\n      },\r\n    };\r\n  });\r\n  /**\r\n   * @internal\r\n   */\r\n  readonly state = flowbiteAlertState<Alert>(this);\r\n}\r\n","import type { FlowbiteAlertColors } from '../alert/theme';\r\n\r\nimport { createTheme } from 'flowbite-angular';\r\n\r\nexport interface FlowbiteAlertButtonTheme {\r\n  host: FlowbiteAlertButtonHostTheme;\r\n}\r\n\r\nexport interface FlowbiteAlertButtonHostTheme {\r\n  base: string;\r\n  transition: string;\r\n  color: FlowbiteAlertColors;\r\n}\r\n\r\nexport const flowbiteAlertButtonTheme: FlowbiteAlertButtonTheme = createTheme({\r\n  host: {\r\n    base: 'flex rounded-lg p-1 first:mr-2 data-hover:cursor-pointer',\r\n    transition: '',\r\n    color: {\r\n      default: {\r\n        light: 'data-hover:bg-gray-300',\r\n        dark: 'dark:data-hover:bg-gray-600',\r\n      },\r\n      info: {\r\n        light: 'data-hover:bg-blue-300',\r\n        dark: 'dark:data-hover:bg-blue-700',\r\n      },\r\n      failure: {\r\n        light: 'data-hover:bg-red-300',\r\n        dark: 'dark:data-hover:bg-red-700',\r\n      },\r\n      success: {\r\n        light: 'data-hover:bg-green-300',\r\n        dark: 'dark:data-hover:bg-green-600',\r\n      },\r\n      warning: {\r\n        light: 'data-hover:bg-yellow-300',\r\n        dark: 'dark:data-hover:bg-yellow-600',\r\n      },\r\n      primary: {\r\n        light: 'data-hover:bg-primary-300',\r\n        dark: 'dark:data-hover:bg-primary-700',\r\n      },\r\n    },\r\n  },\r\n});\r\n","import { flowbiteAlertButtonTheme, type FlowbiteAlertButtonTheme } from '../alert-button/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 FlowbiteAlertButtonConfig {\r\n  /**\r\n   * The default theme of AlertButton\r\n   */\r\n  baseTheme: FlowbiteAlertButtonTheme;\r\n\r\n  /**\r\n   * The custom theme of AlertButton\r\n   */\r\n  customTheme: DeepPartial<FlowbiteAlertButtonTheme>;\r\n}\r\n\r\nexport const defaultFlowbiteAlertButtonConfig: FlowbiteAlertButtonConfig = {\r\n  baseTheme: flowbiteAlertButtonTheme,\r\n  customTheme: {},\r\n};\r\n\r\nexport const FlowbiteAlertButtonConfigToken = new InjectionToken<FlowbiteAlertButtonConfig>(\r\n  'FlowbiteAlertButtonConfigToken'\r\n);\r\n\r\n/**\r\n * Provide the default AlertButton configuration\r\n * @param config The AlertButton configuration\r\n * @returns The provider\r\n */\r\nexport const provideFlowbiteAlertButtonConfig = (\r\n  config: Partial<FlowbiteAlertButtonConfig>\r\n): Provider[] => [\r\n  {\r\n    provide: FlowbiteAlertButtonConfigToken,\r\n    useValue: { ...defaultFlowbiteAlertButtonConfig, ...config },\r\n  },\r\n];\r\n\r\n/**\r\n * Inject the AlertButton configuration\r\n * @see {@link defaultFlowbiteAlertButtonConfig}\r\n * @returns The configuration\r\n */\r\nexport const injectFlowbiteAlertButtonConfig = (): FlowbiteAlertButtonConfig =>\r\n  inject(FlowbiteAlertButtonConfigToken, { optional: true }) ?? defaultFlowbiteAlertButtonConfig;\r\n","import type { AlertButton } from './alert-button.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 FlowbiteAlertButtonStateToken = createStateToken<AlertButton>('Flowbite AlertButton');\r\nexport const provideFlowbiteAlertButtonState = createStateProvider(FlowbiteAlertButtonStateToken);\r\nexport const injectFlowbiteAlertButtonState = createStateInjector(FlowbiteAlertButtonStateToken);\r\nexport const flowbiteAlertButtonState = createState(FlowbiteAlertButtonStateToken);\r\n","import { injectFlowbiteAlertState } from '../alert/alert-state';\r\nimport { injectFlowbiteAlertButtonConfig } from '../config/alert-button-config';\r\nimport { flowbiteAlertButtonState, provideFlowbiteAlertButtonState } from './alert-button-state';\r\n\r\nimport { colorToTheme, mergeDeep } from 'flowbite-angular';\r\n\r\nimport { computed, Directive, input } from '@angular/core';\r\nimport { NgpButton } from 'ng-primitives/button';\r\nimport { NgpFocus } from 'ng-primitives/interactions';\r\nimport { twMerge } from 'tailwind-merge';\r\n\r\n@Directive({\r\n  standalone: true,\r\n  selector: `\r\n    button[flowbiteAlertButton],\r\n    a[flowbiteAlertButton]\r\n  `,\r\n  exportAs: 'flowbiteAlertButton',\r\n  hostDirectives: [\r\n    {\r\n      directive: NgpButton,\r\n      inputs: ['disabled:disabled'],\r\n      outputs: [],\r\n    },\r\n    {\r\n      directive: NgpFocus,\r\n      inputs: [],\r\n      outputs: [],\r\n    },\r\n  ],\r\n  providers: [provideFlowbiteAlertButtonState()],\r\n  host: { '[class]': `theme().host.root` },\r\n})\r\nexport class AlertButton {\r\n  readonly config = injectFlowbiteAlertButtonConfig();\r\n  readonly alertState = injectFlowbiteAlertState();\r\n\r\n  /**\r\n   * @see {@link injectFlowbiteAlertButtonConfig}\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.alertState().color())\r\n        ),\r\n      },\r\n    };\r\n  });\r\n\r\n  /**\r\n   * @internal\r\n   */\r\n  readonly state = flowbiteAlertButtonState<AlertButton>(this);\r\n}\r\n","import type { FlowbiteAlertColors } from '../alert/theme';\r\n\r\nimport { createTheme } from 'flowbite-angular';\r\n\r\nexport interface FlowbiteAlertContentTheme {\r\n  host: FlowbiteAlertContentHostTheme;\r\n}\r\n\r\nexport interface FlowbiteAlertContentHostTheme {\r\n  base: string;\r\n  transition: string;\r\n  color: FlowbiteAlertColors;\r\n}\r\n\r\nexport const flowbiteAlertContentTheme: FlowbiteAlertContentTheme = createTheme({\r\n  host: {\r\n    base: 'flex items-center justify-between text-sm font-normal',\r\n    transition: '',\r\n    color: {\r\n      default: {\r\n        light: 'text-gray-800',\r\n        dark: 'dark:text-gray-300',\r\n      },\r\n      info: {\r\n        light: 'text-blue-800',\r\n        dark: 'dark:text-blue-300',\r\n      },\r\n      failure: {\r\n        light: 'text-red-800',\r\n        dark: 'dark:text-red-300',\r\n      },\r\n      success: {\r\n        light: 'text-green-800',\r\n        dark: 'dark:text-green-300',\r\n      },\r\n      warning: {\r\n        light: 'text-yellow-800',\r\n        dark: 'dark:text-yellow-300',\r\n      },\r\n      primary: {\r\n        light: 'text-primary-800',\r\n        dark: 'dark:text-primary-300',\r\n      },\r\n    },\r\n  },\r\n});\r\n","import { flowbiteAlertContentTheme, type FlowbiteAlertContentTheme } from '../alert-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 FlowbiteAlertContentConfig {\r\n  /**\r\n   * The default theme of AlertContent\r\n   */\r\n  baseTheme: FlowbiteAlertContentTheme;\r\n\r\n  /**\r\n   * The custom theme of AlertContent\r\n   */\r\n  customTheme: DeepPartial<FlowbiteAlertContentTheme>;\r\n}\r\n\r\nexport const defaultFlowbiteAlertContentConfig: FlowbiteAlertContentConfig = {\r\n  baseTheme: flowbiteAlertContentTheme,\r\n  customTheme: {},\r\n};\r\n\r\nexport const FlowbiteAlertContentConfigToken = new InjectionToken<FlowbiteAlertContentConfig>(\r\n  'FlowbiteAlertContentConfigToken'\r\n);\r\n\r\n/**\r\n * Provide the default AlertContent configuration\r\n * @param config The AlertContent configuration\r\n * @returns The provider\r\n */\r\nexport const provideFlowbiteAlertContentConfig = (\r\n  config: Partial<FlowbiteAlertContentConfig>\r\n): Provider[] => [\r\n  {\r\n    provide: FlowbiteAlertContentConfigToken,\r\n    useValue: { ...defaultFlowbiteAlertContentConfig, ...config },\r\n  },\r\n];\r\n\r\n/**\r\n * Inject the AlertContent configuration\r\n * @see {@link defaultFlowbiteAlertContentConfig}\r\n * @returns The configuration\r\n */\r\nexport const injectFlowbiteAlertContentConfig = (): FlowbiteAlertContentConfig =>\r\n  inject(FlowbiteAlertContentConfigToken, { optional: true }) ?? defaultFlowbiteAlertContentConfig;\r\n","import type { AlertContent } from './alert-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 FlowbiteAlertContentStateToken =\r\n  createStateToken<AlertContent>('Flowbite AlertContent');\r\nexport const provideFlowbiteAlertContentState = createStateProvider(FlowbiteAlertContentStateToken);\r\nexport const injectFlowbiteAlertContentState = createStateInjector(FlowbiteAlertContentStateToken);\r\nexport const flowbiteAlertContentState = createState(FlowbiteAlertContentStateToken);\r\n","import { injectFlowbiteAlertState } from '../alert/alert-state';\r\nimport { injectFlowbiteAlertContentConfig } from '../config/alert-content-config';\r\nimport { flowbiteAlertContentState, provideFlowbiteAlertContentState } from './alert-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    div[flowbiteAlertContent]\r\n  `,\r\n  exportAs: 'flowbiteAlertContent',\r\n  hostDirectives: [],\r\n  providers: [provideFlowbiteAlertContentState()],\r\n  host: { '[class]': `theme().host.root` },\r\n})\r\nexport class AlertContent {\r\n  readonly config = injectFlowbiteAlertContentConfig();\r\n  readonly alertState = injectFlowbiteAlertState();\r\n\r\n  /**\r\n   * @see {@link injectFlowbiteAlertContentConfig}\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.alertState().color())\r\n        ),\r\n      },\r\n    };\r\n  });\r\n\r\n  /**\r\n   * @internal\r\n   */\r\n  readonly state = flowbiteAlertContentState<AlertContent>(this);\r\n}\r\n","/* Alert */\r\nexport * from './alert/alert.directive';\r\nexport * from './alert/alert-state';\r\nexport * from './alert/theme';\r\n/* Config */\r\nexport * from './config/alert-config';\r\n\r\n/* AlertButton */\r\nexport * from './alert-button/alert-button.directive';\r\nexport * from './alert-button/alert-button-state';\r\nexport * from './alert-button/theme';\r\n/* Config */\r\nexport * from './config/alert-button-config';\r\n\r\n/* AlertContent */\r\nexport * from './alert-content/alert-content.directive';\r\nexport * from './alert-content/alert-content-state';\r\nexport * from './alert-content/theme';\r\n/* Config */\r\nexport * from './config/alert-content-config';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}