{"version":3,"file":"FormItemLabel.cjs","sources":["../../../../../../packages/components/form/src/FormItemLabel.tsx"],"sourcesContent":["import type { FunctionalComponent } from 'vue';\nimport type { FormItemLabelProps, FormLabelAlign } from './interface';\nimport { QuestionCircleOutlined } from '@ant-design/icons-vue';\nimport { enUS as defaultLocale } from '@antdv/locale';\nimport { classNames } from '@antdv/utils';\nimport { Col } from '../../grid';\nimport { useLocaleReceiver } from '../../locale-provider';\nimport Tooltip from '../../tooltip';\nimport { useInjectForm } from './context';\n\nconst FormItemLabel: FunctionalComponent<FormItemLabelProps> = (props, { slots, emit, attrs }) => {\n  const { prefixCls, htmlFor, labelCol, labelAlign, colon, required, requiredMark } = {\n    ...props,\n    ...attrs,\n  };\n  const [formLocale] = useLocaleReceiver('Form');\n  const label = props.label ?? slots.label?.();\n  if (!label) return null;\n  const {\n    vertical,\n    labelAlign: contextLabelAlign,\n    labelCol: contextLabelCol,\n    labelWrap,\n    colon: contextColon,\n  } = useInjectForm();\n  const mergedLabelCol: FormItemLabelProps['labelCol'] = labelCol || contextLabelCol?.value || {};\n\n  const mergedLabelAlign: FormLabelAlign | undefined = labelAlign || contextLabelAlign?.value;\n\n  const labelClsBasic = `${prefixCls}-item-label`;\n  const labelColClassName = classNames(\n    labelClsBasic,\n    mergedLabelAlign === 'left' && `${labelClsBasic}-left`,\n    mergedLabelCol.class,\n    {\n      [`${labelClsBasic}-wrap`]: !!labelWrap.value,\n    },\n  );\n\n  let labelChildren = label;\n  // Keep label is original where there should have no colon\n  const computedColon = colon === true || (contextColon?.value !== false && colon !== false);\n  const haveColon = computedColon && !vertical.value;\n  // Remove duplicated user input colon\n  if (haveColon && typeof label === 'string' && (label as string).trim() !== '')\n    labelChildren = (label as string).replace(/[:|：]\\s*$/, '');\n\n  // Tooltip\n  if (props.tooltip || slots.tooltip) {\n    const tooltipNode = (\n      <span class={`${prefixCls}-item-tooltip`}>\n        <Tooltip title={props.tooltip}>\n          <QuestionCircleOutlined />\n        </Tooltip>\n      </span>\n    );\n\n    labelChildren = (\n      <>\n        {labelChildren}\n        {slots.tooltip ? slots.tooltip?.({ class: `${prefixCls}-item-tooltip` }) : tooltipNode}\n      </>\n    );\n  }\n\n  // Add required mark if optional\n  if (requiredMark === 'optional' && !required) {\n    labelChildren = (\n      <>\n        {labelChildren}\n        <span class={`${prefixCls}-item-optional`}>\n          {formLocale.value?.optional || defaultLocale.Form?.optional}\n        </span>\n      </>\n    );\n  }\n  const labelClassName = classNames({\n    [`${prefixCls}-item-required`]: required,\n    [`${prefixCls}-item-required-mark-optional`]: requiredMark === 'optional',\n    [`${prefixCls}-item-no-colon`]: !computedColon,\n  });\n  return (\n    <Col {...mergedLabelCol} class={labelColClassName}>\n      <label\n        for={htmlFor}\n        class={labelClassName}\n        title={typeof label === 'string' ? label : ''}\n        onClick={e => emit('click', e)}\n      >\n        {labelChildren}\n      </label>\n    </Col>\n  );\n};\n\nFormItemLabel.displayName = 'FormItemLabel';\nFormItemLabel.inheritAttrs = false;\n\nexport default FormItemLabel;\n"],"names":["FormItemLabel","props","slots","emit","attrs","prefixCls","htmlFor","labelCol","labelAlign","colon","required","requiredMark","formLocale","useLocaleReceiver","label","vertical","contextLabelAlign","contextLabelCol","labelWrap","contextColon","useInjectForm","mergedLabelCol","value","mergedLabelAlign","labelClsBasic","labelColClassName","classNames","class","labelChildren","computedColon","haveColon","trim","replace","tooltip","tooltipNode","_createVNode","Tooltip","default","QuestionCircleOutlined","_Fragment","optional","defaultLocale","Form","labelClassName","Col","e","displayName","inheritAttrs"],"mappings":"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"}