diff --git a/.vscode/settings.json b/.vscode/settings.json index 66f3fdaaf..4fb65814a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -194,6 +194,5 @@ "i18n-ally.keystyle": "nested", "commentTranslate.multiLineMerge": true, "vue.server.hybridMode": true, - "typescript.tsdk": "node_modules/typescript/lib", - "vitest.disableWorkspaceWarning": true + "typescript.tsdk": "node_modules/typescript/lib" } diff --git a/packages/@core/base/design/src/css/global.css b/packages/@core/base/design/src/css/global.css index 57ac09f02..aaa52280e 100644 --- a/packages/@core/base/design/src/css/global.css +++ b/packages/@core/base/design/src/css/global.css @@ -28,7 +28,7 @@ #app, body, html { - @apply size-full overscroll-none; + @apply !pointer-events-auto size-full overscroll-none; } body { diff --git a/packages/@core/base/shared/src/utils/__tests__/dom.test.ts b/packages/@core/base/shared/src/utils/__tests__/dom.test.ts index c3c558fc2..df51268a6 100644 --- a/packages/@core/base/shared/src/utils/__tests__/dom.test.ts +++ b/packages/@core/base/shared/src/utils/__tests__/dom.test.ts @@ -1,6 +1,6 @@ import { beforeEach, describe, expect, it, vi } from 'vitest'; -import { getElementVisibleRect } from '../dom'; // 假设函数位于 utils.ts 中 +import { getElementVisibleRect } from '../dom'; describe('getElementVisibleRect', () => { // 设置浏览器视口尺寸的 mock diff --git a/packages/@core/base/shared/src/utils/__tests__/letter.test.ts b/packages/@core/base/shared/src/utils/__tests__/letter.test.ts index 2e4037a21..a4aebaf76 100644 --- a/packages/@core/base/shared/src/utils/__tests__/letter.test.ts +++ b/packages/@core/base/shared/src/utils/__tests__/letter.test.ts @@ -7,7 +7,6 @@ import { toLowerCaseFirstLetter, } from '../letter'; -// 编写测试用例 describe('capitalizeFirstLetter', () => { it('should capitalize the first letter of a string', () => { expect(capitalizeFirstLetter('hello')).toBe('Hello'); diff --git a/packages/@core/base/shared/src/utils/__tests__/unique.test.ts b/packages/@core/base/shared/src/utils/__tests__/unique.test.ts index c5ebcacc3..0aa9d61f0 100644 --- a/packages/@core/base/shared/src/utils/__tests__/unique.test.ts +++ b/packages/@core/base/shared/src/utils/__tests__/unique.test.ts @@ -13,8 +13,7 @@ describe('uniqueByField', () => { const uniqueItems = uniqueByField(items, 'id'); - // Assert expected results - expect(uniqueItems).toHaveLength(3); // After deduplication, there should be three objects left + expect(uniqueItems).toHaveLength(3); expect(uniqueItems).toEqual([ { id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }, diff --git a/packages/@core/composables/src/index.ts b/packages/@core/composables/src/index.ts index a41b2199e..7ecbd3bec 100644 --- a/packages/@core/composables/src/index.ts +++ b/packages/@core/composables/src/index.ts @@ -1,4 +1,5 @@ export * from './use-content-style'; +export * from './use-is-mobile'; export * from './use-namespace'; export * from './use-priority-value'; export * from './use-sortable'; diff --git a/packages/@core/composables/src/use-is-mobile.ts b/packages/@core/composables/src/use-is-mobile.ts new file mode 100644 index 000000000..e35909f1c --- /dev/null +++ b/packages/@core/composables/src/use-is-mobile.ts @@ -0,0 +1,7 @@ +import { breakpointsTailwind, useBreakpoints } from '@vueuse/core'; + +export function useIsMobile() { + const breakpoints = useBreakpoints(breakpointsTailwind); + const isMobile = breakpoints.smaller('md'); + return { isMobile }; +} diff --git a/packages/@core/ui-kit/popup-ui/src/drawer/drawer-api.ts b/packages/@core/ui-kit/popup-ui/src/drawer/drawer-api.ts index 11fa8369d..b969bdee9 100644 --- a/packages/@core/ui-kit/popup-ui/src/drawer/drawer-api.ts +++ b/packages/@core/ui-kit/popup-ui/src/drawer/drawer-api.ts @@ -30,6 +30,8 @@ export class DrawerApi { const defaultState: DrawerState = { cancelText: '取消', closable: true, + closeOnClickModal: true, + closeOnPressEscape: true, confirmLoading: false, confirmText: '确定', footer: true, diff --git a/packages/@core/ui-kit/popup-ui/src/drawer/drawer.ts b/packages/@core/ui-kit/popup-ui/src/drawer/drawer.ts index 1d62c5116..85bf0f0d5 100644 --- a/packages/@core/ui-kit/popup-ui/src/drawer/drawer.ts +++ b/packages/@core/ui-kit/popup-ui/src/drawer/drawer.ts @@ -7,12 +7,21 @@ export interface DrawerProps { * 取消按钮文字 */ cancelText?: string; - /** * 是否显示右上角的关闭按钮 * @default true */ closable?: boolean; + /** + * 点击弹窗遮罩是否关闭弹窗 + * @default true + */ + closeOnClickModal?: boolean; + /** + * 按下 ESC 键是否关闭弹窗 + * @default true + */ + closeOnPressEscape?: boolean; /** * 确定按钮 loading * @default false diff --git a/packages/@core/ui-kit/popup-ui/src/drawer/drawer.vue b/packages/@core/ui-kit/popup-ui/src/drawer/drawer.vue index 81f42630f..5d8a904d9 100644 --- a/packages/@core/ui-kit/popup-ui/src/drawer/drawer.vue +++ b/packages/@core/ui-kit/popup-ui/src/drawer/drawer.vue @@ -1,7 +1,7 @@