{"version":3,"file":"UdpDropdown.mjs","names":["React","UdpFluentDropdown","UdpFluentDropdownWebComponent","JSX","createChangeEvent","createFocusEvent","FormChangeEvent","FormFocusEvent","UdpDropdownProps","Partial","Omit","value","T","onChange","event","onBlur","onFocus","children","ReactNode","error","helperText","UdpDropdown","t0","$","_c","hint","name","props","t1","e","detail","handleValueChanged","t2","handleBlur","t3","handleFocus","hintStr","undefined","normalizedError","normalizedHint","t4"],"sources":["../../../src/UI/fluent-web-components/UdpDropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { UdpFluentDropdown as UdpFluentDropdownWebComponent } from '@univerus/udp-react-stencil-component-library';\nimport { type JSX } 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 UdpDropdown component.\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 UdpDropdownProps<T = unknown>\n  extends Partial<\n    Omit<\n      JSX.UdpFluentDropdown,\n      'onValueChanged' | 'onInputBlur' | 'onInputFocus' | 'value' | 'error'\n    >\n  > {\n  /** Current selected value */\n  value?: T;\n  /** Called when selection changes - compatible with form libraries (event.target.value) */\n  onChange?: (event: FormChangeEvent<T>) => void;\n  /** Called when dropdown loses focus - compatible with form libraries */\n  onBlur?: (event: FormFocusEvent) => void;\n  /** Called when dropdown gains focus */\n  onFocus?: (event: FormFocusEvent) => void;\n  /** React children (for slot content / options) */\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 UdpDropdown = <T = unknown,>({\n  onChange,\n  onBlur,\n  onFocus,\n  name,\n  value,\n  error,\n  helperText,\n  hint,\n  ...props\n}: UdpDropdownProps<T>) => {\n  const handleValueChanged = (e: CustomEvent<T>) => {\n    onChange?.(createChangeEvent(e.detail, name, 'select'));\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    <UdpFluentDropdownWebComponent\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":";;;;;AAgDA,MAAaqB,eAAcC,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAL;CAAA,IAAAC;CAAA,IAAAK;CAAA,IAAAC;CAAA,IAAAX;CAAA,IAAAF;CAAA,IAAAG;CAAA,IAAAW;CAAA,IAAAhB;AAAA,KAAAY,EAAA,OAAAD,IAAA;AAAe,GAAA,CAAAT,UAAAE,QAAAC,SAAAU,MAAAf,OAAAQ,OAAAC,YAAAK,SAAAE,SAAAL;AAUpBC,IAAA,KAAAD;AAAAC,IAAA,KAAAJ;AAAAI,IAAA,KAAAH;AAAAG,IAAA,KAAAE;AAAAF,IAAA,KAAAG;AAAAH,IAAA,KAAAR;AAAAQ,IAAA,KAAAV;AAAAU,IAAA,KAAAP;AAAAO,IAAA,KAAAI;AAAAJ,IAAA,KAAAZ;QAAA;AAAAQ,UAAAI,EAAA;AAAAH,eAAAG,EAAA;AAAAE,SAAAF,EAAA;AAAAG,SAAAH,EAAA;AAAAR,WAAAQ,EAAA;AAAAV,aAAAU,EAAA;AAAAP,YAAAO,EAAA;AAAAI,UAAAJ,EAAA;AAAAZ,UAAAY,EAAA;;CAAA,IAAAK;AAAA,KAAAL,EAAA,QAAAG,QAAAH,EAAA,QAAAV,UAAA;AACOe,QAAAC,MAAA;AACzBhB,cAAWT,kBAAkByB,EAACC,QAASJ,MAAM,SAAS,CAAC;;AACxDH,IAAA,MAAAG;AAAAH,IAAA,MAAAV;AAAAU,IAAA,MAAAK;OAAAA,MAAAL,EAAA;CAFD,MAAAQ,qBAA2BH;CAEzB,IAAAI;AAAA,KAAAT,EAAA,QAAAG,QAAAH,EAAA,QAAAR,QAAA;AAEiBiB,aAAA;AACjBjB,YAASV,iBAAiB,QAAQqB,KAAK,CAAC;;AACzCH,IAAA,MAAAG;AAAAH,IAAA,MAAAR;AAAAQ,IAAA,MAAAS;OAAAA,MAAAT,EAAA;CAFD,MAAAU,aAAmBD;CAEjB,IAAAE;AAAA,KAAAX,EAAA,QAAAG,QAAAH,EAAA,QAAAP,SAAA;AAEkBkB,aAAA;AAClBlB,aAAUX,iBAAiB,SAASqB,KAAK,CAAC;;AAC3CH,IAAA,MAAAG;AAAAH,IAAA,MAAAP;AAAAO,IAAA,MAAAW;OAAAA,MAAAX,EAAA;CAFD,MAAAY,cAAoBD;CAKpB,MAAAE,UAAgB,OAAOX,SAAS,WAAhBA,OAAAY,KAAAA;CAEZC,IAAAA;CACAC,IAAAA;AAEJ,KAAI,OAAOpB,UAAU,UAAQ;AAC3BmB,oBAAkBnB;AAClBoB,mBAAiBH;YACR,OAAOjB,UAAU,WAAS;AACnCmB,oBAAkBnB,QAAQC,cAAA,KAARiB,KAAAA;AAClBE,mBAAiBA,CAACpB,QAAQC,cAAAgB,UAATA;OAEjBG,kBAAiBA,WAAAA;CAClB,IAAAC;AAAA,KAAAjB,EAAA,QAAAU,cAAAV,EAAA,QAAAY,eAAAZ,EAAA,QAAAQ,sBAAAR,EAAA,QAAAG,QAAAH,EAAA,QAAAe,mBAAAf,EAAA,QAAAgB,kBAAAhB,EAAA,QAAAI,SAAAJ,EAAA,QAAAZ,OAAA;AAGC6B,OAAA,sBAAA,cAAC,mBAAD;GAA8B,GACxBb;GACED;GACCf;GACA2B,OAAAA;GACDC,MAAAA;GACUR,gBAAAA;GACHE,aAAAA;GACCE,cAAAA;GACd,CAAA;AAAAZ,IAAA,MAAAU;AAAAV,IAAA,MAAAY;AAAAZ,IAAA,MAAAQ;AAAAR,IAAA,MAAAG;AAAAH,IAAA,MAAAe;AAAAf,IAAA,MAAAgB;AAAAhB,IAAA,MAAAI;AAAAJ,IAAA,MAAAZ;AAAAY,IAAA,MAAAiB;OAAAA,MAAAjB,EAAA;AAAA,QATFiB"}