{"version":3,"file":"flowbite-angular-form.mjs","sources":["../../../../libs/flowbite-angular/form/src/label/theme.ts","../../../../libs/flowbite-angular/form/src/config/label-config.ts","../../../../libs/flowbite-angular/form/src/form-field/form-field-state.ts","../../../../libs/flowbite-angular/form/src/label/label-state.ts","../../../../libs/flowbite-angular/form/src/label/label.directive.ts","../../../../libs/flowbite-angular/form/src/helper/theme.ts","../../../../libs/flowbite-angular/form/src/config/helper-config.ts","../../../../libs/flowbite-angular/form/src/helper/helper-state.ts","../../../../libs/flowbite-angular/form/src/helper/helper.directive.ts","../../../../libs/flowbite-angular/form/src/form-field/theme.ts","../../../../libs/flowbite-angular/form/src/config/form-field-config.ts","../../../../libs/flowbite-angular/form/src/form-field/form-field.directive.ts","../../../../libs/flowbite-angular/form/src/form-control/theme.ts","../../../../libs/flowbite-angular/form/src/config/form-control-config.ts","../../../../libs/flowbite-angular/form/src/form-control/form-control-state.ts","../../../../libs/flowbite-angular/form/src/form-control/form-control.directive.ts","../../../../libs/flowbite-angular/form/src/index.ts","../../../../libs/flowbite-angular/form/src/flowbite-angular-form.ts"],"sourcesContent":["import type { FlowbiteFormFieldColors, FlowbiteFormFieldModes } from '../form-field/theme';\r\n\r\nimport { createTheme } from 'flowbite-angular';\r\n\r\nexport interface FlowbiteLabelTheme {\r\n  host: FlowbiteLabelHostTheme;\r\n}\r\n\r\nexport interface FlowbiteLabelHostTheme {\r\n  base: string;\r\n  transition: string;\r\n  color: FlowbiteFormFieldColors;\r\n  mode: FlowbiteFormFieldModes;\r\n}\r\n\r\nexport const flowbiteLabelTheme: FlowbiteLabelTheme = createTheme({\r\n  host: {\r\n    base: 'mb-2 block text-sm font-medium',\r\n    transition: '',\r\n    color: {\r\n      default: {\r\n        light: 'text-gray-900',\r\n        dark: 'dark:text-white',\r\n      },\r\n      info: {\r\n        light: 'text-blue-900',\r\n        dark: 'dark:text-blue-500',\r\n      },\r\n      failure: {\r\n        light: 'text-red-900',\r\n        dark: 'dark:text-red-500',\r\n      },\r\n      success: {\r\n        light: 'text-green-900',\r\n        dark: 'dark:text-green-500',\r\n      },\r\n      warning: {\r\n        light: 'text-yellow-900',\r\n        dark: 'dark:text-yellow-500',\r\n      },\r\n      primary: {\r\n        light: 'text-primary-900',\r\n        dark: 'dark:text-primary-500',\r\n      },\r\n    },\r\n    mode: {\r\n      normal: '',\r\n      floating:\r\n        'absolute top-3 -z-10 origin-[0] -translate-y-6 scale-75 transform transition-transform duration-150 ease-in-out peer-placeholder-shown:translate-y-0 peer-placeholder-shown:scale-100 peer-focus:start-0 peer-focus:-translate-y-6 peer-focus:scale-75 peer-focus:font-medium',\r\n    },\r\n  },\r\n});\r\n","import { flowbiteLabelTheme, type FlowbiteLabelTheme } from '../label/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 FlowbiteLabelConfig {\r\n  /**\r\n   * The default theme of Label\r\n   */\r\n  baseTheme: FlowbiteLabelTheme;\r\n  /**\r\n   * The custom theme of Label\r\n   */\r\n  customTheme: DeepPartial<FlowbiteLabelTheme>;\r\n}\r\n\r\nexport const defaultFlowbiteLabelConfig: FlowbiteLabelConfig = {\r\n  baseTheme: flowbiteLabelTheme,\r\n  customTheme: {},\r\n};\r\n\r\nexport const FlowbiteLabelConfigToken = new InjectionToken<FlowbiteLabelConfig>(\r\n  'FlowbiteLabelConfigToken'\r\n);\r\n\r\n/**\r\n * Provide the default Label configuration\r\n * @param config The Label configuration\r\n * @returns The provider\r\n */\r\nexport const provideFlowbiteLabelConfig = (config: Partial<FlowbiteLabelConfig>): Provider[] => [\r\n  {\r\n    provide: FlowbiteLabelConfigToken,\r\n    useValue: { ...defaultFlowbiteLabelConfig, ...config },\r\n  },\r\n];\r\n\r\n/**\r\n * Inject the Label configuration\r\n * @see {@link defaultFlowbiteLabelConfig}\r\n * @returns The configuration\r\n */\r\nexport const injectFlowbiteLabelConfig = (): FlowbiteLabelConfig =>\r\n  inject(FlowbiteLabelConfigToken, { optional: true }) ?? defaultFlowbiteLabelConfig;\r\n","import type { FormField } from './form-field.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 FlowbiteFormFieldStateToken = createStateToken<FormField>('Flowbite FormField');\r\nexport const provideFlowbiteFormFieldState = createStateProvider(FlowbiteFormFieldStateToken);\r\nexport const injectFlowbiteFormFieldState = createStateInjector(FlowbiteFormFieldStateToken);\r\nexport const flowbiteFormFieldState = createState(FlowbiteFormFieldStateToken);\r\n","import type { Label } from './label.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 FlowbiteLabelStateToken = createStateToken<Label>('Flowbite Label');\r\nexport const provideFlowbiteLabelState = createStateProvider(FlowbiteLabelStateToken);\r\nexport const injectFlowbiteLabelState = createStateInjector(FlowbiteLabelStateToken);\r\nexport const flowbiteLabelState = createState(FlowbiteLabelStateToken);\r\n","import { injectFlowbiteLabelConfig } from '../config/label-config';\r\nimport { injectFlowbiteFormFieldState } from '../form-field/form-field-state';\r\nimport type { FlowbiteFormFieldColors } from '../form-field/theme';\r\nimport { flowbiteLabelState, provideFlowbiteLabelState } from './label-state';\r\n\r\nimport { colorToTheme, mergeDeep } from 'flowbite-angular';\r\n\r\nimport { computed, Directive, input } from '@angular/core';\r\nimport { NgpLabel } from 'ng-primitives/form-field';\r\nimport { twMerge } from 'tailwind-merge';\r\n\r\n@Directive({\r\n  standalone: true,\r\n  selector: `\r\n    label[flowbiteLabel]\r\n  `,\r\n  exportAs: 'flowbiteLabel',\r\n  hostDirectives: [\r\n    {\r\n      directive: NgpLabel,\r\n      inputs: ['id:id'],\r\n      outputs: [],\r\n    },\r\n  ],\r\n  providers: [provideFlowbiteLabelState()],\r\n  host: { '[class]': `theme().host.root` },\r\n})\r\nexport class Label {\r\n  readonly config = injectFlowbiteLabelConfig();\r\n  readonly formFieldState = injectFlowbiteFormFieldState();\r\n\r\n  /**\r\n   * @see {@link injectFlowbiteFormFieldState}\r\n   */\r\n  readonly color = input<keyof FlowbiteFormFieldColors>();\r\n\r\n  /**\r\n   * @see {@link injectFlowbiteLabelConfig}\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() ?? this.formFieldState().color()),\r\n          mergedTheme.host.mode[this.formFieldState().mode()]\r\n        ),\r\n      },\r\n    };\r\n  });\r\n\r\n  /**\r\n   * @internal\r\n   */\r\n  readonly state = flowbiteLabelState<Label>(this);\r\n}\r\n","import type { FlowbiteFormFieldColors } from '../form-field/theme';\r\n\r\nimport { createTheme } from 'flowbite-angular';\r\n\r\nexport interface FlowbiteHelperTheme {\r\n  host: FlowbiteHelperHostTheme;\r\n}\r\n\r\nexport interface FlowbiteHelperHostTheme {\r\n  base: string;\r\n  transition: string;\r\n  color: FlowbiteFormFieldColors;\r\n}\r\n\r\nexport const flowbiteHelperTheme: FlowbiteHelperTheme = createTheme({\r\n  host: {\r\n    base: 'mt-2 text-sm',\r\n    transition: '',\r\n    color: {\r\n      default: {\r\n        light: 'text-gray-900',\r\n        dark: 'dark:text-white',\r\n      },\r\n      info: {\r\n        light: 'text-gray-900',\r\n        dark: 'dark:text-white',\r\n      },\r\n      failure: {\r\n        light: 'text-gray-900',\r\n        dark: 'dark:text-white',\r\n      },\r\n      success: {\r\n        light: 'text-gray-900',\r\n        dark: 'dark:text-white',\r\n      },\r\n      warning: {\r\n        light: 'text-gray-900',\r\n        dark: 'dark:text-white',\r\n      },\r\n      primary: {\r\n        light: 'text-gray-900',\r\n        dark: 'dark:text-white',\r\n      },\r\n    },\r\n  },\r\n});\r\n","import { flowbiteHelperTheme, type FlowbiteHelperTheme } from '../helper/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 FlowbiteHelperConfig {\r\n  /**\r\n   * The default theme of helper\r\n   */\r\n  baseTheme: FlowbiteHelperTheme;\r\n  /**\r\n   * The custom theme of helper\r\n   */\r\n  customTheme: DeepPartial<FlowbiteHelperTheme>;\r\n}\r\n\r\nexport const defaultFlowbiteHelperConfig: FlowbiteHelperConfig = {\r\n  baseTheme: flowbiteHelperTheme,\r\n  customTheme: {},\r\n};\r\n\r\nexport const FlowbiteHelperConfigToken = new InjectionToken<FlowbiteHelperConfig>(\r\n  'FlowbiteHelperConfigToken'\r\n);\r\n\r\n/**\r\n * Provide the default Helper configuration\r\n * @param config The Helper configuration\r\n * @returns The provider\r\n */\r\nexport const provideFlowbiteHelperConfig = (config: Partial<FlowbiteHelperConfig>): Provider[] => [\r\n  {\r\n    provide: FlowbiteHelperConfigToken,\r\n    useValue: { ...defaultFlowbiteHelperConfig, ...config },\r\n  },\r\n];\r\n\r\n/**\r\n * Inject the Helper configuration\r\n * @see {@link defaultFlowbiteHelperConfig}\r\n * @returns The configuration\r\n */\r\nexport const injectFlowbiteHelperConfig = (): FlowbiteHelperConfig =>\r\n  inject(FlowbiteHelperConfigToken, { optional: true }) ?? defaultFlowbiteHelperConfig;\r\n","import type { Helper } from './helper.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 FlowbiteHelperStateToken = createStateToken<Helper>('Flowbite Helper');\r\nexport const provideFlowbiteHelperState = createStateProvider(FlowbiteHelperStateToken);\r\nexport const injectFlowbiteHelperState = createStateInjector(FlowbiteHelperStateToken);\r\nexport const flowbiteHelperState = createState(FlowbiteHelperStateToken);\r\n","import { injectFlowbiteHelperConfig } from '../config/helper-config';\r\nimport { injectFlowbiteFormFieldState } from '../form-field/form-field-state';\r\nimport type { FlowbiteFormFieldColors } from '../form-field/theme';\r\nimport { flowbiteHelperState, provideFlowbiteHelperState } from './helper-state';\r\n\r\nimport { colorToTheme, mergeDeep } from 'flowbite-angular';\r\n\r\nimport { computed, Directive, input } from '@angular/core';\r\nimport { NgpDescription } from 'ng-primitives/form-field';\r\nimport { twMerge } from 'tailwind-merge';\r\n\r\n@Directive({\r\n  standalone: true,\r\n  selector: `\r\n    [flowbiteHelper]\r\n  `,\r\n  exportAs: 'flowbiteHelper',\r\n  hostDirectives: [\r\n    {\r\n      directive: NgpDescription,\r\n      inputs: ['id:id'],\r\n      outputs: [],\r\n    },\r\n  ],\r\n  providers: [provideFlowbiteHelperState()],\r\n  host: { '[class]': `theme().host.root` },\r\n})\r\nexport class Helper {\r\n  readonly config = injectFlowbiteHelperConfig();\r\n  readonly formFieldState = injectFlowbiteFormFieldState();\r\n\r\n  /**\r\n   * @see {@link injectFlowbiteFormFieldState}\r\n   */\r\n  readonly color = input<keyof FlowbiteFormFieldColors>();\r\n\r\n  /**\r\n   * @see {@link injectFlowbiteHelperConfig}\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() ?? this.formFieldState().color())\r\n        ),\r\n      },\r\n    };\r\n  });\r\n\r\n  /**\r\n   * @internal\r\n   */\r\n  readonly state = flowbiteHelperState<Helper>(this);\r\n}\r\n","import type { ColorToTheme, FlowbiteColors, FlowbiteSizes } from 'flowbite-angular';\r\nimport { createTheme } from 'flowbite-angular';\r\n\r\nexport interface FlowbiteFormFieldColors\r\n  extends Pick<FlowbiteColors, 'default' | 'info' | 'failure' | 'success' | 'warning' | 'primary'> {\r\n  [key: string]: ColorToTheme;\r\n}\r\n\r\nexport interface FlowbiteFormFieldSizes extends Pick<FlowbiteSizes, 'sm' | 'md' | 'xl'> {\r\n  [ket: string]: string;\r\n}\r\n\r\nexport interface FlowbiteFormFieldModes {\r\n  normal: string;\r\n  floating: string;\r\n  [key: string]: string;\r\n}\r\n\r\nexport interface FlowbiteFormFieldTheme {\r\n  host: FlowbiteFormFieldHostTheme;\r\n}\r\n\r\nexport interface FlowbiteFormFieldHostTheme {\r\n  base: string;\r\n  transition: string;\r\n  mode: FlowbiteFormFieldModes;\r\n}\r\n\r\nexport const flowbiteFormFieldTheme: FlowbiteFormFieldTheme = createTheme({\r\n  host: {\r\n    base: 'mb-5',\r\n    transition: '',\r\n    mode: {\r\n      normal: 'block',\r\n      floating: 'group relative z-0',\r\n    },\r\n  },\r\n});\r\n","import type {\r\n  FlowbiteFormFieldColors,\r\n  FlowbiteFormFieldModes,\r\n  FlowbiteFormFieldSizes,\r\n} from '../form-field/theme';\r\nimport { flowbiteFormFieldTheme, type FlowbiteFormFieldTheme } from '../form-field/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 FlowbiteFormFieldConfig {\r\n  /**\r\n   * The default theme of FormField\r\n   */\r\n  baseTheme: FlowbiteFormFieldTheme;\r\n  /**\r\n   * The default size of FormField\r\n   */\r\n  size: keyof FlowbiteFormFieldSizes;\r\n  /**\r\n   * The default color of FormField\r\n   */\r\n  color: keyof FlowbiteFormFieldColors;\r\n  /**\r\n   * The default mode of FormField\r\n   */\r\n  mode: keyof FlowbiteFormFieldModes;\r\n  /**\r\n   * The custom theme of FormField\r\n   */\r\n  customTheme: DeepPartial<FlowbiteFormFieldTheme>;\r\n}\r\n\r\nexport const defaultFlowbiteFormFieldConfig: FlowbiteFormFieldConfig = {\r\n  baseTheme: flowbiteFormFieldTheme,\r\n  size: 'md',\r\n  color: 'default',\r\n  mode: 'normal',\r\n  customTheme: {},\r\n};\r\n\r\nexport const FlowbiteFormFieldConfigToken = new InjectionToken<FlowbiteFormFieldConfig>(\r\n  'FlowbiteFormFieldConfigToken'\r\n);\r\n\r\n/**\r\n * Provide the default FormField configuration\r\n * @param config The FormField configuration\r\n * @returns The provider\r\n */\r\nexport const provideFlowbiteFormFieldConfig = (\r\n  config: Partial<FlowbiteFormFieldConfig>\r\n): Provider[] => [\r\n  {\r\n    provide: FlowbiteFormFieldConfigToken,\r\n    useValue: { ...defaultFlowbiteFormFieldConfig, ...config },\r\n  },\r\n];\r\n\r\n/**\r\n * Inject the FormField configuration\r\n * @see {@link defaultFlowbiteFormFieldConfig}\r\n * @returns The configuration\r\n */\r\nexport const injectFlowbiteFormFieldConfig = (): FlowbiteFormFieldConfig =>\r\n  inject(FlowbiteFormFieldConfigToken, { optional: true }) ?? defaultFlowbiteFormFieldConfig;\r\n","import { injectFlowbiteFormFieldConfig } from '../config/form-field-config';\r\nimport { flowbiteFormFieldState, provideFlowbiteFormFieldState } from './form-field-state';\r\n\r\nimport { mergeDeep } from 'flowbite-angular';\r\n\r\nimport { computed, Directive, input } from '@angular/core';\r\nimport { NgpFormField } from 'ng-primitives/form-field';\r\nimport { twMerge } from 'tailwind-merge';\r\n\r\n@Directive({\r\n  standalone: true,\r\n  selector: `\r\n    div[flowbiteFormField]\r\n  `,\r\n  exportAs: 'flowbiteFormField',\r\n  hostDirectives: [\r\n    {\r\n      directive: NgpFormField,\r\n      inputs: [],\r\n      outputs: [],\r\n    },\r\n  ],\r\n  providers: [provideFlowbiteFormFieldState()],\r\n  host: { '[class]': `theme().host.root` },\r\n})\r\nexport class FormField {\r\n  readonly config = injectFlowbiteFormFieldConfig();\r\n\r\n  /**\r\n   * @see {@link injectFlowbiteFormFieldConfig}\r\n   */\r\n  readonly size = input(this.config.size);\r\n  /**\r\n   * @see {@link injectFlowbiteFormFieldConfig}\r\n   */\r\n  readonly color = input(this.config.color);\r\n  /**\r\n   * @see {@link injectFlowbiteFormFieldConfig}\r\n   */\r\n  readonly mode = input(this.config.mode);\r\n  /**\r\n   * @see {@link injectFlowbiteFormFieldConfig}\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          mergedTheme.host.mode[this.state.mode()]\r\n        ),\r\n      },\r\n    };\r\n  });\r\n\r\n  /**\r\n   * @internal\r\n   */\r\n  readonly state = flowbiteFormFieldState<FormField>(this);\r\n}\r\n","import type {\r\n  FlowbiteFormFieldColors,\r\n  FlowbiteFormFieldModes,\r\n  FlowbiteFormFieldSizes,\r\n} from '../form-field/theme';\r\n\r\nimport { createTheme } from 'flowbite-angular';\r\n\r\nexport interface FlowbiteFormControlTheme {\r\n  host: FlowbiteFormControlHostTheme;\r\n}\r\n\r\nexport interface FlowbiteFormControlHostTheme {\r\n  base: string;\r\n  transition: string;\r\n  disabled: string;\r\n  size: FlowbiteFormFieldSizes;\r\n  color: FlowbiteFormFieldColors;\r\n  mode: FlowbiteFormFieldModes;\r\n}\r\n\r\nexport const flowbiteFormControlTheme: FlowbiteFormControlTheme = createTheme({\r\n  host: {\r\n    base: 'block w-full text-sm',\r\n    transition: '',\r\n    disabled: 'data-disabled:cursor-not-allowed',\r\n    size: {\r\n      sm: 'p-2',\r\n      md: 'p-2.5',\r\n      xl: 'p-3',\r\n    },\r\n    color: {\r\n      default: {\r\n        light: 'border-gray-300 bg-gray-50 text-gray-900 outline-gray-200',\r\n        dark: 'dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:outline-gray-700',\r\n      },\r\n      info: {\r\n        light: 'border-blue-300 bg-gray-50 text-blue-900 outline-blue-200',\r\n        dark: 'dark:border-blue-600 dark:bg-gray-700 dark:text-blue-500 dark:placeholder-blue-400 dark:outline-blue-700',\r\n      },\r\n      failure: {\r\n        light: 'border-red-300 bg-gray-50 text-red-900 outline-red-200',\r\n        dark: 'dark:border-red-600 dark:bg-gray-700 dark:text-red-500 dark:placeholder-red-400 dark:outline-red-700',\r\n      },\r\n      success: {\r\n        light: 'border-green-300 bg-gray-50 text-green-900 outline-green-200',\r\n        dark: 'dark:border-green-600 dark:bg-gray-700 dark:text-green-500 dark:placeholder-green-400 dark:outline-green-700',\r\n      },\r\n      warning: {\r\n        light: 'border-yellow-300 bg-gray-50 text-yellow-900 outline-yellow-200',\r\n        dark: 'dark:border-yellow-600 dark:bg-gray-700 dark:text-yellow-500 dark:placeholder-yellow-400 dark:outline-yellow-700',\r\n      },\r\n      primary: {\r\n        light: 'border-primary-300 text-primary-900 outline-primary-200 bg-gray-50',\r\n        dark: 'dark:border-primary-600 dark:text-primary-500 dark:placeholder-primary-400 dark:outline-primary-700 dark:bg-gray-700',\r\n      },\r\n    },\r\n    mode: {\r\n      normal: 'rounded-lg border data-focus:outline-2',\r\n      floating:\r\n        'peer appearance-none border-b-2 bg-transparent px-0 not-data-focus:border-gray-300 data-focus:outline-0 dark:bg-transparent',\r\n    },\r\n  },\r\n});\r\n","import { flowbiteFormControlTheme, type FlowbiteFormControlTheme } from '../form-control/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 FlowbiteFormControlConfig {\r\n  /**\r\n   * The default theme of FormControl\r\n   */\r\n  baseTheme: FlowbiteFormControlTheme;\r\n  /**\r\n   * The custom theme of FormControl\r\n   */\r\n  customTheme: DeepPartial<FlowbiteFormControlTheme>;\r\n}\r\n\r\nexport const defaultFlowbiteFormControlConfig: FlowbiteFormControlConfig = {\r\n  baseTheme: flowbiteFormControlTheme,\r\n  customTheme: {},\r\n};\r\n\r\nexport const FlowbiteFormControlConfigToken = new InjectionToken<FlowbiteFormControlConfig>(\r\n  'FlowbiteFormControlConfigToken'\r\n);\r\n\r\n/**\r\n * Provide the default FormControl configuration\r\n * @param config The FormControl configuration\r\n * @returns The provider\r\n */\r\nexport const provideFlowbiteFormControlConfig = (\r\n  config: Partial<FlowbiteFormControlConfig>\r\n): Provider[] => [\r\n  {\r\n    provide: FlowbiteFormControlConfigToken,\r\n    useValue: { ...defaultFlowbiteFormControlConfig, ...config },\r\n  },\r\n];\r\n\r\n/**\r\n * Inject the FormControl configuration\r\n * @see {@link defaultFlowbiteFormControlConfig}\r\n * @returns The configuration\r\n */\r\nexport const injectFlowbiteFormControlConfig = (): FlowbiteFormControlConfig =>\r\n  inject(FlowbiteFormControlConfigToken, { optional: true }) ?? defaultFlowbiteFormControlConfig;\r\n","import type { FormControl } from './form-control.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 FlowbiteFormControlStateToken = createStateToken<FormControl>('Flowbite FormControl');\r\nexport const provideFlowbiteFormControlState = createStateProvider(FlowbiteFormControlStateToken);\r\nexport const injectFlowbiteFormControlState = createStateInjector(FlowbiteFormControlStateToken);\r\nexport const flowbiteFormControlState = createState(FlowbiteFormControlStateToken);\r\n","import { injectFlowbiteFormControlConfig } from '../config/form-control-config';\r\nimport { injectFlowbiteFormFieldState } from '../form-field/form-field-state';\r\nimport { flowbiteFormControlState, provideFlowbiteFormControlState } from './form-control-state';\r\n\r\nimport { colorToTheme, mergeDeep } from 'flowbite-angular';\r\n\r\nimport { computed, Directive, input } from '@angular/core';\r\nimport { NgpInput } from 'ng-primitives/input';\r\nimport { twMerge } from 'tailwind-merge';\r\n\r\n@Directive({\r\n  standalone: true,\r\n  selector: `\r\n    [flowbiteFormControl]\r\n  `,\r\n  exportAs: 'flowbiteFormControl',\r\n  hostDirectives: [\r\n    {\r\n      directive: NgpInput,\r\n      inputs: ['id:id', 'disabled:disabled'],\r\n      outputs: [],\r\n    },\r\n  ],\r\n  providers: [provideFlowbiteFormControlState()],\r\n  host: { '[class]': `theme().host.root` },\r\n})\r\nexport class FormControl {\r\n  readonly config = injectFlowbiteFormControlConfig();\r\n  readonly formFieldState = injectFlowbiteFormFieldState();\r\n\r\n  /**\r\n   * @see {@link injectFlowbiteFormControlConfig}\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          mergedTheme.host.disabled,\r\n          colorToTheme(mergedTheme.host.color, this.formFieldState().color()),\r\n          mergedTheme.host.mode[this.formFieldState().mode()],\r\n          mergedTheme.host.size[this.formFieldState().size()]\r\n        ),\r\n      },\r\n    };\r\n  });\r\n\r\n  /**\r\n   * @internal\r\n   */\r\n  readonly state = flowbiteFormControlState<FormControl>(this);\r\n}\r\n","/* Label */\r\nexport * from './label/label.directive';\r\nexport * from './label/label-state';\r\nexport * from './label/theme';\r\n/* Config */\r\nexport * from './config/label-config';\r\n\r\n/* Helper */\r\nexport * from './helper/helper.directive';\r\nexport * from './helper/helper-state';\r\nexport * from './helper/theme';\r\n/* Config */\r\nexport * from './config/helper-config';\r\n\r\n/* FormField */\r\nexport * from './form-field/form-field.directive';\r\nexport * from './form-field/form-field-state';\r\nexport * from './form-field/theme';\r\n/* Config */\r\nexport * from './config/form-field-config';\r\n\r\n/* FormControl */\r\nexport * from './form-control/form-control.directive';\r\nexport * from './form-control/form-control-state';\r\nexport * from './form-control/theme';\r\n/* Config */\r\nexport * from './config/form-control-config';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}