Update from Vibe Studio

This commit is contained in:
Vibe Studio
2026-01-12 09:12:41 +00:00
parent a4605e311a
commit a6ae5199b0
29756 changed files with 2526222 additions and 278 deletions

View File

@@ -0,0 +1,15 @@
import React from 'react';
import type { WithFalse } from '../../typing';
import type { GlobalHeaderProps } from '../GlobalHeader';
import type { PrivateSiderMenuProps } from '../SiderMenu/SiderMenu';
export type HeaderViewProps = GlobalHeaderProps & {
isMobile?: boolean;
logo?: React.ReactNode;
headerRender?: WithFalse<(props: HeaderViewProps, defaultDom: React.ReactNode) => React.ReactNode>;
headerTitleRender?: WithFalse<(logo: React.ReactNode, title: React.ReactNode, props: HeaderViewProps) => React.ReactNode>;
headerContentRender?: WithFalse<(props: HeaderViewProps, defaultDom: React.ReactNode) => React.ReactNode>;
siderWidth?: number;
hasSiderMenu?: boolean;
};
declare const DefaultHeader: React.FC<HeaderViewProps & PrivateSiderMenuProps>;
export { DefaultHeader };

View File

@@ -0,0 +1,127 @@
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.DefaultHeader = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _proProvider = require("@ant-design/pro-provider");
var _antd = require("antd");
var _classnames = _interopRequireDefault(require("classnames"));
var _react = _interopRequireWildcard(require("react"));
var _utils = require("../../utils/utils");
var _GlobalHeader = require("../GlobalHeader");
var _TopNavHeader = require("../TopNavHeader");
var _header = require("./style/header");
var _stylish = require("./style/stylish");
var _jsxRuntime = require("react/jsx-runtime");
var Header = _antd.Layout.Header;
var DefaultHeader = exports.DefaultHeader = function DefaultHeader(props) {
var _token$layout2, _token$layout3, _token$layout4;
var isMobile = props.isMobile,
fixedHeader = props.fixedHeader,
propsClassName = props.className,
style = props.style,
collapsed = props.collapsed,
prefixCls = props.prefixCls,
onCollapse = props.onCollapse,
layout = props.layout,
headerRender = props.headerRender,
headerContentRender = props.headerContentRender;
var _useContext = (0, _react.useContext)(_proProvider.ProProvider),
token = _useContext.token;
var context = (0, _react.useContext)(_antd.ConfigProvider.ConfigContext);
var _useState = (0, _react.useState)(false),
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
isFixedHeaderScroll = _useState2[0],
setIsFixedHeaderScroll = _useState2[1];
var needFixedHeader = fixedHeader || layout === 'mix';
var renderContent = (0, _react.useCallback)(function () {
var isTop = layout === 'top';
var clearMenuData = (0, _utils.clearMenuItem)(props.menuData || []);
var defaultDom = /*#__PURE__*/(0, _jsxRuntime.jsx)(_GlobalHeader.GlobalHeader, (0, _objectSpread2.default)((0, _objectSpread2.default)({
onCollapse: onCollapse
}, props), {}, {
menuData: clearMenuData,
children: headerContentRender && headerContentRender(props, null)
}));
if (isTop && !isMobile) {
defaultDom = /*#__PURE__*/(0, _jsxRuntime.jsx)(_TopNavHeader.TopNavHeader, (0, _objectSpread2.default)((0, _objectSpread2.default)({
mode: "horizontal",
onCollapse: onCollapse
}, props), {}, {
menuData: clearMenuData
}));
}
if (headerRender && typeof headerRender === 'function') {
return headerRender(props, defaultDom);
}
return defaultDom;
}, [headerContentRender, headerRender, isMobile, layout, onCollapse, props]);
(0, _react.useEffect)(function () {
var _context$getTargetCon;
var dom = (context === null || context === void 0 || (_context$getTargetCon = context.getTargetContainer) === null || _context$getTargetCon === void 0 ? void 0 : _context$getTargetCon.call(context)) || document.body;
var isFixedHeaderFn = function isFixedHeaderFn() {
var _token$layout;
var scrollTop = dom.scrollTop;
if (scrollTop > (((_token$layout = token.layout) === null || _token$layout === void 0 || (_token$layout = _token$layout.header) === null || _token$layout === void 0 ? void 0 : _token$layout.heightLayoutHeader) || 56) && !isFixedHeaderScroll) {
setIsFixedHeaderScroll(true);
return true;
}
if (isFixedHeaderScroll) {
setIsFixedHeaderScroll(false);
}
return false;
};
if (!needFixedHeader) return;
if (typeof window === 'undefined') return;
dom.addEventListener('scroll', isFixedHeaderFn, {
passive: true
});
return function () {
dom.removeEventListener('scroll', isFixedHeaderFn);
};
}, [(_token$layout2 = token.layout) === null || _token$layout2 === void 0 || (_token$layout2 = _token$layout2.header) === null || _token$layout2 === void 0 ? void 0 : _token$layout2.heightLayoutHeader, needFixedHeader, isFixedHeaderScroll]);
var isTop = layout === 'top';
var baseClassName = "".concat(prefixCls, "-layout-header");
var _useStyle = (0, _header.useStyle)(baseClassName),
wrapSSR = _useStyle.wrapSSR,
hashId = _useStyle.hashId;
var stylish = (0, _stylish.useStylish)("".concat(baseClassName, ".").concat(baseClassName, "-stylish"), {
proLayoutCollapsedWidth: 64,
stylish: props.stylish
});
var className = (0, _classnames.default)(propsClassName, hashId, baseClassName, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(baseClassName, "-fixed-header"), needFixedHeader), "".concat(baseClassName, "-fixed-header-scroll"), isFixedHeaderScroll), "".concat(baseClassName, "-mix"), layout === 'mix'), "".concat(baseClassName, "-fixed-header-action"), !collapsed), "".concat(baseClassName, "-top-menu"), isTop), "".concat(baseClassName, "-header"), true), "".concat(baseClassName, "-stylish"), !!props.stylish));
if (layout === 'side' && !isMobile) return null;
return stylish.wrapSSR(wrapSSR( /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_antd.ConfigProvider
// @ts-ignore
, {
theme: {
hashed: (0, _proProvider.isNeedOpenHash)(),
components: {
Layout: {
headerBg: 'transparent',
bodyBg: 'transparent'
}
}
},
children: [needFixedHeader && /*#__PURE__*/(0, _jsxRuntime.jsx)(Header, {
style: (0, _objectSpread2.default)({
height: ((_token$layout3 = token.layout) === null || _token$layout3 === void 0 || (_token$layout3 = _token$layout3.header) === null || _token$layout3 === void 0 ? void 0 : _token$layout3.heightLayoutHeader) || 56,
lineHeight: "".concat(((_token$layout4 = token.layout) === null || _token$layout4 === void 0 || (_token$layout4 = _token$layout4.header) === null || _token$layout4 === void 0 ? void 0 : _token$layout4.heightLayoutHeader) || 56, "px"),
backgroundColor: 'transparent',
zIndex: 19
}, style)
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(Header, {
className: className,
style: style,
children: renderContent()
})]
})
})));
};

