{"version":3,"file":"icon.mjs","sources":["../../../packages/components/src/icon.tsx"],"sourcesContent":["import type { App } from 'vue'\nimport type { PowerfulTableHeaderProps, SFCWithInstall, _TYPE } from '~/index'\nimport {\n  isData,\n  powerfulTableComponentProp,\n  useREmit,\n} from '~/powerful-table/src/powerful-table-data'\n\nconst Icon = defineComponent({\n  name: 'PTIcon',\n  props: {\n    ...powerfulTableComponentProp,\n    prop: {\n      type: Object as PropType<PowerfulTableHeaderProps>,\n      default: () => ({}),\n    },\n  },\n  emits: ['return-emit', 'component-emit'],\n  setup(props, { emit }) {\n    const data = isData(\n      { row: props.row, index: props.index!, props: props.prop },\n      props.prop.data\n    ) as _TYPE['iconfont']\n    const { REmit, event } = useREmit<'iconfont'>(\n      emit as (event: 'component-emit', ...args: any[]) => void,\n      'iconfont',\n      {\n        row: props.row,\n        index: props.index!,\n        props: props.prop,\n      }\n    )\n\n    return () => (\n      <>\n        <i\n          onClick={(evt: Event) => {\n            evt.stopPropagation()\n            REmit('click', {\n              evt,\n            })\n            event('click', evt)\n          }}\n          class={\n            props.row[props.prop.prop]\n              ? [\n                  props.row[props.prop.prop],\n                  data?.class &&\n                    (typeof data?.class === 'string'\n                      ? data?.class\n                      : (data?.class as string[]).join(',')),\n                ]\n              : ['']\n          }\n          style={data?.style || {}}\n        ></i>\n      </>\n    )\n  },\n})\n\nIcon.install = (app: App) => {\n  app.component(Icon.name!, Icon)\n}\nexport const PTIcon = Icon as SFCWithInstall<typeof Icon>\nexport default Icon\n"],"names":["Icon","defineComponent","powerfulTableComponentProp","props","emit","data","isData","REmit","event","useREmit","_createVNode","_Fragment","evt","app","PTIcon"],"mappings":";;AAEA,MAAAA,IAAA,gBAAAC,EAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,IACA,GAAAC;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,OAAA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA,CAAA,eAAA,gBAAA;AAAA,EACA,MAAAC,GAAA;AAAA,IACA,MAAAC;AAAA,EACA,GAAA;AACA,UAAAC,IAAAC,EAAA;AAAA,MACA,KAAAH,EAAA;AAAA,MACA,OAAAA,EAAA;AAAA,MACA,OAAAA,EAAA;AAAA,IACA,GAAAA,EAAA,KAAA,IAAA,GACA;AAAA,MACA,OAAAI;AAAA,MACA,OAAAC;AAAA,IACA,IAAAC,EAAAL,GAAA,YAAA;AAAA,MACA,KAAAD,EAAA;AAAA,MACA,OAAAA,EAAA;AAAA,MACA,OAAAA,EAAA;AAAA,IACA,CAAA;AACA,WAAA,MAAAO,EAAAC,GAAA,MAAA,CAAAD,EAAA,KAAA;AAAA,MACA,SAAA,CAAAE,MAAA;AACA,QAAAA,EAAA,gBAAA,GACAL,EAAA,SAAA;AAAA,UACA,KAAAK;AAAA,QACA,CAAA,GACAJ,EAAA,SAAAI,CAAA;AAAA,MACA;AAAA,MACA,OAAAT,EAAA,IAAAA,EAAA,KAAA,IAAA,IAAA,CAAAA,EAAA,IAAAA,EAAA,KAAA,IAAA,IAAAE,KAAA,gBAAAA,EAAA,WAAA,QAAAA,KAAA,gBAAAA,EAAA,UAAA,WAAAA,KAAA,gBAAAA,EAAA,SAAAA,KAAA,gBAAAA,EAAA,OAAA,KAAA,GAAA,EAAA,IAAA,CAAA,EAAA;AAAA,MACA,QAAAA,KAAA,gBAAAA,EAAA,UAAA,CAAA;AAAA,IACA,GAAA,IAAA,CAAA,CAAA;AAAA,EACA;AACA,CAAA;AACAL,EAAA,UAAA,CAAAa,MAAA;AACA,EAAAA,EAAA,UAAAb,EAAA,MAAAA,CAAA;AACA;AACA,MAAAc,IAAAd;"}