{"version":3,"file":"UdpRichTextField.mjs","names":["React","useMemo","useTranslation","UdpRichTextField","UdpRichTextFieldWebComponent","JSX","createChangeEvent","createFocusEvent","FormChangeEvent","FormFocusEvent","UdpRichTextFieldElement","ElementRef","UdpRichTextFieldProps","Partial","Omit","onChange","event","onBlur","onFocus","error","helperText","forwardRef","t0","ref","$","_c","hint","name","props","toolbarLabels","value","t","t1","e","detail","handleValueChanged","t2","handleBlur","t3","handleFocus","hintStr","undefined","normalizedError","normalizedHint","t4","defaultValue","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","toolbar","undo","redo","heading","bold","italic","underline","strike","link","bulletList","orderedList","blockquote","table","clearFormat","tableToolbar","tableAddRow","tableDeleteRow","tableAddColumn","tableDeleteColumn","tableDelete","linkUrl","linkApply","linkRemove","linkCancel","localizedToolbarLabels","t29","displayName"],"sources":["../../../src/UI/fluent-web-components/UdpRichTextField.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { UdpRichTextField as UdpRichTextFieldWebComponent } 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/** The element type, for callers that need the imperative `insertTextAtCursor` method. */\nexport type UdpRichTextFieldElement = React.ElementRef<typeof UdpRichTextFieldWebComponent>;\n\n/**\n * Props for the UdpRichTextField 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 UdpRichTextFieldProps\n  extends Partial<\n    Omit<JSX.UdpRichTextField, 'onValueChanged' | 'onInputBlur' | 'onInputFocus' | 'error'>\n  > {\n  /** Called when value changes - compatible with form libraries (event.target.value) */\n  onChange?: (event: FormChangeEvent<string>) => void;\n  /** Called when the editor loses focus - compatible with form libraries */\n  onBlur?: (event: FormFocusEvent) => void;\n  /** Called when the editor gains focus */\n  onFocus?: (event: FormFocusEvent) => void;\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 the error message\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\n/**\n * Rich text field with React-standard event handling. Value is an HTML string.\n *\n * @example\n * <UdpRichTextField\n *   label=\"Body\"\n *   value={body}\n *   onChange={(e) => setBody(e.target.value)}\n * />\n */\nexport const UdpRichTextField = React.forwardRef<\n  UdpRichTextFieldElement,\n  UdpRichTextFieldProps\n>(({ onChange, onBlur, onFocus, name, value, error, helperText, hint, toolbarLabels, ...props }, ref) => {\n  const { t } = useTranslation();\n\n  const handleValueChanged = (e: CustomEvent<string>) => {\n    onChange?.(createChangeEvent(e.detail, name, 'richtext'));\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  const localizedToolbarLabels = useMemo(\n    () => ({\n      toolbar: t('ui.richText.toolbar', { defaultValue: 'Formatting' }),\n      undo: t('ui.richText.undo', { defaultValue: 'Undo' }),\n      redo: t('ui.richText.redo', { defaultValue: 'Redo' }),\n      heading: t('ui.richText.heading', { defaultValue: 'Heading' }),\n      bold: t('ui.richText.bold', { defaultValue: 'Bold' }),\n      italic: t('ui.richText.italic', { defaultValue: 'Italic' }),\n      underline: t('ui.richText.underline', { defaultValue: 'Underline' }),\n      strike: t('ui.richText.strike', { defaultValue: 'Strikethrough' }),\n      link: t('ui.richText.link', { defaultValue: 'Link' }),\n      bulletList: t('ui.richText.bulletList', { defaultValue: 'Bulleted list' }),\n      orderedList: t('ui.richText.orderedList', { defaultValue: 'Numbered list' }),\n      blockquote: t('ui.richText.blockquote', { defaultValue: 'Quote' }),\n      table: t('ui.richText.table', { defaultValue: 'Insert table' }),\n      clearFormat: t('ui.richText.clearFormat', { defaultValue: 'Clear formatting' }),\n      tableToolbar: t('ui.richText.tableToolbar', { defaultValue: 'Table' }),\n      tableAddRow: t('ui.richText.tableAddRow', { defaultValue: 'Insert row below' }),\n      tableDeleteRow: t('ui.richText.tableDeleteRow', { defaultValue: 'Delete row' }),\n      tableAddColumn: t('ui.richText.tableAddColumn', {\n        defaultValue: 'Insert column right',\n      }),\n      tableDeleteColumn: t('ui.richText.tableDeleteColumn', {\n        defaultValue: 'Delete column',\n      }),\n      tableDelete: t('ui.richText.tableDelete', { defaultValue: 'Delete table' }),\n      linkUrl: t('ui.richText.linkUrl', { defaultValue: 'Link URL' }),\n      linkApply: t('ui.richText.linkApply', { defaultValue: 'Apply' }),\n      linkRemove: t('common.remove', { defaultValue: 'Remove' }),\n      linkCancel: t('common.cancel', { defaultValue: 'Cancel' }),\n      ...toolbarLabels,\n    }),\n    [t, toolbarLabels]\n  );\n\n  return (\n    <UdpRichTextFieldWebComponent\n      {...props}\n      ref={ref}\n      name={name}\n      value={value}\n      error={normalizedError}\n      hint={normalizedHint}\n      toolbarLabels={localizedToolbarLabels}\n      onValueChanged={handleValueChanged}\n      onInputBlur={handleBlur}\n      onInputFocus={handleFocus}\n    />\n  );\n});\n\nUdpRichTextField.displayName = 'UdpRichTextField';\n"],"mappings":"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"}