View File

@@ -0,0 +1,9 @@
/// <reference types="react" />
import type { ProAliasToken } from '@ant-design/pro-provider';
export interface ProLayoutHeaderToken extends ProAliasToken {
componentCls: string;
}
export declare function useStyle(prefixCls: string): {
wrapSSR: (node: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>) => import("react").JSX.Element;
hashId: string;
};

View File

@@ -0,0 +1,64 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useStyle = useStyle;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _proProvider = require("@ant-design/pro-provider");
var genProLayoutHeaderStyle = function genProLayoutHeaderStyle(token) {
var _token$layout, _token$layout2, _token$layout3, _token$layout4;
return (0, _defineProperty2.default)({}, "".concat(token.proComponentsCls, "-layout"), (0, _defineProperty2.default)({}, "".concat(token.antCls, "-layout-header").concat(token.componentCls), {
height: ((_token$layout = token.layout) === null || _token$layout === void 0 || (_token$layout = _token$layout.header) === null || _token$layout === void 0 ? void 0 : _token$layout.heightLayoutHeader) || 56,
lineHeight: "".concat(((_token$layout2 = token.layout) === null || _token$layout2 === void 0 || (_token$layout2 = _token$layout2.header) === null || _token$layout2 === void 0 ? void 0 : _token$layout2.heightLayoutHeader) || 56, "px"),
// hitu 用了这个属性,不能删除哦 @南取
zIndex: 19,
width: '100%',
paddingBlock: 0,
paddingInline: 0,
borderBlockEnd: "1px solid ".concat(token.colorSplit),
backgroundColor: ((_token$layout3 = token.layout) === null || _token$layout3 === void 0 || (_token$layout3 = _token$layout3.header) === null || _token$layout3 === void 0 ? void 0 : _token$layout3.colorBgHeader) || 'rgba(255, 255, 255, 0.4)',
WebkitBackdropFilter: 'blur(8px)',
backdropFilter: 'blur(8px)',
transition: 'background-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1)',
'&-fixed-header': {
position: 'fixed',
insetBlockStart: 0,
width: '100%',
zIndex: 100,
insetInlineEnd: 0
},
'&-fixed-header-scroll': {
backgroundColor: ((_token$layout4 = token.layout) === null || _token$layout4 === void 0 || (_token$layout4 = _token$layout4.header) === null || _token$layout4 === void 0 ? void 0 : _token$layout4.colorBgScrollHeader) || 'rgba(255, 255, 255, 0.8)'
},
'&-header-actions': {
display: 'flex',
alignItems: 'center',
fontSize: '16',
cursor: 'pointer',
'& &-item': {
paddingBlock: 0,
paddingInline: 8,
'&:hover': {
color: token.colorText
}
}
},
'&-header-realDark': {
boxShadow: '0 2px 8px 0 rgba(0, 0, 0, 65%)'
},
'&-header-actions-header-action': {
transition: 'width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1)'
}
}));
};
function useStyle(prefixCls) {
return (0, _proProvider.useStyle)('ProLayoutHeader', function (token) {
var ProLayoutHeaderToken = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, token), {}, {
componentCls: ".".concat(prefixCls)
});
return [genProLayoutHeaderStyle(ProLayoutHeaderToken)];
});
}

