dumi-theme-antd
Version:
Ant Design 5.0 官网风格类似的 dumi2 主题插件
53 lines • 3.77 kB
JavaScript
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
import { useContext } from 'react';
import { css } from '@emotion/react';
import SiteContext from "dumi/theme/slots/SiteContext";
import useAdditionalThemeConfig from "../../hooks/useAdditionalThemeConfig";
import SwitchBtn from "../Header/SwitchBtn";
import LTRIcon from "../../icons/LTRIcon";
import RTLIcon from "../../icons/RTLIcon";
import { jsx as ___EmotionJSX } from "@emotion/react";
var _ref = process.env.NODE_ENV === "production" ? {
name: "1x3sxtc",
styles: "width:20px"
} : {
name: "v0c71e-dataDirectionIcon",
styles: "width:20px;label:dataDirectionIcon;",
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXMEIiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ29udGV4dCwgdHlwZSBGQyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB0eXBlIHsgU2l0ZUNvbnRleHRQcm9wcyB9IGZyb20gJy4uL1NpdGVDb250ZXh0JztcbmltcG9ydCBTaXRlQ29udGV4dCBmcm9tICcuLi9TaXRlQ29udGV4dCc7XG5pbXBvcnQgdXNlQWRkaXRpb25hbFRoZW1lQ29uZmlnIGZyb20gJy4uLy4uL2hvb2tzL3VzZUFkZGl0aW9uYWxUaGVtZUNvbmZpZyc7XG5pbXBvcnQgU3dpdGNoQnRuIGZyb20gJy4uL0hlYWRlci9Td2l0Y2hCdG4nO1xuaW1wb3J0IExUUkljb24gZnJvbSAnLi4vLi4vaWNvbnMvTFRSSWNvbic7XG5pbXBvcnQgUlRMSWNvbiBmcm9tICcuLi8uLi9pY29ucy9SVExJY29uJztcblxuY29uc3QgdXNlU3R5bGUgPSAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgZGF0YURpcmVjdGlvbkljb246IGNzc2BcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgIGBcbiAgfTtcbn07XG5cbmNvbnN0IFJ0bFN3aXRjaDogRkMgPSAoKSA9PiB7XG4gIGNvbnN0IHsgZGlyZWN0aW9uLCB1cGRhdGVTaXRlQ29uZmlnIH0gPSB1c2VDb250ZXh0PFNpdGVDb250ZXh0UHJvcHM+KFNpdGVDb250ZXh0KTtcbiAgY29uc3QgeyBkYXRhRGlyZWN0aW9uSWNvbiB9ID0gdXNlU3R5bGUoKTtcbiAgY29uc3QgeyBydGwgPSB0cnVlIH0gPSB1c2VBZGRpdGlvbmFsVGhlbWVDb25maWcoKTtcblxuICBpZiAoIXJ0bCkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3Qgb25EaXJlY3Rpb25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgdXBkYXRlU2l0ZUNvbmZpZyh7IGRpcmVjdGlvbjogZGlyZWN0aW9uICE9PSAncnRsJyA/ICdydGwnIDogJ2x0cicgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U3dpdGNoQnRuXG4gICAgICBvbkNsaWNrPXtvbkRpcmVjdGlvbkNoYW5nZX1cbiAgICAgIHZhbHVlPXtkaXJlY3Rpb24gPT09ICdydGwnID8gMiA6IDF9XG4gICAgICBsYWJlbDE9ezxMVFJJY29uIGNzcz17ZGF0YURpcmVjdGlvbkljb259IC8+fVxuICAgICAgdG9vbHRpcDE9XCJMVFJcIlxuICAgICAgbGFiZWwyPXs8UlRMSWNvbiBjc3M9e2RhdGFEaXJlY3Rpb25JY29ufSAvPn1cbiAgICAgIHRvb2x0aXAyPVwiUlRMXCJcbiAgICAgIHB1cmVcbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUnRsU3dpdGNoO1xuIl19 */",
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
};
var useStyle = function useStyle() {
return {
dataDirectionIcon: _ref
};
};
var RtlSwitch = function RtlSwitch() {
var _useContext = useContext(SiteContext),
direction = _useContext.direction,
updateSiteConfig = _useContext.updateSiteConfig;
var _useStyle = useStyle(),
dataDirectionIcon = _useStyle.dataDirectionIcon;
var _useAdditionalThemeCo = useAdditionalThemeConfig(),
_useAdditionalThemeCo2 = _useAdditionalThemeCo.rtl,
rtl = _useAdditionalThemeCo2 === void 0 ? true : _useAdditionalThemeCo2;
if (!rtl) return null;
var onDirectionChange = function onDirectionChange() {
updateSiteConfig({
direction: direction !== 'rtl' ? 'rtl' : 'ltr'
});
};
return ___EmotionJSX(SwitchBtn, {
onClick: onDirectionChange,
value: direction === 'rtl' ? 2 : 1,
label1: ___EmotionJSX(LTRIcon, {
css: dataDirectionIcon
}),
tooltip1: "LTR",
label2: ___EmotionJSX(RTLIcon, {
css: dataDirectionIcon
}),
tooltip2: "RTL",
pure: true
});
};
export default RtlSwitch;