pro-design-vue 0.0.1-beta.2 → 1.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +66 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +96 -22
- package/dist/index.full.min.js +8 -8
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +8 -8
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +92 -19
- package/es/components/button/index.d.ts +83 -8
- package/es/components/button/src/Button.d.ts +84 -9
- package/es/components/button/src/Button.mjs +39 -7
- package/es/components/button/src/Button.mjs.map +1 -1
- package/es/components/form/src/Form.d.ts +49 -470
- package/es/components/form/src/base/BaseForm.d.ts +49 -470
- package/es/components/form/src/base/StepForm.d.ts +49 -470
- package/es/components/form/src/fields/FieldDigitRange.mjs +1 -1
- package/es/components/form/src/layouts/DrawerForm.d.ts +49 -470
- package/es/components/form/src/layouts/ModalForm.d.ts +49 -470
- package/es/components/form/src/layouts/QueryFilter.d.ts +50 -470
- package/es/components/form/src/layouts/StepsForm.d.ts +49 -470
- package/es/components/form/src/props.d.ts +147 -961
- package/es/components/form/src/props.mjs +43 -4
- package/es/components/form/src/props.mjs.map +1 -1
- package/es/components/layout/src/layout.vue2.mjs +1 -1
- package/es/components/layout/src/layout.vue2.mjs.map +1 -1
- package/es/components/layout/src/typing.d.ts +3 -1
- package/es/components/page/src/page.vue2.mjs +7 -5
- package/es/components/page/src/page.vue2.mjs.map +1 -1
- package/es/components/table/src/components/AutoHeightHeader/Header.vue.d.ts +83 -8
- package/es/components/table/src/components/AutoHeightHeader/HeaderRow.vue.d.ts +83 -8
- package/es/components/table/src/components/Body/BodyRow.vue.mjs +3 -3
- package/es/components/table/src/components/Filter/FilterDropdown.vue.d.ts +83 -8
- package/es/components/table/src/components/Header/Header.vue.d.ts +83 -8
- package/es/components/table/src/components/Header/HeaderCell.vue.d.ts +83 -8
- package/es/components/table/src/components/Header/HeaderRows.vue.d.ts +83 -8
- package/es/components/table/src/components/Header/HeaderRowsWrap.vue.d.ts +83 -8
- package/es/components/table/src/components/InteralTable.vue.d.ts +166 -16
- package/es/index.d.ts +447 -3336
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/button/index.d.ts +83 -8
- package/lib/components/button/src/Button.d.ts +84 -9
- package/lib/components/button/src/Button.js +38 -6
- package/lib/components/button/src/Button.js.map +1 -1
- package/lib/components/form/src/Form.d.ts +49 -470
- package/lib/components/form/src/base/BaseForm.d.ts +49 -470
- package/lib/components/form/src/base/StepForm.d.ts +49 -470
- package/lib/components/form/src/fields/FieldDigitRange.js +1 -1
- package/lib/components/form/src/layouts/DrawerForm.d.ts +49 -470
- package/lib/components/form/src/layouts/ModalForm.d.ts +49 -470
- package/lib/components/form/src/layouts/QueryFilter.d.ts +50 -470
- package/lib/components/form/src/layouts/StepsForm.d.ts +49 -470
- package/lib/components/form/src/props.d.ts +147 -961
- package/lib/components/form/src/props.js +43 -3
- package/lib/components/form/src/props.js.map +1 -1
- package/lib/components/layout/src/layout.vue2.js +1 -1
- package/lib/components/layout/src/layout.vue2.js.map +1 -1
- package/lib/components/layout/src/typing.d.ts +3 -1
- package/lib/components/page/src/page.vue2.js +7 -5
- package/lib/components/page/src/page.vue2.js.map +1 -1
- package/lib/components/table/src/components/AutoHeightHeader/Header.vue.d.ts +83 -8
- package/lib/components/table/src/components/AutoHeightHeader/HeaderRow.vue.d.ts +83 -8
- package/lib/components/table/src/components/Body/BodyRow.vue.js +3 -3
- package/lib/components/table/src/components/Filter/FilterDropdown.vue.d.ts +83 -8
- package/lib/components/table/src/components/Header/Header.vue.d.ts +83 -8
- package/lib/components/table/src/components/Header/HeaderCell.vue.d.ts +83 -8
- package/lib/components/table/src/components/Header/HeaderRows.vue.d.ts +83 -8
- package/lib/components/table/src/components/Header/HeaderRowsWrap.vue.d.ts +83 -8
- package/lib/components/table/src/components/InteralTable.vue.d.ts +166 -16
- package/lib/index.d.ts +447 -3336
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +7 -6
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/pro-page.css +1 -1
- package/theme-chalk/src/page.less +4 -4
@@ -1,7 +1,46 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
const antFormProps = () => ({
|
4
|
+
layout: {
|
5
|
+
type: String,
|
6
|
+
default: "horizontal"
|
7
|
+
},
|
8
|
+
labelCol: {
|
9
|
+
type: Object
|
10
|
+
},
|
11
|
+
wrapperCol: {
|
12
|
+
type: Object
|
13
|
+
},
|
14
|
+
colon: {
|
15
|
+
type: Boolean,
|
16
|
+
default: true
|
17
|
+
},
|
18
|
+
labelAlign: {
|
19
|
+
type: String,
|
20
|
+
default: "right"
|
21
|
+
},
|
22
|
+
labelWrap: Boolean,
|
23
|
+
disabled: {
|
24
|
+
type: Boolean,
|
25
|
+
default: false
|
26
|
+
},
|
27
|
+
prefixCls: String,
|
28
|
+
requiredMark: [String, Boolean],
|
29
|
+
validateMessages: Object,
|
30
|
+
validateTrigger: {
|
31
|
+
type: [String, Array],
|
32
|
+
default: "change"
|
33
|
+
},
|
34
|
+
validateOnRuleChange: {
|
35
|
+
type: Boolean,
|
36
|
+
default: true
|
37
|
+
},
|
38
|
+
scrollToFirstError: {
|
39
|
+
type: [Boolean, Object],
|
40
|
+
default: false
|
41
|
+
},
|
42
|
+
name: String
|
43
|
+
});
|
5
44
|
const commonFieldProps = () => ({
|
6
45
|
value: {
|
7
46
|
type: [String, Array, Number, Object, Boolean]
|
@@ -39,7 +78,7 @@ const commonFieldProps = () => ({
|
|
39
78
|
}
|
40
79
|
});
|
41
80
|
const baseFormProps = () => ({
|
42
|
-
...
|
81
|
+
...antFormProps(),
|
43
82
|
// name: String,
|
44
83
|
loading: {
|
45
84
|
type: Boolean,
|
@@ -231,6 +270,7 @@ const formProps = () => ({
|
|
231
270
|
}
|
232
271
|
});
|
233
272
|
|
273
|
+
exports.antFormProps = antFormProps;
|
234
274
|
exports.baseFormProps = baseFormProps;
|
235
275
|
exports.commonFieldProps = commonFieldProps;
|
236
276
|
exports.drawerOrModalFormProps = drawerOrModalFormProps;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"props.js","sources":["../../../../../../packages/components/form/src/props.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-07-30 08:16:14\n * @LastEditors: shen\n * @LastEditTime: 2025-09-01 10:29:43\n * @Description:\n */\nimport { formProps as antFormProps } from 'ant-design-vue/es/form'\nimport type { CSSProperties, ExtractPropTypes, PropType } from 'vue'\nimport type {\n ProFormPropsType,\n ProFormItemType,\n Entity,\n SpanConfig,\n ProFormActionType,\n} from './type'\nimport type { StepsProps, StepProps } from 'ant-design-vue'\n\nexport const commonFieldProps = () => ({\n value: {\n type: [String, Array, Number, Object, Boolean] as PropType<any>,\n },\n readonly: {\n type: Boolean,\n default: undefined,\n },\n readonlyProps: {\n type: Object as PropType<ProFormItemType['readonlyProps']>,\n default: undefined,\n },\n valueEnum: {\n type: [Function, Object] as PropType<ProFormItemType['valueEnum']>,\n default: undefined,\n },\n options: {\n type: [Array, Function] as PropType<ProFormItemType['options']>,\n default: undefined,\n },\n request: {\n type: Function as PropType<ProFormItemType['request']>,\n default: undefined,\n },\n params: {\n type: [Function, Object] as PropType<ProFormItemType['params']>,\n default: undefined,\n },\n dependencies: {\n type: Array as PropType<ProFormItemType['dependencies']>,\n default: undefined,\n },\n onChange: {\n type: Function as PropType<ProFormItemType['onChange']>,\n },\n})\n\nexport const baseFormProps = () => ({\n ...antFormProps(),\n // name: String,\n loading: {\n type: Boolean,\n default: undefined,\n },\n showLoading: {\n type: Boolean,\n default: true,\n },\n submitOnLoading: {\n type: Boolean,\n default: true,\n },\n gridSubmitter: {\n type: Boolean,\n default: false,\n },\n omitNil: { type: Boolean, default: true },\n readonly: Boolean,\n grid: Boolean,\n isKeyPressSubmit: Boolean,\n formKey: String,\n theme: {\n type: String as PropType<ProFormPropsType['theme']>,\n default: 'custom',\n },\n customUi: {\n type: Boolean,\n default: true,\n },\n initialValues: {\n type: Object as PropType<ProFormPropsType['initialValues']>,\n },\n readonlyProps: {\n type: Object as PropType<ProFormPropsType['readonlyProps']>,\n },\n colProps: {\n type: Object as PropType<ProFormPropsType['colProps']>,\n },\n rowProps: {\n type: Object as PropType<ProFormPropsType['rowProps']>,\n },\n dateFormatter: {\n type: [String, Function, Boolean] as PropType<ProFormPropsType['dateFormatter']>,\n default: 'string',\n },\n params: {\n type: Object as PropType<ProFormPropsType['params']>,\n },\n items: {\n type: Array as PropType<ProFormItemType<Entity, any>[]>,\n },\n request: {\n type: Function as PropType<ProFormPropsType['request']>,\n },\n requestAbort: {\n type: Boolean,\n },\n submitter: {\n type: [Object, Boolean] as PropType<ProFormPropsType['submitter']>,\n default: undefined,\n },\n onReset: {\n type: Function as PropType<ProFormPropsType['onReset']>,\n },\n onFinish: {\n type: Function as PropType<ProFormPropsType['onFinish']>,\n },\n onFinishFailed: {\n type: Function as PropType<ProFormPropsType['onFinishFailed']>,\n },\n onLoadingChange: {\n type: Function as PropType<ProFormPropsType['onLoadingChange']>,\n },\n onValuesChange: {\n type: Function as PropType<ProFormPropsType['onValuesChange']>,\n },\n onInit: {\n type: Function as PropType<(values: any, formAction: ProFormActionType) => void>,\n default: undefined,\n },\n})\n\nexport const drawerOrModalFormProps = () => ({\n ...baseFormProps(),\n submitTimeout: {\n type: Number,\n default: undefined,\n },\n title: {\n type: String,\n default: undefined,\n },\n width: {\n type: [String, Number] as PropType<string | number>,\n default: 800,\n },\n open: {\n type: Boolean,\n default: undefined,\n },\n closeOnFinish: {\n type: Boolean,\n default: true,\n },\n confirmOnValuesChange: {\n type: Boolean,\n default: true,\n },\n onOpenChange: {\n type: Function as PropType<(open: boolean) => void>,\n default: undefined,\n },\n})\n\nexport const queryFilterProps = () => ({\n ...baseFormProps(),\n preserve: {\n type: Boolean,\n default: true,\n },\n defaultCollapsed: {\n type: Boolean,\n default: true,\n },\n collapsed: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined,\n },\n defaultColsNumber: Number,\n defaultFormItemsNumber: Number,\n labelWidth: {\n type: [String, Number] as PropType<number | 'auto'>,\n default: '80',\n },\n searchText: String,\n resetText: String,\n searchGutter: {\n type: Number,\n default: 24,\n },\n span: {\n type: [Number, Object] as PropType<SpanConfig>,\n },\n // span: definePropType<SpanConfig>([Number, String]),\n showHiddenNum: Boolean,\n ignoreRules: Boolean,\n resetOnSubmit: Boolean,\n onCollapse: {\n type: Function as PropType<(val: boolean) => void>,\n default: undefined,\n },\n onResize: {\n type: Function as PropType<(width: number, height: number) => void>,\n default: undefined,\n },\n})\nexport const stepsFormProps = () => ({\n ...baseFormProps(),\n current: {\n type: Number,\n default: undefined,\n },\n steps: {\n type: Array as PropType<(StepProps & { formProps?: BaseFormProps })[]>,\n default: () => [],\n },\n items: {\n type: Array as PropType<ProFormItemType<Entity, any>[][]>,\n default: () => [],\n },\n stepsProps: {\n type: Object as PropType<StepsProps>,\n },\n containerStyle: {\n type: Object as PropType<CSSProperties>,\n },\n onCurrentChange: {\n type: Function as PropType<(current: number) => void>,\n default: undefined,\n },\n})\n\nexport const formProps = () => ({\n ...baseFormProps(),\n ...drawerOrModalFormProps(),\n ...queryFilterProps(),\n ...stepsFormProps(),\n items: {\n type: Array as PropType<Array<ProFormItemType<Entity, any>[]> | ProFormItemType<Entity, any>[]>,\n default: () => [],\n },\n})\n\nexport type BaseFormProps = Partial<ExtractPropTypes<ReturnType<typeof baseFormProps>>>\n\nexport type ProFormProps = Partial<ExtractPropTypes<ReturnType<typeof formProps>>>\nexport type ProQueryFilterProps = Partial<ExtractPropTypes<ReturnType<typeof queryFilterProps>>>\nexport type ProStepsFormProps = Partial<ExtractPropTypes<ReturnType<typeof stepsFormProps>>>\nexport type ProDrawerOrModalFormProps = Partial<\n ExtractPropTypes<ReturnType<typeof drawerOrModalFormProps>>\n>\n"],"names":["antFormProps"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"props.js","sources":["../../../../../../packages/components/form/src/props.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-07-30 08:16:14\n * @LastEditors: shen\n * @LastEditTime: 2025-09-08 09:37:42\n * @Description:\n */\nimport type { CSSProperties, ExtractPropTypes, PropType } from 'vue'\nimport type {\n ProFormPropsType,\n ProFormItemType,\n Entity,\n SpanConfig,\n ProFormActionType,\n} from './type'\n\nimport type { StepsProps, StepProps, FormProps } from 'ant-design-vue'\n\nexport const antFormProps = () => ({\n layout: {\n type: String as PropType<FormProps['layout']>,\n default: 'horizontal',\n },\n labelCol: {\n type: Object as PropType<FormProps['labelCol']>,\n },\n wrapperCol: {\n type: Object as PropType<FormProps['wrapperCol']>,\n },\n colon: {\n type: Boolean as PropType<FormProps['colon']>,\n default: true,\n },\n labelAlign: {\n type: String as PropType<FormProps['labelAlign']>,\n default: 'right',\n },\n labelWrap: Boolean as PropType<FormProps['labelWrap']>,\n disabled: {\n type: Boolean as PropType<FormProps['disabled']>,\n default: false,\n },\n prefixCls: String as PropType<FormProps['prefixCls']>,\n requiredMark: [String, Boolean] as PropType<FormProps['requiredMark']>,\n validateMessages: Object as PropType<FormProps['validateMessages']>,\n validateTrigger: {\n type: [String, Array] as PropType<FormProps['validateTrigger']>,\n default: 'change',\n },\n validateOnRuleChange: {\n type: Boolean as PropType<FormProps['validateOnRuleChange']>,\n default: true,\n },\n scrollToFirstError: {\n type: [Boolean, Object] as PropType<FormProps['scrollToFirstError']>,\n default: false,\n },\n name: String,\n})\n\nexport const commonFieldProps = () => ({\n value: {\n type: [String, Array, Number, Object, Boolean] as PropType<any>,\n },\n readonly: {\n type: Boolean,\n default: undefined,\n },\n readonlyProps: {\n type: Object as PropType<ProFormItemType['readonlyProps']>,\n default: undefined,\n },\n valueEnum: {\n type: [Function, Object] as PropType<ProFormItemType['valueEnum']>,\n default: undefined,\n },\n options: {\n type: [Array, Function] as PropType<ProFormItemType['options']>,\n default: undefined,\n },\n request: {\n type: Function as PropType<ProFormItemType['request']>,\n default: undefined,\n },\n params: {\n type: [Function, Object] as PropType<ProFormItemType['params']>,\n default: undefined,\n },\n dependencies: {\n type: Array as PropType<ProFormItemType['dependencies']>,\n default: undefined,\n },\n onChange: {\n type: Function as PropType<ProFormItemType['onChange']>,\n },\n})\n\nexport const baseFormProps = () => ({\n ...antFormProps(),\n // name: String,\n loading: {\n type: Boolean,\n default: undefined,\n },\n showLoading: {\n type: Boolean,\n default: true,\n },\n submitOnLoading: {\n type: Boolean,\n default: true,\n },\n gridSubmitter: {\n type: Boolean,\n default: false,\n },\n omitNil: { type: Boolean, default: true },\n readonly: Boolean,\n grid: Boolean,\n isKeyPressSubmit: Boolean,\n formKey: String,\n theme: {\n type: String as PropType<ProFormPropsType['theme']>,\n default: 'custom',\n },\n customUi: {\n type: Boolean,\n default: true,\n },\n initialValues: {\n type: Object as PropType<ProFormPropsType['initialValues']>,\n },\n readonlyProps: {\n type: Object as PropType<ProFormPropsType['readonlyProps']>,\n },\n colProps: {\n type: Object as PropType<ProFormPropsType['colProps']>,\n },\n rowProps: {\n type: Object as PropType<ProFormPropsType['rowProps']>,\n },\n dateFormatter: {\n type: [String, Function, Boolean] as PropType<ProFormPropsType['dateFormatter']>,\n default: 'string',\n },\n params: {\n type: Object as PropType<ProFormPropsType['params']>,\n },\n items: {\n type: Array as PropType<ProFormItemType<Entity, any>[]>,\n },\n request: {\n type: Function as PropType<ProFormPropsType['request']>,\n },\n requestAbort: {\n type: Boolean,\n },\n submitter: {\n type: [Object, Boolean] as PropType<ProFormPropsType['submitter']>,\n default: undefined,\n },\n onReset: {\n type: Function as PropType<ProFormPropsType['onReset']>,\n },\n onFinish: {\n type: Function as PropType<ProFormPropsType['onFinish']>,\n },\n onFinishFailed: {\n type: Function as PropType<ProFormPropsType['onFinishFailed']>,\n },\n onLoadingChange: {\n type: Function as PropType<ProFormPropsType['onLoadingChange']>,\n },\n onValuesChange: {\n type: Function as PropType<ProFormPropsType['onValuesChange']>,\n },\n onInit: {\n type: Function as PropType<(values: any, formAction: ProFormActionType) => void>,\n default: undefined,\n },\n})\n\nexport const drawerOrModalFormProps = () => ({\n ...baseFormProps(),\n submitTimeout: {\n type: Number,\n default: undefined,\n },\n title: {\n type: String,\n default: undefined,\n },\n width: {\n type: [String, Number] as PropType<string | number>,\n default: 800,\n },\n open: {\n type: Boolean,\n default: undefined,\n },\n closeOnFinish: {\n type: Boolean,\n default: true,\n },\n confirmOnValuesChange: {\n type: Boolean,\n default: true,\n },\n onOpenChange: {\n type: Function as PropType<(open: boolean) => void>,\n default: undefined,\n },\n})\n\nexport const queryFilterProps = () => ({\n ...baseFormProps(),\n preserve: {\n type: Boolean,\n default: true,\n },\n defaultCollapsed: {\n type: Boolean,\n default: true,\n },\n collapsed: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined,\n },\n defaultColsNumber: Number,\n defaultFormItemsNumber: Number,\n labelWidth: {\n type: [String, Number] as PropType<number | 'auto'>,\n default: '80',\n },\n searchText: String,\n resetText: String,\n searchGutter: {\n type: Number,\n default: 24,\n },\n span: {\n type: [Number, Object] as PropType<SpanConfig>,\n },\n // span: definePropType<SpanConfig>([Number, String]),\n showHiddenNum: Boolean,\n ignoreRules: Boolean,\n resetOnSubmit: Boolean,\n onCollapse: {\n type: Function as PropType<(val: boolean) => void>,\n default: undefined,\n },\n onResize: {\n type: Function as PropType<(width: number, height: number) => void>,\n default: undefined,\n },\n})\nexport const stepsFormProps = () => ({\n ...baseFormProps(),\n current: {\n type: Number,\n default: undefined,\n },\n steps: {\n type: Array as PropType<(StepProps & { formProps?: BaseFormProps })[]>,\n default: () => [],\n },\n items: {\n type: Array as PropType<ProFormItemType<Entity, any>[][]>,\n default: () => [],\n },\n stepsProps: {\n type: Object as PropType<StepsProps>,\n },\n containerStyle: {\n type: Object as PropType<CSSProperties>,\n },\n onCurrentChange: {\n type: Function as PropType<(current: number) => void>,\n default: undefined,\n },\n})\n\nexport const formProps = () => ({\n ...baseFormProps(),\n ...drawerOrModalFormProps(),\n ...queryFilterProps(),\n ...stepsFormProps(),\n items: {\n type: Array as PropType<Array<ProFormItemType<Entity, any>[]> | ProFormItemType<Entity, any>[]>,\n default: () => [],\n },\n})\n\nexport type BaseFormProps = Partial<ExtractPropTypes<ReturnType<typeof baseFormProps>>>\n\nexport type ProFormProps = Partial<ExtractPropTypes<ReturnType<typeof formProps>>>\nexport type ProQueryFilterProps = Partial<ExtractPropTypes<ReturnType<typeof queryFilterProps>>>\nexport type ProStepsFormProps = Partial<ExtractPropTypes<ReturnType<typeof stepsFormProps>>>\nexport type ProDrawerOrModalFormProps = Partial<\n ExtractPropTypes<ReturnType<typeof drawerOrModalFormProps>>\n>\n"],"names":[],"mappings":"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"}
|
@@ -337,7 +337,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
337
337
|
vue.watch(
|
338
338
|
() => contentOffsetTop.value,
|
339
339
|
(newValue) => {
|
340
|
-
setContentOffsetTop(newValue);
|
340
|
+
setContentOffsetTop == null ? void 0 : setContentOffsetTop(newValue);
|
341
341
|
},
|
342
342
|
{
|
343
343
|
immediate: true
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"layout.vue2.js","sources":["../../../../../../packages/components/layout/src/layout.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2025-06-11 09:22:42\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 15:56:08\n * @Description:\n-->\n<script setup lang=\"ts\">\nimport type { CSSProperties } from 'vue'\nimport type { ProLayoutProps } from './typing'\n\nimport { computed, ref, watch, h } from 'vue'\nimport { useLayoutFooterStyle, useLayoutHeaderStyle } from './hooks/use-layout-style'\nimport { Button } from 'ant-design-vue'\nimport { ELEMENT_ID_MAIN_CONTENT, SCROLL_FIXED_CLASS } from '@pro-design-vue/constants'\nimport { MenuIcon } from './components/icons'\n\nimport { useMouse, useScroll, useThrottleFn } from '@vueuse/core'\n\nimport {\n LayoutContent,\n LayoutFooter,\n LayoutHeader,\n LayoutSidebar,\n LayoutTabbar,\n} from './components'\nimport { useLayout } from './hooks/use-layout'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { useProLayoutProvide } from './context'\nimport { useProConfigInject } from '../../config-provider'\n\ninterface Props extends ProLayoutProps {}\n\ndefineOptions({\n name: 'ProLayout',\n})\n\nconst props = withDefaults(defineProps<Props>(), {\n contentCompact: 'wide',\n contentCompactWidth: 1200,\n contentPadding: 0,\n contentPaddingBottom: 0,\n contentPaddingLeft: 0,\n contentPaddingRight: 0,\n contentPaddingTop: 0,\n footerEnable: false,\n footerFixed: true,\n footerHeight: 32,\n headerHeight: 50,\n headerHidden: false,\n headerMode: 'fixed',\n headerToggleSidebarButton: true,\n headerVisible: true,\n isMobile: false,\n layout: 'sidebar-nav',\n sidebarCollapsedButton: true,\n sidebarCollapseShowTitle: false,\n sidebarExtraCollapsedWidth: 60,\n sidebarFixedButton: true,\n sidebarHidden: false,\n sidebarMixedWidth: 80,\n sidebarTheme: 'light',\n sidebarWidth: 200,\n sideCollapseWidth: 60,\n tabbarEnable: true,\n tabbarHeight: 40,\n zIndex: 200,\n})\n\nconst emit = defineEmits<{ sideMouseLeave: []; toggleSidebar: [] }>()\n\nconst prefixCls = usePrefixCls('layout')\nconst sidebarCollapse = defineModel<boolean>('sidebarCollapse', {\n default: false,\n})\nconst sidebarExtraVisible = defineModel<boolean>('sidebarExtraVisible')\nconst sidebarExtraCollapse = defineModel<boolean>('sidebarExtraCollapse', {\n default: false,\n})\nconst sidebarExpandOnHover = defineModel<boolean>('sidebarExpandOnHover', {\n default: true,\n})\nconst sidebarEnable = defineModel<boolean>('sidebarEnable', { default: true })\n\n// side是否处于hover状态展开菜单中\nconst sidebarExpandOnHovering = ref(false)\nconst headerIsHidden = ref(false)\nconst contentRef = ref()\n\nconst { arrivedState, directions, isScrolling, y: scrollY } = useScroll(contentRef)\n\nconst { setLayoutHeaderHeight } = useLayoutHeaderStyle()\nconst { setLayoutFooterHeight } = useLayoutFooterStyle()\n\nconst { y: mouseY } = useMouse({ target: contentRef, type: 'client' })\n\nconst {\n currentLayout,\n isFullContent,\n isHeaderMixedNav,\n isHeaderNav,\n isMixedNav,\n isSidebarMixedNav,\n} = useLayout(props)\n\n/**\n * 顶栏是否自动隐藏\n */\nconst isHeaderAutoMode = computed(() => props.headerMode === 'auto')\n\nconst headerWrapperHeight = computed(() => {\n let height = 0\n if (props.headerVisible && !props.headerHidden) {\n height += props.headerHeight\n }\n if (props.tabbarEnable) {\n height += props.tabbarHeight\n }\n return height\n})\n\nconst getSideCollapseWidth = computed(() => {\n const { sidebarCollapseShowTitle, sidebarMixedWidth, sideCollapseWidth } = props\n\n return sidebarCollapseShowTitle || isSidebarMixedNav.value || isHeaderMixedNav.value\n ? sidebarMixedWidth\n : sideCollapseWidth\n})\n\n/**\n * 动态获取侧边区域是否可见\n */\nconst sidebarEnableState = computed(() => {\n return !isHeaderNav.value && sidebarEnable.value\n})\n\n/**\n * 侧边区域离顶部高度\n */\nconst sidebarMarginTop = computed(() => {\n const { headerHeight, isMobile } = props\n return isMixedNav.value && !isMobile ? headerHeight : 0\n})\n\n/**\n * 动态获取侧边宽度\n */\nconst getSidebarWidth = computed(() => {\n const { isMobile, sidebarHidden, sidebarMixedWidth, sidebarWidth } = props\n let width = 0\n\n if (sidebarHidden) {\n return width\n }\n\n if (\n !sidebarEnableState.value ||\n (sidebarHidden && !isSidebarMixedNav.value && !isMixedNav.value && !isHeaderMixedNav.value)\n ) {\n return width\n }\n\n if ((isHeaderMixedNav.value || isSidebarMixedNav.value) && !isMobile) {\n width = sidebarMixedWidth\n } else if (sidebarCollapse.value) {\n width = isMobile ? 0 : getSideCollapseWidth.value\n } else {\n width = sidebarWidth\n }\n return width\n})\n\n/**\n * 获取扩展区域宽度\n */\nconst sidebarExtraWidth = computed(() => {\n const { sidebarExtraCollapsedWidth, sidebarWidth } = props\n\n return sidebarExtraCollapse.value ? sidebarExtraCollapsedWidth : sidebarWidth\n})\n\n/**\n * 是否侧边栏模式,包含混合侧边\n */\nconst isSideMode = computed(\n () =>\n currentLayout.value === 'mixed-nav' ||\n currentLayout.value === 'sidebar-mixed-nav' ||\n currentLayout.value === 'sidebar-nav' ||\n currentLayout.value === 'header-mixed-nav' ||\n currentLayout.value === 'header-sidebar-nav',\n)\n\n/**\n * header fixed值\n */\nconst headerFixed = computed(() => {\n const { headerMode } = props\n return (\n isMixedNav.value ||\n headerMode === 'fixed' ||\n headerMode === 'auto-scroll' ||\n headerMode === 'auto'\n )\n})\n\nconst showSidebar = computed(() => {\n return isSideMode.value && sidebarEnable.value && !props.sidebarHidden\n})\n\n/**\n * 遮罩可见性\n */\nconst maskVisible = computed(() => !sidebarCollapse.value && props.isMobile)\n\nconst mainStyle = computed(() => {\n let width = '100%'\n let sidebarAndExtraWidth = 'unset'\n if (\n headerFixed.value &&\n currentLayout.value !== 'header-nav' &&\n currentLayout.value !== 'mixed-nav' &&\n currentLayout.value !== 'header-sidebar-nav' &&\n showSidebar.value &&\n !props.isMobile\n ) {\n // fixed模式下生效\n const isSideNavEffective =\n (isSidebarMixedNav.value || isHeaderMixedNav.value) &&\n sidebarExpandOnHover.value &&\n sidebarExtraVisible.value\n\n if (isSideNavEffective) {\n const sideCollapseWidth = sidebarCollapse.value\n ? getSideCollapseWidth.value\n : props.sidebarMixedWidth\n const sideWidth = sidebarExtraCollapse.value\n ? props.sidebarExtraCollapsedWidth\n : props.sidebarWidth\n\n // 100% - 侧边菜单混合宽度 - 菜单宽度\n sidebarAndExtraWidth = `${sideCollapseWidth + sideWidth}px`\n width = `calc(100% - ${sidebarAndExtraWidth})`\n } else {\n sidebarAndExtraWidth =\n sidebarExpandOnHovering.value && !sidebarExpandOnHover.value\n ? `${getSideCollapseWidth.value}px`\n : `${getSidebarWidth.value}px`\n width = `calc(100% - ${sidebarAndExtraWidth})`\n }\n }\n return {\n sidebarAndExtraWidth,\n width,\n }\n})\n\n// 计算 tabbar 的样式\nconst tabbarStyle = computed((): CSSProperties => {\n let width = ''\n let marginLeft = 0\n\n // 如果不是混合导航,tabbar 的宽度为 100%\n if (!isMixedNav.value || props.sidebarHidden) {\n width = '100%'\n } else if (sidebarEnable.value) {\n // 鼠标在侧边栏上时,且侧边栏展开时的宽度\n const onHoveringWidth = sidebarExpandOnHover.value\n ? props.sidebarWidth\n : getSideCollapseWidth.value\n\n // 设置 marginLeft,根据侧边栏是否折叠来决定\n marginLeft = sidebarCollapse.value ? getSideCollapseWidth.value : onHoveringWidth\n\n // 设置 tabbar 的宽度,计算方式为 100% 减去侧边栏的宽度\n width = `calc(100% - ${sidebarCollapse.value ? getSidebarWidth.value : onHoveringWidth}px)`\n } else {\n // 默认情况下,tabbar 的宽度为 100%\n width = '100%'\n }\n\n return {\n marginLeft: `${marginLeft}px`,\n width,\n }\n})\n\nconst contentOffsetTop = computed(() => {\n const fixed = headerFixed.value\n return fixed &&\n !isFullContent.value &&\n !headerIsHidden.value &&\n (!isHeaderAutoMode.value || scrollY.value < headerWrapperHeight.value)\n ? headerWrapperHeight.value\n : 0\n})\n\nconst contentStyle = computed((): CSSProperties => {\n const { footerEnable, footerFixed, footerHeight } = props\n return {\n marginTop: `${contentOffsetTop.value}px`,\n paddingBottom: `${footerEnable && footerFixed ? footerHeight : 0}px`,\n }\n})\n\nconst headerZIndex = computed(() => {\n const { zIndex } = props\n const offset = isMixedNav.value ? 1 : 0\n return zIndex + offset\n})\n\nconst layoutStyle = computed((): CSSProperties => {\n const fixed = headerFixed.value\n if (fixed) {\n return {\n overflow: 'hidden',\n height: '100%',\n }\n }\n return {\n minHeight: '100%',\n }\n})\n\nconst wrapperStyle = computed((): CSSProperties => {\n const fixed = headerFixed.value\n return {\n overflow: fixed ? 'auto' : 'hidden',\n }\n})\n\nconst headerWrapperStyle = computed((): CSSProperties => {\n const fixed = headerFixed.value\n return {\n height: isFullContent.value ? '0' : `${headerWrapperHeight.value}px`,\n left: isMixedNav.value ? 0 : mainStyle.value.sidebarAndExtraWidth,\n position: fixed ? 'fixed' : 'static',\n top: headerIsHidden.value || isFullContent.value ? `-${headerWrapperHeight.value}px` : 0,\n width: mainStyle.value.width,\n 'z-index': headerZIndex.value,\n }\n})\n\n/**\n * 侧边栏z-index\n */\nconst sidebarZIndex = computed(() => {\n const { isMobile, zIndex } = props\n let offset = isMobile || isSideMode.value ? 1 : -1\n\n if (isMixedNav.value) {\n offset += 1\n }\n\n return zIndex + offset\n})\n\nconst footerWidth = computed(() => {\n if (!props.footerFixed) {\n return '100%'\n }\n\n return mainStyle.value.width\n})\n\nconst maskStyle = computed((): CSSProperties => {\n return { zIndex: props.zIndex }\n})\n\nconst showHeaderToggleButton = computed(() => {\n return (\n props.isMobile ||\n (props.headerToggleSidebarButton &&\n isSideMode.value &&\n !isSidebarMixedNav.value &&\n !isMixedNav.value &&\n !props.isMobile)\n )\n})\n\nconst showHeaderLogo = computed(() => {\n return !isSideMode.value || isMixedNav.value || props.isMobile\n})\n\nwatch(\n () => props.isMobile,\n (val) => {\n if (val) {\n sidebarCollapse.value = true\n }\n },\n {\n immediate: true,\n },\n)\n\nwatch(\n [() => headerWrapperHeight.value, () => isFullContent.value],\n ([height]) => {\n setLayoutHeaderHeight(isFullContent.value ? 0 : height)\n },\n {\n immediate: true,\n },\n)\n\nwatch(\n () => props.footerHeight,\n (height: number) => {\n setLayoutFooterHeight(height)\n },\n {\n immediate: true,\n },\n)\n\nconst mouseMove = () => {\n mouseY.value > headerWrapperHeight.value\n ? (headerIsHidden.value = true)\n : (headerIsHidden.value = false)\n}\nwatch(\n [() => props.headerMode, () => mouseY.value],\n () => {\n if (!isHeaderAutoMode.value || isMixedNav.value || isFullContent.value) {\n if (props.headerMode !== 'auto-scroll') {\n headerIsHidden.value = false\n }\n return\n }\n headerIsHidden.value = true\n mouseMove()\n },\n {\n immediate: true,\n },\n)\n\nconst checkHeaderIsHidden = useThrottleFn((top, bottom, topArrived) => {\n if (scrollY.value < headerWrapperHeight.value) {\n headerIsHidden.value = false\n return\n }\n if (topArrived) {\n headerIsHidden.value = false\n return\n }\n\n if (top) {\n headerIsHidden.value = false\n } else if (bottom) {\n headerIsHidden.value = true\n }\n}, 300)\n\nwatch(\n () => scrollY.value,\n () => {\n if (props.headerMode !== 'auto-scroll' || isMixedNav.value || isFullContent.value) {\n return\n }\n if (isScrolling.value) {\n checkHeaderIsHidden(directions.top, directions.bottom, arrivedState.top)\n }\n },\n)\n\nconst { setContentOffsetTop } = useProConfigInject()\nwatch(\n () => contentOffsetTop.value,\n (newValue) => {\n setContentOffsetTop(newValue)\n },\n {\n immediate: true,\n },\n)\n\nfunction handleClickMask() {\n sidebarCollapse.value = true\n}\n\nfunction handleHeaderToggle() {\n if (props.isMobile) {\n sidebarCollapse.value = false\n } else {\n emit('toggleSidebar')\n }\n}\n\nconst idMainContent = ELEMENT_ID_MAIN_CONTENT\n\nuseProLayoutProvide({\n contentOffsetTop,\n})\n</script>\n\n<template>\n <div :class=\"prefixCls\" :style=\"layoutStyle\">\n <LayoutSidebar\n v-if=\"sidebarEnableState\"\n v-model:collapse=\"sidebarCollapse\"\n v-model:expand-on-hover=\"sidebarExpandOnHover\"\n v-model:expand-on-hovering=\"sidebarExpandOnHovering\"\n v-model:extra-collapse=\"sidebarExtraCollapse\"\n v-model:extra-visible=\"sidebarExtraVisible\"\n :show-collapse-button=\"sidebarCollapsedButton\"\n :show-fixed-button=\"sidebarFixedButton\"\n :collapse-width=\"getSideCollapseWidth\"\n :dom-visible=\"!isMobile\"\n :extra-width=\"sidebarExtraWidth\"\n :fixed-extra=\"sidebarExpandOnHover\"\n :header-height=\"isMixedNav ? 0 : headerHeight\"\n :is-sidebar-mixed=\"isSidebarMixedNav || isHeaderMixedNav\"\n :margin-top=\"sidebarMarginTop\"\n :mixed-width=\"sidebarMixedWidth\"\n :show=\"showSidebar\"\n :theme=\"sidebarTheme\"\n :width=\"getSidebarWidth\"\n :z-index=\"sidebarZIndex\"\n @leave=\"() => emit('sideMouseLeave')\"\n >\n <template v-if=\"isSideMode && !isMixedNav\" #logo>\n <slot name=\"logo\"></slot>\n </template>\n\n <template v-if=\"isSidebarMixedNav || isHeaderMixedNav\">\n <slot name=\"mixed-menu\"></slot>\n </template>\n <template v-else>\n <slot name=\"menu\"></slot>\n </template>\n\n <template #extra>\n <slot name=\"side-extra\"></slot>\n </template>\n <template #extra-title>\n <slot name=\"side-extra-title\"></slot>\n </template>\n </LayoutSidebar>\n <div ref=\"contentRef\" :class=\"`${prefixCls}-wrapper`\" :style=\"wrapperStyle\">\n <div\n :class=\"[\n `${prefixCls}-header-wrapper`,\n {\n [`${prefixCls}-header-wrapper--shadow`]: scrollY > 20,\n },\n SCROLL_FIXED_CLASS,\n ]\"\n :style=\"headerWrapperStyle\"\n >\n <LayoutHeader\n v-if=\"headerVisible\"\n :full-width=\"!isSideMode\"\n :height=\"headerHeight\"\n :is-mobile=\"isMobile\"\n :show=\"!isFullContent && !headerHidden\"\n :sidebar-width=\"sidebarWidth\"\n :theme=\"headerTheme\"\n :width=\"mainStyle.width\"\n :z-index=\"headerZIndex\"\n >\n <template v-if=\"showHeaderLogo\" #logo>\n <slot name=\"logo\"></slot>\n </template>\n\n <template #toggle-button>\n <Button\n v-if=\"showHeaderToggleButton\"\n type=\"text\"\n shape=\"circle\"\n style=\"margin-right: 4px; font-size: 14px; color: hsl(var(--pro-foreground))\"\n :icon=\"h(MenuIcon)\"\n @click=\"handleHeaderToggle\"\n />\n </template>\n <slot name=\"header\"></slot>\n </LayoutHeader>\n <LayoutTabbar v-if=\"tabbarEnable\" :height=\"tabbarHeight\" :style=\"tabbarStyle\">\n <slot name=\"tabbar\"></slot>\n </LayoutTabbar>\n </div>\n <LayoutContent\n :id=\"idMainContent\"\n :content-compact=\"contentCompact\"\n :content-compact-width=\"contentCompactWidth\"\n :padding=\"contentPadding\"\n :padding-bottom=\"contentPaddingBottom\"\n :padding-left=\"contentPaddingLeft\"\n :padding-right=\"contentPaddingRight\"\n :padding-top=\"contentPaddingTop\"\n :style=\"contentStyle\"\n >\n <slot name=\"content\"></slot>\n\n <template #overlay>\n <slot name=\"content-overlay\"></slot>\n </template>\n </LayoutContent>\n <LayoutFooter\n v-if=\"footerEnable\"\n :fixed=\"footerFixed\"\n :height=\"footerHeight\"\n :show=\"!isFullContent\"\n :width=\"footerWidth\"\n :z-index=\"zIndex\"\n >\n <slot name=\"footer\"></slot>\n </LayoutFooter>\n </div>\n <slot name=\"extra\"></slot>\n <div\n v-if=\"maskVisible\"\n :style=\"maskStyle\"\n :class=\"`${prefixCls}-mask`\"\n @click=\"handleClickMask\"\n ></div>\n </div>\n</template>\n"],"names":["usePrefixCls","_useModel","ref","useScroll","useLayoutHeaderStyle","useLayoutFooterStyle","useMouse","useLayout","computed","watch","useThrottleFn","useProConfigInject","ELEMENT_ID_MAIN_CONTENT","useProLayoutProvide","_createElementBlock","_unref","_createBlock","LayoutSidebar","sidebarCollapsedButton","sidebarFixedButton","isMobile","headerHeight","sidebarMixedWidth","sidebarTheme","_renderSlot","_createElementVNode","_normalizeClass","SCROLL_FIXED_CLASS","headerVisible","LayoutHeader","headerHidden","sidebarWidth","headerTheme","Button","h","MenuIcon","tabbarEnable","LayoutTabbar","tabbarHeight","_createVNode","LayoutContent","contentCompact","contentCompactWidth","contentPadding","contentPaddingBottom","contentPaddingLeft","contentPaddingRight","contentPaddingTop","footerEnable","LayoutFooter","footerFixed","footerHeight","zIndex"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"layout.vue2.js","sources":["../../../../../../packages/components/layout/src/layout.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2025-06-11 09:22:42\n * @LastEditors: shen\n * @LastEditTime: 2025-09-05 13:45:32\n * @Description:\n-->\n<script setup lang=\"ts\">\nimport type { CSSProperties } from 'vue'\nimport type { ProLayoutProps } from './typing'\n\nimport { computed, ref, watch, h } from 'vue'\nimport { useLayoutFooterStyle, useLayoutHeaderStyle } from './hooks/use-layout-style'\nimport { Button } from 'ant-design-vue'\nimport { ELEMENT_ID_MAIN_CONTENT, SCROLL_FIXED_CLASS } from '@pro-design-vue/constants'\nimport { MenuIcon } from './components/icons'\n\nimport { useMouse, useScroll, useThrottleFn } from '@vueuse/core'\n\nimport {\n LayoutContent,\n LayoutFooter,\n LayoutHeader,\n LayoutSidebar,\n LayoutTabbar,\n} from './components'\nimport { useLayout } from './hooks/use-layout'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { useProLayoutProvide } from './context'\nimport { useProConfigInject } from '../../config-provider'\n\ninterface Props extends ProLayoutProps {}\n\ndefineOptions({\n name: 'ProLayout',\n})\n\nconst props = withDefaults(defineProps<Props>(), {\n contentCompact: 'wide',\n contentCompactWidth: 1200,\n contentPadding: 0,\n contentPaddingBottom: 0,\n contentPaddingLeft: 0,\n contentPaddingRight: 0,\n contentPaddingTop: 0,\n footerEnable: false,\n footerFixed: true,\n footerHeight: 32,\n headerHeight: 50,\n headerHidden: false,\n headerMode: 'fixed',\n headerToggleSidebarButton: true,\n headerVisible: true,\n isMobile: false,\n layout: 'sidebar-nav',\n sidebarCollapsedButton: true,\n sidebarCollapseShowTitle: false,\n sidebarExtraCollapsedWidth: 60,\n sidebarFixedButton: true,\n sidebarHidden: false,\n sidebarMixedWidth: 80,\n sidebarTheme: 'light',\n sidebarWidth: 200,\n sideCollapseWidth: 60,\n tabbarEnable: true,\n tabbarHeight: 40,\n zIndex: 200,\n})\n\nconst emit = defineEmits<{ sideMouseLeave: []; toggleSidebar: [] }>()\n\nconst prefixCls = usePrefixCls('layout')\nconst sidebarCollapse = defineModel<boolean>('sidebarCollapse', {\n default: false,\n})\nconst sidebarExtraVisible = defineModel<boolean>('sidebarExtraVisible')\nconst sidebarExtraCollapse = defineModel<boolean>('sidebarExtraCollapse', {\n default: false,\n})\nconst sidebarExpandOnHover = defineModel<boolean>('sidebarExpandOnHover', {\n default: true,\n})\nconst sidebarEnable = defineModel<boolean>('sidebarEnable', { default: true })\n\n// side是否处于hover状态展开菜单中\nconst sidebarExpandOnHovering = ref(false)\nconst headerIsHidden = ref(false)\nconst contentRef = ref()\n\nconst { arrivedState, directions, isScrolling, y: scrollY } = useScroll(contentRef)\n\nconst { setLayoutHeaderHeight } = useLayoutHeaderStyle()\nconst { setLayoutFooterHeight } = useLayoutFooterStyle()\n\nconst { y: mouseY } = useMouse({ target: contentRef, type: 'client' })\n\nconst {\n currentLayout,\n isFullContent,\n isHeaderMixedNav,\n isHeaderNav,\n isMixedNav,\n isSidebarMixedNav,\n} = useLayout(props)\n\n/**\n * 顶栏是否自动隐藏\n */\nconst isHeaderAutoMode = computed(() => props.headerMode === 'auto')\n\nconst headerWrapperHeight = computed(() => {\n let height = 0\n if (props.headerVisible && !props.headerHidden) {\n height += props.headerHeight\n }\n if (props.tabbarEnable) {\n height += props.tabbarHeight\n }\n return height\n})\n\nconst getSideCollapseWidth = computed(() => {\n const { sidebarCollapseShowTitle, sidebarMixedWidth, sideCollapseWidth } = props\n\n return sidebarCollapseShowTitle || isSidebarMixedNav.value || isHeaderMixedNav.value\n ? sidebarMixedWidth\n : sideCollapseWidth\n})\n\n/**\n * 动态获取侧边区域是否可见\n */\nconst sidebarEnableState = computed(() => {\n return !isHeaderNav.value && sidebarEnable.value\n})\n\n/**\n * 侧边区域离顶部高度\n */\nconst sidebarMarginTop = computed(() => {\n const { headerHeight, isMobile } = props\n return isMixedNav.value && !isMobile ? headerHeight : 0\n})\n\n/**\n * 动态获取侧边宽度\n */\nconst getSidebarWidth = computed(() => {\n const { isMobile, sidebarHidden, sidebarMixedWidth, sidebarWidth } = props\n let width = 0\n\n if (sidebarHidden) {\n return width\n }\n\n if (\n !sidebarEnableState.value ||\n (sidebarHidden && !isSidebarMixedNav.value && !isMixedNav.value && !isHeaderMixedNav.value)\n ) {\n return width\n }\n\n if ((isHeaderMixedNav.value || isSidebarMixedNav.value) && !isMobile) {\n width = sidebarMixedWidth\n } else if (sidebarCollapse.value) {\n width = isMobile ? 0 : getSideCollapseWidth.value\n } else {\n width = sidebarWidth\n }\n return width\n})\n\n/**\n * 获取扩展区域宽度\n */\nconst sidebarExtraWidth = computed(() => {\n const { sidebarExtraCollapsedWidth, sidebarWidth } = props\n\n return sidebarExtraCollapse.value ? sidebarExtraCollapsedWidth : sidebarWidth\n})\n\n/**\n * 是否侧边栏模式,包含混合侧边\n */\nconst isSideMode = computed(\n () =>\n currentLayout.value === 'mixed-nav' ||\n currentLayout.value === 'sidebar-mixed-nav' ||\n currentLayout.value === 'sidebar-nav' ||\n currentLayout.value === 'header-mixed-nav' ||\n currentLayout.value === 'header-sidebar-nav',\n)\n\n/**\n * header fixed值\n */\nconst headerFixed = computed(() => {\n const { headerMode } = props\n return (\n isMixedNav.value ||\n headerMode === 'fixed' ||\n headerMode === 'auto-scroll' ||\n headerMode === 'auto'\n )\n})\n\nconst showSidebar = computed(() => {\n return isSideMode.value && sidebarEnable.value && !props.sidebarHidden\n})\n\n/**\n * 遮罩可见性\n */\nconst maskVisible = computed(() => !sidebarCollapse.value && props.isMobile)\n\nconst mainStyle = computed(() => {\n let width = '100%'\n let sidebarAndExtraWidth = 'unset'\n if (\n headerFixed.value &&\n currentLayout.value !== 'header-nav' &&\n currentLayout.value !== 'mixed-nav' &&\n currentLayout.value !== 'header-sidebar-nav' &&\n showSidebar.value &&\n !props.isMobile\n ) {\n // fixed模式下生效\n const isSideNavEffective =\n (isSidebarMixedNav.value || isHeaderMixedNav.value) &&\n sidebarExpandOnHover.value &&\n sidebarExtraVisible.value\n\n if (isSideNavEffective) {\n const sideCollapseWidth = sidebarCollapse.value\n ? getSideCollapseWidth.value\n : props.sidebarMixedWidth\n const sideWidth = sidebarExtraCollapse.value\n ? props.sidebarExtraCollapsedWidth\n : props.sidebarWidth\n\n // 100% - 侧边菜单混合宽度 - 菜单宽度\n sidebarAndExtraWidth = `${sideCollapseWidth + sideWidth}px`\n width = `calc(100% - ${sidebarAndExtraWidth})`\n } else {\n sidebarAndExtraWidth =\n sidebarExpandOnHovering.value && !sidebarExpandOnHover.value\n ? `${getSideCollapseWidth.value}px`\n : `${getSidebarWidth.value}px`\n width = `calc(100% - ${sidebarAndExtraWidth})`\n }\n }\n return {\n sidebarAndExtraWidth,\n width,\n }\n})\n\n// 计算 tabbar 的样式\nconst tabbarStyle = computed((): CSSProperties => {\n let width = ''\n let marginLeft = 0\n\n // 如果不是混合导航,tabbar 的宽度为 100%\n if (!isMixedNav.value || props.sidebarHidden) {\n width = '100%'\n } else if (sidebarEnable.value) {\n // 鼠标在侧边栏上时,且侧边栏展开时的宽度\n const onHoveringWidth = sidebarExpandOnHover.value\n ? props.sidebarWidth\n : getSideCollapseWidth.value\n\n // 设置 marginLeft,根据侧边栏是否折叠来决定\n marginLeft = sidebarCollapse.value ? getSideCollapseWidth.value : onHoveringWidth\n\n // 设置 tabbar 的宽度,计算方式为 100% 减去侧边栏的宽度\n width = `calc(100% - ${sidebarCollapse.value ? getSidebarWidth.value : onHoveringWidth}px)`\n } else {\n // 默认情况下,tabbar 的宽度为 100%\n width = '100%'\n }\n\n return {\n marginLeft: `${marginLeft}px`,\n width,\n }\n})\n\nconst contentOffsetTop = computed(() => {\n const fixed = headerFixed.value\n return fixed &&\n !isFullContent.value &&\n !headerIsHidden.value &&\n (!isHeaderAutoMode.value || scrollY.value < headerWrapperHeight.value)\n ? headerWrapperHeight.value\n : 0\n})\n\nconst contentStyle = computed((): CSSProperties => {\n const { footerEnable, footerFixed, footerHeight } = props\n return {\n marginTop: `${contentOffsetTop.value}px`,\n paddingBottom: `${footerEnable && footerFixed ? footerHeight : 0}px`,\n }\n})\n\nconst headerZIndex = computed(() => {\n const { zIndex } = props\n const offset = isMixedNav.value ? 1 : 0\n return zIndex + offset\n})\n\nconst layoutStyle = computed((): CSSProperties => {\n const fixed = headerFixed.value\n if (fixed) {\n return {\n overflow: 'hidden',\n height: '100%',\n }\n }\n return {\n minHeight: '100%',\n }\n})\n\nconst wrapperStyle = computed((): CSSProperties => {\n const fixed = headerFixed.value\n return {\n overflow: fixed ? 'auto' : 'hidden',\n }\n})\n\nconst headerWrapperStyle = computed((): CSSProperties => {\n const fixed = headerFixed.value\n return {\n height: isFullContent.value ? '0' : `${headerWrapperHeight.value}px`,\n left: isMixedNav.value ? 0 : mainStyle.value.sidebarAndExtraWidth,\n position: fixed ? 'fixed' : 'static',\n top: headerIsHidden.value || isFullContent.value ? `-${headerWrapperHeight.value}px` : 0,\n width: mainStyle.value.width,\n 'z-index': headerZIndex.value,\n }\n})\n\n/**\n * 侧边栏z-index\n */\nconst sidebarZIndex = computed(() => {\n const { isMobile, zIndex } = props\n let offset = isMobile || isSideMode.value ? 1 : -1\n\n if (isMixedNav.value) {\n offset += 1\n }\n\n return zIndex + offset\n})\n\nconst footerWidth = computed(() => {\n if (!props.footerFixed) {\n return '100%'\n }\n\n return mainStyle.value.width\n})\n\nconst maskStyle = computed((): CSSProperties => {\n return { zIndex: props.zIndex }\n})\n\nconst showHeaderToggleButton = computed(() => {\n return (\n props.isMobile ||\n (props.headerToggleSidebarButton &&\n isSideMode.value &&\n !isSidebarMixedNav.value &&\n !isMixedNav.value &&\n !props.isMobile)\n )\n})\n\nconst showHeaderLogo = computed(() => {\n return !isSideMode.value || isMixedNav.value || props.isMobile\n})\n\nwatch(\n () => props.isMobile,\n (val) => {\n if (val) {\n sidebarCollapse.value = true\n }\n },\n {\n immediate: true,\n },\n)\n\nwatch(\n [() => headerWrapperHeight.value, () => isFullContent.value],\n ([height]) => {\n setLayoutHeaderHeight(isFullContent.value ? 0 : height)\n },\n {\n immediate: true,\n },\n)\n\nwatch(\n () => props.footerHeight,\n (height: number) => {\n setLayoutFooterHeight(height)\n },\n {\n immediate: true,\n },\n)\n\nconst mouseMove = () => {\n mouseY.value > headerWrapperHeight.value\n ? (headerIsHidden.value = true)\n : (headerIsHidden.value = false)\n}\nwatch(\n [() => props.headerMode, () => mouseY.value],\n () => {\n if (!isHeaderAutoMode.value || isMixedNav.value || isFullContent.value) {\n if (props.headerMode !== 'auto-scroll') {\n headerIsHidden.value = false\n }\n return\n }\n headerIsHidden.value = true\n mouseMove()\n },\n {\n immediate: true,\n },\n)\n\nconst checkHeaderIsHidden = useThrottleFn((top, bottom, topArrived) => {\n if (scrollY.value < headerWrapperHeight.value) {\n headerIsHidden.value = false\n return\n }\n if (topArrived) {\n headerIsHidden.value = false\n return\n }\n\n if (top) {\n headerIsHidden.value = false\n } else if (bottom) {\n headerIsHidden.value = true\n }\n}, 300)\n\nwatch(\n () => scrollY.value,\n () => {\n if (props.headerMode !== 'auto-scroll' || isMixedNav.value || isFullContent.value) {\n return\n }\n if (isScrolling.value) {\n checkHeaderIsHidden(directions.top, directions.bottom, arrivedState.top)\n }\n },\n)\n\nconst { setContentOffsetTop } = useProConfigInject()\nwatch(\n () => contentOffsetTop.value,\n (newValue) => {\n setContentOffsetTop?.(newValue)\n },\n {\n immediate: true,\n },\n)\n\nfunction handleClickMask() {\n sidebarCollapse.value = true\n}\n\nfunction handleHeaderToggle() {\n if (props.isMobile) {\n sidebarCollapse.value = false\n } else {\n emit('toggleSidebar')\n }\n}\n\nconst idMainContent = ELEMENT_ID_MAIN_CONTENT\n\nuseProLayoutProvide({\n contentOffsetTop,\n})\n</script>\n\n<template>\n <div :class=\"prefixCls\" :style=\"layoutStyle\">\n <LayoutSidebar\n v-if=\"sidebarEnableState\"\n v-model:collapse=\"sidebarCollapse\"\n v-model:expand-on-hover=\"sidebarExpandOnHover\"\n v-model:expand-on-hovering=\"sidebarExpandOnHovering\"\n v-model:extra-collapse=\"sidebarExtraCollapse\"\n v-model:extra-visible=\"sidebarExtraVisible\"\n :show-collapse-button=\"sidebarCollapsedButton\"\n :show-fixed-button=\"sidebarFixedButton\"\n :collapse-width=\"getSideCollapseWidth\"\n :dom-visible=\"!isMobile\"\n :extra-width=\"sidebarExtraWidth\"\n :fixed-extra=\"sidebarExpandOnHover\"\n :header-height=\"isMixedNav ? 0 : headerHeight\"\n :is-sidebar-mixed=\"isSidebarMixedNav || isHeaderMixedNav\"\n :margin-top=\"sidebarMarginTop\"\n :mixed-width=\"sidebarMixedWidth\"\n :show=\"showSidebar\"\n :theme=\"sidebarTheme\"\n :width=\"getSidebarWidth\"\n :z-index=\"sidebarZIndex\"\n @leave=\"() => emit('sideMouseLeave')\"\n >\n <template v-if=\"isSideMode && !isMixedNav\" #logo>\n <slot name=\"logo\"></slot>\n </template>\n\n <template v-if=\"isSidebarMixedNav || isHeaderMixedNav\">\n <slot name=\"mixed-menu\"></slot>\n </template>\n <template v-else>\n <slot name=\"menu\"></slot>\n </template>\n\n <template #extra>\n <slot name=\"side-extra\"></slot>\n </template>\n <template #extra-title>\n <slot name=\"side-extra-title\"></slot>\n </template>\n </LayoutSidebar>\n <div ref=\"contentRef\" :class=\"`${prefixCls}-wrapper`\" :style=\"wrapperStyle\">\n <div\n :class=\"[\n `${prefixCls}-header-wrapper`,\n {\n [`${prefixCls}-header-wrapper--shadow`]: scrollY > 20,\n },\n SCROLL_FIXED_CLASS,\n ]\"\n :style=\"headerWrapperStyle\"\n >\n <LayoutHeader\n v-if=\"headerVisible\"\n :full-width=\"!isSideMode\"\n :height=\"headerHeight\"\n :is-mobile=\"isMobile\"\n :show=\"!isFullContent && !headerHidden\"\n :sidebar-width=\"sidebarWidth\"\n :theme=\"headerTheme\"\n :width=\"mainStyle.width\"\n :z-index=\"headerZIndex\"\n >\n <template v-if=\"showHeaderLogo\" #logo>\n <slot name=\"logo\"></slot>\n </template>\n\n <template #toggle-button>\n <Button\n v-if=\"showHeaderToggleButton\"\n type=\"text\"\n shape=\"circle\"\n style=\"margin-right: 4px; font-size: 14px; color: hsl(var(--pro-foreground))\"\n :icon=\"h(MenuIcon)\"\n @click=\"handleHeaderToggle\"\n />\n </template>\n <slot name=\"header\"></slot>\n </LayoutHeader>\n <LayoutTabbar v-if=\"tabbarEnable\" :height=\"tabbarHeight\" :style=\"tabbarStyle\">\n <slot name=\"tabbar\"></slot>\n </LayoutTabbar>\n </div>\n <LayoutContent\n :id=\"idMainContent\"\n :content-compact=\"contentCompact\"\n :content-compact-width=\"contentCompactWidth\"\n :padding=\"contentPadding\"\n :padding-bottom=\"contentPaddingBottom\"\n :padding-left=\"contentPaddingLeft\"\n :padding-right=\"contentPaddingRight\"\n :padding-top=\"contentPaddingTop\"\n :style=\"contentStyle\"\n >\n <slot name=\"content\"></slot>\n\n <template #overlay>\n <slot name=\"content-overlay\"></slot>\n </template>\n </LayoutContent>\n <LayoutFooter\n v-if=\"footerEnable\"\n :fixed=\"footerFixed\"\n :height=\"footerHeight\"\n :show=\"!isFullContent\"\n :width=\"footerWidth\"\n :z-index=\"zIndex\"\n >\n <slot name=\"footer\"></slot>\n </LayoutFooter>\n </div>\n <slot name=\"extra\"></slot>\n <div\n v-if=\"maskVisible\"\n :style=\"maskStyle\"\n :class=\"`${prefixCls}-mask`\"\n @click=\"handleClickMask\"\n ></div>\n </div>\n</template>\n"],"names":["usePrefixCls","_useModel","ref","useScroll","useLayoutHeaderStyle","useLayoutFooterStyle","useMouse","useLayout","computed","watch","useThrottleFn","useProConfigInject","ELEMENT_ID_MAIN_CONTENT","useProLayoutProvide","_createElementBlock","_unref","_createBlock","LayoutSidebar","sidebarCollapsedButton","sidebarFixedButton","isMobile","headerHeight","sidebarMixedWidth","sidebarTheme","_renderSlot","_createElementVNode","_normalizeClass","SCROLL_FIXED_CLASS","headerVisible","LayoutHeader","headerHidden","sidebarWidth","headerTheme","Button","h","MenuIcon","tabbarEnable","LayoutTabbar","tabbarHeight","_createVNode","LayoutContent","contentCompact","contentCompactWidth","contentPadding","contentPaddingBottom","contentPaddingLeft","contentPaddingRight","contentPaddingTop","footerEnable","LayoutFooter","footerFixed","footerHeight","zIndex"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,IAAA,MAAM,KAAA,GAAQ,OAAA;AAgCd,IAAA,MAAM,IAAA,GAAO,MAAA;AAEb,IAAA,MAAM,SAAA,GAAYA,mBAAa,QAAQ,CAAA;AACvC,IAAA,MAAM,eAAA,GAAkBC,YAAA,CAAoB,OAAA,EAAC,iBAE5C,CAAA;AACD,IAAA,MAAM,mBAAA,GAAsBA,YAAA,CAAoB,OAAA,EAAC,qBAAqB,CAAA;AACtE,IAAA,MAAM,oBAAA,GAAuBA,YAAA,CAAoB,OAAA,EAAC,sBAEjD,CAAA;AACD,IAAA,MAAM,oBAAA,GAAuBA,YAAA,CAAoB,OAAA,EAAC,sBAEjD,CAAA;AACD,IAAA,MAAM,aAAA,GAAgBA,YAAA,CAAoB,OAAA,EAAC,eAAkC,CAAA;AAG7E,IAAA,MAAM,uBAAA,GAA0BC,QAAI,KAAK,CAAA;AACzC,IAAA,MAAM,cAAA,GAAiBA,QAAI,KAAK,CAAA;AAChC,IAAA,MAAM,aAAaA,OAAA,EAAI;AAEvB,IAAA,MAAM,EAAE,cAAc,UAAA,EAAY,WAAA,EAAa,GAAG,OAAA,EAAQ,GAAIC,eAAU,UAAU,CAAA;AAElF,IAAA,MAAM,EAAE,qBAAA,EAAsB,GAAIC,mCAAA,EAAqB;AACvD,IAAA,MAAM,EAAE,qBAAA,EAAsB,GAAIC,mCAAA,EAAqB;AAEvD,IAAA,MAAM,EAAE,CAAA,EAAG,MAAA,EAAO,GAAIC,aAAA,CAAS,EAAE,MAAA,EAAQ,UAAA,EAAY,IAAA,EAAM,QAAA,EAAU,CAAA;AAErE,IAAA,MAAM;AAAA,MACJ,aAAA;AAAA,MACA,aAAA;AAAA,MACA,gBAAA;AAAA,MACA,WAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACF,GAAIC,oBAAU,KAAK,CAAA;AAKnB,IAAA,MAAM,gBAAA,GAAmBC,YAAA,CAAS,MAAM,KAAA,CAAM,eAAe,MAAM,CAAA;AAEnE,IAAA,MAAM,mBAAA,GAAsBA,aAAS,MAAM;AACzC,MAAA,IAAI,MAAA,GAAS,CAAA;AACb,MAAA,IAAI,KAAA,CAAM,aAAA,IAAiB,CAAC,KAAA,CAAM,YAAA,EAAc;AAC9C,QAAA,MAAA,IAAU,KAAA,CAAM,YAAA;AAAA,MAClB;AACA,MAAA,IAAI,MAAM,YAAA,EAAc;AACtB,QAAA,MAAA,IAAU,KAAA,CAAM,YAAA;AAAA,MAClB;AACA,MAAA,OAAO,MAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAM,oBAAA,GAAuBA,aAAS,MAAM;AAC1C,MAAA,MAAM,EAAE,wBAAA,EAA0B,iBAAA,EAAmB,iBAAA,EAAkB,GAAI,KAAA;AAE3E,MAAA,OAAO,wBAAA,IAA4B,iBAAA,CAAkB,KAAA,IAAS,gBAAA,CAAiB,QAC3E,iBAAA,GACA,iBAAA;AAAA,IACN,CAAC,CAAA;AAKD,IAAA,MAAM,kBAAA,GAAqBA,aAAS,MAAM;AACxC,MAAA,OAAO,CAAC,WAAA,CAAY,KAAA,IAAS,aAAA,CAAc,KAAA;AAAA,IAC7C,CAAC,CAAA;AAKD,IAAA,MAAM,gBAAA,GAAmBA,aAAS,MAAM;AACtC,MAAA,MAAM,EAAE,YAAA,EAAc,QAAA,EAAS,GAAI,KAAA;AACnC,MAAA,OAAO,UAAA,CAAW,KAAA,IAAS,CAAC,QAAA,GAAW,YAAA,GAAe,CAAA;AAAA,IACxD,CAAC,CAAA;AAKD,IAAA,MAAM,eAAA,GAAkBA,aAAS,MAAM;AACrC,MAAA,MAAM,EAAE,QAAA,EAAU,aAAA,EAAe,iBAAA,EAAmB,cAAa,GAAI,KAAA;AACrE,MAAA,IAAI,KAAA,GAAQ,CAAA;AAEZ,MAAA,IAAI,aAAA,EAAe;AACjB,QAAA,OAAO,KAAA;AAAA,MACT;AAEA,MAAA,IACE,CAAC,kBAAA,CAAmB,KAAA,IACnB,aAAA,IAAiB,CAAC,iBAAA,CAAkB,KAAA,IAAS,CAAC,UAAA,CAAW,KAAA,IAAS,CAAC,gBAAA,CAAiB,KAAA,EACrF;AACA,QAAA,OAAO,KAAA;AAAA,MACT;AAEA,MAAA,IAAA,CAAK,gBAAA,CAAiB,KAAA,IAAS,iBAAA,CAAkB,KAAA,KAAU,CAAC,QAAA,EAAU;AACpE,QAAA,KAAA,GAAQ,iBAAA;AAAA,MACV,CAAA,MAAA,IAAW,gBAAgB,KAAA,EAAO;AAChC,QAAA,KAAA,GAAQ,QAAA,GAAW,IAAI,oBAAA,CAAqB,KAAA;AAAA,MAC9C,CAAA,MAAO;AACL,QAAA,KAAA,GAAQ,YAAA;AAAA,MACV;AACA,MAAA,OAAO,KAAA;AAAA,IACT,CAAC,CAAA;AAKD,IAAA,MAAM,iBAAA,GAAoBA,aAAS,MAAM;AACvC,MAAA,MAAM,EAAE,0BAAA,EAA4B,YAAA,EAAa,GAAI,KAAA;AAErD,MAAA,OAAO,oBAAA,CAAqB,QAAQ,0BAAA,GAA6B,YAAA;AAAA,IACnE,CAAC,CAAA;AAKD,IAAA,MAAM,UAAA,GAAaA,YAAA;AAAA,MACjB,MACE,aAAA,CAAc,KAAA,KAAU,WAAA,IACxB,cAAc,KAAA,KAAU,mBAAA,IACxB,aAAA,CAAc,KAAA,KAAU,aAAA,IACxB,aAAA,CAAc,KAAA,KAAU,kBAAA,IACxB,cAAc,KAAA,KAAU;AAAA,KAC5B;AAKA,IAAA,MAAM,WAAA,GAAcA,aAAS,MAAM;AACjC,MAAA,MAAM,EAAE,YAAW,GAAI,KAAA;AACvB,MAAA,OACE,WAAW,KAAA,IACX,UAAA,KAAe,OAAA,IACf,UAAA,KAAe,iBACf,UAAA,KAAe,MAAA;AAAA,IAEnB,CAAC,CAAA;AAED,IAAA,MAAM,WAAA,GAAcA,aAAS,MAAM;AACjC,MAAA,OAAO,UAAA,CAAW,KAAA,IAAS,aAAA,CAAc,KAAA,IAAS,CAAC,KAAA,CAAM,aAAA;AAAA,IAC3D,CAAC,CAAA;AAKD,IAAA,MAAM,cAAcA,YAAA,CAAS,MAAM,CAAC,eAAA,CAAgB,KAAA,IAAS,MAAM,QAAQ,CAAA;AAE3E,IAAA,MAAM,SAAA,GAAYA,aAAS,MAAM;AAC/B,MAAA,IAAI,KAAA,GAAQ,MAAA;AACZ,MAAA,IAAI,oBAAA,GAAuB,OAAA;AAC3B,MAAA,IACE,WAAA,CAAY,KAAA,IACZ,aAAA,CAAc,KAAA,KAAU,gBACxB,aAAA,CAAc,KAAA,KAAU,WAAA,IACxB,aAAA,CAAc,UAAU,oBAAA,IACxB,WAAA,CAAY,KAAA,IACZ,CAAC,MAAM,QAAA,EACP;AAEA,QAAA,MAAM,sBACH,iBAAA,CAAkB,KAAA,IAAS,iBAAiB,KAAA,KAC7C,oBAAA,CAAqB,SACrB,mBAAA,CAAoB,KAAA;AAEtB,QAAA,IAAI,kBAAA,EAAoB;AACtB,UAAA,MAAM,iBAAA,GAAoB,eAAA,CAAgB,KAAA,GACtC,oBAAA,CAAqB,QACrB,KAAA,CAAM,iBAAA;AACV,UAAA,MAAM,SAAA,GAAY,oBAAA,CAAqB,KAAA,GACnC,KAAA,CAAM,6BACN,KAAA,CAAM,YAAA;AAGV,UAAA,oBAAA,GAAuB,CAAA,EAAG,oBAAoB,SAAS,CAAA,EAAA,CAAA;AACvD,UAAA,KAAA,GAAQ,eAAe,oBAAoB,CAAA,CAAA,CAAA;AAAA,QAC7C,CAAA,MAAO;AACL,UAAA,oBAAA,GACE,uBAAA,CAAwB,KAAA,IAAS,CAAC,oBAAA,CAAqB,KAAA,GACnD,CAAA,EAAG,oBAAA,CAAqB,KAAK,CAAA,EAAA,CAAA,GAC7B,CAAA,EAAG,eAAA,CAAgB,KAAK,CAAA,EAAA,CAAA;AAC9B,UAAA,KAAA,GAAQ,eAAe,oBAAoB,CAAA,CAAA,CAAA;AAAA,QAC7C;AAAA,MACF;AACA,MAAA,OAAO;AAAA,QACL,oBAAA;AAAA,QACA;AAAA,OACF;AAAA,IACF,CAAC,CAAA;AAGD,IAAA,MAAM,WAAA,GAAcA,aAAS,MAAqB;AAChD,MAAA,IAAI,KAAA,GAAQ,EAAA;AACZ,MAAA,IAAI,UAAA,GAAa,CAAA;AAGjB,MAAA,IAAI,CAAC,UAAA,CAAW,KAAA,IAAS,KAAA,CAAM,aAAA,EAAe;AAC5C,QAAA,KAAA,GAAQ,MAAA;AAAA,MACV,CAAA,MAAA,IAAW,cAAc,KAAA,EAAO;AAE9B,QAAA,MAAM,eAAA,GAAkB,oBAAA,CAAqB,KAAA,GACzC,KAAA,CAAM,eACN,oBAAA,CAAqB,KAAA;AAGzB,QAAA,UAAA,GAAa,eAAA,CAAgB,KAAA,GAAQ,oBAAA,CAAqB,KAAA,GAAQ,eAAA;AAGlE,QAAA,KAAA,GAAQ,CAAA,YAAA,EAAe,eAAA,CAAgB,KAAA,GAAQ,eAAA,CAAgB,QAAQ,eAAe,CAAA,GAAA,CAAA;AAAA,MACxF,CAAA,MAAO;AAEL,QAAA,KAAA,GAAQ,MAAA;AAAA,MACV;AAEA,MAAA,OAAO;AAAA,QACL,UAAA,EAAY,GAAG,UAAU,CAAA,EAAA,CAAA;AAAA,QACzB;AAAA,OACF;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAM,gBAAA,GAAmBA,aAAS,MAAM;AACtC,MAAA,MAAM,QAAQ,WAAA,CAAY,KAAA;AAC1B,MAAA,OAAO,KAAA,IACL,CAAC,aAAA,CAAc,KAAA,IACf,CAAC,cAAA,CAAe,KAAA,KACf,CAAC,gBAAA,CAAiB,SAAS,OAAA,CAAQ,KAAA,GAAQ,mBAAA,CAAoB,KAAA,CAAA,GAC9D,oBAAoB,KAAA,GACpB,CAAA;AAAA,IACN,CAAC,CAAA;AAED,IAAA,MAAM,YAAA,GAAeA,aAAS,MAAqB;AACjD,MAAA,MAAM,EAAE,YAAA,EAAc,WAAA,EAAa,YAAA,EAAa,GAAI,KAAA;AACpD,MAAA,OAAO;AAAA,QACL,SAAA,EAAW,CAAA,EAAG,gBAAA,CAAiB,KAAK,CAAA,EAAA,CAAA;AAAA,QACpC,aAAA,EAAe,CAAA,EAAG,YAAA,IAAgB,WAAA,GAAc,eAAe,CAAC,CAAA,EAAA;AAAA,OAClE;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAM,YAAA,GAAeA,aAAS,MAAM;AAClC,MAAA,MAAM,EAAE,QAAO,GAAI,KAAA;AACnB,MAAA,MAAM,MAAA,GAAS,UAAA,CAAW,KAAA,GAAQ,CAAA,GAAI,CAAA;AACtC,MAAA,OAAO,MAAA,GAAS,MAAA;AAAA,IAClB,CAAC,CAAA;AAED,IAAA,MAAM,WAAA,GAAcA,aAAS,MAAqB;AAChD,MAAA,MAAM,QAAQ,WAAA,CAAY,KAAA;AAC1B,MAAA,IAAI,KAAA,EAAO;AACT,QAAA,OAAO;AAAA,UACL,QAAA,EAAU,QAAA;AAAA,UACV,MAAA,EAAQ;AAAA,SACV;AAAA,MACF;AACA,MAAA,OAAO;AAAA,QACL,SAAA,EAAW;AAAA,OACb;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAM,YAAA,GAAeA,aAAS,MAAqB;AACjD,MAAA,MAAM,QAAQ,WAAA,CAAY,KAAA;AAC1B,MAAA,OAAO;AAAA,QACL,QAAA,EAAU,QAAQ,MAAA,GAAS;AAAA,OAC7B;AAAA,IACF,CAAC,CAAA;AAED,IAAA,MAAM,kBAAA,GAAqBA,aAAS,MAAqB;AACvD,MAAA,MAAM,QAAQ,WAAA,CAAY,KAAA;AAC1B,MAAA,OAAO;AAAA,QACL,QAAQ,aAAA,CAAc,KAAA,GAAQ,GAAA,GAAM,CAAA,EAAG,oBAAoB,KAAK,CAAA,EAAA,CAAA;AAAA,QAChE,IAAA,EAAM,UAAA,CAAW,KAAA,GAAQ,CAAA,GAAI,UAAU,KAAA,CAAM,oBAAA;AAAA,QAC7C,QAAA,EAAU,QAAQ,OAAA,GAAU,QAAA;AAAA,QAC5B,GAAA,EAAK,eAAe,KAAA,IAAS,aAAA,CAAc,QAAQ,CAAA,CAAA,EAAI,mBAAA,CAAoB,KAAK,CAAA,EAAA,CAAA,GAAO,CAAA;AAAA,QACvF,KAAA,EAAO,UAAU,KAAA,CAAM,KAAA;AAAA,QACvB,WAAW,YAAA,CAAa;AAAA,OAC1B;AAAA,IACF,CAAC,CAAA;AAKD,IAAA,MAAM,aAAA,GAAgBA,aAAS,MAAM;AACnC,MAAA,MAAM,EAAE,QAAA,EAAU,MAAA,EAAO,GAAI,KAAA;AAC7B,MAAA,IAAI,MAAA,GAAS,QAAA,IAAY,UAAA,CAAW,KAAA,GAAQ,CAAA,GAAI,EAAA;AAEhD,MAAA,IAAI,WAAW,KAAA,EAAO;AACpB,QAAA,MAAA,IAAU,CAAA;AAAA,MACZ;AAEA,MAAA,OAAO,MAAA,GAAS,MAAA;AAAA,IAClB,CAAC,CAAA;AAED,IAAA,MAAM,WAAA,GAAcA,aAAS,MAAM;AACjC,MAAA,IAAI,CAAC,MAAM,WAAA,EAAa;AACtB,QAAA,OAAO,MAAA;AAAA,MACT;AAEA,MAAA,OAAO,UAAU,KAAA,CAAM,KAAA;AAAA,IACzB,CAAC,CAAA;AAED,IAAA,MAAM,SAAA,GAAYA,aAAS,MAAqB;AAC9C,MAAA,OAAO,EAAE,MAAA,EAAQ,KAAA,CAAM,MAAA,EAAO;AAAA,IAChC,CAAC,CAAA;AAED,IAAA,MAAM,sBAAA,GAAyBA,aAAS,MAAM;AAC5C,MAAA,OACE,KAAA,CAAM,QAAA,IACL,KAAA,CAAM,yBAAA,IACL,UAAA,CAAW,KAAA,IACX,CAAC,iBAAA,CAAkB,KAAA,IACnB,CAAC,UAAA,CAAW,KAAA,IACZ,CAAC,KAAA,CAAM,QAAA;AAAA,IAEb,CAAC,CAAA;AAED,IAAA,MAAM,cAAA,GAAiBA,aAAS,MAAM;AACpC,MAAA,OAAO,CAAC,UAAA,CAAW,KAAA,IAAS,UAAA,CAAW,SAAS,KAAA,CAAM,QAAA;AAAA,IACxD,CAAC,CAAA;AAED,IAAAC,SAAA;AAAA,MACE,MAAM,KAAA,CAAM,QAAA;AAAA,MACZ,CAAC,GAAA,KAAQ;AACP,QAAA,IAAI,GAAA,EAAK;AACP,UAAA,eAAA,CAAgB,KAAA,GAAQ,IAAA;AAAA,QAC1B;AAAA,MACF,CAAA;AAAA,MACA;AAAA,QACE,SAAA,EAAW;AAAA;AACb,KACF;AAEA,IAAAA,SAAA;AAAA,MACE,CAAC,MAAM,mBAAA,CAAoB,KAAA,EAAO,MAAM,cAAc,KAAK,CAAA;AAAA,MAC3D,CAAC,CAAC,MAAM,CAAA,KAAM;AACZ,QAAA,qBAAA,CAAsB,aAAA,CAAc,KAAA,GAAQ,CAAA,GAAI,MAAM,CAAA;AAAA,MACxD,CAAA;AAAA,MACA;AAAA,QACE,SAAA,EAAW;AAAA;AACb,KACF;AAEA,IAAAA,SAAA;AAAA,MACE,MAAM,KAAA,CAAM,YAAA;AAAA,MACZ,CAAC,MAAA,KAAmB;AAClB,QAAA,qBAAA,CAAsB,MAAM,CAAA;AAAA,MAC9B,CAAA;AAAA,MACA;AAAA,QACE,SAAA,EAAW;AAAA;AACb,KACF;AAEA,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,MAAA,CAAO,QAAQ,mBAAA,CAAoB,KAAA,GAC9B,eAAe,KAAA,GAAQ,IAAA,GACvB,eAAe,KAAA,GAAQ,KAAA;AAAA,IAC9B,CAAA;AACA,IAAAA,SAAA;AAAA,MACE,CAAC,MAAM,KAAA,CAAM,UAAA,EAAY,MAAM,OAAO,KAAK,CAAA;AAAA,MAC3C,MAAM;AACJ,QAAA,IAAI,CAAC,gBAAA,CAAiB,KAAA,IAAS,UAAA,CAAW,KAAA,IAAS,cAAc,KAAA,EAAO;AACtE,UAAA,IAAI,KAAA,CAAM,eAAe,aAAA,EAAe;AACtC,YAAA,cAAA,CAAe,KAAA,GAAQ,KAAA;AAAA,UACzB;AACA,UAAA;AAAA,QACF;AACA,QAAA,cAAA,CAAe,KAAA,GAAQ,IAAA;AACvB,QAAA,SAAA,EAAU;AAAA,MACZ,CAAA;AAAA,MACA;AAAA,QACE,SAAA,EAAW;AAAA;AACb,KACF;AAEA,IAAA,MAAM,mBAAA,GAAsBC,kBAAA,CAAc,CAAC,GAAA,EAAK,QAAQ,UAAA,KAAe;AACrE,MAAA,IAAI,OAAA,CAAQ,KAAA,GAAQ,mBAAA,CAAoB,KAAA,EAAO;AAC7C,QAAA,cAAA,CAAe,KAAA,GAAQ,KAAA;AACvB,QAAA;AAAA,MACF;AACA,MAAA,IAAI,UAAA,EAAY;AACd,QAAA,cAAA,CAAe,KAAA,GAAQ,KAAA;AACvB,QAAA;AAAA,MACF;AAEA,MAAA,IAAI,GAAA,EAAK;AACP,QAAA,cAAA,CAAe,KAAA,GAAQ,KAAA;AAAA,MACzB,WAAW,MAAA,EAAQ;AACjB,QAAA,cAAA,CAAe,KAAA,GAAQ,IAAA;AAAA,MACzB;AAAA,IACF,GAAG,GAAG,CAAA;AAEN,IAAAD,SAAA;AAAA,MACE,MAAM,OAAA,CAAQ,KAAA;AAAA,MACd,MAAM;AACJ,QAAA,IAAI,MAAM,UAAA,KAAe,aAAA,IAAiB,UAAA,CAAW,KAAA,IAAS,cAAc,KAAA,EAAO;AACjF,UAAA;AAAA,QACF;AACA,QAAA,IAAI,YAAY,KAAA,EAAO;AACrB,UAAA,mBAAA,CAAoB,UAAA,CAAW,GAAA,EAAK,UAAA,CAAW,MAAA,EAAQ,aAAa,GAAG,CAAA;AAAA,QACzE;AAAA,MACF;AAAA,KACF;AAEA,IAAA,MAAM,EAAE,mBAAA,EAAoB,GAAIE,0BAAA,EAAmB;AACnD,IAAAF,SAAA;AAAA,MACE,MAAM,gBAAA,CAAiB,KAAA;AAAA,MACvB,CAAC,QAAA,KAAa;AACZ,QAAA,mBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,mBAAA,CAAsB,QAAA,CAAA;AAAA,MACxB,CAAA;AAAA,MACA;AAAA,QACE,SAAA,EAAW;AAAA;AACb,KACF;AAEA,IAAA,SAAS,eAAA,GAAkB;AACzB,MAAA,eAAA,CAAgB,KAAA,GAAQ,IAAA;AAAA,IAC1B;AAEA,IAAA,SAAS,kBAAA,GAAqB;AAC5B,MAAA,IAAI,MAAM,QAAA,EAAU;AAClB,QAAA,eAAA,CAAgB,KAAA,GAAQ,KAAA;AAAA,MAC1B,CAAA,MAAO;AACL,QAAA,IAAA,CAAK,eAAe,CAAA;AAAA,MACtB;AAAA,IACF;AAEA,IAAA,MAAM,aAAA,GAAgBG,+BAAA;AAEtB,IAAAC,6BAAA,CAAoB;AAAA,MAClB;AAAA,KACD,CAAA;;8BAICC,sBAAA;AAAA,QAuHM,KAAA;AAAA,QAAA;AAAA,UAvHA,KAAA,qBAAOC,SAAA,CAAA,SAAA,CAAS,CAAA;AAAA,UAAG,KAAA,qBAAO,WAAA,CAAA,KAAW;AAAA;;UAEjC,mBAAA,KAAA,qBADRC,eAAA,CAwCgBD,SAAA,CAAAE,yDAAA,CAAA,EAAA;AAAA;YAtCN,UAAU,eAAA,CAAA,KAAA;AAAA,uEAAA,eAAA,CAAe,KAAA,GAAA,MAAA,CAAA;AAAA,YACzB,mBAAiB,oBAAA,CAAA,KAAA;AAAA,4EAAA,oBAAA,CAAoB,KAAA,GAAA,MAAA,CAAA;AAAA,YACrC,sBAAoB,uBAAA,CAAA,KAAA;AAAA,+EAAA,uBAAA,CAAuB,KAAA,GAAA,MAAA,CAAA;AAAA,YAC3C,kBAAgB,oBAAA,CAAA,KAAA;AAAA,4EAAA,oBAAA,CAAoB,KAAA,GAAA,MAAA,CAAA;AAAA,YACpC,iBAAe,mBAAA,CAAA,KAAA;AAAA,2EAAA,mBAAA,CAAmB,KAAA,GAAA,MAAA,CAAA;AAAA,YACzC,wBAAsBC,IAAAA,CAAAA,sBAAAA;AAAAA,YACtB,qBAAmBC,IAAAA,CAAAA,kBAAAA;AAAAA,YACnB,kBAAgB,oBAAA,CAAA,KAAA;AAAA,YAChB,aAAA,GAAcC,IAAAA,CAAAA,QAAAA;AAAAA,YACd,eAAa,iBAAA,CAAA,KAAA;AAAA,YACb,eAAa,oBAAA,CAAA,KAAA;AAAA,YACb,eAAA,EAAeL,SAAA,CAAA,UAAA,CAAA,GAAU,IAAOM,IAAAA,CAAAA,YAAAA;AAAAA,YAChC,kBAAA,EAAkBN,SAAA,CAAA,iBAAA,CAAA,IAAqBA,UAAA,gBAAA,CAAA;AAAA,YACvC,cAAY,gBAAA,CAAA,KAAA;AAAA,YACZ,eAAaO,IAAAA,CAAAA,iBAAAA;AAAAA,YACb,MAAM,WAAA,CAAA,KAAA;AAAA,YACN,OAAOC,IAAAA,CAAAA,YAAAA;AAAAA,YACP,OAAO,eAAA,CAAA,KAAA;AAAA,YACP,WAAS,aAAA,CAAA,KAAA;AAAA,YACT,OAAA,kCAAa,IAAA,CAAI,gBAAA,CAAA;AAAA;YAaP,KAAA,cACT,MAA+B;AAAA,cAA/BC,cAAA,CAA+B,IAAA,CAAA,MAAA,EAAA,YAAA;AAAA;YAEtB,aAAA,cACT,MAAqC;AAAA,cAArCA,cAAA,CAAqC,IAAA,CAAA,MAAA,EAAA,kBAAA;AAAA;iCAXvC,MAEW;AAAA,cAFKT,SAAA,CAAA,iBAAA,CAAA,IAAqBA,SAAA,CAAA,gBAAA,CAAA,GACnCS,cAAA,CAA+B,IAAA,CAAA,MAAA,EAAA,YAAA,EAAA,EAAA,KAAA,CAAA,EAAA,IAG/BA,cAAA,CAAyB,IAAA,CAAA,QAAA,MAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA;AAAA;;;;YARX,UAAA,CAAA,KAAA,KAAeT,SAAA,CAAA,UAAA,CAAA;oBAAa,MAAA;AAAA,8BAC1C,MAAyB;AAAA,gBAAzBS,cAAA,CAAyB,IAAA,CAAA,MAAA,EAAA,MAAA;AAAA;;;;UAiB7BC,sBAAA;AAAA,YAqEM,KAAA;AAAA,YAAA;AAAA,uBArEG,YAAA;AAAA,cAAJ,GAAA,EAAI,UAAA;AAAA,cAAc,6BAAUV,SAAA,CAAA,SAAA,CAAS,CAAA,QAAA,CAAA,CAAA;AAAA,cAAa,KAAA,qBAAO,YAAA,CAAA,KAAY;AAAA;;cACxEU,sBAAA;AAAA,gBAwCM,KAAA;AAAA,gBAAA;AAAA,kBAvCH,OAAKC,kBAAA,CAAA;AAAA,uBAAiBX,SAAA,CAAA,SAAA,CAAS,CAAA,eAAA,CAAA;AAAA;sBAA+C,CAAA,GAAAA,SAAA,CAAA,SAAA,CAAS,CAAA,uBAAA,IAA4BA,SAAA,CAAA,OAAA,CAAA,GAAO;AAAA;oBAA8BA,UAAAY,0BAAA;AAAA;kBAOxJ,KAAA,qBAAO,kBAAA,CAAA,KAAkB;AAAA;;kBAGlBC,KAAAA,aAAAA,qBADRZ,eAAA,CA0BeD,SAAA,CAAAc,wDAAA,CAAA,EAAA;AAAA;oBAxBZ,YAAA,GAAa,UAAA,CAAA,KAAA;AAAA,oBACb,QAAQR,IAAAA,CAAAA,YAAAA;AAAAA,oBACR,aAAWD,IAAAA,CAAAA,QAAAA;AAAAA,oBACX,MAAI,CAAGL,SAAA,CAAA,aAAA,CAAA,IAAa,CAAKe,IAAAA,CAAAA,YAAAA;AAAAA,oBACzB,iBAAeC,IAAAA,CAAAA,YAAAA;AAAAA,oBACf,OAAOC,IAAAA,CAAAA,WAAAA;AAAAA,oBACP,KAAA,EAAO,UAAA,KAAA,CAAU,KAAA;AAAA,oBACjB,WAAS,YAAA,CAAA;AAAA;oBAMC,eAAA,cACT,MAOE;AAAA,sBANM,uBAAA,KAAA,qBADRhB,eAAA,CAOED,SAAA,CAAAkB,mBAAA,CAAA,EAAA;AAAA;wBALA,IAAA,EAAK,MAAA;AAAA,wBACL,KAAA,EAAM,QAAA;AAAA,wBACN,OAAA,EAAA,cAAA,EAAA,OAAA,WAAA,EAAA,MAAA,EAAA,SAAA,4BAAA,EAAA;AAAA,wBACC,IAAA,EAAMC,KAAA,CAAEnB,SAAA,CAAAoB,oDAAA,CAAQ,CAAA;AAAA,wBAChB,OAAA,EAAO;AAAA;;yCAGZ,MAA2B;AAAA,sBAA3BX,cAAA,CAA2B,IAAA,CAAA,MAAA,EAAA,QAAA;AAAA;;;;oBAdX,eAAA,KAAA;4BAAiB,MAAA;AAAA,sCAC/B,MAAyB;AAAA,wBAAzBA,cAAA,CAAyB,IAAA,CAAA,MAAA,EAAA,MAAA;AAAA;;;;kBAeTY,KAAAA,YAAAA,qBAApBpB,eAAA,CAEeD,SAAA,CAAAsB,wDAAA,CAAA,EAAA;AAAA;oBAFoB,QAAQC,IAAAA,CAAAA,YAAAA;AAAAA,oBAAe,KAAA,qBAAO,WAAA,CAAA,KAAW;AAAA;yCAC1E,MAA2B;AAAA,sBAA3Bd,cAAA,CAA2B,IAAA,CAAA,MAAA,EAAA,QAAA;AAAA;;;;;;;;cAG/Be,eAAA,CAgBgBxB,SAAA,CAAAyB,yDAAA,CAAA,EAAA;AAAA,gBAfb,EAAA,EAAIzB,UAAA,aAAA,CAAA;AAAA,gBACJ,mBAAiB0B,IAAAA,CAAAA,cAAAA;AAAAA,gBACjB,yBAAuBC,IAAAA,CAAAA,mBAAAA;AAAAA,gBACvB,SAASC,IAAAA,CAAAA,cAAAA;AAAAA,gBACT,kBAAgBC,IAAAA,CAAAA,oBAAAA;AAAAA,gBAChB,gBAAcC,IAAAA,CAAAA,kBAAAA;AAAAA,gBACd,iBAAeC,IAAAA,CAAAA,mBAAAA;AAAAA,gBACf,eAAaC,IAAAA,CAAAA,iBAAAA;AAAAA,gBACb,KAAA,qBAAO,YAAA,CAAA,KAAY;AAAA;gBAIT,OAAA,cACT,MAAoC;AAAA,kBAApCvB,cAAA,CAAoC,IAAA,CAAA,MAAA,EAAA,iBAAA;AAAA;qCAHtC,MAA4B;AAAA,kBAA5BA,cAAA,CAA4B,IAAA,CAAA,MAAA,EAAA,SAAA;AAAA;;;;cAOtBwB,KAAAA,YAAAA,qBADRhC,eAAA,CASeD,SAAA,CAAAkC,wDAAA,CAAA,EAAA;AAAA;gBAPZ,OAAOC,IAAAA,CAAAA,WAAAA;AAAAA,gBACP,QAAQC,IAAAA,CAAAA,YAAAA;AAAAA,gBACR,IAAA,GAAOpC,SAAA,CAAA,aAAA,CAAA;AAAA,gBACP,OAAO,WAAA,CAAA,KAAA;AAAA,gBACP,WAASqC,IAAAA,CAAAA;AAAAA;qCAEV,MAA2B;AAAA,kBAA3B5B,cAAA,CAA2B,IAAA,CAAA,MAAA,EAAA,QAAA;AAAA;;;;;;;;UAG/BA,cAAA,CAA0B,IAAA,CAAA,MAAA,EAAA,OAAA,CAAA;AAAA,UAElB,WAAA,CAAA,KAAA,qBADRV,sBAAA;AAAA,YAKO,KAAA;AAAA,YAAA;AAAA;cAHJ,KAAA,qBAAO,SAAA,CAAA,KAAS,CAAA;AAAA,cAChB,6BAAUC,SAAA,CAAA,SAAA,CAAS,CAAA,KAAA,CAAA,CAAA;AAAA,cACnB,OAAA,EAAO;AAAA;;;;;;;;;;;;;;;"}
|
@@ -90,9 +90,11 @@ interface ProLayoutProps {
|
|
90
90
|
/**
|
91
91
|
* 布局方式
|
92
92
|
* sidebar-nav 侧边菜单布局
|
93
|
+
* sidebar-mixed-nav 侧边混合菜单布局
|
93
94
|
* header-nav 顶部菜单布局
|
95
|
+
* header-sidebar-nav 顶部通栏,侧边导航模式
|
94
96
|
* mixed-nav 侧边&顶部菜单布局
|
95
|
-
*
|
97
|
+
* header-mixed-nav 混合双列菜单布局
|
96
98
|
* full-content 全屏内容布局
|
97
99
|
* @default sidebar-nav
|
98
100
|
*/
|
@@ -84,10 +84,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
84
84
|
...__props.contentStyle
|
85
85
|
};
|
86
86
|
});
|
87
|
-
const mergeTabsProps = vue.computed(
|
88
|
-
|
89
|
-
|
90
|
-
|
87
|
+
const mergeTabsProps = vue.computed(
|
88
|
+
() => {
|
89
|
+
var _a;
|
90
|
+
return omit.omit((_a = __props.tabProps) != null ? _a : {}, ["activeKey", "tabPosition", "onChange"]);
|
91
|
+
}
|
92
|
+
);
|
91
93
|
async function calcContentHeight() {
|
92
94
|
var _a, _b, _c;
|
93
95
|
if (!__props.autoContentHeight) {
|
@@ -182,7 +184,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
182
184
|
vue.createVNode(vue.unref(antDesignVue.Tabs), vue.mergeProps({
|
183
185
|
activeKey: tabActiveKey.value,
|
184
186
|
"onUpdate:activeKey": _cache[0] || (_cache[0] = ($event) => tabActiveKey.value = $event)
|
185
|
-
}, mergeTabsProps.value), {
|
187
|
+
}, mergeTabsProps.value, { "tab-position": "top" }), {
|
186
188
|
default: vue.withCtx(() => [
|
187
189
|
(vue.openBlock(true), vue.createElementBlock(
|
188
190
|
vue.Fragment,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"page.vue2.js","sources":["../../../../../../packages/components/page/src/page.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { StyleValue } from 'vue'\nimport type { TabsProps } from 'ant-design-vue'\nimport type { PageProps } from './types'\n\nimport { computed, nextTick, onMounted, ref, useSlots, useTemplateRef } from 'vue'\nimport { Tabs, TabPane } from 'ant-design-vue'\nimport { CSS_VARIABLE_LAYOUT_CONTENT_HEIGHT } from '@pro-design-vue/constants'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { omit } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '../../config-provider'\n\ndefineOptions({\n name: 'ProPage',\n})\nconst {\n autoContentHeight = false,\n heightOffset = 0,\n headerClass = '',\n contentClass = '',\n footerClass = '',\n tabList = [],\n contentStyle,\n tabProps,\n contentPadding = 16,\n} = defineProps<PageProps>()\n\nconst slots = useSlots()\nconst prefixCls = usePrefixCls('page')\nconst headerHeight = ref(0)\nconst footerHeight = ref(0)\nconst tabsHeight = ref(0)\nconst shouldAutoHeight = ref(false)\n\nconst { contentOffsetTop } = useProConfigInject()\nconst tabActiveKey = defineModel<TabsProps['activeKey']>('activeKey')\nconst headerRef = useTemplateRef<HTMLDivElement>('header')\nconst footerRef = useTemplateRef<HTMLDivElement>('footer')\nconst tabsRef = useTemplateRef<HTMLDivElement>('tabs')\nconst headerCls = computed(() => ({\n [`${prefixCls}-header`]: true,\n [headerClass]: true,\n}))\n\nconst contentCls = computed(() => ({\n [`${prefixCls}-content`]: true,\n [contentClass]: true,\n}))\n\nconst footerCls = computed(() => ({\n [`${prefixCls}-footer`]: true,\n [footerClass]: true,\n}))\n\nconst offset = computed(() => {\n if (autoContentHeight) {\n return {\n top: -contentPadding,\n bottom: -contentPadding,\n }\n }\n return {\n top: contentOffsetTop?.value || 0,\n bottom: 0,\n }\n})\n\nconst contentStyles = computed<StyleValue>(() => {\n if (autoContentHeight) {\n return {\n height: `calc(var(${CSS_VARIABLE_LAYOUT_CONTENT_HEIGHT}) - ${headerHeight.value}px - ${tabsHeight.value}px - ${typeof heightOffset === 'number' ? `${heightOffset}px` : heightOffset})`,\n overflowY: shouldAutoHeight.value ? 'auto' : 'unset',\n padding: `${contentPadding || 0}px`,\n ...contentStyle,\n }\n }\n return {\n padding: `${contentPadding || 0}px`,\n ...contentStyle,\n }\n})\n\nconst mergeTabsProps = computed(() => omit(tabProps ?? {}, ['activeKey', 'onChange']))\n\nasync function calcContentHeight() {\n if (!autoContentHeight) {\n return\n }\n await nextTick()\n headerHeight.value = headerRef.value?.offsetHeight || 0\n footerHeight.value = footerRef.value?.offsetHeight || 0\n tabsHeight.value = tabsRef.value?.offsetHeight || 0\n\n setTimeout(() => {\n shouldAutoHeight.value = true\n }, 30)\n}\n\nconst tabComp = computed(() => {\n if (tabList?.length) {\n const key = tabActiveKey.value ?? tabList[0]!.key!\n return slots[key]\n }\n return null\n})\n\nonMounted(() => {\n calcContentHeight()\n})\n</script>\n\n<template>\n <div :class=\"[prefixCls, tabList?.length ? `is-tabs` : '']\">\n <div\n v-if=\"\n $slots.header || description || $slots.description || title || $slots.title || $slots.extra\n \"\n ref=\"header\"\n :class=\"headerCls\"\n >\n <slot name=\"header\">\n <div :class=\"`${prefixCls}-header-wrap`\">\n <slot name=\"title\">\n <div v-if=\"title\" :class=\"`${prefixCls}-title`\">{{ title }}</div>\n </slot>\n\n <slot name=\"description\">\n <p v-if=\"description\" :class=\"`${prefixCls}-description`\">\n {{ description }}\n </p>\n </slot>\n </div>\n\n <div v-if=\"$slots.extra\">\n <slot name=\"extra\"></slot>\n </div>\n </slot>\n </div>\n <div v-if=\"tabList?.length\" ref=\"tabs\" :class=\"`${prefixCls}-tabs`\">\n <Tabs v-model:activeKey=\"tabActiveKey\" v-bind=\"mergeTabsProps\">\n <template v-for=\"tab in tabList\" :key=\"tab.key\">\n <TabPane v-bind=\"tab\" />\n </template>\n </Tabs>\n </div>\n\n <div :class=\"contentCls\" :style=\"contentStyles\">\n <slot :active-key=\"tabActiveKey ?? tabList[0]?.key\" :offset=\"offset\"></slot>\n <slot\n name=\"tabs\"\n v-if=\"tabList?.length\"\n :active-key=\"tabActiveKey ?? tabList[0]?.key\"\n :offset=\"offset\"\n >\n <component :is=\"tabComp\" />\n </slot>\n </div>\n\n <div v-if=\"$slots.footer\" ref=\"footer\" :class=\"footerCls\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n</template>\n"],"names":["useSlots","usePrefixCls","ref","useProConfigInject","_useModel","useTemplateRef","computed","CSS_VARIABLE_LAYOUT_CONTENT_HEIGHT","omit","nextTick","onMounted","_createElementBlock","_normalizeClass","_unref","tabList","$slots","description","title","_renderSlot","_createElementVNode","_createVNode","_mergeProps","_Fragment","_renderList","_openBlock","_createBlock","_resolveDynamicComponent"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"page.vue2.js","sources":["../../../../../../packages/components/page/src/page.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { StyleValue } from 'vue'\nimport type { TabsProps } from 'ant-design-vue'\nimport type { PageProps } from './types'\n\nimport { computed, nextTick, onMounted, ref, useSlots, useTemplateRef } from 'vue'\nimport { Tabs, TabPane } from 'ant-design-vue'\nimport { CSS_VARIABLE_LAYOUT_CONTENT_HEIGHT } from '@pro-design-vue/constants'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { omit } from '@pro-design-vue/utils'\nimport { useProConfigInject } from '../../config-provider'\n\ndefineOptions({\n name: 'ProPage',\n})\nconst {\n autoContentHeight = false,\n heightOffset = 0,\n headerClass = '',\n contentClass = '',\n footerClass = '',\n tabList = [],\n contentStyle,\n tabProps,\n contentPadding = 16,\n} = defineProps<PageProps>()\n\nconst slots = useSlots()\nconst prefixCls = usePrefixCls('page')\nconst headerHeight = ref(0)\nconst footerHeight = ref(0)\nconst tabsHeight = ref(0)\nconst shouldAutoHeight = ref(false)\n\nconst { contentOffsetTop } = useProConfigInject()\nconst tabActiveKey = defineModel<TabsProps['activeKey']>('activeKey')\nconst headerRef = useTemplateRef<HTMLDivElement>('header')\nconst footerRef = useTemplateRef<HTMLDivElement>('footer')\nconst tabsRef = useTemplateRef<HTMLDivElement>('tabs')\nconst headerCls = computed(() => ({\n [`${prefixCls}-header`]: true,\n [headerClass]: true,\n}))\n\nconst contentCls = computed(() => ({\n [`${prefixCls}-content`]: true,\n [contentClass]: true,\n}))\n\nconst footerCls = computed(() => ({\n [`${prefixCls}-footer`]: true,\n [footerClass]: true,\n}))\n\nconst offset = computed(() => {\n if (autoContentHeight) {\n return {\n top: -contentPadding,\n bottom: -contentPadding,\n }\n }\n return {\n top: contentOffsetTop?.value || 0,\n bottom: 0,\n }\n})\n\nconst contentStyles = computed<StyleValue>(() => {\n if (autoContentHeight) {\n return {\n height: `calc(var(${CSS_VARIABLE_LAYOUT_CONTENT_HEIGHT}) - ${headerHeight.value}px - ${tabsHeight.value}px - ${typeof heightOffset === 'number' ? `${heightOffset}px` : heightOffset})`,\n overflowY: shouldAutoHeight.value ? 'auto' : 'unset',\n padding: `${contentPadding || 0}px`,\n ...contentStyle,\n }\n }\n return {\n padding: `${contentPadding || 0}px`,\n ...contentStyle,\n }\n})\n\nconst mergeTabsProps = computed(() =>\n omit(tabProps ?? {}, ['activeKey', 'tabPosition', 'onChange']),\n)\n\nasync function calcContentHeight() {\n if (!autoContentHeight) {\n return\n }\n await nextTick()\n headerHeight.value = headerRef.value?.offsetHeight || 0\n footerHeight.value = footerRef.value?.offsetHeight || 0\n tabsHeight.value = tabsRef.value?.offsetHeight || 0\n\n setTimeout(() => {\n shouldAutoHeight.value = true\n }, 30)\n}\n\nconst tabComp = computed(() => {\n if (tabList?.length) {\n const key = tabActiveKey.value ?? tabList[0]!.key!\n return slots[key]\n }\n return null\n})\n\nonMounted(() => {\n calcContentHeight()\n})\n</script>\n\n<template>\n <div :class=\"[prefixCls, tabList?.length ? `is-tabs` : '']\">\n <div\n v-if=\"\n $slots.header || description || $slots.description || title || $slots.title || $slots.extra\n \"\n ref=\"header\"\n :class=\"headerCls\"\n >\n <slot name=\"header\">\n <div :class=\"`${prefixCls}-header-wrap`\">\n <slot name=\"title\">\n <div v-if=\"title\" :class=\"`${prefixCls}-title`\">{{ title }}</div>\n </slot>\n\n <slot name=\"description\">\n <p v-if=\"description\" :class=\"`${prefixCls}-description`\">\n {{ description }}\n </p>\n </slot>\n </div>\n\n <div v-if=\"$slots.extra\">\n <slot name=\"extra\"></slot>\n </div>\n </slot>\n </div>\n <div v-if=\"tabList?.length\" ref=\"tabs\" :class=\"`${prefixCls}-tabs`\">\n <Tabs v-model:activeKey=\"tabActiveKey\" v-bind=\"mergeTabsProps\" tab-position=\"top\">\n <template v-for=\"tab in tabList\" :key=\"tab.key\">\n <TabPane v-bind=\"tab\" />\n </template>\n </Tabs>\n </div>\n\n <div :class=\"contentCls\" :style=\"contentStyles\">\n <slot :active-key=\"tabActiveKey ?? tabList[0]?.key\" :offset=\"offset\"></slot>\n <slot\n name=\"tabs\"\n v-if=\"tabList?.length\"\n :active-key=\"tabActiveKey ?? tabList[0]?.key\"\n :offset=\"offset\"\n >\n <component :is=\"tabComp\" />\n </slot>\n </div>\n\n <div v-if=\"$slots.footer\" ref=\"footer\" :class=\"footerCls\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n</template>\n"],"names":["useSlots","usePrefixCls","ref","useProConfigInject","_useModel","useTemplateRef","computed","CSS_VARIABLE_LAYOUT_CONTENT_HEIGHT","omit","nextTick","onMounted","_createElementBlock","_normalizeClass","_unref","tabList","$slots","description","title","_renderSlot","_createElementVNode","_createVNode","_mergeProps","_Fragment","_renderList","_openBlock","_createBlock","_resolveDynamicComponent"],"mappings":"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"}
|
@@ -6065,6 +6065,44 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
6065
6065
|
RenderSlot: import("vue").FunctionalComponent<any, {}, any, {}>;
|
6066
6066
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
6067
6067
|
ProButton: import("pro-design-vue/es/utils").SFCWithInstall<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
6068
|
+
type: PropType<import("ant-design-vue").ButtonProps["type"]>;
|
6069
|
+
htmlType: {
|
6070
|
+
type: PropType<import("ant-design-vue").ButtonProps["htmlType"]>;
|
6071
|
+
default: string;
|
6072
|
+
};
|
6073
|
+
shape: {
|
6074
|
+
type: PropType<import("ant-design-vue").ButtonProps["shape"]>;
|
6075
|
+
};
|
6076
|
+
size: {
|
6077
|
+
type: PropType<import("ant-design-vue").ButtonProps["size"]>;
|
6078
|
+
};
|
6079
|
+
loading: {
|
6080
|
+
type: PropType<boolean | {
|
6081
|
+
delay?: number;
|
6082
|
+
}>;
|
6083
|
+
default: () => boolean | {
|
6084
|
+
delay?: number;
|
6085
|
+
};
|
6086
|
+
};
|
6087
|
+
disabled: {
|
6088
|
+
type: BooleanConstructor;
|
6089
|
+
default: undefined;
|
6090
|
+
};
|
6091
|
+
ghost: {
|
6092
|
+
type: BooleanConstructor;
|
6093
|
+
default: undefined;
|
6094
|
+
};
|
6095
|
+
block: {
|
6096
|
+
type: BooleanConstructor;
|
6097
|
+
default: undefined;
|
6098
|
+
};
|
6099
|
+
danger: {
|
6100
|
+
type: BooleanConstructor;
|
6101
|
+
default: undefined;
|
6102
|
+
};
|
6103
|
+
href: StringConstructor;
|
6104
|
+
target: StringConstructor;
|
6105
|
+
title: StringConstructor;
|
6068
6106
|
mode: {
|
6069
6107
|
type: PropType<"default" | "popconfirm" | "confirm" | "dropdown">;
|
6070
6108
|
default: string;
|
@@ -6090,10 +6128,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
6090
6128
|
type?: "danger" | "warning";
|
6091
6129
|
}>;
|
6092
6130
|
};
|
6093
|
-
disabled: {
|
6094
|
-
type: BooleanConstructor;
|
6095
|
-
default: boolean;
|
6096
|
-
};
|
6097
6131
|
icon: {
|
6098
6132
|
type: StringConstructor;
|
6099
6133
|
default: string;
|
@@ -6114,6 +6148,44 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
6114
6148
|
onCancel: PropType<(e: MouseEvent) => void>;
|
6115
6149
|
onMenuClick: PropType<import("ant-design-vue").MenuProps["onClick"]>;
|
6116
6150
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("cancel" | "click" | "confirm" | "menu-click")[], "cancel" | "click" | "confirm" | "menu-click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
6151
|
+
type: PropType<import("ant-design-vue").ButtonProps["type"]>;
|
6152
|
+
htmlType: {
|
6153
|
+
type: PropType<import("ant-design-vue").ButtonProps["htmlType"]>;
|
6154
|
+
default: string;
|
6155
|
+
};
|
6156
|
+
shape: {
|
6157
|
+
type: PropType<import("ant-design-vue").ButtonProps["shape"]>;
|
6158
|
+
};
|
6159
|
+
size: {
|
6160
|
+
type: PropType<import("ant-design-vue").ButtonProps["size"]>;
|
6161
|
+
};
|
6162
|
+
loading: {
|
6163
|
+
type: PropType<boolean | {
|
6164
|
+
delay?: number;
|
6165
|
+
}>;
|
6166
|
+
default: () => boolean | {
|
6167
|
+
delay?: number;
|
6168
|
+
};
|
6169
|
+
};
|
6170
|
+
disabled: {
|
6171
|
+
type: BooleanConstructor;
|
6172
|
+
default: undefined;
|
6173
|
+
};
|
6174
|
+
ghost: {
|
6175
|
+
type: BooleanConstructor;
|
6176
|
+
default: undefined;
|
6177
|
+
};
|
6178
|
+
block: {
|
6179
|
+
type: BooleanConstructor;
|
6180
|
+
default: undefined;
|
6181
|
+
};
|
6182
|
+
danger: {
|
6183
|
+
type: BooleanConstructor;
|
6184
|
+
default: undefined;
|
6185
|
+
};
|
6186
|
+
href: StringConstructor;
|
6187
|
+
target: StringConstructor;
|
6188
|
+
title: StringConstructor;
|
6117
6189
|
mode: {
|
6118
6190
|
type: PropType<"default" | "popconfirm" | "confirm" | "dropdown">;
|
6119
6191
|
default: string;
|
@@ -6139,10 +6211,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
6139
6211
|
type?: "danger" | "warning";
|
6140
6212
|
}>;
|
6141
6213
|
};
|
6142
|
-
disabled: {
|
6143
|
-
type: BooleanConstructor;
|
6144
|
-
default: boolean;
|
6145
|
-
};
|
6146
6214
|
icon: {
|
6147
6215
|
type: StringConstructor;
|
6148
6216
|
default: string;
|
@@ -6168,8 +6236,15 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
6168
6236
|
onConfirm?: ((...args: any[]) => any) | undefined;
|
6169
6237
|
"onMenu-click"?: ((...args: any[]) => any) | undefined;
|
6170
6238
|
}>, {
|
6239
|
+
danger: boolean;
|
6171
6240
|
icon: string;
|
6241
|
+
htmlType: import("ant-design-vue/es/button/buttonTypes").ButtonHTMLType | undefined;
|
6242
|
+
loading: boolean | {
|
6243
|
+
delay?: number;
|
6244
|
+
};
|
6172
6245
|
disabled: boolean;
|
6246
|
+
ghost: boolean;
|
6247
|
+
block: boolean;
|
6173
6248
|
mode: "default" | "popconfirm" | "confirm" | "dropdown";
|
6174
6249
|
items: import("ant-design-vue").ItemType[];
|
6175
6250
|
tooltip: string;
|