View File

@@ -0,0 +1,13 @@
/// <reference types="react" />
import type { GenerateStyle, ProAliasToken } from '@ant-design/pro-provider';
export interface stylishToken extends ProAliasToken {
componentCls: string;
proLayoutCollapsedWidth: number;
}
export declare function useStylish(prefixCls: string, { stylish, proLayoutCollapsedWidth, }: {
stylish?: GenerateStyle<stylishToken>;
proLayoutCollapsedWidth: number;
}): {
wrapSSR: (node: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>) => import("react").JSX.Element;
hashId: string;
};

View File

@@ -0,0 +1,22 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useStylish = useStylish;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _proProvider = require("@ant-design/pro-provider");
function useStylish(prefixCls, _ref) {
var stylish = _ref.stylish,
proLayoutCollapsedWidth = _ref.proLayoutCollapsedWidth;
return (0, _proProvider.useStyle)('ProLayoutHeaderStylish', function (token) {
var stylishToken = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, token), {}, {
componentCls: ".".concat(prefixCls),
proLayoutCollapsedWidth: proLayoutCollapsedWidth
});
if (!stylish) return [];
return [(0, _defineProperty2.default)({}, "div".concat(token.proComponentsCls, "-layout"), (0, _defineProperty2.default)({}, "".concat(stylishToken.componentCls), stylish === null || stylish === void 0 ? void 0 : stylish(stylishToken)))];
});
}