{"version":3,"file":"input-adornment.mjs","sources":["../../../components/input-adornment/input-adornment.tsx"],"sourcesContent":["import { defineComponent, h, VNodeChild } from 'vue';\nimport { isString, isNumber, isFunction } from 'lodash-es';\n\nimport { useTNodeJSX, usePrefixClass } from '@tdesign/shared-hooks';\n\nimport props from './props';\n\nexport default defineComponent({\n  name: 'TInputAdornment',\n  props,\n  setup(props, { slots }) {\n    const COMPONENT_NAME = usePrefixClass('input-adornment');\n    const renderTNodeJSX = useTNodeJSX();\n\n    const renderAddon = (h: any, type: string, addon: string | Function | VNodeChild | undefined): VNodeChild => {\n      let addonNode: VNodeChild;\n      const isContentNode = isString(addon) || isNumber(addon);\n      if (!slots[type] && isString(addon) && !addon) return null;\n      if (slots[type]) {\n        if (slots[type](null).length === 1 && typeof slots[type](null)[0].children === 'string') {\n          addonNode = <span class={`${COMPONENT_NAME.value}__text`}>{slots[type](null)}</span>;\n        } else {\n          addonNode = slots[type](null);\n        }\n      } else if (isFunction(addon)) {\n        addonNode = addon(h);\n      } else {\n        addonNode = isContentNode ? (\n          <span class={`${COMPONENT_NAME.value}__text`}>{addon}</span>\n        ) : (\n          (addon as VNodeChild)\n        );\n      }\n      return addonNode ? <span class={`${COMPONENT_NAME.value}__${type}`}>{addonNode}</span> : addonNode;\n    };\n    return () => {\n      const prepend = renderAddon(h, 'prepend', props.prepend);\n      const append = renderAddon(h, 'append', props.append);\n      const defaultSlot: VNodeChild[] = renderTNodeJSX('default') || [null];\n      const className = [\n        COMPONENT_NAME.value,\n        {\n          [`${COMPONENT_NAME.value}--prepend`]: prepend,\n          [`${COMPONENT_NAME.value}--append`]: append,\n        },\n      ];\n\n      if (!prepend && !append) {\n        return defaultSlot[0];\n      }\n\n      return (\n        <div class={className}>\n          {prepend}\n          {defaultSlot[0]}\n          {append}\n        </div>\n      );\n    };\n  },\n});\n"],"names":["defineComponent","name","props","setup","slots","_ref","COMPONENT_NAME","usePrefixClass","renderTNodeJSX","useTNodeJSX","renderAddon","h","type","addon","addonNode","isContentNode","isString","isNumber","length","children","_createVNode","concat","value","isFunction","prepend","append","defaultSlot","className","_defineProperty"],"mappings":"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"}