Skip to content

Commit

Permalink
feat: 新增确认框组件
Browse files Browse the repository at this point in the history
  • Loading branch information
Tyh2001 committed Aug 14, 2023
1 parent 936871c commit f515820
Show file tree
Hide file tree
Showing 10 changed files with 75 additions and 0 deletions.
1 change: 1 addition & 0 deletions packages/fighting-design/_hooks/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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'
12 changes: 12 additions & 0 deletions packages/fighting-design/_hooks/use-confirm-box/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import type { Component } from 'vue'

export const useConfirmBox = (component: Component) => {

const create = () => {

}

const confirmBox = () => { }

return { confirmBox }
}
3 changes: 3 additions & 0 deletions packages/fighting-design/components.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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'
10 changes: 10 additions & 0 deletions packages/fighting-design/confirm-box/__test__/confirm-box.spec.ts
Original file line number Diff line number Diff line change
@@ -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')
})
})
13 changes: 13 additions & 0 deletions packages/fighting-design/confirm-box/index.ts
Original file line number Diff line number Diff line change
@@ -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<typeof ConfirmBox>

export * from './src/interface'

export default FConfirmBox
17 changes: 17 additions & 0 deletions packages/fighting-design/confirm-box/src/confirm-box.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { Props } from './props'
defineOptions({ name: 'FConfirmBox' })
const prop = defineProps(Props)
</script>

<template>
<div class="f-confirm-box">
<div></div>
<div class="f-confirm-box__body">
<div>{{ title }}</div>
<div>{{ content }}</div>
</div>
</div>
</template>
1 change: 1 addition & 0 deletions packages/fighting-design/confirm-box/src/interface.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export type { ConfirmBoxProps } from './props'
15 changes: 15 additions & 0 deletions packages/fighting-design/confirm-box/src/props.ts
Original file line number Diff line number Diff line change
@@ -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<typeof Props>
1 change: 1 addition & 0 deletions packages/fighting-theme/index.scss
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,4 @@
@use './src/count-down';
@use './src/avatar-group';
@use './src/tabs-item';
@use './src/confirm-box';
2 changes: 2 additions & 0 deletions packages/fighting-theme/src/confirm-box.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.f-confirm-box {
}

0 comments on commit f515820

Please sign in to comment.