{"version":3,"file":"transform-component.mjs","sources":["../../../../../../packages/formily/__builtins__/shared/transform-component.ts"],"sourcesContent":["import { defineComponent, h } from 'vue'\nimport { each, merge } from '@formily/shared'\nimport { useField } from '@formily/vue'\nimport { isVoidField } from '@formily/core'\nimport type { Component } from 'vue'\n\ntype ListenersTransformRules = Record<string, string>\nconst noop = () => {}\n\nexport const transformComponent = <T extends Record<string, any>>(\n  tag: any,\n  transformRules?: ListenersTransformRules,\n  defaultProps?: Partial<T>\n): Component<T> | any => {\n  return defineComponent({\n    setup(props, { attrs, slots }) {\n      return () => {\n        let data = {\n          ...attrs,\n        }\n        if (transformRules) {\n          const listeners = transformRules\n          each(listeners, (event, extract) => {\n            data[`on${event[0].toUpperCase()}${event.slice(1)}`] =\n              attrs[`on${extract[0].toUpperCase()}${extract.slice(1)}`] || noop\n          })\n        }\n        if (defaultProps) {\n          data = merge(defaultProps, attrs)\n        }\n        return h(tag, data, slots)\n      }\n    },\n  })\n}\n\nexport const transformComponent2 = <T extends Record<string, any>>(\n  tag: any,\n  defaultProps?: Partial<T>\n): Component<T> | any => {\n  return defineComponent({\n    setup(props, { attrs, slots }) {\n      const fieldRef = useField()\n\n      return () => {\n        const field = fieldRef.value\n\n        const originUpdateModelValue: any = attrs['onUpdate:modelValue']\n        const updateModelValue = (...args: any[]) => {\n          if (!isVoidField(field)) field.onInput(...args)\n          originUpdateModelValue && originUpdateModelValue(...args)\n        }\n        return h(\n          tag,\n          {\n            ...attrs,\n            ...defaultProps,\n            'onUpdate:modelValue': updateModelValue,\n          },\n          slots\n        )\n      }\n    },\n  })\n}\n"],"names":[],"mappings":";;;;;AAOA,MAAM,OAAO,MAAM;AAAC,CAAA,CAAA;AAEb,MAAM,kBAAqB,GAAA,CAChC,GACA,EAAA,cAAA,EACA,YACuB,KAAA;AACvB,EAAA,OAAO,eAAgB,CAAA;AAAA,IACrB,KAAM,CAAA,KAAA,EAAO,EAAE,KAAA,EAAO,OAAS,EAAA;AAC7B,MAAA,OAAO,MAAM;AACX,QAAA,IAAI,IAAO,GAAA;AAAA,UACT,GAAG,KAAA;AAAA,SACL,CAAA;AACA,QAAA,IAAI,cAAgB,EAAA;AAClB,UAAA,MAAM,SAAY,GAAA,cAAA,CAAA;AAClB,UAAK,IAAA,CAAA,SAAA,EAAW,CAAC,KAAA,EAAO,OAAY,KAAA;AAClC,YAAA,IAAA,CAAK,KAAK,KAAM,CAAA,CAAA,CAAA,CAAG,aAAgB,CAAA,EAAA,KAAA,CAAM,MAAM,CAAC,CAAA,CAAA,CAAA,CAAA,GAC9C,KAAM,CAAA,CAAA,EAAA,EAAK,QAAQ,CAAG,CAAA,CAAA,WAAA,KAAgB,OAAQ,CAAA,KAAA,CAAM,CAAC,CAAQ,CAAA,CAAA,CAAA,IAAA,IAAA,CAAA;AAAA,WAChE,CAAA,CAAA;AAAA,SACH;AACA,QAAA,IAAI,YAAc,EAAA;AAChB,UAAO,IAAA,GAAA,KAAA,CAAM,cAAc,KAAK,CAAA,CAAA;AAAA,SAClC;AACA,QAAO,OAAA,CAAA,CAAE,GAAK,EAAA,IAAA,EAAM,KAAK,CAAA,CAAA;AAAA,OAC3B,CAAA;AAAA,KACF;AAAA,GACD,CAAA,CAAA;AACH,EAAA;AAEa,MAAA,mBAAA,GAAsB,CACjC,GAAA,EACA,YACuB,KAAA;AACvB,EAAA,OAAO,eAAgB,CAAA;AAAA,IACrB,KAAM,CAAA,KAAA,EAAO,EAAE,KAAA,EAAO,OAAS,EAAA;AAC7B,MAAA,MAAM,WAAW,QAAS,EAAA,CAAA;AAE1B,MAAA,OAAO,MAAM;AACX,QAAA,MAAM,QAAQ,QAAS,CAAA,KAAA,CAAA;AAEvB,QAAA,MAAM,yBAA8B,KAAM,CAAA,qBAAA,CAAA,CAAA;AAC1C,QAAM,MAAA,gBAAA,GAAmB,IAAI,IAAgB,KAAA;AAC3C,UAAI,IAAA,CAAC,YAAY,KAAK,CAAA;AAAG,YAAM,KAAA,CAAA,OAAA,CAAQ,GAAG,IAAI,CAAA,CAAA;AAC9C,UAA0B,sBAAA,IAAA,sBAAA,CAAuB,GAAG,IAAI,CAAA,CAAA;AAAA,SAC1D,CAAA;AACA,QAAO,OAAA,CAAA;AAAA,UACL,GAAA;AAAA,UACA;AAAA,YACE,GAAG,KAAA;AAAA,YACH,GAAG,YAAA;AAAA,YACH,qBAAuB,EAAA,gBAAA;AAAA,WACzB;AAAA,UACA,KAAA;AAAA,SACF,CAAA;AAAA,OACF,CAAA;AAAA,KACF;AAAA,GACD,CAAA,CAAA;AACH;;;;"}