{"version":3,"file":"FloatingLabel.mjs","sources":["../../../src/components/FloatingLabel/FloatingLabel.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef } from 'react';\nimport { forwardRef, useId } from 'react';\nimport { twMerge } from 'tailwind-merge';\nimport { mergeDeep } from '../../helpers/merge-deep';\nimport { getTheme } from '../../theme-store';\nimport type { DeepPartial } from '../../types';\nimport type { FlowbiteFloatingLabelTheme } from './theme';\n\nexport type FloatingLabelColor = 'default' | 'success' | 'error';\nexport type FloatingLabelSizing = 'sm' | 'md';\nexport type FloatingLabelVariant = 'filled' | 'outlined' | 'standard';\n\nexport interface FloatingLabelProps extends ComponentPropsWithoutRef<'input'> {\n  label: string;\n  helperText?: string;\n  color?: FloatingLabelColor;\n  sizing?: FloatingLabelSizing;\n  variant: FloatingLabelVariant;\n  disabled?: boolean;\n  theme?: DeepPartial<FlowbiteFloatingLabelTheme>;\n}\n\nexport const FloatingLabel = forwardRef<HTMLInputElement, FloatingLabelProps>(\n  (\n    {\n      label,\n      helperText,\n      color = 'default',\n      sizing = 'md',\n      variant,\n      disabled = false,\n      theme: customTheme = {},\n      className,\n      ...props\n    },\n    ref,\n  ) => {\n    const randomId = useId();\n    const theme = mergeDeep(getTheme().floatingLabel, customTheme);\n\n    return (\n      <div>\n        <div className={twMerge('relative', variant === 'standard' ? 'z-0' : '')}>\n          <input\n            type=\"text\"\n            id={props.id ? props.id : 'floatingLabel' + randomId}\n            aria-describedby=\"outlined_success_help\"\n            className={twMerge(theme.input[color][variant][sizing], className)}\n            placeholder=\" \"\n            data-testid=\"floating-label\"\n            disabled={disabled}\n            {...props}\n            ref={ref}\n          />\n          <label\n            htmlFor={props.id ? props.id : 'floatingLabel' + randomId}\n            className={twMerge(theme.label[color][variant][sizing], className)}\n          >\n            {label}\n          </label>\n        </div>\n        <p id={'outlined_helper_text' + randomId} className={twMerge(theme.helperText[color], className)}>\n          {helperText}\n        </p>\n      </div>\n    );\n  },\n);\n\nFloatingLabel.displayName = 'FloatingLabel';\n"],"names":["FloatingLabel","forwardRef","t0","ref","$","_c","className","helperText","label","props","t1","t2","t3","t4","variant","color","sizing","disabled","theme","undefined","t5","customTheme","randomId","useId","t6","t7","t8","mergeDeep","getTheme","floatingLabel","t9","t10","twMerge","t11","jsx","id","input","t12","jsxs","displayName"],"mappings":"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"}