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;
+}