{"version":3,"file":"dropdown.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown.ts"],"sourcesContent":["import { buildProps } from '@ll-plus/utils'\r\n\r\nimport type { ExtractPropTypes } from 'vue'\r\nimport type DropdownButton from './dropdown-button.vue'\r\nimport type Dropdown from './dropdown.vue'\r\n\r\nexport interface DropdownItem {\r\n  label?: string\r\n  key?: string | number\r\n  icon?: string\r\n  color?: string\r\n  disabled?: boolean\r\n  type?: string\r\n  subMenu?: DropdownItem[]\r\n}\r\n\r\n// 公共属性\r\nconst sharedProps = {\r\n  dropdownItems: {\r\n    type: Array as () => DropdownItem[],\r\n    required: false,\r\n  },\r\n  overlayClassName: {\r\n    type: String,\r\n    default: '',\r\n  },\r\n} as const\r\n\r\nexport const dropdownProps = buildProps({\r\n  ...sharedProps,\r\n})\r\n\r\nexport const dropdownEmits = {\r\n  claimSelected: (item: DropdownItem) => !!item,\r\n}\r\n\r\nexport const dropdownButtonProps = buildProps({\r\n  ...sharedProps,\r\n  buttonLabel: {\r\n    type: String,\r\n    default: '',\r\n  },\r\n  icon: {\r\n    type: String,\r\n    default: '',\r\n  },\r\n})\r\n\r\nexport const dropdownButtonEmits = {\r\n  claimSelected: (item: DropdownItem) => !!item,\r\n}\r\n\r\n// props\r\nexport type DropdownProps = ExtractPropTypes<typeof dropdownProps>\r\nexport type DropdownButtonProps = ExtractPropTypes<typeof dropdownButtonProps>\r\n\r\n// emits\r\nexport type DropdownEmits = typeof dropdownEmits\r\nexport type DropdownButtonEmits = typeof dropdownButtonEmits\r\n\r\n// 实例\r\nexport type DropdownInstance = InstanceType<typeof Dropdown>\r\nexport type DropdownButtonInstance = InstanceType<typeof DropdownButton>\r\n"],"names":[],"mappings":";;;;AAiBA,MAAM,WAAA,GAAc;AAAA,EAClB,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,KAAA;AAAA,IACN,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,gBAAA,EAAkB;AAAA,IAChB,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAA;AAEO,MAAM,gBAAgB,UAAA,CAAW;AAAA,EACtC,GAAG;AACL,CAAC;AAEM,MAAM,aAAA,GAAgB;AAAA,EAC3B,aAAA,EAAe,CAAC,IAAA,KAAuB,CAAC,CAAC;AAC3C;AAEO,MAAM,sBAAsB,UAAA,CAAW;AAAA,EAC5C,GAAG,WAAA;AAAA,EACH,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAC;AAEM,MAAM,mBAAA,GAAsB;AAAA,EACjC,aAAA,EAAe,CAAC,IAAA,KAAuB,CAAC,CAAC;AAC3C;;;;"}