diff --git a/CHANGELOG.md b/CHANGELOG.md index a776a5a..fa223ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,5 @@ ## [Unreleased] + - 🌟 [@mixte/snippets] 新增 `mel-select` 组件 ## [v3.0.0-beta.2] - 📅 2024-11-14 diff --git a/meta/packages.ts b/meta/packages.ts index 95c144e..f83e1a4 100644 --- a/meta/packages.ts +++ b/meta/packages.ts @@ -70,4 +70,14 @@ export const packages = [ outputFileName: 'toggleThemeViewTransition', external: ['mixte'], }, + + // @mixte/snippets/mel-select + { + input: 'packages/snippets/src/mel-select/index.ts', + outputDir: 'packages/snippets/dist', + outputFileName: 'mel-select', + external: ['element-plus'], + dtsExternal: ['element-plus'], + vueSfcComponent: true, + }, ]; diff --git a/packages/snippets/src/mel-select/index.ts b/packages/snippets/src/mel-select/index.ts new file mode 100644 index 0000000..65241f5 --- /dev/null +++ b/packages/snippets/src/mel-select/index.ts @@ -0,0 +1,5 @@ +import MelSelect from './src/index.vue'; + +export { + MelSelect, +}; diff --git a/packages/snippets/src/mel-select/src/index.vue b/packages/snippets/src/mel-select/src/index.vue new file mode 100644 index 0000000..4406190 --- /dev/null +++ b/packages/snippets/src/mel-select/src/index.vue @@ -0,0 +1,39 @@ + + + diff --git a/packages/snippets/src/mel-select/src/types.ts b/packages/snippets/src/mel-select/src/types.ts new file mode 100644 index 0000000..297165b --- /dev/null +++ b/packages/snippets/src/mel-select/src/types.ts @@ -0,0 +1,50 @@ +import type { ElSelect, ISelectProps, SelectOptionProxy } from 'element-plus'; + +export type SelectInstance = InstanceType; + +export type MelOptionProps = Pick; + +export interface MelSelectProps extends /* @vue-ignore */ Omit { + /** 选项数据源 */ + options?: MelOptionProps[]; +} + +export interface MelSelectSlots { + /** + * 默认插槽, 可自定义渲染 option 组件列表 + */ + default?: () => void; + /** + * 下拉列表顶部的内容 + * @version 2.4.3 + */ + header?: () => void; + /** + * 下拉列表底部的内容 + * @version 2.4.3 + */ + footer?: () => void; + /** + * Select 组件头部内容 + */ + prefix?: () => void; + /** + * 无选项时的列表 + */ + empty?: () => void; + /** + * select 组件自定义标签内容 + * @version 2.5.0 + */ + tag?: () => void; + /** + * select 组件自定义 loading 内容 + * @version 2.5.2 + */ + loading?: () => void; + /** + * select 组件自定义标签内容 + * @version 2.7.4 + */ + label?: () => void; +}