tntd 2.0.2 → 2.0.3
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/es/index.js +1 -0
- package/es/index.js.map +1 -1
- package/es/locale/en_US.js +3 -0
- package/es/locale/en_US.js.map +1 -1
- package/es/locale/zh_CN.js +3 -0
- package/es/locale/zh_CN.js.map +1 -1
- package/es/page/index.js +1 -1
- package/es/page/index.js.map +1 -1
- package/es/prev-locale.js +7 -1
- package/es/prev-locale.js.map +1 -1
- package/es/steps/index.js +2 -2
- package/es/steps/index.js.map +1 -1
- package/es/steps/steps.js +46 -0
- package/es/steps/steps.js.map +1 -0
- package/es/steps/style/nav.less +158 -64
- package/es/tntd-cascader/AntdCascader/component/DisabledContext.js +8 -0
- package/es/tntd-cascader/AntdCascader/component/DisabledContext.js.map +1 -0
- package/es/tntd-cascader/AntdCascader/component/FormItemInputContext.js +3 -0
- package/es/tntd-cascader/AntdCascader/component/FormItemInputContext.js.map +1 -0
- package/es/tntd-cascader/AntdCascader/component/SizeContext.js +3 -0
- package/es/tntd-cascader/AntdCascader/component/SizeContext.js.map +1 -0
- package/es/tntd-cascader/AntdCascader/component/context.js +14 -0
- package/es/tntd-cascader/AntdCascader/component/context.js.map +1 -0
- package/es/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +20 -0
- package/es/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js.map +1 -0
- package/es/tntd-cascader/AntdCascader/component/getIcons.js +52 -0
- package/es/tntd-cascader/AntdCascader/component/getIcons.js.map +1 -0
- package/es/tntd-cascader/AntdCascader/component/useCompactItemContext.js +24 -0
- package/es/tntd-cascader/AntdCascader/component/useCompactItemContext.js.map +1 -0
- package/es/tntd-cascader/AntdCascader/config/utils.js +24 -0
- package/es/tntd-cascader/AntdCascader/config/utils.js.map +1 -0
- package/es/tntd-cascader/AntdCascader/config/warning.js +15 -0
- package/es/tntd-cascader/AntdCascader/config/warning.js.map +1 -0
- package/es/tntd-cascader/AntdCascader/index.css +2327 -0
- package/es/tntd-cascader/AntdCascader/index.js +149 -0
- package/es/tntd-cascader/AntdCascader/index.js.map +1 -0
- package/es/tntd-cascader/AntdCascader/interface.js +5 -0
- package/es/tntd-cascader/AntdCascader/interface.js.map +1 -0
- package/es/tntd-cascader/img/no-data-s.png +0 -0
- package/es/tntd-cascader/index.js +2 -0
- package/es/tntd-cascader/index.js.map +1 -0
- package/es/tntd-cascader/rc-cascader/Cascader.js +270 -0
- package/es/tntd-cascader/rc-cascader/Cascader.js.map +1 -0
- package/es/tntd-cascader/rc-cascader/OptionList/Checkbox.js +14 -0
- package/es/tntd-cascader/rc-cascader/OptionList/Checkbox.js.map +1 -0
- package/es/tntd-cascader/rc-cascader/OptionList/Column.js +126 -0
- package/es/tntd-cascader/rc-cascader/OptionList/Column.js.map +1 -0
- package/es/tntd-cascader/rc-cascader/OptionList/index.js +140 -0
- package/es/tntd-cascader/rc-cascader/OptionList/index.js.map +1 -0
- package/es/tntd-cascader/rc-cascader/OptionList/useActive.js +24 -0
- package/es/tntd-cascader/rc-cascader/OptionList/useActive.js.map +1 -0
- package/es/tntd-cascader/rc-cascader/OptionList/useKeyboard.js +145 -0
- package/es/tntd-cascader/rc-cascader/OptionList/useKeyboard.js.map +1 -0
- package/es/tntd-cascader/rc-cascader/context.js +4 -0
- package/es/tntd-cascader/rc-cascader/context.js.map +1 -0
- package/es/tntd-cascader/rc-cascader/hooks/useDisplayValues.js +41 -0
- package/es/tntd-cascader/rc-cascader/hooks/useDisplayValues.js.map +1 -0
- package/es/tntd-cascader/rc-cascader/hooks/useEntities.js +30 -0
- package/es/tntd-cascader/rc-cascader/hooks/useEntities.js.map +1 -0
- package/es/tntd-cascader/rc-cascader/hooks/useMissingValues.js +19 -0
- package/es/tntd-cascader/rc-cascader/hooks/useMissingValues.js.map +1 -0
- package/es/tntd-cascader/rc-cascader/hooks/useRefFunc.js +15 -0
- package/es/tntd-cascader/rc-cascader/hooks/useRefFunc.js.map +1 -0
- package/es/tntd-cascader/rc-cascader/hooks/useSearchConfig.js +26 -0
- package/es/tntd-cascader/rc-cascader/hooks/useSearchConfig.js.map +1 -0
- package/es/tntd-cascader/rc-cascader/hooks/useSearchOptions.js +46 -0
- package/es/tntd-cascader/rc-cascader/hooks/useSearchOptions.js.map +1 -0
- package/es/tntd-cascader/rc-cascader/index.js +3 -0
- package/es/tntd-cascader/rc-cascader/index.js.map +1 -0
- package/es/tntd-cascader/rc-cascader/index.less +19 -0
- package/es/tntd-cascader/rc-cascader/utils/commonUtil.js +41 -0
- package/es/tntd-cascader/rc-cascader/utils/commonUtil.js.map +1 -0
- package/es/tntd-cascader/rc-cascader/utils/treeUtil.js +37 -0
- package/es/tntd-cascader/rc-cascader/utils/treeUtil.js.map +1 -0
- package/es/tntd-cascader/rc-cascader/utils/warningPropsUtil.js +30 -0
- package/es/tntd-cascader/rc-cascader/utils/warningPropsUtil.js.map +1 -0
- package/es/tntd-layout/Avatar.js +25 -19
- package/es/tntd-layout/Avatar.js.map +1 -1
- package/es/tntd-layout/EnterpriseLayout/Avatar.js +10 -8
- package/es/tntd-layout/EnterpriseLayout/Avatar.js.map +1 -1
- package/es/tntd-layout/EnterpriseLayout/Language.js +5 -4
- package/es/tntd-layout/EnterpriseLayout/Language.js.map +1 -1
- package/es/tntd-layout/EnterpriseLayout/Theme.js +7 -6
- package/es/tntd-layout/EnterpriseLayout/Theme.js.map +1 -1
- package/es/tntd-layout/HeaderActions.js +5 -4
- package/es/tntd-layout/HeaderActions.js.map +1 -1
- package/es/tntd-layout/Layout.js +2 -2
- package/es/tntd-layout/Layout.js.map +1 -1
- package/es/tntd-layout/SideMenu.js.map +1 -1
- package/es/tntd-layout/index.js +2 -2
- package/es/tntd-layout/index.js.map +1 -1
- package/es/tntd-layout/storage.js +10 -2
- package/es/tntd-layout/storage.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -1
- package/lib/index.js.map +1 -1
- package/lib/locale/default.d.ts +3 -0
- package/lib/locale/default.d.ts.map +1 -1
- package/lib/locale/en_US.d.ts +3 -0
- package/lib/locale/en_US.d.ts.map +1 -1
- package/lib/locale/en_US.js +3 -0
- package/lib/locale/en_US.js.map +1 -1
- package/lib/locale/zh_CN.d.ts +3 -0
- package/lib/locale/zh_CN.d.ts.map +1 -1
- package/lib/locale/zh_CN.js +3 -0
- package/lib/locale/zh_CN.js.map +1 -1
- package/lib/page/index.js +1 -1
- package/lib/page/index.js.map +1 -1
- package/lib/prev-locale.d.ts +6 -0
- package/lib/prev-locale.d.ts.map +1 -1
- package/lib/prev-locale.js +7 -1
- package/lib/prev-locale.js.map +1 -1
- package/lib/steps/index.d.ts +2 -2
- package/lib/steps/index.d.ts.map +1 -1
- package/lib/steps/index.js +3 -6
- package/lib/steps/index.js.map +1 -1
- package/lib/steps/steps.d.ts +12 -0
- package/lib/steps/steps.d.ts.map +1 -0
- package/lib/steps/steps.js +67 -0
- package/lib/steps/steps.js.map +1 -0
- package/lib/steps/style/nav.less +158 -64
- package/lib/tntd-cascader/AntdCascader/component/DisabledContext.d.ts +10 -0
- package/lib/tntd-cascader/AntdCascader/component/DisabledContext.d.ts.map +1 -0
- package/lib/tntd-cascader/AntdCascader/component/DisabledContext.js +35 -0
- package/lib/tntd-cascader/AntdCascader/component/DisabledContext.js.map +1 -0
- package/lib/tntd-cascader/AntdCascader/component/FormItemInputContext.d.ts +4 -0
- package/lib/tntd-cascader/AntdCascader/component/FormItemInputContext.d.ts.map +1 -0
- package/lib/tntd-cascader/AntdCascader/component/FormItemInputContext.js +29 -0
- package/lib/tntd-cascader/AntdCascader/component/FormItemInputContext.js.map +1 -0
- package/lib/tntd-cascader/AntdCascader/component/SizeContext.d.ts +4 -0
- package/lib/tntd-cascader/AntdCascader/component/SizeContext.d.ts.map +1 -0
- package/lib/tntd-cascader/AntdCascader/component/SizeContext.js +29 -0
- package/lib/tntd-cascader/AntdCascader/component/SizeContext.js.map +1 -0
- package/lib/tntd-cascader/AntdCascader/component/context.d.ts +42 -0
- package/lib/tntd-cascader/AntdCascader/component/context.d.ts.map +1 -0
- package/lib/tntd-cascader/AntdCascader/component/context.js +20 -0
- package/lib/tntd-cascader/AntdCascader/component/context.js.map +1 -0
- package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.d.ts +5 -0
- package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.d.ts.map +1 -0
- package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +48 -0
- package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js.map +1 -0
- package/lib/tntd-cascader/AntdCascader/component/getIcons.d.ts +25 -0
- package/lib/tntd-cascader/AntdCascader/component/getIcons.d.ts.map +1 -0
- package/lib/tntd-cascader/AntdCascader/component/getIcons.js +78 -0
- package/lib/tntd-cascader/AntdCascader/component/getIcons.js.map +1 -0
- package/lib/tntd-cascader/AntdCascader/component/useCompactItemContext.d.ts +9 -0
- package/lib/tntd-cascader/AntdCascader/component/useCompactItemContext.d.ts.map +1 -0
- package/lib/tntd-cascader/AntdCascader/component/useCompactItemContext.js +54 -0
- package/lib/tntd-cascader/AntdCascader/component/useCompactItemContext.js.map +1 -0
- package/lib/tntd-cascader/AntdCascader/config/utils.d.ts +6 -0
- package/lib/tntd-cascader/AntdCascader/config/utils.d.ts.map +1 -0
- package/lib/tntd-cascader/AntdCascader/config/utils.js +34 -0
- package/lib/tntd-cascader/AntdCascader/config/utils.js.map +1 -0
- package/lib/tntd-cascader/AntdCascader/config/warning.d.ts +4 -0
- package/lib/tntd-cascader/AntdCascader/config/warning.d.ts.map +1 -0
- package/lib/tntd-cascader/AntdCascader/config/warning.js +40 -0
- package/lib/tntd-cascader/AntdCascader/config/warning.js.map +1 -0
- package/lib/tntd-cascader/AntdCascader/index.css +2327 -0
- package/lib/tntd-cascader/AntdCascader/index.d.ts +44 -0
- package/lib/tntd-cascader/AntdCascader/index.d.ts.map +1 -0
- package/lib/tntd-cascader/AntdCascader/index.js +177 -0
- package/lib/tntd-cascader/AntdCascader/index.js.map +1 -0
- package/lib/tntd-cascader/AntdCascader/interface.d.ts +25 -0
- package/lib/tntd-cascader/AntdCascader/interface.d.ts.map +1 -0
- package/lib/tntd-cascader/AntdCascader/interface.js +9 -0
- package/lib/tntd-cascader/AntdCascader/interface.js.map +1 -0
- package/lib/tntd-cascader/img/no-data-s.png +0 -0
- package/lib/tntd-cascader/index.d.ts +2 -0
- package/lib/tntd-cascader/index.d.ts.map +1 -0
- package/lib/tntd-cascader/index.js +9 -0
- package/lib/tntd-cascader/index.js.map +1 -0
- package/lib/tntd-cascader/rc-cascader/Cascader.d.ts +92 -0
- package/lib/tntd-cascader/rc-cascader/Cascader.d.ts.map +1 -0
- package/lib/tntd-cascader/rc-cascader/Cascader.js +298 -0
- package/lib/tntd-cascader/rc-cascader/Cascader.js.map +1 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/Checkbox.d.ts +10 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/Checkbox.d.ts.map +1 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/Checkbox.js +43 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/Checkbox.js.map +1 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/Column.d.ts +26 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/Column.d.ts.map +1 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/Column.js +156 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/Column.js.map +1 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/index.d.ts +5 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/index.d.ts.map +1 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/index.js +168 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/index.js.map +1 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/useActive.d.ts +7 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/useActive.d.ts.map +1 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/useActive.js +52 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/useActive.js.map +1 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/useKeyboard.d.ts +6 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/useKeyboard.d.ts.map +1 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/useKeyboard.js +173 -0
- package/lib/tntd-cascader/rc-cascader/OptionList/useKeyboard.js.map +1 -0
- package/lib/tntd-cascader/rc-cascader/context.d.ts +26 -0
- package/lib/tntd-cascader/rc-cascader/context.d.ts.map +1 -0
- package/lib/tntd-cascader/rc-cascader/context.js +29 -0
- package/lib/tntd-cascader/rc-cascader/context.js.map +1 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useDisplayValues.d.ts +11 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useDisplayValues.d.ts.map +1 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useDisplayValues.js +66 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useDisplayValues.js.map +1 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useEntities.d.ts +11 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useEntities.d.ts.map +1 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useEntities.js +55 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useEntities.js.map +1 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useMissingValues.d.ts +4 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useMissingValues.d.ts.map +1 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useMissingValues.js +44 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useMissingValues.js.map +1 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useRefFunc.d.ts +6 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useRefFunc.d.ts.map +1 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useRefFunc.js +41 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useRefFunc.js.map +1 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useSearchConfig.d.ts +3 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useSearchConfig.d.ts.map +1 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useSearchConfig.js +55 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useSearchConfig.js.map +1 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useSearchOptions.d.ts +5 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useSearchOptions.d.ts.map +1 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useSearchOptions.js +72 -0
- package/lib/tntd-cascader/rc-cascader/hooks/useSearchOptions.js.map +1 -0
- package/lib/tntd-cascader/rc-cascader/index.d.ts +4 -0
- package/lib/tntd-cascader/rc-cascader/index.d.ts.map +1 -0
- package/lib/tntd-cascader/rc-cascader/index.js +8 -0
- package/lib/tntd-cascader/rc-cascader/index.js.map +1 -0
- package/lib/tntd-cascader/rc-cascader/index.less +19 -0
- package/lib/tntd-cascader/rc-cascader/utils/commonUtil.d.ts +11 -0
- package/lib/tntd-cascader/rc-cascader/utils/commonUtil.d.ts.map +1 -0
- package/lib/tntd-cascader/rc-cascader/utils/commonUtil.js +50 -0
- package/lib/tntd-cascader/rc-cascader/utils/commonUtil.js.map +1 -0
- package/lib/tntd-cascader/rc-cascader/utils/treeUtil.d.ts +10 -0
- package/lib/tntd-cascader/rc-cascader/utils/treeUtil.d.ts.map +1 -0
- package/lib/tntd-cascader/rc-cascader/utils/treeUtil.js +42 -0
- package/lib/tntd-cascader/rc-cascader/utils/treeUtil.js.map +1 -0
- package/lib/tntd-cascader/rc-cascader/utils/warningPropsUtil.d.ts +5 -0
- package/lib/tntd-cascader/rc-cascader/utils/warningPropsUtil.d.ts.map +1 -0
- package/lib/tntd-cascader/rc-cascader/utils/warningPropsUtil.js +37 -0
- package/lib/tntd-cascader/rc-cascader/utils/warningPropsUtil.js.map +1 -0
- package/lib/tntd-layout/Avatar.d.ts.map +1 -1
- package/lib/tntd-layout/Avatar.js +25 -19
- package/lib/tntd-layout/Avatar.js.map +1 -1
- package/lib/tntd-layout/EnterpriseLayout/Avatar.d.ts.map +1 -1
- package/lib/tntd-layout/EnterpriseLayout/Avatar.js +10 -8
- package/lib/tntd-layout/EnterpriseLayout/Avatar.js.map +1 -1
- package/lib/tntd-layout/EnterpriseLayout/Language.js +4 -3
- package/lib/tntd-layout/EnterpriseLayout/Language.js.map +1 -1
- package/lib/tntd-layout/EnterpriseLayout/Theme.js +6 -5
- package/lib/tntd-layout/EnterpriseLayout/Theme.js.map +1 -1
- package/lib/tntd-layout/HeaderActions.js +5 -4
- package/lib/tntd-layout/HeaderActions.js.map +1 -1
- package/lib/tntd-layout/Layout.js +2 -2
- package/lib/tntd-layout/Layout.js.map +1 -1
- package/lib/tntd-layout/SideMenu.js.map +1 -1
- package/lib/tntd-layout/index.d.ts.map +1 -1
- package/lib/tntd-layout/index.js +2 -2
- package/lib/tntd-layout/index.js.map +1 -1
- package/lib/tntd-layout/storage.d.ts +3 -2
- package/lib/tntd-layout/storage.d.ts.map +1 -1
- package/lib/tntd-layout/storage.js +15 -3
- package/lib/tntd-layout/storage.js.map +1 -1
- package/package.json +11 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warningPropsUtil.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/utils/warningPropsUtil.ts"],"names":[],"mappings":";;;;;;AAAA,cAAc;AACd,kEAA0C;AAG1C,SAAS,YAAY,CAAC,KAA4B;IAChD,MAAM,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAErF,IAAA,iBAAO,EACL,CAAC,oBAAoB,EACrB,qFAAqF,CACtF,CAAC;IACF,IAAA,iBAAO,EAAC,YAAY,KAAK,SAAS,EAAE,0DAA0D,CAAC,CAAC;IAChG,IAAA,iBAAO,EACL,cAAc,KAAK,SAAS,EAC5B,yEAAyE,CAC1E,CAAC;IACF,IAAA,iBAAO,EACL,cAAc,KAAK,SAAS,EAC5B,iEAAiE,CAClE,CAAC;AACJ,CAAC;AAED,+CAA+C;AAC/C,SAAgB,kBAAkB,CAAC,OAA4B,EAAE,UAAsB;IACrF,IAAI,OAAO,EAAE;QACX,MAAM,gBAAgB,GAAG,CAAC,WAAgC,EAAE,EAAE;YAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAE9B,IAAI,MAAM,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC,KAAK,IAAI,EAAE;oBACtC,IAAA,iBAAO,EAAC,KAAK,EAAE,mDAAmD,CAAC,CAAC;oBACpE,OAAO,IAAI,CAAC;iBACb;gBAED,IACE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAC,CAAC;oBAC3C,gBAAgB,CAAC,MAAM,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAC,CAAC,EAC9C;oBACA,OAAO,IAAI,CAAC;iBACb;aACF;QACH,CAAC,CAAC;QAEF,gBAAgB,CAAC,OAAO,CAAC,CAAC;KAC3B;AACH,CAAC;AAtBD,gDAsBC;AAED,kBAAe,YAAY,CAAC","sourcesContent":["// @ts-nocheck\nimport warning from 'rc-util/lib/warning';\nimport type { DefaultOptionType, FieldNames, InternalCascaderProps } from '../Cascader';\n\nfunction warningProps(props: InternalCascaderProps) {\n const { onPopupVisibleChange, popupVisible, popupClassName, popupPlacement } = props;\n\n warning(\n !onPopupVisibleChange,\n '`onPopupVisibleChange` is deprecated. Please use `onDropdownVisibleChange` instead.',\n );\n warning(popupVisible === undefined, '`popupVisible` is deprecated. Please use `open` instead.');\n warning(\n popupClassName === undefined,\n '`popupClassName` is deprecated. Please use `dropdownClassName` instead.',\n );\n warning(\n popupPlacement === undefined,\n '`popupPlacement` is deprecated. Please use `placement` instead.',\n );\n}\n\n// value in Cascader options should not be null\nexport function warningNullOptions(options: DefaultOptionType[], fieldNames: FieldNames) {\n if (options) {\n const recursiveOptions = (optionsList: DefaultOptionType[]) => {\n for (let i = 0; i < optionsList.length; i++) {\n const option = optionsList[i];\n\n if (option[fieldNames?.value] === null) {\n warning(false, '`value` in Cascader options should not be `null`.');\n return true;\n }\n\n if (\n Array.isArray(option[fieldNames?.children]) &&\n recursiveOptions(option[fieldNames?.children])\n ) {\n return true;\n }\n }\n };\n\n recursiveOptions(options);\n }\n}\n\nexport default warningProps;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/tntd-layout/Avatar.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/tntd-layout/Avatar.js"],"names":[],"mappings":"AAgIe,mDA8Bd"}
|
|
@@ -26,14 +26,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const delete_all_cookies_1 = __importDefault(require("delete-all-cookies"));
|
|
30
29
|
const react_1 = __importStar(require("react"));
|
|
31
30
|
const styled_components_1 = __importStar(require("styled-components"));
|
|
32
31
|
const lodash_1 = require("lodash");
|
|
33
|
-
|
|
32
|
+
require("../button");
|
|
34
33
|
const popover_1 = __importDefault(require("../popover"));
|
|
34
|
+
const row_1 = __importDefault(require("../row"));
|
|
35
|
+
const divider_1 = __importDefault(require("../divider"));
|
|
35
36
|
const ActionsContext_1 = __importDefault(require("./ActionsContext"));
|
|
36
37
|
const images_1 = __importDefault(require("./images"));
|
|
38
|
+
const storage_1 = require("./storage");
|
|
37
39
|
const Avatar = styled_components_1.default.li `
|
|
38
40
|
margin-right: 0;
|
|
39
41
|
font-size: 0;
|
|
@@ -87,14 +89,17 @@ const UserInfoWrapper = styled_components_1.default.div `
|
|
|
87
89
|
}
|
|
88
90
|
}
|
|
89
91
|
.user-info-footer {
|
|
90
|
-
border-top: 1px solid
|
|
91
|
-
background-color: #
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
92
|
+
border-top: ${(props) => `1px solid ${props.theme.dividerColor}`};
|
|
93
|
+
background-color: #fff;
|
|
94
|
+
height: 36px;
|
|
95
|
+
line-height: 36px;
|
|
96
|
+
padding: 0 15px;
|
|
97
|
+
font-size: 12px;
|
|
98
|
+
color: ${(props) => `${props.theme.primaryColor}`};
|
|
99
|
+
a {
|
|
100
|
+
flex: 1;
|
|
101
|
+
text-align: center;
|
|
102
|
+
color: ${(props) => `${props.theme.primaryColor}`};
|
|
98
103
|
}
|
|
99
104
|
}
|
|
100
105
|
`;
|
|
@@ -103,22 +108,23 @@ const UserInfoContent = (props) => {
|
|
|
103
108
|
const { getText } = (0, react_1.useContext)(ActionsContext_1.default);
|
|
104
109
|
return (react_1.default.createElement(UserInfoWrapper, { className: "user-info-setting-wrap" },
|
|
105
110
|
react_1.default.createElement("div", { className: "user-info-body" },
|
|
106
|
-
react_1.default.createElement("p", { className: "user-info-body-username" }, userInfo.userName || '
|
|
107
|
-
react_1.default.createElement("p", { className: "user-info-body-account" }, userInfo.account),
|
|
111
|
+
react_1.default.createElement("p", { className: "user-info-body-username" }, userInfo.userName || getText('nameNull')),
|
|
112
|
+
react_1.default.createElement("p", { className: "user-info-body-account" }, userInfo.account)),
|
|
113
|
+
react_1.default.createElement(row_1.default, { className: "user-info-footer", type: "flex", justify: "space-between", align: "middle" },
|
|
108
114
|
react_1.default.createElement("a", { onClick: onPersonalSetting, href: "/bridge/userCenter?currentTab=1" }, getText('personalSettings')),
|
|
109
|
-
react_1.default.createElement(
|
|
110
|
-
|
|
111
|
-
react_1.default.createElement(
|
|
115
|
+
react_1.default.createElement(divider_1.default, { type: "vertical" }),
|
|
116
|
+
react_1.default.createElement("a", { onClick: onChangePassword, href: "/bridge/userCenter?currentTab=2", style: (0, storage_1.getLanguageStore)() === 'en' ? { flex: 2 } : {} }, getText('changePwd')),
|
|
117
|
+
react_1.default.createElement(divider_1.default, { type: "vertical" }),
|
|
118
|
+
react_1.default.createElement("a", { className: "user-info-footer-signout", onClick: () => {
|
|
112
119
|
if (onLogout) {
|
|
113
120
|
onLogout();
|
|
114
|
-
(0,
|
|
121
|
+
(0, storage_1.clearLoginCookie)();
|
|
115
122
|
}
|
|
116
123
|
else {
|
|
117
|
-
(0,
|
|
124
|
+
(0, storage_1.clearLoginCookie)();
|
|
118
125
|
window.location.href = `/user/login?callbackUrl=${window.encodeURI(location.href)}`;
|
|
119
126
|
}
|
|
120
|
-
} },
|
|
121
|
-
react_1.default.createElement("a", null, getText('signOut'))))));
|
|
127
|
+
} }, getText('signOut')))));
|
|
122
128
|
};
|
|
123
129
|
exports.default = (props) => {
|
|
124
130
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../src/tntd-layout/Avatar.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../src/tntd-layout/Avatar.js"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext } from 'react'\nimport styled, { createGlobalStyle } from 'styled-components'\nimport { get } from 'lodash'\nimport Button from '../button'\nimport Popover from '../popover'\nimport Row from '../row'\nimport Divider from '../divider'\nimport ActionsContext from './ActionsContext'\nimport images from './images'\nimport { getLanguageStore, clearLoginCookie } from './storage'\n\nconst Avatar = styled.li`\n margin-right: 0;\n font-size: 0;\n img {\n width: 26px;\n height: 26px;\n border-radius: 50%;\n cursor: pointer;\n .large-size & {\n width: 32px;\n height: 32px;\n }\n }\n`\n\nconst GlobalStyle = createGlobalStyle`\n .tnt-layout-personal-popover {\n .ant-popover-inner-content {\n padding: 0;\n }\n }\n`\n\nconst UserInfoWrapper = styled.div`\n min-width: 235px;\n z-index: 1;\n background-color: #fff;\n border-radius: 4px;\n\n .isInIframe & {\n display: none;\n }\n\n .user-info-body {\n padding: 30px 20px 20px 24px;\n line-height: 16px;\n .user-info-body-username {\n margin-top: 0px;\n font-size: 16px;\n color: #333;\n font-weight: normal;\n margin-bottom: 10px;\n line-height: 16px;\n }\n .user-info-body-account {\n margin-top: 0px;\n color: #666;\n margin-bottom: 14px;\n line-height: 16px;\n }\n a {\n margin-right: 16px;\n }\n }\n .user-info-footer {\n border-top: ${(props) => `1px solid ${props.theme.dividerColor}`};\n background-color: #fff;\n height: 36px;\n line-height: 36px;\n padding: 0 15px;\n font-size: 12px;\n color: ${(props) => `${props.theme.primaryColor}`};\n a {\n flex: 1;\n text-align: center;\n color: ${(props) => `${props.theme.primaryColor}`};\n }\n }\n`\n\nconst UserInfoContent = (props) => {\n const {\n userInfo,\n onLogout,\n onChangePassword = () => true,\n onPersonalSetting = () => true,\n } = props\n const { getText } = useContext(ActionsContext)\n\n return (\n <UserInfoWrapper className=\"user-info-setting-wrap\">\n <div className=\"user-info-body\">\n <p className=\"user-info-body-username\">{userInfo.userName || getText('nameNull')}</p>\n <p className=\"user-info-body-account\">{userInfo.account}</p>\n </div>\n <Row className=\"user-info-footer\" type=\"flex\" justify=\"space-between\" align=\"middle\">\n <a onClick={onPersonalSetting} href=\"/bridge/userCenter?currentTab=1\">\n {getText('personalSettings')}\n </a>\n <Divider type=\"vertical\" />\n <a\n onClick={onChangePassword}\n href=\"/bridge/userCenter?currentTab=2\"\n style={getLanguageStore() === 'en' ? { flex: 2 } : {}}\n >\n {getText('changePwd')}\n </a>\n <Divider type=\"vertical\" />\n <a\n className=\"user-info-footer-signout\"\n onClick={() => {\n if (onLogout) {\n onLogout()\n clearLoginCookie()\n } else {\n clearLoginCookie()\n window.location.href = `/user/login?callbackUrl=${window.encodeURI(location.href)}`\n }\n }}\n >\n {getText('signOut')}\n </a>\n </Row>\n </UserInfoWrapper>\n )\n}\n\nexport default (props) => {\n const { userInfo = {} } = props\n const { avatar } = userInfo\n\n return (\n <Avatar>\n <Popover\n popupClassName=\"tnt-layout-personal-popover\"\n placement=\"bottomRight\"\n title={null}\n content={<UserInfoContent {...props} />}\n trigger=\"click\"\n >\n {avatar ? (\n <img\n src={\n avatar.indexOf('base64') > 0 ? avatar : get(images[avatar], 'default', images[avatar])\n }\n onError={(e) => {\n e.target.onerror = null\n e.target.src = images.empty?.default || images.empty\n }}\n />\n ) : (\n <img src={images.empty?.default || images.empty} />\n )}\n </Popover>\n <GlobalStyle />\n </Avatar>\n )\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../src/tntd-layout/EnterpriseLayout/Avatar.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../src/tntd-layout/EnterpriseLayout/Avatar.js"],"names":[],"mappings":"AA6Ie,mDA8Bd"}
|
|
@@ -26,13 +26,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const delete_all_cookies_1 = __importDefault(require("delete-all-cookies"));
|
|
30
29
|
const lodash_1 = require("lodash");
|
|
31
|
-
const react_1 =
|
|
30
|
+
const react_1 = __importStar(require("react"));
|
|
32
31
|
const styled_components_1 = __importStar(require("styled-components"));
|
|
33
32
|
const images_1 = __importDefault(require("../images"));
|
|
33
|
+
const ActionsContext_1 = __importDefault(require("../ActionsContext"));
|
|
34
34
|
const Language_1 = __importDefault(require("./Language"));
|
|
35
35
|
const Theme_1 = __importDefault(require("./Theme"));
|
|
36
|
+
const storage_1 = require("../storage");
|
|
36
37
|
const divider_1 = __importDefault(require("../../divider"));
|
|
37
38
|
const popover_1 = __importDefault(require("../../popover"));
|
|
38
39
|
const row_1 = __importDefault(require("../../row"));
|
|
@@ -110,29 +111,30 @@ const UserInfoWrapper = styled_components_1.default.div `
|
|
|
110
111
|
`;
|
|
111
112
|
const UserInfoContent = (props) => {
|
|
112
113
|
const { userInfo, config = {}, onLogout, onChangePassword = () => true, onPersonalSetting = () => true, onLanguageChange, onThemeChange, } = props;
|
|
114
|
+
const { getText } = (0, react_1.useContext)(ActionsContext_1.default);
|
|
113
115
|
const { language = true } = config || {};
|
|
114
116
|
return (react_1.default.createElement(UserInfoWrapper, { className: "user-info-setting-wrap" },
|
|
115
117
|
react_1.default.createElement("ul", { className: "user-info-body" },
|
|
116
118
|
react_1.default.createElement("li", { className: "user-info-body-username" },
|
|
117
|
-
userInfo.userName || '
|
|
119
|
+
userInfo.userName || getText('nameNull'),
|
|
118
120
|
react_1.default.createElement("span", { className: "user-info-body-account" }, userInfo.account)),
|
|
119
121
|
language && react_1.default.createElement(Language_1.default, { language: userInfo.lang, onChange: onLanguageChange }),
|
|
120
122
|
react_1.default.createElement(Theme_1.default, { theme: userInfo.theme, onChange: onThemeChange })),
|
|
121
123
|
react_1.default.createElement(row_1.default, { className: "user-info-footer", type: "flex", justify: "space-between", align: "middle" },
|
|
122
|
-
react_1.default.createElement("a", { onClick: onPersonalSetting, href: "/bridge/userCenter?currentTab=1" },
|
|
124
|
+
react_1.default.createElement("a", { onClick: onPersonalSetting, href: "/bridge/userCenter?currentTab=1" }, getText('personalSettings')),
|
|
123
125
|
react_1.default.createElement(divider_1.default, { type: "vertical" }),
|
|
124
|
-
react_1.default.createElement("a", { onClick: onChangePassword, href: "/bridge/userCenter?currentTab=2" },
|
|
126
|
+
react_1.default.createElement("a", { onClick: onChangePassword, href: "/bridge/userCenter?currentTab=2", style: (0, storage_1.getLanguageStore)() === 'en' ? { flex: 2 } : {} }, getText('changePwd')),
|
|
125
127
|
react_1.default.createElement(divider_1.default, { type: "vertical" }),
|
|
126
128
|
react_1.default.createElement("a", { className: "user-info-footer-signout", onClick: () => {
|
|
127
129
|
if (onLogout) {
|
|
128
130
|
onLogout();
|
|
129
|
-
(0,
|
|
131
|
+
(0, storage_1.clearLoginCookie)();
|
|
130
132
|
}
|
|
131
133
|
else {
|
|
132
|
-
(0,
|
|
134
|
+
(0, storage_1.clearLoginCookie)();
|
|
133
135
|
window.location.href = `/user/login?callbackUrl=${window.encodeURI(location.href)}`;
|
|
134
136
|
}
|
|
135
|
-
} },
|
|
137
|
+
} }, getText('signOut')))));
|
|
136
138
|
};
|
|
137
139
|
exports.default = (props) => {
|
|
138
140
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../src/tntd-layout/EnterpriseLayout/Avatar.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../src/tntd-layout/EnterpriseLayout/Avatar.js"],"names":[],"mappings":"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","sourcesContent":["import { get } from 'lodash'\nimport React, { useContext } from 'react'\nimport styled, { createGlobalStyle } from 'styled-components'\nimport images from '../images'\nimport ActionsContext from '../ActionsContext'\nimport Language from './Language'\nimport Theme from './Theme'\nimport { getLanguageStore, clearLoginCookie } from '../storage'\nimport Divider from '../../divider'\nimport Popover from '../../popover'\nimport Row from '../../row'\n\nconst Avatar = styled.li`\n margin-right: 0;\n font-size: 0;\n img {\n width: 26px;\n height: 26px;\n border-radius: 50%;\n cursor: pointer;\n .large-size & {\n width: 32px;\n height: 32px;\n }\n }\n`\n\nconst GlobalStyle = createGlobalStyle`\n .tnt-layout-personal-popover {\n .ant-popover-inner-content {\n padding: 0;\n }\n }\n`\n\nconst UserInfoWrapper = styled.div`\n width: 330px;\n z-index: 1;\n background-color: #fff;\n border-radius: 4px;\n box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);\n .isInIframe & {\n display: none;\n }\n\n .user-info-body {\n padding: 20px 15px;\n line-height: 16px;\n list-style: none;\n margin: 0;\n .user-info-body-username {\n margin-top: 0px;\n font-family: PingFangSC-Regular;\n font-weight: normal;\n font-size: 14px;\n color: ${(props) => `${props.theme.primaryTextColor}`};\n line-height: 14px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .user-info-body-account {\n margin-top: 0px;\n font-family: PingFangSC-Regular;\n font-size: 12px;\n color: #8b919e;\n margin-bottom: 14px;\n line-height: 14px;\n margin-left: 10px;\n }\n }\n .user-info-footer {\n border-top: ${(props) => `1px solid ${props.theme.dividerColor}`};\n background-color: #fff;\n height: 36px;\n line-height: 36px;\n padding: 0 15px;\n font-size: 12px;\n color: ${(props) => `${props.theme.primaryColor}`};\n a {\n flex: 1;\n text-align: center;\n color: ${(props) => `${props.theme.primaryColor}`};\n }\n }\n`\n\nconst UserInfoContent = (props) => {\n const {\n userInfo,\n config = {},\n onLogout,\n onChangePassword = () => true,\n onPersonalSetting = () => true,\n onLanguageChange,\n onThemeChange,\n } = props\n const { getText } = useContext(ActionsContext)\n const { language = true } = config || {}\n return (\n <UserInfoWrapper className=\"user-info-setting-wrap\">\n <ul className=\"user-info-body\">\n <li className=\"user-info-body-username\">\n {userInfo.userName || getText('nameNull')}\n <span className=\"user-info-body-account\">{userInfo.account}</span>\n </li>\n {language && <Language language={userInfo.lang} onChange={onLanguageChange} />}\n <Theme theme={userInfo.theme} onChange={onThemeChange} />\n </ul>\n <Row className=\"user-info-footer\" type=\"flex\" justify=\"space-between\" align=\"middle\">\n <a onClick={onPersonalSetting} href=\"/bridge/userCenter?currentTab=1\">\n {getText('personalSettings')}\n </a>\n <Divider type=\"vertical\" />\n <a\n onClick={onChangePassword}\n href=\"/bridge/userCenter?currentTab=2\"\n style={getLanguageStore() === 'en' ? { flex: 2 } : {}}\n >\n {getText('changePwd')}\n </a>\n <Divider type=\"vertical\" />\n <a\n className=\"user-info-footer-signout\"\n onClick={() => {\n if (onLogout) {\n onLogout()\n clearLoginCookie()\n } else {\n clearLoginCookie()\n window.location.href = `/user/login?callbackUrl=${window.encodeURI(location.href)}`\n }\n }}\n >\n {getText('signOut')}\n </a>\n </Row>\n </UserInfoWrapper>\n )\n}\n\nexport default (props) => {\n const { userInfo = {} } = props\n const { avatar } = userInfo\n\n return (\n <Avatar>\n <Popover\n popupClassName=\"tnt-layout-personal-popover\"\n placement=\"bottomRight\"\n title={null}\n content={<UserInfoContent {...props} />}\n trigger=\"click\"\n >\n {avatar ? (\n <img\n src={\n avatar.indexOf('base64') > 0 ? avatar : get(images[avatar], 'default', images[avatar])\n }\n onError={(e) => {\n e.target.onerror = null\n e.target.src = images.empty?.default || images.empty\n }}\n />\n ) : (\n <img src={images.empty?.default || images.empty} />\n )}\n </Popover>\n <GlobalStyle />\n </Avatar>\n )\n}\n"]}
|
|
@@ -81,13 +81,14 @@ exports.default = (0, styled_components_1.withTheme)((props) => {
|
|
|
81
81
|
};
|
|
82
82
|
const [language = 'cn', setLanguage] = (0, react_1.useState)(getLanguage());
|
|
83
83
|
const switchLanguage = () => {
|
|
84
|
-
const lang = language
|
|
84
|
+
const lang = language !== 'en' ? 'en' : 'cn';
|
|
85
85
|
setLanguage(lang);
|
|
86
86
|
(0, storage_1.setLanguageStore)(lang);
|
|
87
87
|
onChange && onChange(lang);
|
|
88
88
|
};
|
|
89
|
+
const otherLanguage = (0, react_1.useMemo)(() => language === 'cn' ? 'en' : 'cn', [language]);
|
|
89
90
|
return (react_1.default.createElement(Language, { onClick: switchLanguage },
|
|
90
|
-
react_1.default.createElement(Iconfont_1.default, { type: `flag-${
|
|
91
|
-
react_1.default.createElement("span", null, (0, lodash_1.get)(languagesMap[
|
|
91
|
+
react_1.default.createElement(Iconfont_1.default, { type: `flag-${otherLanguage}` }),
|
|
92
|
+
react_1.default.createElement("span", null, (0, lodash_1.get)(languagesMap[otherLanguage], 'name'))));
|
|
92
93
|
});
|
|
93
94
|
//# sourceMappingURL=Language.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Language.js","sourceRoot":"","sources":["../../../src/tntd-layout/EnterpriseLayout/Language.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"Language.js","sourceRoot":"","sources":["../../../src/tntd-layout/EnterpriseLayout/Language.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgD;AAChD,uEAAqD;AACrD,mCAA4B;AAC5B,2DAAkC;AAClC,wCAA+D;AAE/D,MAAM,SAAS,GAAG;IAChB,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;IAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;CAC7B,CAAA;AACD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACjD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA;IACpB,OAAO,GAAG,CAAA;AACZ,CAAC,EAAE,EAAE,CAAC,CAAA;AAEN,MAAM,QAAQ,GAAG,2BAAM,CAAC,EAAE,CAAA;;;;;;;;;;;eAWX,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;;;;;iBAK3D,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;;;;;;iBAM7D,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;WACnE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;;;;;;;CAOvE,CAAA;AAED,kBAAe,IAAA,6BAAS,EAAC,CAAC,KAAK,EAAE,EAAE;IACjC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IAC1B,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,IAAI,GAAG,IAAA,0BAAgB,GAAE,IAAI,KAAK,CAAC,QAAQ,CAAA;QAE/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;YACvB,IAAI,GAAG,IAAA,YAAG,EAAC,SAAS,EAAE,SAAS,CAAC,CAAA;SACjC;QAED,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IACD,MAAM,CAAC,QAAQ,GAAG,IAAI,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,WAAW,EAAE,CAAC,CAAA;IAC9D,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,MAAM,IAAI,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;QAE5C,WAAW,CAAC,IAAI,CAAC,CAAA;QACjB,IAAA,0BAAgB,EAAC,IAAI,CAAC,CAAA;QACtB,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC,CAAA;IAEH,MAAM,aAAa,GAAG,IAAA,eAAO,EAAC,GAAE,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7E,OAAO,CACL,8BAAC,QAAQ,IAAC,OAAO,EAAE,cAAc;QAC/B,8BAAC,kBAAQ,IAAC,IAAI,EAAE,QAAQ,aAAa,EAAE,GAAI;QAC3C,4CAAO,IAAA,YAAG,EAAC,YAAY,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,CAAQ,CAC9C,CACZ,CAAA;AACH,CAAC,CAAC,CAAA","sourcesContent":["import React, { useState, useMemo } from 'react'\nimport styled, { withTheme } from 'styled-components'\nimport { get } from 'lodash'\nimport Iconfont from '../Iconfont'\nimport { setLanguageStore, getLanguageStore } from '../storage'\n\nconst languages = [\n { value: 'cn', name: '中文' },\n { value: 'en', name: 'EN ' },\n]\nconst languagesMap = languages.reduce((acc, cur) => {\n acc[cur.value] = cur\n return acc\n}, {})\n\nconst Language = styled.li`\n display: inline-block;\n padding: 0 10px;\n height: 32px;\n line-height: 32px;\n text-align: center;\n background: #ffffff;\n border: 1px solid #e1e6ee;\n border-radius: 2px;\n font-family: PingFangSC-Regular;\n color: #17233d;\n font-size: ${({ theme: { size } }) => (size === 'large' ? '14px' : '12px')};\n cursor: pointer;\n margin-top: 8px;\n\n .tnt-icon {\n font-size: ${({ theme: { size } }) => (size === 'large' ? '24px' : '20px')};\n margin-right: 4px;\n }\n\n span {\n position: relative;\n font-size: ${({ theme: { size } }) => (size === 'large' ? '14px' : '12px')};\n top: ${({ theme: { size } }) => (size === 'large' ? '-3px' : '-2px')};\n font-family: auto;\n }\n\n .isInIframe & {\n display: none;\n }\n`\n\nexport default withTheme((props) => {\n const { onChange } = props\n const getLanguage = () => {\n let lang = getLanguageStore() || props.language\n\n if (!languagesMap[lang]) {\n lang = get(languages, '0.value')\n }\n\n return lang\n }\n const [language = 'cn', setLanguage] = useState(getLanguage())\n const switchLanguage = () => {\n const lang = language !== 'en' ? 'en' : 'cn'\n\n setLanguage(lang)\n setLanguageStore(lang)\n onChange && onChange(lang)\n }\n\nconst otherLanguage = useMemo(()=> language === 'cn' ? 'en' : 'cn',[language]);\n\n return (\n <Language onClick={switchLanguage}>\n <Iconfont type={`flag-${otherLanguage}`} />\n <span>{get(languagesMap[otherLanguage], 'name')}</span>\n </Language>\n )\n})\n"]}
|
|
@@ -30,6 +30,7 @@ const react_1 = __importStar(require("react"));
|
|
|
30
30
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
31
31
|
const storage_1 = require("../storage");
|
|
32
32
|
const row_1 = __importDefault(require("../../row"));
|
|
33
|
+
require("../../tntd-icon");
|
|
33
34
|
const Theme = styled_components_1.default.li `
|
|
34
35
|
margin-top: 20px;
|
|
35
36
|
.user-info-body-theme-row {
|
|
@@ -81,9 +82,9 @@ const Theme = styled_components_1.default.li `
|
|
|
81
82
|
}
|
|
82
83
|
`;
|
|
83
84
|
const themes = [
|
|
84
|
-
{ value: 'themeS3', label: '科技蓝' },
|
|
85
|
-
{ value: 'themeS2', label: '暗夜黑' },
|
|
86
|
-
{ value: 'themeS1', label: '极致白' },
|
|
85
|
+
{ value: 'themeS3', label: '科技蓝', enLabel: 'Blue' },
|
|
86
|
+
{ value: 'themeS2', label: '暗夜黑', enLabel: 'Black' },
|
|
87
|
+
{ value: 'themeS1', label: '极致白', enLabel: 'White' },
|
|
87
88
|
];
|
|
88
89
|
exports.default = (props) => {
|
|
89
90
|
const { onChange } = props;
|
|
@@ -98,8 +99,8 @@ exports.default = (props) => {
|
|
|
98
99
|
onChange(theme);
|
|
99
100
|
};
|
|
100
101
|
return (react_1.default.createElement(Theme, null,
|
|
101
|
-
react_1.default.createElement(row_1.default, { type: "flex", justify: "space-between", className: "user-info-body-theme-row" }, themes.map(({ value, label }) => (react_1.default.createElement("div", { className: value, onClick: changeTheme.bind(this, value) },
|
|
102
|
-
label,
|
|
102
|
+
react_1.default.createElement(row_1.default, { type: "flex", justify: "space-between", className: "user-info-body-theme-row" }, themes.map(({ value, label, enLabel }) => (react_1.default.createElement("div", { className: value, onClick: changeTheme.bind(this, value) },
|
|
103
|
+
(0, storage_1.getLanguageStore)() === 'en' ? enLabel : label,
|
|
103
104
|
theme === value && react_1.default.createElement("span", { className: "icon-checked-wrap" })))))));
|
|
104
105
|
};
|
|
105
106
|
//# sourceMappingURL=Theme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Theme.js","sourceRoot":"","sources":["../../../src/tntd-layout/EnterpriseLayout/Theme.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAuC;AACvC,0EAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"Theme.js","sourceRoot":"","sources":["../../../src/tntd-layout/EnterpriseLayout/Theme.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAuC;AACvC,0EAAsC;AACtC,wCAA2E;AAC3E,oDAA2B;AAC3B,2BAAsC;AAEtC,MAAM,KAAK,GAAG,2BAAM,CAAC,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDtB,CAAA;AAED,MAAM,MAAM,GAAG;IACb,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE;IACnD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;IACpD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;CACrD,CAAA;AAED,kBAAe,CAAC,KAAK,EAAE,EAAE;IACvB,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IAE1B,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,IAAI,KAAK,GAAG,IAAA,uBAAa,GAAE,IAAI,KAAK,CAAC,KAAK,IAAI,SAAS,CAAA;QACvD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IACxE,CAAC,CAAA;IAED,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,QAAQ,EAAE,CAAC,CAAA;IAC9C,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,EAAE;QAC5B,QAAQ,CAAC,KAAK,CAAC,CAAA;QACf,IAAA,uBAAa,EAAC,KAAK,CAAC,CAAA;QACpB,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjB,CAAC,CAAA;IAED,OAAO,CACL,8BAAC,KAAK;QACJ,8BAAC,aAAG,IAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,eAAe,EAAC,SAAS,EAAC,0BAA0B,IAC1E,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACzC,uCAAK,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;YAC1D,IAAA,0BAAgB,GAAE,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;YAC7C,KAAK,KAAK,KAAK,IAAI,wCAAM,SAAS,EAAC,mBAAmB,GAAQ,CAC3D,CACP,CAAC,CACE,CACA,CACT,CAAA;AACH,CAAC,CAAA","sourcesContent":["import React, { useState } from 'react'\nimport styled from 'styled-components'\nimport { getThemeStore, setThemeStore, getLanguageStore } from '../storage'\nimport Row from '../../row'\nimport Iconfont from '../../tntd-icon'\n\nconst Theme = styled.li`\n margin-top: 20px;\n .user-info-body-theme-row {\n > div {\n width: 90px;\n height: 36px;\n line-height: 36px;\n font-family: PingFangSC-Regular;\n font-size: 12px;\n border-radius: 2px;\n text-align: center;\n cursor: pointer;\n position: relative;\n &.themeS3 {\n background-image: linear-gradient(180deg, #213f83 0%, #0f75d6 100%);\n color: #ffffff;\n }\n &.themeS2 {\n background: #17233d;\n color: #ffffff;\n }\n &.themeS1 {\n background: #ffffff;\n box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1);\n color: #17233d;\n }\n .icon-checked-wrap {\n width: 14px;\n height: 14px;\n border-radius: 100%;\n background: #126bfb;\n position: absolute;\n top: -5px;\n right: -5px;\n &:after {\n content: '';\n width: 4px;\n height: 6px;\n border-color: #ffffff;\n border-width: 0 1px 1px 0;\n border-style: solid;\n transform: rotate(45deg);\n position: absolute;\n top: 3px;\n left: 5px;\n }\n }\n }\n }\n`\n\nconst themes = [\n { value: 'themeS3', label: '科技蓝', enLabel: 'Blue' },\n { value: 'themeS2', label: '暗夜黑', enLabel: 'Black' },\n { value: 'themeS1', label: '极致白', enLabel: 'White' },\n]\n\nexport default (props) => {\n const { onChange } = props\n\n const getTheme = () => {\n let theme = getThemeStore() || props.theme || 'themeS3'\n return themes.some(({ value }) => value === theme) ? theme : 'themeS3'\n }\n\n const [theme, setTheme] = useState(getTheme())\n const changeTheme = (theme) => {\n setTheme(theme)\n setThemeStore(theme)\n onChange(theme)\n }\n\n return (\n <Theme>\n <Row type=\"flex\" justify=\"space-between\" className=\"user-info-body-theme-row\">\n {themes.map(({ value, label, enLabel }) => (\n <div className={value} onClick={changeTheme.bind(this, value)}>\n {getLanguageStore() === 'en' ? enLabel : label}\n {theme === value && <span className=\"icon-checked-wrap\"></span>}\n </div>\n ))}\n </Row>\n </Theme>\n )\n}\n"]}
|
|
@@ -91,13 +91,14 @@ const Actions = styled_components_1.default.ul `
|
|
|
91
91
|
}
|
|
92
92
|
`;
|
|
93
93
|
exports.default = (0, styled_components_1.withTheme)((props) => {
|
|
94
|
-
const { config: { theme = true, avatar = true, language = true, application = false, globalNavigation = false, } = {}, theme: { compatible }, userInfo = {}, menus, apps, extraActions, headerRef, onLanguageChange, onThemeChange, onApplicationChange, onAppChange, onCollapseChange, onPersonalSetting, onChangePassword, onLogout, onLogoClick, AvatarCustom } = props, rest = __rest(props, ["config", "theme", "userInfo", "menus", "apps", "extraActions", "headerRef", "onLanguageChange", "onThemeChange", "onApplicationChange", "onAppChange", "onCollapseChange", "onPersonalSetting", "onChangePassword", "onLogout", "onLogoClick", "AvatarCustom"]);
|
|
94
|
+
const { type, config: { theme = true, avatar = true, language = true, application = false, globalNavigation = false, } = {}, theme: { compatible }, userInfo = {}, menus, apps, extraActions, headerRef, onLanguageChange, onThemeChange, onApplicationChange, onAppChange, onCollapseChange, onPersonalSetting, onChangePassword, onLogout, onLogoClick, AvatarCustom } = props, rest = __rest(props, ["type", "config", "theme", "userInfo", "menus", "apps", "extraActions", "headerRef", "onLanguageChange", "onThemeChange", "onApplicationChange", "onAppChange", "onCollapseChange", "onPersonalSetting", "onChangePassword", "onLogout", "onLogoClick", "AvatarCustom"]);
|
|
95
95
|
return (react_1.default.createElement(Actions, Object.assign({}, rest),
|
|
96
96
|
extraActions,
|
|
97
97
|
globalNavigation && react_1.default.createElement(GlobalNavigation_1.default, { headerRef: headerRef, menus: menus }),
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
type !== 'enterprise' &&
|
|
99
|
+
(!compatible ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
100
|
+
language && react_1.default.createElement(Language_1.default, { language: userInfo.lang, onChange: onLanguageChange }),
|
|
101
|
+
theme && react_1.default.createElement(Theme_1.default, { theme: userInfo.theme, onChange: onThemeChange }))) : (react_1.default.createElement(CompatibleLanguage_1.default, { config: props.config, language: userInfo.lang, theme: userInfo.theme, onLanguageChange: onLanguageChange, onThemeChange: onThemeChange }))),
|
|
101
102
|
application && (react_1.default.createElement(Application_1.default, { language: userInfo.lang, apps: apps, onChange: onApplicationChange })),
|
|
102
103
|
avatar && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
103
104
|
react_1.default.createElement(divider_1.default, { type: "vertical" }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderActions.js","sourceRoot":"","sources":["../../src/tntd-layout/HeaderActions.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAyB;AACzB,uEAAqD;AAErD,yDAAgC;AAChC,gEAAuC;AACvC,sDAA6B;AAC7B,8EAAgD;AAChD,0EAAiD;AACjD,0DAAiC;AACjC,oDAA2B;AAE3B,MAAM,OAAO,GAAG,2BAAM,CAAC,EAAE,CAAA;;;iBAGR,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,IAAI;;;;;;;;;;;;;;;;;;;aAmB9C,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;;;;CAqB1D,CAAA;AAED,kBAAe,IAAA,6BAAS,EAAC,CAAC,KAAK,EAAE,EAAE;IACjC,MAAM,EACJ,MAAM,EAAE,EACN,KAAK,GAAG,IAAI,EACZ,MAAM,GAAG,IAAI,EACb,QAAQ,GAAG,IAAI,EACf,WAAW,GAAG,KAAK,EACnB,gBAAgB,GAAG,KAAK,GACzB,GAAG,EAAE,EACN,KAAK,EAAE,EAAE,UAAU,EAAE,EACrB,QAAQ,GAAG,EAAE,EACb,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,YAAY,KAEV,KAAK,EADJ,IAAI,UACL,KAAK,
|
|
1
|
+
{"version":3,"file":"HeaderActions.js","sourceRoot":"","sources":["../../src/tntd-layout/HeaderActions.js"],"names":[],"mappings":"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","sourcesContent":["import React from 'react'\nimport styled, { withTheme } from 'styled-components'\n\nimport Divider from '../divider'\nimport Application from './Application'\nimport Avatar from './Avatar'\nimport LanguageTheme from './CompatibleLanguage'\nimport GlobalNavigation from './GlobalNavigation'\nimport Language from './Language'\nimport Theme from './Theme'\n\nconst Actions = styled.ul`\n list-style: none;\n display: inline-block;\n line-height: ${(props) => `${props.theme.headerHeight}px`};\n margin: 0 0 0 20px;\n .hasHeaderTabs & {\n margin: 0;\n }\n padding: 0;\n white-space: nowrap;\n\n .isInIframe & {\n display: none;\n }\n\n & > li {\n height: 100%;\n display: inline-block;\n vertical-align: top;\n cursor: pointer;\n font-size: 20px;\n margin: 0 7.5px;\n color: ${(props) => `${props.theme.headerActionsColor}`};\n .large-size & {\n margin: 0 10px;\n }\n .tnt-themeS1 & {\n /* color: rgba(255,255,255,.85); */\n }\n &:last-of-type {\n margin-right: 0;\n }\n .hasHeaderTabs & {\n color: #455064;\n }\n // 删除色系区分 统一色调\n // .hasHeaderTabs:not(.tnt-themeS1) & {\n // color: rgba(255,255,255,.8);\n // }\n .hasHeaderTabs:not(.tnt-themeS1) & {\n color: #455064 !important;\n }\n }\n`\n\nexport default withTheme((props) => {\n const {\n type,\n config: {\n theme = true,\n avatar = true,\n language = true,\n application = false,\n globalNavigation = false,\n } = {},\n theme: { compatible },\n userInfo = {},\n menus,\n apps,\n extraActions,\n headerRef,\n onLanguageChange,\n onThemeChange,\n onApplicationChange,\n onAppChange,\n onCollapseChange,\n onPersonalSetting,\n onChangePassword,\n onLogout,\n onLogoClick,\n AvatarCustom,\n ...rest\n } = props\n\n return (\n <Actions {...rest}>\n {extraActions}\n {globalNavigation && <GlobalNavigation headerRef={headerRef} menus={menus} />}\n {type !== 'enterprise' &&\n (!compatible ? (\n <>\n {language && <Language language={userInfo.lang} onChange={onLanguageChange} />}\n {theme && <Theme theme={userInfo.theme} onChange={onThemeChange} />}\n </>\n ) : (\n <LanguageTheme\n config={props.config}\n language={userInfo.lang}\n theme={userInfo.theme}\n onLanguageChange={onLanguageChange}\n onThemeChange={onThemeChange}\n />\n ))}\n {application && (\n <Application language={userInfo.lang} apps={apps} onChange={onApplicationChange} />\n )}\n {avatar && (\n <>\n <Divider type=\"vertical\" />\n {AvatarCustom ? (\n <AvatarCustom\n userInfo={userInfo}\n onPersonalSetting={onPersonalSetting}\n onChangePassword={onChangePassword}\n onLogout={onLogout}\n onThemeChange={onThemeChange}\n config={{\n theme,\n language,\n }}\n />\n ) : (\n <Avatar\n userInfo={userInfo}\n onPersonalSetting={onPersonalSetting}\n onChangePassword={onChangePassword}\n onLogout={onLogout}\n onThemeChange={onThemeChange}\n config={{\n theme,\n language,\n }}\n />\n )}\n </>\n )}\n </Actions>\n )\n})\n"]}
|
|
@@ -101,7 +101,7 @@ const TNTLayout = (0, styled_components_1.default)(layout_1.default) `
|
|
|
101
101
|
}
|
|
102
102
|
`;
|
|
103
103
|
exports.default = (0, styled_components_1.withTheme)((props) => {
|
|
104
|
-
const { logo, name, enName, selectedOrgKey, orgAppShow, orgList, orgAppList, onOrgChange, selectedAppKey, appList, selectedMenuKey, menuAlignMode = 'side', collapseIconPlacement = 'right', menus = [], formatMenuPath, changeRouter, headerTabs, orgTreeConfig, headerNavs, extraHeaderActions, isInIframe, isEmptyLayout, onLogoClick = () => null, onCollapseChange, onThemeChange, onLanguageChange, onBeforeMenuChange, onMenuChange, onMenuSelect, onAppChange, onPersonalSetting, onChangePassword, onLogout, config, extendMap = {}, AvatarCustom, // 右上角用户信息自定义
|
|
104
|
+
const { type, logo, name, enName, selectedOrgKey, orgAppShow, orgList, orgAppList, onOrgChange, selectedAppKey, appList, selectedMenuKey, menuAlignMode = 'side', collapseIconPlacement = 'right', menus = [], formatMenuPath, changeRouter, headerTabs, orgTreeConfig, headerNavs, extraHeaderActions, isInIframe, isEmptyLayout, onLogoClick = () => null, onCollapseChange, onThemeChange, onLanguageChange, onBeforeMenuChange, onMenuChange, onMenuSelect, onAppChange, onPersonalSetting, onChangePassword, onLogout, config, extendMap = {}, AvatarCustom, // 右上角用户信息自定义
|
|
105
105
|
} = props;
|
|
106
106
|
let { collapsed: storeCollapsed, openKeys = [] } = (0, storage_1.getSideMenuStore)();
|
|
107
107
|
const [collapsed, setCollapsed] = (0, react_1.useState)((0, lodash_1.isUndefined)(storeCollapsed) ? props.collapsed : storeCollapsed);
|
|
@@ -163,7 +163,7 @@ exports.default = (0, styled_components_1.withTheme)((props) => {
|
|
|
163
163
|
collapseIconPlacement === 'bottom' && (react_1.default.createElement("div", { className: "tnt-layout-menu-collapse", onClick: collapseChangeHandle },
|
|
164
164
|
react_1.default.createElement(tntd_icon_1.default, { type: `menu-${collapsed ? 'unfold' : 'fold'}` })))),
|
|
165
165
|
react_1.default.createElement(Content, null,
|
|
166
|
-
react_1.default.createElement(Header_1.default, { userInfo: userInfo, config: config, collapsed: collapsed, collapseIconPlacement: collapseIconPlacement, orgAppShow: orgAppShow, orgList: orgList, orgTreeConfig: orgTreeConfig, orgAppList: orgAppList, onOrgChange: onOrgChange, selectedOrgKey: selectedOrgKey, selectedAppKey: selectedAppKey, appList: appList, menus: menus, headerTabs: headerTabs, extraActions: extraHeaderActions, onAppChange: onAppChange, onCollapseChange: collapseChangeHandle, AvatarCustom: AvatarCustom, onThemeChange: (theme) => {
|
|
166
|
+
react_1.default.createElement(Header_1.default, { type: type, userInfo: userInfo, config: config, collapsed: collapsed, collapseIconPlacement: collapseIconPlacement, orgAppShow: orgAppShow, orgList: orgList, orgTreeConfig: orgTreeConfig, orgAppList: orgAppList, onOrgChange: onOrgChange, selectedOrgKey: selectedOrgKey, selectedAppKey: selectedAppKey, appList: appList, menus: menus, headerTabs: headerTabs, extraActions: extraHeaderActions, onAppChange: onAppChange, onCollapseChange: collapseChangeHandle, AvatarCustom: AvatarCustom, onThemeChange: (theme) => {
|
|
167
167
|
setUserInfo(Object.assign(Object.assign({}, userInfo), { theme }));
|
|
168
168
|
onThemeChange && onThemeChange(theme);
|
|
169
169
|
}, onLanguageChange: (lang) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../src/tntd-layout/Layout.js"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react'\nimport styled, { withTheme } from 'styled-components'\nimport cn from 'classnames'\nimport { isUndefined } from 'lodash'\nimport Layout from '../layout'\nimport Icon from '../tntd-icon'\nimport Header from './Header'\nimport Logo from './Logo'\nimport SideMenu from './SideMenu'\nimport { getSideMenuStore, setSideMenuStore, getLanguageStore, getThemeStore } from './storage'\n\nconst { Content, Sider } = Layout\nconst TNTLayout = styled(Layout)`\n position: relative;\n .tnt-layout-sider {\n overflow-x: hidden;\n background: #191d29;\n }\n .tnt-layout-menu-collapse {\n position: absolute;\n bottom: 0;\n left: 0;\n line-height: 36px;\n background: #191d29;\n box-shadow: 0 0 6px 0 rgb(0 0 0 / 10%);\n color: #fff;\n width: 100%;\n padding-left: 24px;\n font-size: 14px;\n cursor: pointer;\n }\n &.isInIframe,\n &.isEmptyLayout {\n .tnt-layout-sider {\n display: none;\n }\n }\n &.compatible .tnt-layout-sider {\n background: linear-gradient(#213f83, #0f75d6) !important;\n }\n &.tnt-themeS1 {\n .tnt-layout-sider {\n background: #fff !important;\n overflow-x: unset;\n }\n .tnt-layout-menu-collapse {\n z-index: 3;\n background: #fff;\n color: ${(props) => props.theme.primaryTextColor};\n }\n }\n // 蓝色系列\n &.tnt-themeS3 {\n .tnt-layout-sider {\n background-image: linear-gradient(180deg, #213f83 0%, #0f75d6 100%) !important;\n overflow-x: unset;\n }\n .tnt-layout-menu-collapse {\n background: #207ad4;\n color: #fff;\n }\n }\n & > .ant-layout-content {\n background-color: ${(props) => props.theme.lightBgColor};\n & > div:nth-child(2) {\n height: calc(100vh - 50px);\n overflow: auto;\n }\n }\n &.large-size > .ant-layout-content {\n & > div:nth-child(2) {\n height: calc(100vh - 60px);\n }\n }\n`\n\nexport default withTheme((props) => {\n const {\n logo,\n name,\n enName,\n selectedOrgKey,\n orgAppShow,\n orgList,\n orgAppList,\n onOrgChange,\n selectedAppKey,\n appList,\n selectedMenuKey,\n menuAlignMode = 'side',\n collapseIconPlacement = 'right',\n menus = [],\n formatMenuPath,\n changeRouter,\n headerTabs,\n orgTreeConfig,\n headerNavs,\n extraHeaderActions,\n isInIframe,\n isEmptyLayout,\n onLogoClick = () => null,\n onCollapseChange,\n onThemeChange,\n onLanguageChange,\n onBeforeMenuChange,\n onMenuChange,\n onMenuSelect,\n onAppChange,\n onPersonalSetting,\n onChangePassword,\n onLogout,\n config,\n extendMap = {},\n AvatarCustom, // 右上角用户信息自定义\n } = props\n let { collapsed: storeCollapsed, openKeys = [] } = getSideMenuStore()\n const [collapsed, setCollapsed] = useState(\n isUndefined(storeCollapsed) ? props.collapsed : storeCollapsed\n )\n const [openMenuKeys, setOpenMenuKeys] = useState(\n (() => {\n openKeys = collapsed ? [] : openKeys\n openKeys = openKeys instanceof Array ? openKeys : []\n return openKeys\n })(openKeys)\n )\n const [userInfo, setUserInfo] = useState(props.userInfo || {})\n let theme = getThemeStore() || extendMap?.defaultTheme || userInfo.theme || 'themeS2'\n const language = getLanguageStore() || userInfo.lang || 'cn'\n theme = theme === 'default' ? 'themeS2' : theme\n\n const collapseChangeHandle = () => {\n const { beforeOpenKeys = [] } = getSideMenuStore()\n const newCollapsed = !collapsed\n\n // 菜单收起:记住当前展开子菜单到store,并收起子菜单\n if (newCollapsed) {\n setSideMenuStore({\n collapsed: newCollapsed,\n beforeOpenKeys: openMenuKeys,\n })\n setOpenMenuKeys([])\n } else {\n // 菜单展开:恢复子菜单展开项,并更新到store\n setSideMenuStore({\n collapsed: newCollapsed,\n openKeys: beforeOpenKeys,\n })\n setOpenMenuKeys(beforeOpenKeys)\n }\n\n setCollapsed(newCollapsed)\n onCollapseChange && onCollapseChange(newCollapsed)\n }\n\n useEffect(() => {\n setUserInfo(props.userInfo)\n }, [props.userInfo])\n\n return (\n <TNTLayout\n className={cn(`tnt-layout tnt-${theme} ${props.className || ''}`, {\n 'large-size': props.theme.size === 'large',\n compatible: props.theme.compatible,\n isInIframe,\n isEmptyLayout,\n noAppList: !appList,\n hasHeaderTabs: !!headerTabs,\n layoutMenusCollapsed: collapsed,\n collapseIconPlacementBottom: collapseIconPlacement === 'bottom',\n })}\n >\n <Sider\n collapsible\n breakpoint=\"md\"\n className=\"tnt-layout-sider\"\n collapsed={collapsed}\n width={220}\n trigger={null}\n >\n <Logo\n language={language}\n logo={logo}\n name={name}\n enName={enName}\n collapsed={collapsed}\n onClick={onLogoClick}\n />\n <SideMenu\n language={language}\n selectedKey={selectedMenuKey}\n menuAlignMode={menuAlignMode}\n menus={menus}\n collapsed={collapsed}\n openKeys={openMenuKeys}\n onOpenChange={(keys) => {\n if (!collapsed) {\n setSideMenuStore({\n openKeys: keys,\n beforeOpenKeys: keys,\n })\n }\n\n setOpenMenuKeys(keys)\n }}\n formatMenuPath={formatMenuPath}\n changeRouter={changeRouter}\n onBeforeChange={onBeforeMenuChange}\n onChange={onMenuChange}\n onSelect={onMenuSelect}\n />\n {collapseIconPlacement === 'bottom' && (\n <div className=\"tnt-layout-menu-collapse\" onClick={collapseChangeHandle}>\n <Icon type={`menu-${collapsed ? 'unfold' : 'fold'}`} />\n </div>\n )}\n </Sider>\n <Content>\n <Header\n userInfo={userInfo}\n config={config}\n collapsed={collapsed}\n collapseIconPlacement={collapseIconPlacement}\n orgAppShow={orgAppShow}\n orgList={orgList}\n orgTreeConfig={orgTreeConfig}\n orgAppList={orgAppList}\n onOrgChange={onOrgChange}\n selectedOrgKey={selectedOrgKey}\n selectedAppKey={selectedAppKey}\n appList={appList}\n menus={menus}\n headerTabs={headerTabs}\n extraActions={extraHeaderActions}\n onAppChange={onAppChange}\n onCollapseChange={collapseChangeHandle}\n AvatarCustom={AvatarCustom}\n onThemeChange={(theme) => {\n setUserInfo({\n ...userInfo,\n theme,\n })\n onThemeChange && onThemeChange(theme)\n }}\n onLanguageChange={(lang) => {\n setUserInfo({\n ...userInfo,\n lang,\n })\n onLanguageChange && onLanguageChange(lang)\n }}\n onPersonalSetting={onPersonalSetting}\n onChangePassword={onChangePassword}\n onLogout={onLogout}\n >\n {headerNavs}\n </Header>\n {props.children}\n </Content>\n </TNTLayout>\n )\n})\n"]}
|
|
1
|
+
{"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../src/tntd-layout/Layout.js"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react'\nimport styled, { withTheme } from 'styled-components'\nimport cn from 'classnames'\nimport { isUndefined } from 'lodash'\nimport Layout from '../layout'\nimport Icon from '../tntd-icon'\nimport Header from './Header'\nimport Logo from './Logo'\nimport SideMenu from './SideMenu'\nimport { getSideMenuStore, setSideMenuStore, getLanguageStore, getThemeStore } from './storage'\n\nconst { Content, Sider } = Layout\nconst TNTLayout = styled(Layout)`\n position: relative;\n .tnt-layout-sider {\n overflow-x: hidden;\n background: #191d29;\n }\n .tnt-layout-menu-collapse {\n position: absolute;\n bottom: 0;\n left: 0;\n line-height: 36px;\n background: #191d29;\n box-shadow: 0 0 6px 0 rgb(0 0 0 / 10%);\n color: #fff;\n width: 100%;\n padding-left: 24px;\n font-size: 14px;\n cursor: pointer;\n }\n &.isInIframe,\n &.isEmptyLayout {\n .tnt-layout-sider {\n display: none;\n }\n }\n &.compatible .tnt-layout-sider {\n background: linear-gradient(#213f83, #0f75d6) !important;\n }\n &.tnt-themeS1 {\n .tnt-layout-sider {\n background: #fff !important;\n overflow-x: unset;\n }\n .tnt-layout-menu-collapse {\n z-index: 3;\n background: #fff;\n color: ${(props) => props.theme.primaryTextColor};\n }\n }\n // 蓝色系列\n &.tnt-themeS3 {\n .tnt-layout-sider {\n background-image: linear-gradient(180deg, #213f83 0%, #0f75d6 100%) !important;\n overflow-x: unset;\n }\n .tnt-layout-menu-collapse {\n background: #207ad4;\n color: #fff;\n }\n }\n & > .ant-layout-content {\n background-color: ${(props) => props.theme.lightBgColor};\n & > div:nth-child(2) {\n height: calc(100vh - 50px);\n overflow: auto;\n }\n }\n &.large-size > .ant-layout-content {\n & > div:nth-child(2) {\n height: calc(100vh - 60px);\n }\n }\n`\n\nexport default withTheme((props) => {\n const {\n type,\n logo,\n name,\n enName,\n selectedOrgKey,\n orgAppShow,\n orgList,\n orgAppList,\n onOrgChange,\n selectedAppKey,\n appList,\n selectedMenuKey,\n menuAlignMode = 'side',\n collapseIconPlacement = 'right',\n menus = [],\n formatMenuPath,\n changeRouter,\n headerTabs,\n orgTreeConfig,\n headerNavs,\n extraHeaderActions,\n isInIframe,\n isEmptyLayout,\n onLogoClick = () => null,\n onCollapseChange,\n onThemeChange,\n onLanguageChange,\n onBeforeMenuChange,\n onMenuChange,\n onMenuSelect,\n onAppChange,\n onPersonalSetting,\n onChangePassword,\n onLogout,\n config,\n extendMap = {},\n AvatarCustom, // 右上角用户信息自定义\n } = props\n let { collapsed: storeCollapsed, openKeys = [] } = getSideMenuStore()\n const [collapsed, setCollapsed] = useState(\n isUndefined(storeCollapsed) ? props.collapsed : storeCollapsed\n )\n const [openMenuKeys, setOpenMenuKeys] = useState(\n (() => {\n openKeys = collapsed ? [] : openKeys\n openKeys = openKeys instanceof Array ? openKeys : []\n return openKeys\n })(openKeys)\n )\n const [userInfo, setUserInfo] = useState(props.userInfo || {})\n let theme = getThemeStore() || extendMap?.defaultTheme || userInfo.theme || 'themeS2'\n const language = getLanguageStore() || userInfo.lang || 'cn'\n theme = theme === 'default' ? 'themeS2' : theme\n\n const collapseChangeHandle = () => {\n const { beforeOpenKeys = [] } = getSideMenuStore()\n const newCollapsed = !collapsed\n\n // 菜单收起:记住当前展开子菜单到store,并收起子菜单\n if (newCollapsed) {\n setSideMenuStore({\n collapsed: newCollapsed,\n beforeOpenKeys: openMenuKeys,\n })\n setOpenMenuKeys([])\n } else {\n // 菜单展开:恢复子菜单展开项,并更新到store\n setSideMenuStore({\n collapsed: newCollapsed,\n openKeys: beforeOpenKeys,\n })\n setOpenMenuKeys(beforeOpenKeys)\n }\n\n setCollapsed(newCollapsed)\n onCollapseChange && onCollapseChange(newCollapsed)\n }\n\n useEffect(() => {\n setUserInfo(props.userInfo)\n }, [props.userInfo])\n\n return (\n <TNTLayout\n className={cn(`tnt-layout tnt-${theme} ${props.className || ''}`, {\n 'large-size': props.theme.size === 'large',\n compatible: props.theme.compatible,\n isInIframe,\n isEmptyLayout,\n noAppList: !appList,\n hasHeaderTabs: !!headerTabs,\n layoutMenusCollapsed: collapsed,\n collapseIconPlacementBottom: collapseIconPlacement === 'bottom',\n })}\n >\n <Sider\n collapsible\n breakpoint=\"md\"\n className=\"tnt-layout-sider\"\n collapsed={collapsed}\n width={220}\n trigger={null}\n >\n <Logo\n language={language}\n logo={logo}\n name={name}\n enName={enName}\n collapsed={collapsed}\n onClick={onLogoClick}\n />\n <SideMenu\n language={language}\n selectedKey={selectedMenuKey}\n menuAlignMode={menuAlignMode}\n menus={menus}\n collapsed={collapsed}\n openKeys={openMenuKeys}\n onOpenChange={(keys) => {\n if (!collapsed) {\n setSideMenuStore({\n openKeys: keys,\n beforeOpenKeys: keys,\n })\n }\n\n setOpenMenuKeys(keys)\n }}\n formatMenuPath={formatMenuPath}\n changeRouter={changeRouter}\n onBeforeChange={onBeforeMenuChange}\n onChange={onMenuChange}\n onSelect={onMenuSelect}\n />\n {collapseIconPlacement === 'bottom' && (\n <div className=\"tnt-layout-menu-collapse\" onClick={collapseChangeHandle}>\n <Icon type={`menu-${collapsed ? 'unfold' : 'fold'}`} />\n </div>\n )}\n </Sider>\n <Content>\n <Header\n type={type}\n userInfo={userInfo}\n config={config}\n collapsed={collapsed}\n collapseIconPlacement={collapseIconPlacement}\n orgAppShow={orgAppShow}\n orgList={orgList}\n orgTreeConfig={orgTreeConfig}\n orgAppList={orgAppList}\n onOrgChange={onOrgChange}\n selectedOrgKey={selectedOrgKey}\n selectedAppKey={selectedAppKey}\n appList={appList}\n menus={menus}\n headerTabs={headerTabs}\n extraActions={extraHeaderActions}\n onAppChange={onAppChange}\n onCollapseChange={collapseChangeHandle}\n AvatarCustom={AvatarCustom}\n onThemeChange={(theme) => {\n setUserInfo({\n ...userInfo,\n theme,\n })\n onThemeChange && onThemeChange(theme)\n }}\n onLanguageChange={(lang) => {\n setUserInfo({\n ...userInfo,\n lang,\n })\n onLanguageChange && onLanguageChange(lang)\n }}\n onPersonalSetting={onPersonalSetting}\n onChangePassword={onChangePassword}\n onLogout={onLogout}\n >\n {headerNavs}\n </Header>\n {props.children}\n </Content>\n </TNTLayout>\n )\n})\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideMenu.js","sourceRoot":"","sources":["../../src/tntd-layout/SideMenu.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA4B;AAC5B,+CAA8D;AAC9D,uEAAqD;AAErD,mDAA0B;AAC1B,oCAMiB;AACjB,sEAA6C;AAC7C,0DAAiC;AACjC,uCAA4C;AAE5C,MAAM,KAAK,GAAG,uBAAuB,CAAA;AACrC,MAAM,eAAe,GAAG,SAAS,CAAA;AACjC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,cAAI,CAAA;AACxC,MAAM,OAAO,GAAG,IAAA,2BAAM,EAAC,cAAI,CAAC,CAAA;;;;;;;;;;2BAUD,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAgE/C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;;;;;;;;;;;;sBAYnC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;;;;;;;;;;;gBAWzC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;qBAC7C,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;eAiBxD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;;iBAE3D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB;;gBAExC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;qBAC7C,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;;;mBAGpD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA6B3C,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;;;;;aAK7D,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;;eAE3D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB;;;;;iBAKrC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;wBAiB5B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;;;;;;;;;;;0BAWjC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;CAqB5D,CAAA;AACD,MAAM,SAAS,GAAG,2BAAM,CAAC,IAAI,CAAA;;;;;;;;;;aAUhB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB;;;;;;;;;;;;;;eAcrC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE;;;CAGnD,CAAA;AAED,kBAAe,IAAA,6BAAS,EAAC,CAAC,KAAK,EAAE,EAAE;IACjC,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,wBAAc,CAAC,CAAA;IAC1C,MAAM,EACJ,QAAQ,EACR,KAAK,GAAG,EAAE,EACV,cAAc,EACd,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,SAAS,GACV,GAAG,KAAK,CAAA;IACT,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAA,2BAAmB,EAAC,WAAW,EAAE,KAAK,CAAC,CAAA;IACxE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,IAAA,YAAG,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IACxE,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,EAAE;QAC7B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAA,2BAAmB,EAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;QAC5E,MAAM,MAAM,mCACP,KAAK,KACR,IAAI,EAAE,OAAO,GACd,CAAA;QACD,MAAM,mBAAmB,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAA;QAC7D,MAAM,aAAa,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;;YACjC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;YAC3B,MAAM,UAAU,GAAG,cAAc,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;YAErD,IAAI,IAAA,oBAAY,EAAC,IAAI,CAAC,EAAE;gBACtB,IAAA,oBAAY,EAAC,UAAU,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;gBAC1C,OAAM;aACP;YAED,MAAM,YAAY,GAAG,MAAA,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,0CAAG,CAAC,CAAC,CAAA;YAExE,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC,YAAY,CAAC,EAAE;gBAClC,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBAC1C,YAAY;oBACV,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC;oBACjC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,WAAW,CAAC,CAAA;aAC5D;iBAAM;gBACL,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;aAC9C;QACH,CAAC,CAAA;QACD,MAAM,WAAW,GAAG,QAAQ,IAAI,aAAa,CAAA;QAE7C,IAAI,KAAK,CAAC,GAAG,KAAK,IAAA,YAAG,EAAC,YAAY,EAAE,GAAG,CAAC,EAAE;YACxC,MAAM,iBAAiB,GAAG,cAAc,IAAI,mBAAmB,CAAA;YAE/D,IAAI,iBAAiB,CAAC,MAAM,EAAE,IAAA,YAAG,EAAC,YAAY,EAAE,GAAG,CAAC,CAAC,EAAE;gBACrD,iBAAiB;gBACjB,IAAI,SAAS,EAAE;oBACb,MAAM,WAAW,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,CAAA;oBAElE,YAAY,CAAC,WAAW,CAAC,CAAA;oBACzB,IAAA,0BAAgB,EAAC;wBACf,QAAQ,EAAE,WAAW;wBACrB,cAAc,EAAE,WAAW;qBAC5B,CAAC,CAAA;iBACH;gBACD,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;gBAC5B,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;aAC7B;SACF;QACD,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACrC,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAE5B,WAAW,CAAC,MAAM,CAAC,CAAA;IACrB,CAAC,CAAA;IACD,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,EAAE;QAC7B,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE;YAC1B,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;SAClD;QAED,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;IAChD,CAAC,CAAA;IACD,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3D,8DAA8D;QAC9D,IAAI,WAAW,GAAG,IAAI,CAAA;QAEtB,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YAC3C,IAAI,cAAc,CAAA;YAElB,IAAA,oBAAY,EAAC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAClC,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;oBACrB,IAAI,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,EAAE;wBAC3C,cAAc,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAA;qBAC7B;oBAED,OAAO,KAAK,CAAA;iBACb;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,cAAc,CAAA;QACvB,CAAC,CAAA;QAED,YAAY;QACZ,IAAI,OAAO,EAAE;YACX,SAAS;YACT,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAC5D,IAAI,cAAc,EAAE;gBAClB,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;aACjE;iBAAM;gBACL,WAAW,GAAG,CAAC,OAAO,CAAC,CAAA;aACxB;SACF;aAAM;YACL,aAAa;YACb,WAAW,GAAG,IAAI,CAAA;SACnB;QAED,YAAY,CAAC,WAAW,CAAC,CAAA;IAC3B,CAAC,CAAA;IAED,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,eAAe,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;QAC9B,IAAI,WAAW,IAAI,CAAC,SAAS,KAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,EAAE;YACpD,YAAY,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;SAC7D;QACD,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;IACzC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IACvC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IAEtC,OAAO,CACL,8BAAC,OAAO,IACN,IAAI,EAAC,QAAQ,EACb,mBAAmB,EAAE,EAAE,EACvB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,gBAAgB,IAE7B,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;QACnB,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAC/C,qCAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,IAEjD;YACE,EAAE,EAAE,QAAQ;YACZ,EAAE,EAAE,MAAM;SACX,CAAC,QAAQ,CAAC,CAEX,CACL,CAAA;QAED,IAAI,IAAA,mBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,MAAM,eAAe,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,UAAU,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;gBACvF,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,CACL,8BAAC,SAAS,IACR,KAAK,EAAE,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE;oBAE5E,CAAC,UAAU,IAAI,8BAAC,kBAAQ,IAAC,IAAI,EAAE,SAAS,GAAI;oBAC5C,SAAS,IAAI,CAAC,UAAU;wBACvB,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC;4BACE,EAAE,EAAE,SAAS;4BACb,EAAE,EAAE,MAAM;yBACX,CAAC,QAAQ,CAAC,CACL,CACb;gBACD,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,8BAAC,kBAAQ,CAAC,MAAM,IAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,GAAI;aAC9E,CAAC,CAAA;YAEF,OAAO,CACL,8BAAC,OAAO,oBAAK,eAAe,CAAC,IAAI,CAAC,IAAE,OAAO,EAAE,YAAY,KACtD,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;gBAC5B,IAAI,IAAA,mBAAW,EAAC,IAAI,CAAC,EAAE;oBACrB,OAAO,CACL,8BAAC,OAAO,oBAAK,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,IAAE,OAAO,EAAE,YAAY,KAC5D,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,GAAG,CAAC,CAAC,EAAiB,EAAE,EAAE;4BAArB,EAAE,IAAI,OAAW,EAAN,IAAI,cAAf,QAAiB,CAAF;wBAAO,OAAA,CAC1C,8BAAC,QAAQ,IAAC,GAAG,EAAE,IAAI;4BACjB,8BAAC,QAAQ,oBAAK,IAAI,IAAE,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAC7C,CACZ,CAAA;qBAAA,CAAC,CACM,CACX,CAAA;iBACF;gBAED,OAAO,CACL,8BAAC,QAAQ,IAAC,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;oBACvB,8BAAC,QAAQ,oBAAK,IAAI,EAAI,CACb,CACZ,CAAA;YACH,CAAC,CAAC,CACM,CACX,CAAA;SACF;QAED,OAAO,CACL,8BAAC,QAAQ,IAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY;YAC7C,8BAAC,kBAAQ,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI;YAC7B,8BAAC,QAAQ,oBAAK,IAAI,EAAI,CACb,CACZ,CAAA;IACH,CAAC,CAAC,CACM,CACX,CAAA;AACH,CAAC,CAAC,CAAA","sourcesContent":["import { get } from 'lodash'\nimport React, { useContext, useEffect, useState } from 'react'\nimport styled, { withTheme } from 'styled-components'\n\nimport Menu from '../menu'\nimport {\n getSelectedMenuInfo,\n isGroupMenu,\n isNewTabMenu,\n openInNewTab,\n traverseTree,\n} from '../utils'\nimport ActionsContext from './ActionsContext'\nimport Iconfont from './Iconfont'\nimport { setSideMenuStore } from './storage'\n\nconst color = 'rgba(255,255,255,.85)'\nconst compatibleColor = '#a1d7ff'\nconst { SubMenu, Item: MenuItem } = Menu\nconst TNTMenu = styled(Menu)`\n background: none !important;\n &.ant-menu.ant-menu-root {\n position: relative;\n transition: none !important;\n padding-top: 10px;\n border-right: none;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n height: calc(100vh - ${(props) => `${props.theme.headerHeight}px`});\n overflow-y: auto;\n overflow-x: hidden;\n .collapseIconPlacementBottom & {\n padding-bottom: 36px;\n }\n .tnt-themeS1 & {\n overflow-x: unset;\n box-shadow: 10px 0 10px -5px rgba(0, 0, 0, 0.1);\n z-index: 2;\n }\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n &::-moz-scrollbar {\n display: none;\n }\n\n /** 一级结点是菜单样式开始 */\n & > .ant-menu-item {\n & > .tnt-icon:first-child {\n font-size: 16px;\n }\n }\n\n .ant-layout-sider-collapsed & {\n & > .ant-menu-item {\n & > .tnt-icon:first-child {\n padding-left: 8px;\n }\n a {\n visibility: hidden;\n }\n }\n }\n /** 一级结点是菜单样式结束 */\n\n .ant-menu-item:active,\n .ant-menu-submenu-title:active {\n background: none;\n }\n\n .ant-menu-submenu .ant-menu-sub {\n background: #212635;\n border-radius: 0 0 2px 2px;\n .compatible & {\n background: #07408d !important;\n }\n .tnt-themeS1 & {\n background: #fff !important;\n }\n\n // 蓝色系列 菜单展开区域颜色\n .tnt-themeS3 & {\n background: #07408d !important;\n }\n }\n .ant-menu-submenu.ant-menu-submenu-active,\n .ant-menu-submenu.ant-menu-submenu-selected {\n background: rgba(47, 129, 247, 0.25) !important;\n .tnt-themeS1 & {\n background: ${(props) => props.theme.dividerColor} !important;\n }\n\n // 蓝色系 一级菜单的选中效果\n .tnt-themeS3 & {\n background: #204085 !important;\n }\n }\n & > .ant-menu-submenu .ant-menu-submenu.ant-menu-submenu-active,\n & > .ant-menu-submenu .ant-menu-submenu.ant-menu-submenu-selected {\n background: none !important;\n .tnt-themeS1 & {\n background: ${(props) => props.theme.dividerColor} !important;\n }\n // 蓝色系 子级菜单级的选中效果\n .tnt-themeS3 & {\n background: #204085 !important;\n }\n }\n .ant-menu-item {\n margin: 0;\n font-size: 14px;\n padding-left: 54px !important;\n height: ${({ size }) => (size === 'large' ? '40px' : '36px')};\n line-height: ${({ size }) => (size === 'large' ? '40px' : '36px')};\n }\n\n & > .ant-menu-item {\n padding-left: 24px !important;\n width: 100%;\n\n & > .tnt-icon {\n margin-right: 12px;\n }\n & > a {\n display: inline-block;\n }\n }\n\n .ant-menu-submenu-title {\n position: relative;\n color: ${(props) => (props.theme.compatible ? compatibleColor : color)};\n .tnt-themeS1 & {\n color: ${(props) => props.theme.primaryTextColor};\n }\n height: ${({ size }) => (size === 'large' ? '40px' : '36px')};\n line-height: ${({ size }) => (size === 'large' ? '40px' : '36px')};\n .tnt-icon {\n .tnt-themeS1 & {\n color: ${(props) => props.theme.lightIconColor};\n }\n }\n & > .tnt-icon {\n position: absolute;\n right: 20px;\n top: 1px;\n font-size: 10px;\n }\n\n // 蓝色系主题\n .tnt-themeS3 & {\n color: #fff;\n }\n .tnt-icon {\n .tnt-themeS3 & {\n color: #fff;\n }\n }\n }\n\n & > .ant-menu-submenu .ant-menu-submenu .ant-menu-submenu-title {\n margin-top: 0;\n margin-bottom: 0;\n padding-left: 54px !important;\n }\n }\n\n &.ant-menu .menu-arrow-right {\n color: ${(props) => (props.theme.compatible ? compatibleColor : color)};\n }\n\n .ant-menu-item,\n .ant-menu-item > a {\n color: ${(props) => (props.theme.compatible ? compatibleColor : color)};\n .tnt-themeS1 & {\n color: ${(props) => props.theme.primaryTextColor};\n }\n &:hover {\n color: #fff;\n .tnt-themeS1 & {\n color: ${(props) => props.theme.primaryColor};\n }\n }\n\n // 蓝色系列\n .tnt-themeS3 & {\n color: #fff;\n }\n &:hover {\n .tnt-themeS3 & {\n color: #fff;\n }\n }\n }\n & > .ant-menu-item.ant-menu-item-selected,\n &.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected {\n color: rgba(255, 255, 255, 0.85);\n background-color: ${(props) => props.theme.primaryColor};\n .compatible & {\n background-color: #013479;\n }\n & > a {\n .tnt-themeS1 & {\n color: #fff;\n }\n }\n .tnt-themeS1 & {\n color: #fff;\n background-color: ${(props) => props.theme.primaryColor};\n }\n\n // 蓝色系 子项选中颜色\n .tnt-themeS3 & {\n color: #fff;\n background: #013479;\n &::after {\n content: '';\n display: none;\n }\n }\n }\n .ant-menu-submenu.ant-menu-submenu-selected {\n .tnt-themeS2 & {\n background: #141825;\n }\n .tnt-themeS2.compatible & {\n background: rgba(47, 129, 247, 0.25) !important;\n }\n }\n`\nconst MenuTitle = styled.span`\n font-size: 14px;\n .large-size & {\n font-size: 15px;\n }\n color: rgba(255, 255, 255, 0.85);\n .compatible & {\n color: #a1d7ff;\n }\n .tnt-themeS1 & {\n color: ${(props) => props.theme.primaryTextColor};\n }\n .tnt-icon {\n margin-right: 12px;\n font-size: 16px;\n position: relative;\n top: 1px;\n\n .large-size & {\n font-size: 18px;\n top: auto;\n }\n .tnt-themeS1 & {\n /* color: #7e8081; */\n color: ${(props) => `${props.theme.iconColor}`};\n }\n }\n`\n\nexport default withTheme((props) => {\n const actions = useContext(ActionsContext)\n const {\n language,\n menus = [],\n formatMenuPath,\n changeRouter,\n selectedKey,\n openKeys,\n onSelect,\n onBeforeChange,\n onChange,\n onOpenChange,\n collapsed,\n } = props\n const { subMenu, parentMenus } = getSelectedMenuInfo(selectedKey, menus)\n const [selectedKeys, setSelectedKeys] = useState([get(subMenu, 'code')])\n const onSelectMenu = (param) => {\n const { subMenu, parentMenus } = getSelectedMenuInfo(param.key, menus) || {}\n const params = {\n ...param,\n data: subMenu,\n }\n const defaultBeforeChange = ({ data }) => !isNewTabMenu(data)\n const defaultSelect = ({ data }) => {\n const { path } = data || {}\n const formatPath = formatMenuPath || ((path) => path)\n\n if (isNewTabMenu(data)) {\n openInNewTab(formatPath(data?.path, data))\n return\n }\n\n const routerPrefix = window.location.pathname.match(/(^\\/[^\\/]+)/i)?.[1]\n\n if (path?.startsWith(routerPrefix)) {\n const forwardPath = formatPath(path, data)\n changeRouter\n ? changeRouter(forwardPath, data)\n : window.history.pushState(data, data?.name, forwardPath)\n } else {\n window.location.href = formatPath(path, data)\n }\n }\n const finalSelect = onSelect || defaultSelect\n\n if (param.key !== get(selectedKeys, '0')) {\n const finalBeforeChange = onBeforeChange || defaultBeforeChange\n\n if (finalBeforeChange(params, get(selectedKeys, '0'))) {\n // SideMenu菜单收起状态\n if (collapsed) {\n const newOpenKeys = parentMenus?.map(({ code }) => code).reverse()\n\n onOpenChange(newOpenKeys)\n setSideMenuStore({\n openKeys: newOpenKeys,\n beforeOpenKeys: newOpenKeys,\n })\n }\n setSelectedKeys([param.key])\n onChange && onChange(params)\n }\n }\n actions.setSelectedMenuKey(param.key)\n setSelectedKeys([param.key])\n\n finalSelect(params)\n }\n const getExpandIcon = (code) => {\n if (props.theme.compatible) {\n return openKeys.includes(code) ? 'minus' : 'plus'\n }\n\n return openKeys.includes(code) ? 'up' : 'down'\n }\n const onOpenKeysChange = (keys) => {\n const openKey = keys.find((key) => !openKeys.includes(key))\n // const closeKey = openKeys.find(key => !keys.includes(key));\n let newOpenKeys = keys\n\n const findParentGroupKey = (key, openKeys) => {\n let parentGroupKey\n\n traverseTree(menus, (node, pnode) => {\n if (node.code === key) {\n if (pnode && openKeys.includes(pnode?.code)) {\n parentGroupKey = pnode?.code\n }\n\n return false\n }\n })\n\n return parentGroupKey\n }\n\n // 展开openKey\n if (openKey) {\n // 父子关系展开\n const parentGroupKey = findParentGroupKey(openKey, openKeys)\n if (parentGroupKey) {\n newOpenKeys = keys.length > 2 ? [parentGroupKey, openKey] : keys\n } else {\n newOpenKeys = [openKey]\n }\n } else {\n // 收起closeKey\n newOpenKeys = keys\n }\n\n onOpenChange(newOpenKeys)\n }\n\n useEffect(() => {\n setSelectedKeys([selectedKey])\n if (selectedKey && !collapsed && parentMenus?.length) {\n onOpenChange(parentMenus?.map(({ code }) => code).reverse())\n }\n actions.setSelectedMenuKey(selectedKey)\n }, [selectedKey])\n\n actions.off('menuSelect', onSelectMenu)\n actions.on('menuSelect', onSelectMenu)\n\n return (\n <TNTMenu\n mode=\"inline\"\n defaultSelectedKeys={[]}\n openKeys={openKeys}\n selectedKeys={selectedKeys}\n onOpenChange={onOpenKeysChange}\n >\n {menus?.map((menu) => {\n const MenuLink = ({ menuName, enName, path }) => (\n <a href={path} onClick={(evt) => evt.preventDefault()}>\n {\n {\n cn: menuName,\n en: enName,\n }[language]\n }\n </a>\n )\n\n if (isGroupMenu(menu)) {\n const getSubMenuProps = ({ code, groupIcon, groupName, enName }, isSubGroup = false) => ({\n key: code,\n title: (\n <MenuTitle\n style={collapsed && isSubGroup ? { color: props.theme.primaryTextColor } : {}}\n >\n {!isSubGroup && <Iconfont type={groupIcon} />}\n {collapsed && !isSubGroup\n ? ''\n : {\n cn: groupName,\n en: enName,\n }[language]}\n </MenuTitle>\n ),\n expandIcon: collapsed ? null : <Iconfont /* */ type={getExpandIcon(code)} />,\n })\n\n return (\n <SubMenu {...getSubMenuProps(menu)} onClick={onSelectMenu}>\n {menu?.children?.map((menu) => {\n if (isGroupMenu(menu)) {\n return (\n <SubMenu {...getSubMenuProps(menu, true)} onClick={onSelectMenu}>\n {menu?.children?.map(({ code, ...menu }) => (\n <MenuItem key={code}>\n <MenuLink {...menu} style={{ paddingLeft: '24px' }} />\n </MenuItem>\n ))}\n </SubMenu>\n )\n }\n\n return (\n <MenuItem key={menu?.code}>\n <MenuLink {...menu} />\n </MenuItem>\n )\n })}\n </SubMenu>\n )\n }\n\n return (\n <MenuItem key={menu.code} onClick={onSelectMenu}>\n <Iconfont type={menu.icon} />\n <MenuLink {...menu} />\n </MenuItem>\n )\n })}\n </TNTMenu>\n )\n})\n"]}
|
|
1
|
+
{"version":3,"file":"SideMenu.js","sourceRoot":"","sources":["../../src/tntd-layout/SideMenu.js"],"names":[],"mappings":"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","sourcesContent":["import { get } from 'lodash'\nimport React, { useContext, useEffect, useState } from 'react'\nimport styled, { withTheme } from 'styled-components'\nimport Menu from '../menu'\nimport {\n getSelectedMenuInfo,\n isGroupMenu,\n isNewTabMenu,\n openInNewTab,\n traverseTree,\n} from '../utils'\nimport ActionsContext from './ActionsContext'\nimport Iconfont from './Iconfont'\nimport { setSideMenuStore } from './storage'\n\nconst color = 'rgba(255,255,255,.85)'\nconst compatibleColor = '#a1d7ff'\nconst { SubMenu, Item: MenuItem } = Menu\nconst TNTMenu = styled(Menu)`\n background: none !important;\n &.ant-menu.ant-menu-root {\n position: relative;\n transition: none !important;\n padding-top: 10px;\n border-right: none;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n height: calc(100vh - ${(props) => `${props.theme.headerHeight}px`});\n overflow-y: auto;\n overflow-x: hidden;\n .collapseIconPlacementBottom & {\n padding-bottom: 36px;\n }\n .tnt-themeS1 & {\n overflow-x: unset;\n box-shadow: 10px 0 10px -5px rgba(0, 0, 0, 0.1);\n z-index: 2;\n }\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n &::-moz-scrollbar {\n display: none;\n }\n\n /** 一级结点是菜单样式开始 */\n & > .ant-menu-item {\n & > .tnt-icon:first-child {\n font-size: 16px;\n }\n }\n\n .ant-layout-sider-collapsed & {\n & > .ant-menu-item {\n & > .tnt-icon:first-child {\n padding-left: 8px;\n }\n a {\n visibility: hidden;\n }\n }\n }\n /** 一级结点是菜单样式结束 */\n\n .ant-menu-item:active,\n .ant-menu-submenu-title:active {\n background: none;\n }\n\n .ant-menu-submenu .ant-menu-sub {\n background: #212635;\n border-radius: 0 0 2px 2px;\n .compatible & {\n background: #07408d !important;\n }\n .tnt-themeS1 & {\n background: #fff !important;\n }\n\n // 蓝色系列 菜单展开区域颜色\n .tnt-themeS3 & {\n background: #07408d !important;\n }\n }\n .ant-menu-submenu.ant-menu-submenu-active,\n .ant-menu-submenu.ant-menu-submenu-selected {\n background: rgba(47, 129, 247, 0.25) !important;\n .tnt-themeS1 & {\n background: ${(props) => props.theme.dividerColor} !important;\n }\n\n // 蓝色系 一级菜单的选中效果\n .tnt-themeS3 & {\n background: #204085 !important;\n }\n }\n & > .ant-menu-submenu .ant-menu-submenu.ant-menu-submenu-active,\n & > .ant-menu-submenu .ant-menu-submenu.ant-menu-submenu-selected {\n background: none !important;\n .tnt-themeS1 & {\n background: ${(props) => props.theme.dividerColor} !important;\n }\n // 蓝色系 子级菜单级的选中效果\n .tnt-themeS3 & {\n background: #204085 !important;\n }\n }\n .ant-menu-item {\n margin: 0;\n font-size: 14px;\n padding-left: 54px !important;\n height: ${({ size }) => (size === 'large' ? '40px' : '36px')};\n line-height: ${({ size }) => (size === 'large' ? '40px' : '36px')};\n }\n\n & > .ant-menu-item {\n padding-left: 24px !important;\n width: 100%;\n\n & > .tnt-icon {\n margin-right: 12px;\n }\n & > a {\n display: inline-block;\n }\n }\n\n .ant-menu-submenu-title {\n position: relative;\n color: ${(props) => (props.theme.compatible ? compatibleColor : color)};\n .tnt-themeS1 & {\n color: ${(props) => props.theme.primaryTextColor};\n }\n height: ${({ size }) => (size === 'large' ? '40px' : '36px')};\n line-height: ${({ size }) => (size === 'large' ? '40px' : '36px')};\n .tnt-icon {\n .tnt-themeS1 & {\n color: ${(props) => props.theme.lightIconColor};\n }\n }\n & > .tnt-icon {\n position: absolute;\n right: 20px;\n top: 1px;\n font-size: 10px;\n }\n\n // 蓝色系主题\n .tnt-themeS3 & {\n color: #fff;\n }\n .tnt-icon {\n .tnt-themeS3 & {\n color: #fff;\n }\n }\n }\n\n & > .ant-menu-submenu .ant-menu-submenu .ant-menu-submenu-title {\n margin-top: 0;\n margin-bottom: 0;\n padding-left: 54px !important;\n }\n }\n\n &.ant-menu .menu-arrow-right {\n color: ${(props) => (props.theme.compatible ? compatibleColor : color)};\n }\n\n .ant-menu-item,\n .ant-menu-item > a {\n color: ${(props) => (props.theme.compatible ? compatibleColor : color)};\n .tnt-themeS1 & {\n color: ${(props) => props.theme.primaryTextColor};\n }\n &:hover {\n color: #fff;\n .tnt-themeS1 & {\n color: ${(props) => props.theme.primaryColor};\n }\n }\n\n // 蓝色系列\n .tnt-themeS3 & {\n color: #fff;\n }\n &:hover {\n .tnt-themeS3 & {\n color: #fff;\n }\n }\n }\n & > .ant-menu-item.ant-menu-item-selected,\n &.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected {\n color: rgba(255, 255, 255, 0.85);\n background-color: ${(props) => props.theme.primaryColor};\n .compatible & {\n background-color: #013479;\n }\n & > a {\n .tnt-themeS1 & {\n color: #fff;\n }\n }\n .tnt-themeS1 & {\n color: #fff;\n background-color: ${(props) => props.theme.primaryColor};\n }\n\n // 蓝色系 子项选中颜色\n .tnt-themeS3 & {\n color: #fff;\n background: #013479;\n &::after {\n content: '';\n display: none;\n }\n }\n }\n .ant-menu-submenu.ant-menu-submenu-selected {\n .tnt-themeS2 & {\n background: #141825;\n }\n .tnt-themeS2.compatible & {\n background: rgba(47, 129, 247, 0.25) !important;\n }\n }\n`\nconst MenuTitle = styled.span`\n font-size: 14px;\n .large-size & {\n font-size: 15px;\n }\n color: rgba(255, 255, 255, 0.85);\n .compatible & {\n color: #a1d7ff;\n }\n .tnt-themeS1 & {\n color: ${(props) => props.theme.primaryTextColor};\n }\n .tnt-icon {\n margin-right: 12px;\n font-size: 16px;\n position: relative;\n top: 1px;\n\n .large-size & {\n font-size: 18px;\n top: auto;\n }\n .tnt-themeS1 & {\n /* color: #7e8081; */\n color: ${(props) => `${props.theme.iconColor}`};\n }\n }\n`\n\nexport default withTheme((props) => {\n const actions = useContext(ActionsContext)\n const {\n language,\n menus = [],\n formatMenuPath,\n changeRouter,\n selectedKey,\n openKeys,\n onSelect,\n onBeforeChange,\n onChange,\n onOpenChange,\n collapsed,\n } = props\n const { subMenu, parentMenus } = getSelectedMenuInfo(selectedKey, menus)\n const [selectedKeys, setSelectedKeys] = useState([get(subMenu, 'code')])\n const onSelectMenu = (param) => {\n const { subMenu, parentMenus } = getSelectedMenuInfo(param.key, menus) || {}\n const params = {\n ...param,\n data: subMenu,\n }\n const defaultBeforeChange = ({ data }) => !isNewTabMenu(data)\n const defaultSelect = ({ data }) => {\n const { path } = data || {}\n const formatPath = formatMenuPath || ((path) => path)\n\n if (isNewTabMenu(data)) {\n openInNewTab(formatPath(data?.path, data))\n return\n }\n\n const routerPrefix = window.location.pathname.match(/(^\\/[^\\/]+)/i)?.[1]\n\n if (path?.startsWith(routerPrefix)) {\n const forwardPath = formatPath(path, data)\n changeRouter\n ? changeRouter(forwardPath, data)\n : window.history.pushState(data, data?.name, forwardPath)\n } else {\n window.location.href = formatPath(path, data)\n }\n }\n const finalSelect = onSelect || defaultSelect\n\n if (param.key !== get(selectedKeys, '0')) {\n const finalBeforeChange = onBeforeChange || defaultBeforeChange\n\n if (finalBeforeChange(params, get(selectedKeys, '0'))) {\n // SideMenu菜单收起状态\n if (collapsed) {\n const newOpenKeys = parentMenus?.map(({ code }) => code).reverse()\n\n onOpenChange(newOpenKeys)\n setSideMenuStore({\n openKeys: newOpenKeys,\n beforeOpenKeys: newOpenKeys,\n })\n }\n setSelectedKeys([param.key])\n onChange && onChange(params)\n }\n }\n actions.setSelectedMenuKey(param.key)\n setSelectedKeys([param.key])\n\n finalSelect(params)\n }\n const getExpandIcon = (code) => {\n if (props.theme.compatible) {\n return openKeys.includes(code) ? 'minus' : 'plus'\n }\n\n return openKeys.includes(code) ? 'up' : 'down'\n }\n const onOpenKeysChange = (keys) => {\n const openKey = keys.find((key) => !openKeys.includes(key))\n // const closeKey = openKeys.find(key => !keys.includes(key));\n let newOpenKeys = keys\n\n const findParentGroupKey = (key, openKeys) => {\n let parentGroupKey\n\n traverseTree(menus, (node, pnode) => {\n if (node.code === key) {\n if (pnode && openKeys.includes(pnode?.code)) {\n parentGroupKey = pnode?.code\n }\n\n return false\n }\n })\n\n return parentGroupKey\n }\n\n // 展开openKey\n if (openKey) {\n // 父子关系展开\n const parentGroupKey = findParentGroupKey(openKey, openKeys)\n if (parentGroupKey) {\n newOpenKeys = keys.length > 2 ? [parentGroupKey, openKey] : keys\n } else {\n newOpenKeys = [openKey]\n }\n } else {\n // 收起closeKey\n newOpenKeys = keys\n }\n\n onOpenChange(newOpenKeys)\n }\n\n useEffect(() => {\n setSelectedKeys([selectedKey])\n if (selectedKey && !collapsed && parentMenus?.length) {\n onOpenChange(parentMenus?.map(({ code }) => code).reverse())\n }\n actions.setSelectedMenuKey(selectedKey)\n }, [selectedKey])\n\n actions.off('menuSelect', onSelectMenu)\n actions.on('menuSelect', onSelectMenu)\n\n return (\n <TNTMenu\n mode=\"inline\"\n defaultSelectedKeys={[]}\n openKeys={openKeys}\n selectedKeys={selectedKeys}\n onOpenChange={onOpenKeysChange}\n >\n {menus?.map((menu) => {\n const MenuLink = ({ menuName, enName, path }) => (\n <a href={path} onClick={(evt) => evt.preventDefault()}>\n {\n {\n cn: menuName,\n en: enName,\n }[language]\n }\n </a>\n )\n\n if (isGroupMenu(menu)) {\n const getSubMenuProps = ({ code, groupIcon, groupName, enName }, isSubGroup = false) => ({\n key: code,\n title: (\n <MenuTitle\n style={collapsed && isSubGroup ? { color: props.theme.primaryTextColor } : {}}\n >\n {!isSubGroup && <Iconfont type={groupIcon} />}\n {collapsed && !isSubGroup\n ? ''\n : {\n cn: groupName,\n en: enName,\n }[language]}\n </MenuTitle>\n ),\n expandIcon: collapsed ? null : <Iconfont /* */ type={getExpandIcon(code)} />,\n })\n\n return (\n <SubMenu {...getSubMenuProps(menu)} onClick={onSelectMenu}>\n {menu?.children?.map((menu) => {\n if (isGroupMenu(menu)) {\n return (\n <SubMenu {...getSubMenuProps(menu, true)} onClick={onSelectMenu}>\n {menu?.children?.map(({ code, ...menu }) => (\n <MenuItem key={code}>\n <MenuLink {...menu} style={{ paddingLeft: '24px' }} />\n </MenuItem>\n ))}\n </SubMenu>\n )\n }\n\n return (\n <MenuItem key={menu?.code}>\n <MenuLink {...menu} />\n </MenuItem>\n )\n })}\n </SubMenu>\n )\n }\n\n return (\n <MenuItem key={menu.code} onClick={onSelectMenu}>\n <Iconfont type={menu.icon} />\n <MenuLink {...menu} />\n </MenuItem>\n )\n })}\n </TNTMenu>\n )\n})\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tntd-layout/index.js"],"names":[],"mappings":"AAaO,0DAAwE;;;AAI/E;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tntd-layout/index.js"],"names":[],"mappings":"AAaO,0DAAwE;;;AAI/E;;;;;gBA8FC"}
|