{"version":3,"file":"form-reset.vue2.mjs","sources":["../../../components/form/form-reset.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { Button } from '@/components/button'\r\n\r\nimport { computed, inject, toRef } from 'vue'\r\n\r\nimport { createIconProp, emitEvent, useLocale, useNameHelper, useProps } from '@vexip-ui/config'\r\nimport { isPromise } from '@vexip-ui/utils'\r\nimport { formResetProps } from './props'\r\nimport { FORM_ACTIONS } from './symbol'\r\n\r\ndefineOptions({ name: 'FormReset' })\r\n\r\nconst _props = defineProps(formResetProps)\r\nconst props = useProps('formReset', _props, {\r\n  size: null,\r\n  locale: null,\r\n  type: 'default',\r\n  label: null,\r\n  dashed: null,\r\n  text: null,\r\n  simple: null,\r\n  ghost: null,\r\n  disabled: null,\r\n  loading: null,\r\n  circle: null,\r\n  loadingIcon: createIconProp(),\r\n  loadingEffect: null,\r\n  icon: createIconProp(),\r\n  color: null,\r\n  buttonType: null,\r\n  block: null,\r\n  onBeforeReset: {\r\n    default: null,\r\n    isFunc: true,\r\n  },\r\n})\r\n\r\nconst slots = defineSlots<{\r\n  default?: () => any,\r\n  icon?: () => any,\r\n  loading?: () => any,\r\n}>()\r\n\r\nconst actions = inject(FORM_ACTIONS, null)\r\n\r\nconst nh = useNameHelper('form')\r\nconst locale = useLocale('form', toRef(props, 'locale'))\r\n\r\nconst isInherit = computed(() => !!actions || props.inherit)\r\n\r\nasync function handleReset() {\r\n  if (props.disabled) return\r\n\r\n  let result: unknown = true\r\n\r\n  if (typeof props.onBeforeReset === 'function') {\r\n    result = props.onBeforeReset()\r\n\r\n    if (isPromise(result)) {\r\n      result = await result\r\n    }\r\n  }\r\n\r\n  if (result !== false) {\r\n    actions?.reset()\r\n    emitEvent(props.onReset)\r\n  }\r\n}\r\n</script>\r\n\r\n<template>\r\n  <Button\r\n    v-bind=\"$attrs\"\r\n    :inherit=\"isInherit\"\r\n    :class=\"nh.be('reset')\"\r\n    :size=\"props.size\"\r\n    :type=\"props.type\"\r\n    :simple=\"props.simple\"\r\n    :ghost=\"props.ghost\"\r\n    :dashed=\"props.dashed\"\r\n    :text=\"props.text\"\r\n    :disabled=\"props.disabled\"\r\n    :loading=\"props.loading\"\r\n    :circle=\"props.circle\"\r\n    :loading-icon=\"props.loadingIcon\"\r\n    :loading-effect=\"props.loadingEffect\"\r\n    :icon=\"props.icon\"\r\n    :color=\"props.color\"\r\n    :button-type=\"props.buttonType\"\r\n    :block=\"props.block\"\r\n    :tag=\"props.tag\"\r\n    @click=\"handleReset\"\r\n  >\r\n    <slot>\r\n      {{ props.label || locale.reset }}\r\n    </slot>\r\n    <template v-if=\"slots.icon\" #icon>\r\n      <slot name=\"icon\"></slot>\r\n    </template>\r\n    <template v-if=\"slots.loading\" #loading>\r\n      <slot name=\"loading\"></slot>\r\n    </template>\r\n  </Button>\r\n</template>\r\n"],"names":["props","useProps","__props","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":";;;;;;;;;;;;AAaM,UAAAA,IAAQC,EAAS,aADRC,GAC6B;AAAA,MAC1C,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,MACV,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,aAAaC,EAAe;AAAA,MAC5B,eAAe;AAAA,MACf,MAAMA,EAAe;AAAA,MACrB,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,eAAe;AAAA,QACb,SAAS;AAAA,QACT,QAAQ;AAAA,MAAA;AAAA,IACV,CACD,GAEKC,IAAQC,EAIV,GAEEC,IAAUC,EAAOC,GAAc,IAAI,GAEnCC,IAAKC,EAAc,MAAM,GACzBC,IAASC,EAAU,QAAQC,EAAMb,GAAO,QAAQ,CAAC,GAEjDc,IAAYC,EAAS,MAAM,CAAC,CAACT,KAAWN,EAAM,OAAO;AAE3D,mBAAegB,IAAc;AAC3B,UAAIhB,EAAM,SAAU;AAEpB,UAAIiB,IAAkB;AAElB,MAAA,OAAOjB,EAAM,iBAAkB,eACjCiB,IAASjB,EAAM,cAAc,GAEzBkB,EAAUD,CAAM,MAClBA,IAAS,MAAMA,KAIfA,MAAW,OACbX,KAAA,QAAAA,EAAS,SACTa,EAAUnB,EAAM,OAAO;AAAA,IACzB;2BAKAoB,EA+BSC,EAAAC,CAAA,GA/BTC,EA+BSC,EA9BO,QAAA;AAAA,MACb,SAASV,EAAS;AAAA,MAClB,OAAOO,EAAEZ,CAAA,EAAC,GAAE,OAAA;AAAA,MACZ,MAAMY,EAAKrB,CAAA,EAAC;AAAA,MACZ,MAAMqB,EAAKrB,CAAA,EAAC;AAAA,MACZ,QAAQqB,EAAKrB,CAAA,EAAC;AAAA,MACd,OAAOqB,EAAKrB,CAAA,EAAC;AAAA,MACb,QAAQqB,EAAKrB,CAAA,EAAC;AAAA,MACd,MAAMqB,EAAKrB,CAAA,EAAC;AAAA,MACZ,UAAUqB,EAAKrB,CAAA,EAAC;AAAA,MAChB,SAASqB,EAAKrB,CAAA,EAAC;AAAA,MACf,QAAQqB,EAAKrB,CAAA,EAAC;AAAA,MACd,gBAAcqB,EAAKrB,CAAA,EAAC;AAAA,MACpB,kBAAgBqB,EAAKrB,CAAA,EAAC;AAAA,MACtB,MAAMqB,EAAKrB,CAAA,EAAC;AAAA,MACZ,OAAOqB,EAAKrB,CAAA,EAAC;AAAA,MACb,eAAaqB,EAAKrB,CAAA,EAAC;AAAA,MACnB,OAAOqB,EAAKrB,CAAA,EAAC;AAAA,MACb,KAAKqB,EAAKrB,CAAA,EAAC;AAAA,MACX,SAAOgB;AAAA;iBAER,MAEO;AAAA,QAFPS,EAEOD,yBAFP,MAEO;AAAA,UADFE,EAAAC,EAAAN,EAAArB,CAAA,EAAM,SAASqB,EAAAV,CAAA,EAAO,KAAK,GAAA,CAAA;AAAA;;;;MAEhBP,EAAM;cAAO;AAAA,cAC3B,MAAyB;AAAA,UAAzBqB,EAAyBD,EAAA,QAAA,MAAA;AAAA,QAAA;;;MAEXpB,EAAM;cAAU;AAAA,cAC9B,MAA4B;AAAA,UAA5BqB,EAA4BD,EAAA,QAAA,SAAA;AAAA,QAAA;;;;;;"}