{"version":3,"file":"flowbite-angular-button.mjs","sources":["../../../../libs/flowbite-angular/button/src/base-button/base-button-state.ts","../../../../libs/flowbite-angular/button/src/config/base-button-config.ts","../../../../libs/flowbite-angular/button/src/base-button/base-button.directive.ts","../../../../libs/flowbite-angular/button/src/button/theme.ts","../../../../libs/flowbite-angular/button/src/config/button-config.ts","../../../../libs/flowbite-angular/button/src/button/button-state.ts","../../../../libs/flowbite-angular/button/src/button/button.directive.ts","../../../../libs/flowbite-angular/button/src/index.ts","../../../../libs/flowbite-angular/button/src/flowbite-angular-button.ts"],"sourcesContent":["import type { BaseButton } from './base-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 FlowbiteBaseButtonStateToken = createStateToken<BaseButton>('Flowbite BaseButton');\r\nexport const provideFlowbiteBaseButtonState = createStateProvider(FlowbiteBaseButtonStateToken);\r\nexport const injectFlowbiteBaseButtonState = createStateInjector(FlowbiteBaseButtonStateToken);\r\nexport const flowbiteBaseButtonState = createState(FlowbiteBaseButtonStateToken);\r\n","import type { FlowbiteBaseButtonColors, FlowbiteBaseButtonSizes } from '../base-button/theme';\r\n\r\nimport type { Provider } from '@angular/core';\r\nimport { inject, InjectionToken } from '@angular/core';\r\n\r\nexport interface FlowbiteBaseButtonConfig {\r\n  /**\r\n   * The default color of button.\r\n   */\r\n  color: keyof FlowbiteBaseButtonColors;\r\n  /**\r\n   * The default size of button.\r\n   */\r\n  size: keyof FlowbiteBaseButtonSizes;\r\n  /**\r\n   * Whether the button is pill.\r\n   */\r\n  pill: boolean;\r\n  /**\r\n   * Whether the button is outline.\r\n   */\r\n  outline: boolean;\r\n}\r\n\r\nexport const defaultFlowbiteBaseButtonConfig: FlowbiteBaseButtonConfig = {\r\n  color: 'default',\r\n  size: 'md',\r\n  pill: false,\r\n  outline: false,\r\n};\r\n\r\nexport const FlowbiteBaseButtonConfigToken = new InjectionToken<FlowbiteBaseButtonConfig>(\r\n  'FlowbiteBaseButtonConfigToken'\r\n);\r\n\r\n/**\r\n * Provide the default BaseButton configuration\r\n * @param config The BaseButton configuration\r\n * @returns The provider\r\n */\r\nexport const provideFlowbiteBaseButtonConfig = (\r\n  config: Partial<FlowbiteBaseButtonConfig>\r\n): Provider[] => [\r\n  {\r\n    provide: FlowbiteBaseButtonConfigToken,\r\n    useValue: { ...defaultFlowbiteBaseButtonConfig, ...config },\r\n  },\r\n];\r\n\r\n/**\r\n * Inject the BaseButton configuration\r\n * @see {@link defaultFlowbiteBaseButtonConfig}\r\n * @returns The configuration\r\n */\r\nexport const injectFlowbiteBaseButtonConfig = (): FlowbiteBaseButtonConfig =>\r\n  inject(FlowbiteBaseButtonConfigToken, { optional: true }) ?? defaultFlowbiteBaseButtonConfig;\r\n","import { injectFlowbiteBaseButtonConfig } from '../config/base-button-config';\r\nimport { flowbiteBaseButtonState, provideFlowbiteBaseButtonState } from './base-button-state';\r\nimport type { FlowbiteBaseButtonColors, FlowbiteBaseButtonSizes } from './theme';\r\n\r\nimport { booleanAttribute, Directive, input } from '@angular/core';\r\n\r\n@Directive({\r\n  standalone: true,\r\n  providers: [provideFlowbiteBaseButtonState()],\r\n})\r\nexport class BaseButton {\r\n  readonly config = injectFlowbiteBaseButtonConfig();\r\n\r\n  /**\r\n   * @see {@link injectFlowbiteBaseButtonConfig}\r\n   */\r\n  readonly color = input<keyof FlowbiteBaseButtonColors>(this.config.color);\r\n  /**\r\n   * @see {@link injectFlowbiteBaseButtonConfig}\r\n   */\r\n  readonly size = input<keyof FlowbiteBaseButtonSizes>(this.config.size);\r\n  /**\r\n   * @see {@link injectFlowbiteBaseButtonConfig}\r\n   */\r\n  readonly pill = input(this.config.pill, { transform: booleanAttribute });\r\n  /**\r\n   * @see {@link injectFlowbiteBaseButtonConfig}\r\n   */\r\n  readonly outline = input(this.config.outline, { transform: booleanAttribute });\r\n\r\n  /**\r\n   * @internal\r\n   */\r\n  readonly state = flowbiteBaseButtonState<BaseButton>(this);\r\n}\r\n","import type { FlowbiteBaseButtonColors, FlowbiteBaseButtonSizes } from '../base-button/theme';\r\n\r\nimport type { FlowbiteBoolean } from 'flowbite-angular';\r\nimport { createTheme } from 'flowbite-angular';\r\n\r\nexport interface FlowbiteButtonTheme {\r\n  host: FlowbiteButtonHostTheme;\r\n}\r\n\r\nexport interface FlowbiteButtonHostTheme {\r\n  base: string;\r\n  transition: string;\r\n  focus: string;\r\n  disabled: string;\r\n  size: FlowbiteBaseButtonSizes;\r\n  pill: FlowbiteBoolean;\r\n  color: FlowbiteBaseButtonColors;\r\n  colorOutline: FlowbiteBaseButtonColors;\r\n}\r\n\r\nexport const flowbiteButtonTheme: FlowbiteButtonTheme = createTheme({\r\n  host: {\r\n    base: 'flex cursor-pointer items-center justify-center border text-center font-medium',\r\n    transition: '',\r\n    focus: 'data-focus:ring-2',\r\n    disabled: 'data-disabled:cursor-not-allowed data-disabled:opacity-75',\r\n    size: {\r\n      xs: 'px-3 py-2 text-xs',\r\n      sm: 'px-3 py-2 text-sm',\r\n      md: 'px-5 py-2.5 text-sm',\r\n      lg: 'px-5 py-3 text-base',\r\n      xl: 'px-6 py-3.5 text-base',\r\n    },\r\n    pill: {\r\n      on: 'rounded-full',\r\n      off: 'rounded-lg',\r\n    },\r\n    color: {\r\n      default: {\r\n        light: 'border-gray-200 bg-gray-100 text-gray-700 data-hover:bg-gray-200',\r\n        dark: 'dark:border-gray-900 dark:bg-gray-800 dark:text-gray-100 dark:data-hover:bg-gray-700',\r\n      },\r\n      info: {\r\n        light: 'border-blue-700 bg-blue-600 text-gray-100 data-hover:bg-blue-700',\r\n        dark: 'dark:border-blue-900 dark:bg-blue-800 dark:text-blue-100 dark:data-hover:bg-blue-900',\r\n      },\r\n      failure: {\r\n        light: 'border-red-700 bg-red-600 text-gray-100 data-hover:bg-red-700',\r\n        dark: 'dark:border-red-900 dark:bg-red-800 dark:text-red-100 dark:data-hover:bg-red-900',\r\n      },\r\n      success: {\r\n        light: 'border-green-700 bg-green-600 text-gray-100 data-hover:bg-green-700',\r\n        dark: 'dark:border-green-900 dark:bg-green-800 dark:text-green-100 dark:data-hover:bg-green-900',\r\n      },\r\n      warning: {\r\n        light: 'border-yellow-700 bg-yellow-600 text-gray-100 data-hover:bg-yellow-700',\r\n        dark: 'dark:border-yellow-900 dark:bg-yellow-800 dark:text-yellow-100 dark:data-hover:bg-yellow-900',\r\n      },\r\n      primary: {\r\n        light: 'border-primary-800 bg-primary-700 data-hover:bg-primary-800 text-gray-100',\r\n        dark: 'dark:border-primary-900 dark:bg-primary-800 dark:text-primary-100 dark:data-hover:bg-primary-900',\r\n      },\r\n    },\r\n    colorOutline: {\r\n      default: {\r\n        light: 'border-gray-700 text-gray-700 data-hover:bg-gray-700 data-hover:text-gray-100',\r\n        dark: 'dark:border-gray-300 dark:text-gray-300 dark:data-hover:bg-gray-300 dark:data-hover:text-gray-700',\r\n      },\r\n      info: {\r\n        light: 'border-blue-700 text-blue-700 data-hover:bg-blue-700 data-hover:text-gray-100',\r\n        dark: 'dark:border-blue-700 dark:text-blue-600 dark:data-hover:bg-blue-700 dark:data-hover:text-gray-100',\r\n      },\r\n      failure: {\r\n        light: 'border-red-700 text-red-700 data-hover:bg-red-700 data-hover:text-red-100',\r\n        dark: 'dark:border-red-700 dark:text-red-600 dark:data-hover:bg-red-700 dark:data-hover:text-gray-100',\r\n      },\r\n      success: {\r\n        light: 'border-green-700 text-green-700 data-hover:bg-green-700 data-hover:text-green-100',\r\n        dark: 'dark:border-green-700 dark:text-green-600 dark:data-hover:bg-green-700 dark:data-hover:text-gray-100',\r\n      },\r\n      warning: {\r\n        light:\r\n          'border-yellow-700 text-yellow-700 data-hover:bg-yellow-700 data-hover:text-yellow-100',\r\n        dark: 'dark:border-yellow-700 dark:text-yellow-600 dark:data-hover:bg-yellow-700 dark:data-hover:text-gray-100',\r\n      },\r\n      primary: {\r\n        light:\r\n          'border-primary-700 text-primary-700 data-hover:bg-primary-700 data-hover:text-primary-100',\r\n        dark: 'dark:border-primary-700 dark:text-primary-600 dark:data-hover:bg-primary-700 dark:data-hover:text-gray-100',\r\n      },\r\n    },\r\n  },\r\n});\r\n","import { flowbiteButtonTheme, type FlowbiteButtonTheme } from '../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 FlowbiteButtonConfig {\r\n  /**\r\n   * The default theme of button.\r\n   */\r\n  baseTheme: FlowbiteButtonTheme;\r\n  /**\r\n   * The custom theme of button.\r\n   */\r\n  customTheme: DeepPartial<FlowbiteButtonTheme>;\r\n}\r\n\r\nexport const defaultFlowbiteButtonConfig: FlowbiteButtonConfig = {\r\n  baseTheme: flowbiteButtonTheme,\r\n  customTheme: {},\r\n};\r\n\r\nexport const FlowbiteButtonConfigToken = new InjectionToken<FlowbiteButtonConfig>(\r\n  'FlowbiteButtonConfigToken'\r\n);\r\n\r\n/**\r\n * Provide the default Button configuration\r\n * @param config The Button configuration\r\n * @returns The provider\r\n */\r\nexport const provideFlowbiteButtonConfig = (config: Partial<FlowbiteButtonConfig>): Provider[] => [\r\n  {\r\n    provide: FlowbiteButtonConfigToken,\r\n    useValue: { ...defaultFlowbiteButtonConfig, ...config },\r\n  },\r\n];\r\n\r\n/**\r\n * Inject the Button configuration\r\n * @see {@link defaultFlowbiteButtonConfig}\r\n * @returns The configuration\r\n */\r\nexport const injectFlowbiteButtonConfig = (): FlowbiteButtonConfig =>\r\n  inject(FlowbiteButtonConfigToken, { optional: true }) ?? defaultFlowbiteButtonConfig;\r\n","import type { Button } from './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 FlowbiteButtonStateToken = createStateToken<Button>('Flowbite Button');\r\nexport const provideFlowbiteButtonState = createStateProvider(FlowbiteButtonStateToken);\r\nexport const injectFlowbiteButtonState = createStateInjector(FlowbiteButtonStateToken);\r\nexport const flowbiteButtonState = createState(FlowbiteButtonStateToken);\r\n","import { injectFlowbiteBaseButtonState } from '../base-button/base-button-state';\r\nimport { BaseButton } from '../base-button/base-button.directive';\r\nimport { injectFlowbiteButtonConfig } from '../config/button-config';\r\nimport { flowbiteButtonState, provideFlowbiteButtonState } from './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[flowbiteButton],\r\n    a[flowbiteButton]\r\n  `,\r\n  exportAs: 'flowbiteButton',\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: ['ngpFocusDisabled:focusDisabled'],\r\n      outputs: ['ngpFocus'],\r\n    },\r\n    {\r\n      directive: BaseButton,\r\n      inputs: ['color', 'size', 'pill', 'outline'],\r\n      outputs: [],\r\n    },\r\n  ],\r\n  providers: [provideFlowbiteButtonState()],\r\n  host: { '[class]': `theme().host.root` },\r\n})\r\nexport class Button {\r\n  readonly config = injectFlowbiteButtonConfig();\r\n  readonly baseButtonState = injectFlowbiteBaseButtonState();\r\n\r\n  /**\r\n   * @see {@link injectFlowbiteButtonConfig}\r\n   */\r\n  readonly customTheme = input(this.config.customTheme);\r\n\r\n  /**\r\n   * @internal\r\n   */\r\n  readonly state = flowbiteButtonState<Button>(this);\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          mergedTheme.host.focus,\r\n          mergedTheme.host.disabled,\r\n          mergedTheme.host.size[this.baseButtonState().size()],\r\n          mergedTheme.host.pill[this.baseButtonState().pill() ? 'on' : 'off'],\r\n          this.baseButtonState().outline()\r\n            ? colorToTheme(mergedTheme.host.colorOutline, this.baseButtonState().color())\r\n            : colorToTheme(mergedTheme.host.color, this.baseButtonState().color())\r\n        ),\r\n      },\r\n    };\r\n  });\r\n}\r\n","/* Button */\r\nexport * from './button/button.directive';\r\nexport * from './button/button-state';\r\nexport * from './button/theme';\r\n/* Config */\r\nexport * from './config/button-config';\r\n\r\n/* BaseButton */\r\nexport * from './base-button/base-button.directive';\r\nexport * from './base-button/base-button-state';\r\nexport * from './base-button/theme';\r\n/* Config */\r\nexport * from './config/base-button-config';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.BaseButton"],"mappings":"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"}