diff --git a/packages/fighting-design/_hooks/index.ts b/packages/fighting-design/_hooks/index.ts index dfc2e5f596..3159cb2381 100644 --- a/packages/fighting-design/_hooks/index.ts +++ b/packages/fighting-design/_hooks/index.ts @@ -25,3 +25,4 @@ export * from './use-trigger' export * from './use-form-check' export * from './use-transition' export * from './use-collapse-animation' +export * from './use-confirm-box' diff --git a/packages/fighting-design/_hooks/use-confirm-box/index.ts b/packages/fighting-design/_hooks/use-confirm-box/index.ts new file mode 100644 index 0000000000..0cb31a3245 --- /dev/null +++ b/packages/fighting-design/_hooks/use-confirm-box/index.ts @@ -0,0 +1,12 @@ +import type { Component } from 'vue' + +export const useConfirmBox = (component: Component) => { + + const create = () => { + + } + + const confirmBox = () => { } + + return { confirmBox } +} diff --git a/packages/fighting-design/components.ts b/packages/fighting-design/components.ts index 238216762c..730637ceb1 100644 --- a/packages/fighting-design/components.ts +++ b/packages/fighting-design/components.ts @@ -231,3 +231,6 @@ export * from './avatar-group' export { FTabsItem } from './tabs-item' export * from './tabs-item' + +export { FConfirmBox } from './confirm-box' +export * from './confirm-box' diff --git a/packages/fighting-design/confirm-box/__test__/confirm-box.spec.ts b/packages/fighting-design/confirm-box/__test__/confirm-box.spec.ts new file mode 100644 index 0000000000..5f54940e1c --- /dev/null +++ b/packages/fighting-design/confirm-box/__test__/confirm-box.spec.ts @@ -0,0 +1,10 @@ +import { mount } from '@vue/test-utils' +import { describe, expect, test } from 'vitest' +import { FConfirmBox } from '../index' + +describe('ConfirmBox', () => { + test('class', () => { + const wrapper = mount(FConfirmBox) + expect(wrapper.classes()).toContain('f-confirm-box') + }) +}) diff --git a/packages/fighting-design/confirm-box/index.ts b/packages/fighting-design/confirm-box/index.ts new file mode 100644 index 0000000000..dd8f56f5b5 --- /dev/null +++ b/packages/fighting-design/confirm-box/index.ts @@ -0,0 +1,13 @@ +import ConfirmBox from './src/confirm-box.vue' +import { useConfirmBox } from '../_hooks' +import { install } from '../_utils' + +const { confirmBox } = useConfirmBox(ConfirmBox) + +export const FConfirmBox = install(ConfirmBox) + +export type ConfirmBoxInstance = InstanceType + +export * from './src/interface' + +export default FConfirmBox diff --git a/packages/fighting-design/confirm-box/src/confirm-box.vue b/packages/fighting-design/confirm-box/src/confirm-box.vue new file mode 100644 index 0000000000..9a7f74efa0 --- /dev/null +++ b/packages/fighting-design/confirm-box/src/confirm-box.vue @@ -0,0 +1,17 @@ + + + diff --git a/packages/fighting-design/confirm-box/src/interface.ts b/packages/fighting-design/confirm-box/src/interface.ts new file mode 100644 index 0000000000..56fc0c4bc9 --- /dev/null +++ b/packages/fighting-design/confirm-box/src/interface.ts @@ -0,0 +1 @@ +export type { ConfirmBoxProps } from './props' diff --git a/packages/fighting-design/confirm-box/src/props.ts b/packages/fighting-design/confirm-box/src/props.ts new file mode 100644 index 0000000000..a23b69b552 --- /dev/null +++ b/packages/fighting-design/confirm-box/src/props.ts @@ -0,0 +1,15 @@ +import type { ExtractPropTypes } from 'vue' +import { setFunctionProp, setStringProp } from '../../_utils' + +export const Props = { + /** 标题内容 */ + title: setStringProp(), + /** 提示内容 */ + content: setStringProp(), + /** 点击确定执行的回调方法 */ + onConfirm: setFunctionProp(), + /** 点击取消执行的回调方法 */ + onCancel: setFunctionProp() +} as const + +export type ConfirmBoxProps = ExtractPropTypes diff --git a/packages/fighting-theme/index.scss b/packages/fighting-theme/index.scss index ee06afde45..135f2844fc 100644 --- a/packages/fighting-theme/index.scss +++ b/packages/fighting-theme/index.scss @@ -74,3 +74,4 @@ @use './src/count-down'; @use './src/avatar-group'; @use './src/tabs-item'; +@use './src/confirm-box'; diff --git a/packages/fighting-theme/src/confirm-box.scss b/packages/fighting-theme/src/confirm-box.scss new file mode 100644 index 0000000000..a84283fc93 --- /dev/null +++ b/packages/fighting-theme/src/confirm-box.scss @@ -0,0 +1,2 @@ +.f-confirm-box { +}