+ {fixedHeader && headerDom.value ? (
+
+ {headerDom.value}
+
+ ) : (
+ headerDom.value
+ )}
+
+ {loading.value ? (
+
+ ) : slots.default ? (
+
+
{slots.default()}
+ {value.hasFooterToolbar && (
+
+ )}
+
+ ) : null}
+
+
+ );
+ };
+ }
+})
+
+export default PageContainer
\ No newline at end of file
diff --git a/src/components/Layout/components/PageContainer/types.d.ts b/src/components/Layout/components/PageContainer/types.d.ts
new file mode 100644
index 00000000..f189788a
--- /dev/null
+++ b/src/components/Layout/components/PageContainer/types.d.ts
@@ -0,0 +1,56 @@
+import type { VNodeChild, CSSProperties, VNode } from 'vue';
+
+export interface Tab {
+ key: string;
+ tab: string | VNode | JSX.Element;
+}
+
+export type TabBarType = 'line' | 'card' | 'editable-card';
+export type TabSize = 'default' | 'large' | 'small';
+export type TabPosition = 'left' | 'right';
+export type TabBarExtraPosition = TabPosition;
+
+export type TabBarExtraMap = Partial