{"version":3,"file":"collapse2.mjs","sources":["../../../../../../../packages/components/collapse/src/collapse.ts"],"sourcesContent":["import {\n  buildProps,\n  definePropType,\n  isArray,\n  isNumber,\n  isString,\n  mutable,\n} from '@hd-front-end/utils'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@hd-front-end/constants'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type { Arrayable, Awaitable } from '@hd-front-end/utils'\n\nexport type CollapseActiveName = string | number\nexport type CollapseModelValue = Arrayable<CollapseActiveName>\n\nexport type CollapseIconPositionType = 'left' | 'right'\n\nexport const emitChangeFn = (value: CollapseModelValue) =>\n  isNumber(value) || isString(value) || isArray(value)\n\nexport const collapseProps = buildProps({\n  /**\n   * @description whether to activate accordion mode\n   */\n  accordion: Boolean,\n  /**\n   * @description currently active panel, the type is `string` in accordion mode, otherwise it is `array`\n   */\n  modelValue: {\n    type: definePropType<CollapseModelValue>([Array, String, Number]),\n    default: () => mutable([] as const),\n  },\n  /**\n   * @description set expand icon position\n   */\n  expandIconPosition: {\n    type: definePropType<CollapseIconPositionType>([String]),\n    default: 'right',\n  },\n  /**\n   * @description before-collapse hook before the collapse state changes. If `false` is returned or a `Promise` is returned and then is rejected, will stop collapsing\n   */\n  beforeCollapse: {\n    type: definePropType<(name: CollapseActiveName) => Awaitable<boolean>>(\n      Function\n    ),\n  },\n} as const)\nexport type CollapseProps = ExtractPropTypes<typeof collapseProps>\nexport type CollapsePropsPublic = __ExtractPublicPropTypes<typeof collapseProps>\n\nexport const collapseEmits = {\n  [UPDATE_MODEL_EVENT]: emitChangeFn,\n  [CHANGE_EVENT]: emitChangeFn,\n}\nexport type CollapseEmits = typeof collapseEmits\n"],"names":[],"mappings":";;;;;;AAkBa,MAAA,YAAA,GAAe,CAAC,KAAA,KAC3B,QAAS,CAAA,KAAK,KAAK,QAAS,CAAA,KAAK,CAAK,IAAA,OAAA,CAAQ,KAAK,EAAA;AAE9C,MAAM,gBAAgB,UAAW,CAAA;AAAA,EAItC,SAAW,EAAA,OAAA;AAAA,EAIX,UAAY,EAAA;AAAA,IACV,MAAM,cAAmC,CAAA,CAAC,KAAO,EAAA,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,IAChE,OAAS,EAAA,MAAM,OAAQ,CAAA,EAAW,CAAA;AAAA,GACpC;AAAA,EAIA,kBAAoB,EAAA;AAAA,IAClB,IAAM,EAAA,cAAA,CAAyC,CAAC,MAAM,CAAC,CAAA;AAAA,IACvD,OAAS,EAAA,OAAA;AAAA,GACX;AAAA,EAIA,cAAgB,EAAA;AAAA,IACd,IAAM,EAAA,cAAA;AAAA,MACJ,QAAA;AAAA,KACF;AAAA,GACF;AACF,CAAU,EAAA;AAIH,MAAM,aAAgB,GAAA;AAAA,EAC3B,CAAC,kBAAqB,GAAA,YAAA;AAAA,EACtB,CAAC,YAAe,GAAA,YAAA;AAClB;;;;"}