{"version":3,"file":"UdpFileInput.mjs","names":["React","UdpFluentFileInput","UdpFluentFileInputWebComponent","JSX","UdpFileItem","createChangeEvent","createFocusEvent","FormChangeEvent","FormFocusEvent","UdpFileInputProps","Partial","Omit","onChange","event","onBlur","onFocus","children","ReactNode","error","helperText","UdpFileInput","FC","t0","$","_c","hint","name","props","value","t1","e","detail","handleValueChanged","t2","handleBlur","t3","handleFocus","hintStr","undefined","normalizedError","normalizedHint","t4"],"sources":["../../../src/UI/fluent-web-components/UdpFileInput.tsx"],"sourcesContent":["import React from 'react';\nimport { UdpFluentFileInput as UdpFluentFileInputWebComponent } from '@univerus/udp-react-stencil-component-library';\nimport { type JSX, type UdpFileItem } from '@univerus/udp-react-stencil-component-library';\nimport {\n  createChangeEvent,\n  createFocusEvent,\n  FormChangeEvent,\n  FormFocusEvent\n} from './utils/formEvents';\n\n/**\n * Props for the UdpFileInput component.\n *\n * One control with two presentation modes:\n * - `view=\"list\"` (default): file rows — for any file type.\n * - `view=\"gallery\"`: thumbnail tiles + click-to-zoom lightbox — for images.\n *\n * Supports both MUI-style and Fluent-style error handling:\n * - MUI style: error={boolean} + helperText={string}\n * - Fluent style: error={string} + hint={string}\n */\nexport interface UdpFileInputProps\n  extends Partial<\n    Omit<JSX.UdpFluentFileInput, 'onValueChanged' | 'onInputBlur' | 'onInputFocus' | 'error'>\n  > {\n  /** Called when item list changes - compatible with form libraries (event.target.value) */\n  onChange?: (event: FormChangeEvent<UdpFileItem[]>) => void;\n  /** Called when input loses focus - compatible with form libraries */\n  onBlur?: (event: FormFocusEvent) => void;\n  /** Called when input gains focus */\n  onFocus?: (event: FormFocusEvent) => void;\n  /** React children (for slot content) */\n  children?: React.ReactNode;\n  /**\n   * Error state - supports both MUI and Fluent patterns:\n   * - string: Fluent style - the error message to display\n   * - boolean: MUI style - when true, displays helperText as error\n   */\n  error?: string | boolean;\n  /**\n   * MUI compatibility: Helper/error text shown below the input.\n   * When error={true}, this is displayed as the error message.\n   * When error={false}, this is displayed as hint text.\n   */\n  helperText?: string;\n}\n\nexport const UdpFileInput: React.FC<UdpFileInputProps> = ({\n  onChange,\n  onBlur,\n  onFocus,\n  name,\n  value,\n  error,\n  helperText,\n  hint,\n  ...props\n}) => {\n  const handleValueChanged = (e: CustomEvent<UdpFileItem[]>) => {\n    onChange?.(createChangeEvent(e.detail, name, 'file-input'));\n  };\n\n  const handleBlur = () => {\n    onBlur?.(createFocusEvent('blur', name));\n  };\n\n  const handleFocus = () => {\n    onFocus?.(createFocusEvent('focus', name));\n  };\n\n  // Normalize error/hint props to support both MUI and Fluent patterns\n  const hintStr = typeof hint === 'string' ? hint : undefined;\n\n  let normalizedError: string | undefined;\n  let normalizedHint: string | undefined;\n\n  if (typeof error === 'string') {\n    normalizedError = error;\n    normalizedHint = hintStr;\n  } else if (typeof error === 'boolean') {\n    normalizedError = error ? (helperText || '') : undefined;\n    normalizedHint = !error ? (helperText || hintStr) : hintStr;\n  } else {\n    normalizedHint = hintStr ?? helperText;\n  }\n\n  return (\n    <UdpFluentFileInputWebComponent\n      {...props}\n      name={name}\n      value={value}\n      error={normalizedError}\n      hint={normalizedHint}\n      onValueChanged={handleValueChanged}\n      onInputBlur={handleBlur}\n      onInputFocus={handleFocus}\n    />\n  );\n};\n"],"mappings":";;;;;AA+CA,MAAaoB,gBAA4CE,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAN;CAAA,IAAAC;CAAA,IAAAM;CAAA,IAAAC;CAAA,IAAAZ;CAAA,IAAAF;CAAA,IAAAG;CAAA,IAAAY;CAAA,IAAAC;AAAA,KAAAL,EAAA,OAAAD,IAAA;AAAC,GAAA,CAAAV,UAAAE,QAAAC,SAAAW,MAAAE,OAAAV,OAAAC,YAAAM,SAAAE,SAAAL;AAUzDC,IAAA,KAAAD;AAAAC,IAAA,KAAAL;AAAAK,IAAA,KAAAJ;AAAAI,IAAA,KAAAE;AAAAF,IAAA,KAAAG;AAAAH,IAAA,KAAAT;AAAAS,IAAA,KAAAX;AAAAW,IAAA,KAAAR;AAAAQ,IAAA,KAAAI;AAAAJ,IAAA,KAAAK;QAAA;AAAAV,UAAAK,EAAA;AAAAJ,eAAAI,EAAA;AAAAE,SAAAF,EAAA;AAAAG,SAAAH,EAAA;AAAAT,WAAAS,EAAA;AAAAX,aAAAW,EAAA;AAAAR,YAAAQ,EAAA;AAAAI,UAAAJ,EAAA;AAAAK,UAAAL,EAAA;;CAAA,IAAAM;AAAA,KAAAN,EAAA,QAAAG,QAAAH,EAAA,QAAAX,UAAA;AAC4BiB,QAAAC,MAAA;AACzBlB,cAAWP,kBAAkByB,EAACC,QAASL,MAAM,aAAa,CAAC;;AAC5DH,IAAA,MAAAG;AAAAH,IAAA,MAAAX;AAAAW,IAAA,MAAAM;OAAAA,MAAAN,EAAA;CAFD,MAAAS,qBAA2BH;CAEzB,IAAAI;AAAA,KAAAV,EAAA,QAAAG,QAAAH,EAAA,QAAAT,QAAA;AAEiBmB,aAAA;AACjBnB,YAASR,iBAAiB,QAAQoB,KAAK,CAAC;;AACzCH,IAAA,MAAAG;AAAAH,IAAA,MAAAT;AAAAS,IAAA,MAAAU;OAAAA,MAAAV,EAAA;CAFD,MAAAW,aAAmBD;CAEjB,IAAAE;AAAA,KAAAZ,EAAA,QAAAG,QAAAH,EAAA,QAAAR,SAAA;AAEkBoB,aAAA;AAClBpB,aAAUT,iBAAiB,SAASoB,KAAK,CAAC;;AAC3CH,IAAA,MAAAG;AAAAH,IAAA,MAAAR;AAAAQ,IAAA,MAAAY;OAAAA,MAAAZ,EAAA;CAFD,MAAAa,cAAoBD;CAKpB,MAAAE,UAAgB,OAAOZ,SAAS,WAAhBA,OAAAa,KAAAA;CAEZC,IAAAA;CACAC,IAAAA;AAEJ,KAAI,OAAOtB,UAAU,UAAQ;AAC3BqB,oBAAkBrB;AAClBsB,mBAAiBH;YACR,OAAOnB,UAAU,WAAS;AACnCqB,oBAAkBrB,QAASC,cAAA,KAATmB,KAAAA;AAClBE,mBAAiBA,CAACtB,QAASC,cAAAkB,UAAVA;OAEjBG,kBAAiBA,WAAAA;CAClB,IAAAC;AAAA,KAAAlB,EAAA,QAAAW,cAAAX,EAAA,QAAAa,eAAAb,EAAA,QAAAS,sBAAAT,EAAA,QAAAG,QAAAH,EAAA,QAAAgB,mBAAAhB,EAAA,QAAAiB,kBAAAjB,EAAA,QAAAI,SAAAJ,EAAA,QAAAK,OAAA;AAGCa,OAAA,sBAAA,cAAC,oBAAD;GAA+B,GACzBd;GACED;GACCE;GACAW,OAAAA;GACDC,MAAAA;GACUR,gBAAAA;GACHE,aAAAA;GACCE,cAAAA;GACd,CAAA;AAAAb,IAAA,MAAAW;AAAAX,IAAA,MAAAa;AAAAb,IAAA,MAAAS;AAAAT,IAAA,MAAAG;AAAAH,IAAA,MAAAgB;AAAAhB,IAAA,MAAAiB;AAAAjB,IAAA,MAAAI;AAAAJ,IAAA,MAAAK;AAAAL,IAAA,MAAAkB;OAAAA,MAAAlB,EAAA;AAAA,QATFkB"}