{"version":3,"file":"form-reset.vue2.cjs","sources":["../../../components/form/form-reset.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Button } from '@/components/button'\n\nimport { computed, inject, toRef } from 'vue'\n\nimport { createIconProp, emitEvent, useLocale, useNameHelper, useProps } from '@vexip-ui/config'\nimport { isPromise } from '@vexip-ui/utils'\nimport { formResetProps } from './props'\nimport { FORM_ACTIONS } from './symbol'\n\ndefineOptions({ name: 'FormReset' })\n\nconst _props = defineProps(formResetProps)\nconst props = useProps('formReset', _props, {\n  size: null,\n  locale: null,\n  type: 'default',\n  label: null,\n  dashed: null,\n  text: null,\n  simple: null,\n  ghost: null,\n  disabled: null,\n  loading: null,\n  circle: null,\n  loadingIcon: createIconProp(),\n  loadingEffect: null,\n  icon: createIconProp(),\n  color: null,\n  buttonType: null,\n  block: null,\n  onBeforeReset: {\n    default: null,\n    isFunc: true,\n  },\n})\n\nconst slots = defineSlots<{\n  default?: () => any,\n  icon?: () => any,\n  loading?: () => any\n}>()\n\nconst actions = inject(FORM_ACTIONS, null)\n\nconst nh = useNameHelper('form')\nconst locale = useLocale('form', toRef(props, 'locale'))\n\nconst isInherit = computed(() => !!actions || props.inherit)\n\nasync function handleReset() {\n  if (props.disabled) return\n\n  let result: unknown = true\n\n  if (typeof props.onBeforeReset === 'function') {\n    result = props.onBeforeReset()\n\n    if (isPromise(result)) {\n      result = await result\n    }\n  }\n\n  if (result !== false) {\n    actions?.reset()\n    emitEvent(props.onReset)\n  }\n}\n</script>\n\n<template>\n  <Button\n    v-bind=\"$attrs\"\n    :inherit=\"isInherit\"\n    :class=\"nh.be('reset')\"\n    :size=\"props.size\"\n    :type=\"props.type\"\n    :simple=\"props.simple\"\n    :ghost=\"props.ghost\"\n    :dashed=\"props.dashed\"\n    :text=\"props.text\"\n    :disabled=\"props.disabled\"\n    :loading=\"props.loading\"\n    :circle=\"props.circle\"\n    :loading-icon=\"props.loadingIcon\"\n    :loading-effect=\"props.loadingEffect\"\n    :icon=\"props.icon\"\n    :color=\"props.color\"\n    :button-type=\"props.buttonType\"\n    :block=\"props.block\"\n    :tag=\"props.tag\"\n    @click=\"handleReset\"\n  >\n    <slot>\n      {{ props.label || locale.reset }}\n    </slot>\n    <template v-if=\"slots.icon\" #icon>\n      <slot name=\"icon\"></slot>\n    </template>\n    <template v-if=\"slots.loading\" #loading>\n      <slot name=\"loading\"></slot>\n    </template>\n  </Button>\n</template>\n"],"names":["_props","__props","props","useProps","createIconProp","slots","_useSlots","actions","inject","FORM_ACTIONS","nh","useNameHelper","locale","useLocale","toRef","isInherit","computed","handleReset","result","isPromise","emitEvent","_createBlock","_unref","Button","_mergeProps","_ctx","_renderSlot","_createTextVNode","_toDisplayString"],"mappings":"mTAYA,MAAMA,EAASC,EACTC,EAAQC,EAAAA,SAAS,YAAaH,EAAQ,CAC1C,KAAM,KACN,OAAQ,KACR,KAAM,UACN,MAAO,KACP,OAAQ,KACR,KAAM,KACN,OAAQ,KACR,MAAO,KACP,SAAU,KACV,QAAS,KACT,OAAQ,KACR,YAAaI,EAAAA,eAAe,EAC5B,cAAe,KACf,KAAMA,EAAAA,eAAe,EACrB,MAAO,KACP,WAAY,KACZ,MAAO,KACP,cAAe,CACb,QAAS,KACT,OAAQ,EAAA,CACV,CACD,EAEKC,EAAQC,EAAAA,SAAA,EAMRC,EAAUC,EAAAA,OAAOC,EAAA,aAAc,IAAI,EAEnCC,EAAKC,gBAAc,MAAM,EACzBC,EAASC,EAAAA,UAAU,OAAQC,EAAAA,MAAMZ,EAAO,QAAQ,CAAC,EAEjDa,EAAYC,EAAAA,SAAS,IAAM,CAAC,CAACT,GAAWL,EAAM,OAAO,EAE3D,eAAee,GAAc,CAC3B,GAAIf,EAAM,SAAU,OAEpB,IAAIgB,EAAkB,GAElB,OAAOhB,EAAM,eAAkB,aACjCgB,EAAShB,EAAM,cAAc,EAEzBiB,EAAAA,UAAUD,CAAM,IAClBA,EAAS,MAAMA,IAIfA,IAAW,KACbX,GAAA,MAAAA,EAAS,QACTa,EAAA,UAAUlB,EAAM,OAAO,EACzB,6BAKAmB,EAAAA,YA+BSC,EAAA,MAAAC,CAAA,EA/BTC,EAAA,WA+BSC,EA9BO,OAAA,CACb,QAASV,EAAS,MAClB,MAAOO,EAAAA,MAAEZ,CAAA,EAAC,GAAE,OAAA,EACZ,KAAMY,EAAAA,MAAKpB,CAAA,EAAC,KACZ,KAAMoB,EAAAA,MAAKpB,CAAA,EAAC,KACZ,OAAQoB,EAAAA,MAAKpB,CAAA,EAAC,OACd,MAAOoB,EAAAA,MAAKpB,CAAA,EAAC,MACb,OAAQoB,EAAAA,MAAKpB,CAAA,EAAC,OACd,KAAMoB,EAAAA,MAAKpB,CAAA,EAAC,KACZ,SAAUoB,EAAAA,MAAKpB,CAAA,EAAC,SAChB,QAASoB,EAAAA,MAAKpB,CAAA,EAAC,QACf,OAAQoB,EAAAA,MAAKpB,CAAA,EAAC,OACd,eAAcoB,EAAAA,MAAKpB,CAAA,EAAC,YACpB,iBAAgBoB,EAAAA,MAAKpB,CAAA,EAAC,cACtB,KAAMoB,EAAAA,MAAKpB,CAAA,EAAC,KACZ,MAAOoB,EAAAA,MAAKpB,CAAA,EAAC,MACb,cAAaoB,EAAAA,MAAKpB,CAAA,EAAC,WACnB,MAAOoB,EAAAA,MAAKpB,CAAA,EAAC,MACb,IAAKoB,EAAAA,MAAKpB,CAAA,EAAC,IACX,QAAOe,qCAER,IAEO,CAFPS,EAAAA,WAEOD,sBAFP,IAEO,CADFE,kBAAAC,EAAAA,gBAAAN,EAAA,MAAApB,CAAA,EAAM,OAASoB,EAAAA,MAAAV,CAAA,EAAO,KAAK,EAAA,CAAA,YAEhBP,EAAM,WAAO,oBAC3B,IAAyB,CAAzBqB,aAAyBD,EAAA,OAAA,MAAA,CAAA,mBAEXpB,EAAM,cAAU,uBAC9B,IAA4B,CAA5BqB,aAA4BD,EAAA,OAAA,SAAA,CAAA"}