@zjpcy/simple-design 1.3.0 → 1.3.2

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.
@@ -1 +1 @@
1
- import{__makeTemplateObject as n}from"../node_modules/tslib/tslib.es6.js";import o from"styled-components";var r=function(n,o){return"var(".concat(n,", ").concat(o,")")},e=o.div(c||(c=n(["\n display: flex;\n flex-direction: column;\n min-height: ",";\n max-height: 100vh;\n background: ",";\n box-sizing: border-box;\n position: relative;\n overflow: hidden;\n\n &.layout-wrapper {\n /* 外部可通过 .layout-wrapper 选择器覆盖样式 */\n }\n\n ","\n"],["\n display: flex;\n flex-direction: column;\n min-height: ",";\n max-height: 100vh;\n background: ",";\n box-sizing: border-box;\n position: relative;\n overflow: hidden;\n\n &.layout-wrapper {\n /* 外部可通过 .layout-wrapper 选择器覆盖样式 */\n }\n\n ","\n"])),r("--layout-min-height","100vh"),function(n){return"dark"===n.$theme?"linear-gradient(180deg, ".concat(r("--layout-bg-dark","#000")," 0%, ").concat(r("--idp-text-color","rgba(0, 0, 0, 0.85)")," 100%)"):"linear-gradient(180deg, ".concat(r("--layout-bg-light","#f5f5f5")," 0%, ").concat(r("--idp-bg-color","#fafafa")," 100%)")},function(n){return n.$hasSider&&"\n flex-direction: row;\n "}),t=o.header(u||(u=n(["\n display: flex;\n align-items: center;\n flex-shrink: 0;\n padding: ",";\n background: ",";\n color: ",";\n height: ",";\n z-index: ",";\n transition: ",";\n box-sizing: border-box;\n\n &.layout-header-light {\n border-bottom: ",";\n }\n\n &.layout-header-dark {\n border-bottom: 1px solid transparent;\n }\n\n &.layout-header {\n /* 外部可通过 .layout-header 选择器覆盖样式 */\n }\n\n ","\n"],["\n display: flex;\n align-items: center;\n flex-shrink: 0;\n padding: ",";\n background: ",";\n color: ",";\n height: ",";\n z-index: ",";\n transition: ",";\n box-sizing: border-box;\n\n &.layout-header-light {\n border-bottom: ",";\n }\n\n &.layout-header-dark {\n border-bottom: 1px solid transparent;\n }\n\n &.layout-header {\n /* 外部可通过 .layout-header 选择器覆盖样式 */\n }\n\n ","\n"])),r("--layout-header-padding","0 24px"),function(n){return"dark"===n.$theme?"linear-gradient(135deg, ".concat(r("--layout-header-bg-dark","#001529")," 0%, #002140 100%)"):"linear-gradient(135deg, ".concat(r("--layout-header-bg-light","#fff")," 0%, ").concat(r("--idp-bg-color","#fafafa")," 100%)")},function(n){return"dark"===n.$theme?r("--layout-header-color-dark","#fff"):r("--layout-header-color-light","rgba(0, 0, 0, 0.85)")},function(n){var o=n.$height;return"number"==typeof o?"".concat(o,"px"):o||r("--layout-header-height","64px")},r("--layout-header-z-index","10"),r("--layout-header-transition","all 0.2s ease-in-out"),function(n){var o=n.$bgColor;return"1px solid ".concat(o)},function(n){return n.$fixed&&"\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n box-shadow: ".concat(r("--layout-header-box-shadow","0 2px 8px rgba(0, 0, 0, 0.15)"),";\n ")}),a=o.aside(s||(s=n(["\n display: flex;\n flex-direction: column;\n background: ",";\n color: ",";\n z-index: ",";\n transition: ",";\n flex: ",";\n box-sizing: border-box;\n border-right: ",";\n box-shadow: ",";\n\n /* Sider 高度 = 浏览器高度 - Header 高度 */\n height: calc(100vh - var(--layout-header-height, 64px));\n min-height: calc(100vh - var(--layout-header-height, 64px));\n\n &.layout-sider {\n /* 外部可通过 .layout-sider 选择器覆盖样式 */\n }\n\n /* 让子元素占据剩余空间,使 trigger 可以固定在底部 */\n & > *:not(.layout-sider-trigger) {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n }\n\n ","\n\n ","\n\n /* ============================================\n 集成 Menu 组件样式 - 与 Menu.css 保持一致\n ============================================ */\n \n /* 覆盖 Menu 组件基础样式 */\n .idp-menu {\n background: transparent;\n }\n\n /* Menu 菜单项在 Sider 中的样式 - 覆盖默认样式 */\n .idp-menu-item {\n border-radius: ",";\n margin: 4px 8px;\n \n /* Light 主题 - 与 Menu.css 保持一致 */\n &.light {\n color: ",";\n \n &:hover:not(.disabled) {\n background: ",";\n color: ",";\n }\n \n &.selected {\n background-color: ",";\n color: ",";\n box-shadow: inset 3px 0 0 ",";\n font-weight: 600;\n \n &:hover {\n background-color: ",";\n }\n }\n }\n \n /* Dark 主题 - 与 Menu.css 保持一致 */\n &.dark {\n color: rgba(255, 255, 255, 0.85);\n \n &:hover:not(.disabled) {\n background-color: rgba(255, 255, 255, 0.08);\n color: #fff;\n }\n \n &.selected {\n background-color: rgba(24, 144, 255, 0.25);\n color: #fff;\n box-shadow: inset 3px 0 0 ",";\n font-weight: 600;\n \n &:hover {\n background-color: rgba(24, 144, 255, 0.35);\n }\n }\n }\n }\n\n /* 子菜单样式 */\n .idp-menu-submenu {\n .idp-menu-item {\n margin: 2px 8px 2px 16px;\n }\n }\n\n /* Dark 主题下的子菜单样式 */\n .idp-menu-submenu.horizontal-popup,\n .idp-menu-submenu.horizontal-popup .idp-menu-submenu {\n background: linear-gradient(135deg, #001529 0%, #002140 100%);\n border: 1px solid #303030;\n }\n\n /* Dark 主题下子菜单中的菜单项 */\n .idp-menu-submenu .idp-menu-item.dark {\n color: rgba(255, 255, 255, 0.85);\n \n &:hover:not(.disabled) {\n background-color: rgba(255, 255, 255, 0.08);\n color: #fff;\n }\n \n &.selected {\n background-color: rgba(24, 144, 255, 0.25);\n color: #fff;\n }\n }\n"],["\n display: flex;\n flex-direction: column;\n background: ",";\n color: ",";\n z-index: ",";\n transition: ",";\n flex: ",";\n box-sizing: border-box;\n border-right: ",";\n box-shadow: ",";\n\n /* Sider 高度 = 浏览器高度 - Header 高度 */\n height: calc(100vh - var(--layout-header-height, 64px));\n min-height: calc(100vh - var(--layout-header-height, 64px));\n\n &.layout-sider {\n /* 外部可通过 .layout-sider 选择器覆盖样式 */\n }\n\n /* 让子元素占据剩余空间,使 trigger 可以固定在底部 */\n & > *:not(.layout-sider-trigger) {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n }\n\n ","\n\n ","\n\n /* ============================================\n 集成 Menu 组件样式 - 与 Menu.css 保持一致\n ============================================ */\n \n /* 覆盖 Menu 组件基础样式 */\n .idp-menu {\n background: transparent;\n }\n\n /* Menu 菜单项在 Sider 中的样式 - 覆盖默认样式 */\n .idp-menu-item {\n border-radius: ",";\n margin: 4px 8px;\n \n /* Light 主题 - 与 Menu.css 保持一致 */\n &.light {\n color: ",";\n \n &:hover:not(.disabled) {\n background: ",";\n color: ",";\n }\n \n &.selected {\n background-color: ",";\n color: ",";\n box-shadow: inset 3px 0 0 ",";\n font-weight: 600;\n \n &:hover {\n background-color: ",";\n }\n }\n }\n \n /* Dark 主题 - 与 Menu.css 保持一致 */\n &.dark {\n color: rgba(255, 255, 255, 0.85);\n \n &:hover:not(.disabled) {\n background-color: rgba(255, 255, 255, 0.08);\n color: #fff;\n }\n \n &.selected {\n background-color: rgba(24, 144, 255, 0.25);\n color: #fff;\n box-shadow: inset 3px 0 0 ",";\n font-weight: 600;\n \n &:hover {\n background-color: rgba(24, 144, 255, 0.35);\n }\n }\n }\n }\n\n /* 子菜单样式 */\n .idp-menu-submenu {\n .idp-menu-item {\n margin: 2px 8px 2px 16px;\n }\n }\n\n /* Dark 主题下的子菜单样式 */\n .idp-menu-submenu.horizontal-popup,\n .idp-menu-submenu.horizontal-popup .idp-menu-submenu {\n background: linear-gradient(135deg, #001529 0%, #002140 100%);\n border: 1px solid #303030;\n }\n\n /* Dark 主题下子菜单中的菜单项 */\n .idp-menu-submenu .idp-menu-item.dark {\n color: rgba(255, 255, 255, 0.85);\n \n &:hover:not(.disabled) {\n background-color: rgba(255, 255, 255, 0.08);\n color: #fff;\n }\n \n &.selected {\n background-color: rgba(24, 144, 255, 0.25);\n color: #fff;\n }\n }\n"])),function(n){return"dark"===n.$theme?"linear-gradient(180deg, ".concat(r("--layout-sider-bg-dark","#001529")," 0%, #002140 100%)"):"linear-gradient(180deg, ".concat(r("--layout-sider-bg-light","#fff")," 0%, ").concat(r("--idp-bg-color","#fafafa")," 100%)")},function(n){return"dark"===n.$theme?r("--layout-sider-color-dark","#fff"):r("--layout-sider-color-light","rgba(0, 0, 0, 0.85)")},r("--layout-sider-z-index","10"),r("--layout-sider-transition","all 0.2s ease-in-out"),r("--layout-sider-flex","0 0 200px"),function(n){return"dark"===n.$theme?"var(--layout-sider-border, 1px solid #303030)":"var(--layout-sider-border, 1px solid ".concat(r("--idp-border-color-light","#f0f0f0"),")")},function(n){return"dark"===n.$theme?"2px 0 8px rgba(0, 0, 0, 0.3)":r("--idp-shadow-sm","0 2px 8px rgba(0, 0, 0, 0.08)")},function(n){var o=n.$width,e=n.$collapsedWidth,t=n.$collapsed,a="number"==typeof o?"".concat(o,"px"):o||r("--layout-sider-width","200px"),i=void 0!==e?"".concat(e,"px"):r("--layout-sider-collapsed-width","64px");return"\n width: ".concat(t?i:a,";\n min-width: ").concat(t?i:a,";\n max-width: ").concat(t?i:a,";\n ")},function(n){return n.$fixed&&"\n position: fixed;\n top: ".concat(r("--layout-header-height","64px"),";\n left: 0;\n bottom: 0;\n overflow-y: auto;\n box-shadow: ").concat(r("--layout-sider-box-shadow","0 4px 12px rgba(0, 0, 0, 0.15)"),";\n ")},r("--idp-border-radius-sm","4px"),r("--idp-text-color","rgba(0, 0, 0, 0.85)"),r("--idp-primary-light-color","rgba(24, 144, 255, 0.06)"),r("--idp-primary-color","#1890ff"),r("--idp-primary-light-color","rgba(24, 144, 255, 0.12)"),r("--idp-primary-color","#1890ff"),r("--idp-primary-color","#1890ff"),r("--idp-primary-light-color","rgba(24, 144, 255, 0.18)"),r("--idp-primary-color","#1890ff")),i=o.div(g||(g=n(["\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n\n /* 内容过渡动画 */\n & > * {\n transition: all "," ease;\n }\n\n /* 收缩状态下的内容样式 */\n ","\n"],["\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n\n /* 内容过渡动画 */\n & > * {\n transition: all "," ease;\n }\n\n /* 收缩状态下的内容样式 */\n ","\n"])),r("--idp-transition-duration","0.2s"),function(n){return n.$collapsed&&"\n & > * {\n text-align: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n "}),d=o.div(p||(p=n(["\n display: flex;\n align-items: center;\n justify-content: center;\n height: ",";\n background: ",";\n color: ",";\n cursor: pointer;\n transition: ",";\n user-select: none;\n order: ",";\n\n &.layout-sider-trigger {\n /* 外部可通过 .layout-sider-trigger 选择器覆盖样式 */\n }\n\n &:hover {\n background: ",";\n color: ",";\n }\n\n /* 分割线 */\n ","\n\n ","\n\n /* 零宽度模式下,收缩时隐藏触发器 */\n ","\n"],["\n display: flex;\n align-items: center;\n justify-content: center;\n height: ",";\n background: ",";\n color: ",";\n cursor: pointer;\n transition: ",";\n user-select: none;\n order: ",";\n\n &.layout-sider-trigger {\n /* 外部可通过 .layout-sider-trigger 选择器覆盖样式 */\n }\n\n &:hover {\n background: ",";\n color: ",";\n }\n\n /* 分割线 */\n ","\n\n ","\n\n /* 零宽度模式下,收缩时隐藏触发器 */\n ","\n"])),r("--layout-trigger-height","48px"),function(n){return"dark"===n.$theme?"linear-gradient(135deg, ".concat(r("--layout-sider-bg-dark","#001529")," 0%, #002140 100%)"):"linear-gradient(135deg, ".concat(r("--layout-sider-bg-light","#fff")," 0%, ").concat(r("--idp-bg-color","#fafafa")," 100%)")},function(n){return"dark"===n.$theme?r("--layout-sider-color-dark","#fff"):r("--layout-sider-color-light","rgba(0, 0, 0, 0.85)")},r("--layout-trigger-transition","all 0.2s ease-in-out"),function(n){return"top"===n.$placement?"-1":"auto"},function(n){return"dark"===n.$theme?"linear-gradient(135deg, #002140 0%, ".concat(r("--idp-primary-color","#1890ff")," 100%)"):"linear-gradient(135deg, ".concat(r("--idp-primary-light-color","rgba(24, 100, 240, 0.1)")," 0%, ").concat(r("--idp-bg-color-light","#f5f5f5")," 100%)")},function(n){return"dark"===n.$theme?"#fff":r("--idp-primary-color","#1890ff")},function(n){var o=n.$placement,e=n.$theme;return"top"===o&&"\n border-bottom: 1px solid ".concat("dark"===e?"#303030":r("--idp-border-color-light","#f0f0f0"),";\n ")},function(n){var o=n.$placement,e=n.$theme;return"top"!==o&&"\n border-top: 1px solid ".concat("dark"===e?"#303030":r("--idp-border-color-light","#f0f0f0"),";\n ")},function(n){var o=n.$zeroWidthMode,r=n.$collapsed;return o&&r&&"\n display: none;\n "}),l=o.div(f||(f=n(["\n position: absolute;\n top: 16px;\n left: 16px;\n width: 40px;\n height: 40px;\n border-radius: 50%;\n background: linear-gradient(135deg, "," 0%, "," 100%);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n box-shadow: ",";\n z-index: 100;\n transition: all "," ",";\n\n &:hover {\n background: linear-gradient(135deg, "," 0%, #69c0ff 100%);\n box-shadow: ",";\n transform: scale(1.05);\n }\n\n &:active {\n transform: scale(0.95);\n box-shadow: ",";\n }\n"],["\n position: absolute;\n top: 16px;\n left: 16px;\n width: 40px;\n height: 40px;\n border-radius: 50%;\n background: linear-gradient(135deg, "," 0%, "," 100%);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n box-shadow: ",";\n z-index: 100;\n transition: all "," ",";\n\n &:hover {\n background: linear-gradient(135deg, "," 0%, #69c0ff 100%);\n box-shadow: ",";\n transform: scale(1.05);\n }\n\n &:active {\n transform: scale(0.95);\n box-shadow: ",";\n }\n"])),r("--idp-primary-color","#1890ff"),r("--idp-primary-hover-color","#40a9ff"),r("--idp-shadow-sm","0 2px 8px rgba(0, 0, 0, 0.15)"),r("--idp-transition-duration","0.2s"),r("--idp-transition-timing-function","ease-in-out"),r("--idp-primary-hover-color","#40a9ff"),r("--idp-shadow-md","0 4px 12px rgba(0, 0, 0, 0.25)"),r("--idp-shadow-extra-light","0 2px 8px rgba(0, 0, 0, 0.08)"));o.div(b||(b=n(["\n display: flex;\n flex: 1;\n flex-direction: column;\n overflow: hidden;\n\n ","\n"],["\n display: flex;\n flex: 1;\n flex-direction: column;\n overflow: hidden;\n\n ","\n"])),function(n){return n.$hasSider&&"\n flex-direction: row;\n "});var c,u,s,g,p,f,b,h,x,m=o.main(h||(h=n(["\n flex: 1;\n padding: ",";\n background: ",";\n min-height: ",";\n transition: ",";\n overflow-y: auto;\n box-sizing: border-box;\n position: relative;\n\n &.layout-content {\n /* 外部可通过 .layout-content 选择器覆盖样式 */\n }\n\n ","\n\n /* 滚动条样式 */\n &::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n\n &::-webkit-scrollbar-track {\n background: transparent;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: ",";\n border-radius: ",";\n transition: background-color "," ease;\n }\n\n &::-webkit-scrollbar-thumb:hover {\n background-color: ",";\n }\n\n /* Dark 主题滚动条样式 */\n ","\n"],["\n flex: 1;\n padding: ",";\n background: ",";\n min-height: ",";\n transition: ",";\n overflow-y: auto;\n box-sizing: border-box;\n position: relative;\n\n &.layout-content {\n /* 外部可通过 .layout-content 选择器覆盖样式 */\n }\n\n ","\n\n /* 滚动条样式 */\n &::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n\n &::-webkit-scrollbar-track {\n background: transparent;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: ",";\n border-radius: ",";\n transition: background-color "," ease;\n }\n\n &::-webkit-scrollbar-thumb:hover {\n background-color: ",";\n }\n\n /* Dark 主题滚动条样式 */\n ","\n"])),r("--layout-content-padding","24px"),r("--layout-content-bg","transparent"),r("--layout-content-min-height","280px"),r("--layout-content-transition","all 0.2s ease-in-out"),function(n){return n.$fixed&&"\n overflow-y: auto;\n "},r("--idp-border-color-extra-light","#d9d9d9"),r("--idp-border-radius-sm","4px"),r("--idp-transition-duration","0.2s"),r("--idp-text-color-tertiary","rgba(0, 0, 0, 0.45)"),function(n){return"dark"===n.$theme&&"\n &::-webkit-scrollbar-thumb {\n background-color: color-mix(in srgb, ".concat(r("--idp-primary-color","#1890ff")," 50%, transparent);\n }\n\n &::-webkit-scrollbar-thumb:hover {\n background-color: color-mix(in srgb, ").concat(r("--idp-primary-color","#1890ff")," 70%, transparent);\n }\n\n scrollbar-width: thin;\n scrollbar-color: color-mix(in srgb, ").concat(r("--idp-primary-color","#1890ff")," 50%, transparent) transparent;\n ")}),y=o.footer(x||(x=n(["\n display: flex;\n align-items: center;\n flex-shrink: 0;\n padding: ",";\n background: ",";\n color: ",";\n height: ",";\n border-top: ",";\n z-index: ",";\n transition: ",";\n box-sizing: border-box;\n\n &.layout-footer {\n /* 外部可通过 .layout-footer 选择器覆盖样式 */\n }\n\n ","\n"],["\n display: flex;\n align-items: center;\n flex-shrink: 0;\n padding: ",";\n background: ",";\n color: ",";\n height: ",";\n border-top: ",";\n z-index: ",";\n transition: ",";\n box-sizing: border-box;\n\n &.layout-footer {\n /* 外部可通过 .layout-footer 选择器覆盖样式 */\n }\n\n ","\n"])),r("--layout-footer-padding","24px 50px"),function(n){return"dark"===n.$theme?"linear-gradient(135deg, ".concat(r("--layout-footer-bg-dark","#001529")," 0%, #002140 100%)"):"linear-gradient(135deg, ".concat(r("--layout-footer-bg-light","#fff")," 0%, ").concat(r("--idp-bg-color","#fafafa")," 100%)")},function(n){return"dark"===n.$theme?r("--layout-footer-color-dark","#fff"):r("--layout-footer-color-light","rgba(0, 0, 0, 0.85)")},function(n){var o=n.$height;return"number"==typeof o?"".concat(o,"px"):o||r("--layout-footer-height","48px")},function(n){return"dark"===n.$theme?"var(--layout-footer-border, 1px solid #303030)":"var(--layout-footer-border, 1px solid ".concat(r("--idp-border-color-light","#f0f0f0"),")")},r("--layout-footer-z-index","10"),r("--layout-footer-transition","all 0.2s ease-in-out"),function(n){return n.$fixed&&"\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15);\n "});export{m as ContentWrapper,y as FooterWrapper,t as HeaderWrapper,e as LayoutWrapper,i as SiderContentWrapper,d as SiderTrigger,a as SiderWrapper,l as ZeroWidthTriggerInContent};
1
+ import{__makeTemplateObject as n}from"../node_modules/tslib/tslib.es6.js";import o from"styled-components";var r=function(n,o){return"var(".concat(n,", ").concat(o,")")},e=o.div(c||(c=n(["\n display: flex;\n flex-direction: column;\n min-height: ",";\n max-height: 100vh;\n background: ",";\n box-sizing: border-box;\n position: relative;\n overflow: hidden;\n flex: 1;\n\n &.layout-wrapper {\n /* 外部可通过 .layout-wrapper 选择器覆盖样式 */\n }\n\n ","\n"],["\n display: flex;\n flex-direction: column;\n min-height: ",";\n max-height: 100vh;\n background: ",";\n box-sizing: border-box;\n position: relative;\n overflow: hidden;\n flex: 1;\n\n &.layout-wrapper {\n /* 外部可通过 .layout-wrapper 选择器覆盖样式 */\n }\n\n ","\n"])),r("--layout-min-height","100vh"),function(n){return"dark"===n.$theme?"linear-gradient(180deg, ".concat(r("--layout-bg-dark","#000")," 0%, ").concat(r("--idp-text-color","rgba(0, 0, 0, 0.85)")," 100%)"):"linear-gradient(180deg, ".concat(r("--layout-bg-light","#f5f5f5")," 0%, ").concat(r("--idp-bg-color","#fafafa")," 100%)")},function(n){return n.$hasSider&&"\n flex-direction: row;\n "}),t=o.header(u||(u=n(["\n display: flex;\n align-items: center;\n flex-shrink: 0;\n padding: ",";\n background: ",";\n color: ",";\n height: ",";\n z-index: ",";\n transition: ",";\n box-sizing: border-box;\n\n &.layout-header-light {\n border-bottom: ",";\n }\n\n &.layout-header-dark {\n border-bottom: 1px solid transparent;\n }\n\n &.layout-header {\n /* 外部可通过 .layout-header 选择器覆盖样式 */\n }\n\n ","\n"],["\n display: flex;\n align-items: center;\n flex-shrink: 0;\n padding: ",";\n background: ",";\n color: ",";\n height: ",";\n z-index: ",";\n transition: ",";\n box-sizing: border-box;\n\n &.layout-header-light {\n border-bottom: ",";\n }\n\n &.layout-header-dark {\n border-bottom: 1px solid transparent;\n }\n\n &.layout-header {\n /* 外部可通过 .layout-header 选择器覆盖样式 */\n }\n\n ","\n"])),r("--layout-header-padding","0 24px"),function(n){return"dark"===n.$theme?"linear-gradient(135deg, ".concat(r("--layout-header-bg-dark","#001529")," 0%, #002140 100%)"):"linear-gradient(135deg, ".concat(r("--layout-header-bg-light","#fff")," 0%, ").concat(r("--idp-bg-color","#fafafa")," 100%)")},function(n){return"dark"===n.$theme?r("--layout-header-color-dark","#fff"):r("--layout-header-color-light","rgba(0, 0, 0, 0.85)")},function(n){var o=n.$height;return"number"==typeof o?"".concat(o,"px"):o||r("--layout-header-height","64px")},r("--layout-header-z-index","10"),r("--layout-header-transition","all 0.2s ease-in-out"),function(n){var o=n.$bgColor;return"1px solid ".concat(o)},function(n){return n.$fixed&&"\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n box-shadow: ".concat(r("--layout-header-box-shadow","0 2px 8px rgba(0, 0, 0, 0.15)"),";\n ")}),a=o.aside(s||(s=n(["\n display: flex;\n flex-direction: column;\n background: ",";\n color: ",";\n z-index: ",";\n transition: ",";\n flex: ",";\n box-sizing: border-box;\n border-right: ",";\n box-shadow: ",";\n\n /* Sider 高度 = 浏览器高度 - Header 高度 */\n height: calc(100vh - var(--layout-header-height, 64px));\n min-height: calc(100vh - var(--layout-header-height, 64px));\n\n &.layout-sider {\n /* 外部可通过 .layout-sider 选择器覆盖样式 */\n }\n\n /* 让子元素占据剩余空间,使 trigger 可以固定在底部 */\n & > *:not(.layout-sider-trigger) {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n }\n\n ","\n\n ","\n\n /* ============================================\n 集成 Menu 组件样式 - 与 Menu.css 保持一致\n ============================================ */\n \n /* 覆盖 Menu 组件基础样式 */\n .idp-menu {\n background: transparent;\n }\n\n /* Menu 菜单项在 Sider 中的样式 - 覆盖默认样式 */\n .idp-menu-item {\n border-radius: ",";\n margin: 4px 8px;\n \n /* Light 主题 - 与 Menu.css 保持一致 */\n &.light {\n color: ",";\n \n &:hover:not(.disabled) {\n background: ",";\n color: ",";\n }\n \n &.selected {\n background-color: ",";\n color: ",";\n box-shadow: inset 3px 0 0 ",";\n font-weight: 600;\n \n &:hover {\n background-color: ",";\n }\n }\n }\n \n /* Dark 主题 - 与 Menu.css 保持一致 */\n &.dark {\n color: rgba(255, 255, 255, 0.85);\n \n &:hover:not(.disabled) {\n background-color: rgba(255, 255, 255, 0.08);\n color: #fff;\n }\n \n &.selected {\n background-color: rgba(24, 144, 255, 0.25);\n color: #fff;\n box-shadow: inset 3px 0 0 ",";\n font-weight: 600;\n \n &:hover {\n background-color: rgba(24, 144, 255, 0.35);\n }\n }\n }\n }\n\n /* 子菜单样式 */\n .idp-menu-submenu {\n .idp-menu-item {\n margin: 0px;\n }\n }\n\n /* Dark 主题下的子菜单样式 */\n .idp-menu-submenu.horizontal-popup,\n .idp-menu-submenu.horizontal-popup .idp-menu-submenu {\n background: linear-gradient(135deg, #001529 0%, #002140 100%);\n border: 1px solid #303030;\n }\n\n /* Dark 主题下子菜单中的菜单项 */\n .idp-menu-submenu .idp-menu-item.dark {\n color: rgba(255, 255, 255, 0.85);\n \n &:hover:not(.disabled) {\n background-color: rgba(255, 255, 255, 0.08);\n color: #fff;\n }\n \n &.selected {\n background-color: rgba(24, 144, 255, 0.25);\n color: #fff;\n }\n }\n"],["\n display: flex;\n flex-direction: column;\n background: ",";\n color: ",";\n z-index: ",";\n transition: ",";\n flex: ",";\n box-sizing: border-box;\n border-right: ",";\n box-shadow: ",";\n\n /* Sider 高度 = 浏览器高度 - Header 高度 */\n height: calc(100vh - var(--layout-header-height, 64px));\n min-height: calc(100vh - var(--layout-header-height, 64px));\n\n &.layout-sider {\n /* 外部可通过 .layout-sider 选择器覆盖样式 */\n }\n\n /* 让子元素占据剩余空间,使 trigger 可以固定在底部 */\n & > *:not(.layout-sider-trigger) {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n }\n\n ","\n\n ","\n\n /* ============================================\n 集成 Menu 组件样式 - 与 Menu.css 保持一致\n ============================================ */\n \n /* 覆盖 Menu 组件基础样式 */\n .idp-menu {\n background: transparent;\n }\n\n /* Menu 菜单项在 Sider 中的样式 - 覆盖默认样式 */\n .idp-menu-item {\n border-radius: ",";\n margin: 4px 8px;\n \n /* Light 主题 - 与 Menu.css 保持一致 */\n &.light {\n color: ",";\n \n &:hover:not(.disabled) {\n background: ",";\n color: ",";\n }\n \n &.selected {\n background-color: ",";\n color: ",";\n box-shadow: inset 3px 0 0 ",";\n font-weight: 600;\n \n &:hover {\n background-color: ",";\n }\n }\n }\n \n /* Dark 主题 - 与 Menu.css 保持一致 */\n &.dark {\n color: rgba(255, 255, 255, 0.85);\n \n &:hover:not(.disabled) {\n background-color: rgba(255, 255, 255, 0.08);\n color: #fff;\n }\n \n &.selected {\n background-color: rgba(24, 144, 255, 0.25);\n color: #fff;\n box-shadow: inset 3px 0 0 ",";\n font-weight: 600;\n \n &:hover {\n background-color: rgba(24, 144, 255, 0.35);\n }\n }\n }\n }\n\n /* 子菜单样式 */\n .idp-menu-submenu {\n .idp-menu-item {\n margin: 0px;\n }\n }\n\n /* Dark 主题下的子菜单样式 */\n .idp-menu-submenu.horizontal-popup,\n .idp-menu-submenu.horizontal-popup .idp-menu-submenu {\n background: linear-gradient(135deg, #001529 0%, #002140 100%);\n border: 1px solid #303030;\n }\n\n /* Dark 主题下子菜单中的菜单项 */\n .idp-menu-submenu .idp-menu-item.dark {\n color: rgba(255, 255, 255, 0.85);\n \n &:hover:not(.disabled) {\n background-color: rgba(255, 255, 255, 0.08);\n color: #fff;\n }\n \n &.selected {\n background-color: rgba(24, 144, 255, 0.25);\n color: #fff;\n }\n }\n"])),function(n){return"dark"===n.$theme?"linear-gradient(180deg, ".concat(r("--layout-sider-bg-dark","#001529")," 0%, #002140 100%)"):"linear-gradient(180deg, ".concat(r("--layout-sider-bg-light","#fff")," 0%, ").concat(r("--idp-bg-color","#fafafa")," 100%)")},function(n){return"dark"===n.$theme?r("--layout-sider-color-dark","#fff"):r("--layout-sider-color-light","rgba(0, 0, 0, 0.85)")},r("--layout-sider-z-index","10"),r("--layout-sider-transition","all 0.2s ease-in-out"),r("--layout-sider-flex","0 0 200px"),function(n){return"dark"===n.$theme?"var(--layout-sider-border, 1px solid #303030)":"var(--layout-sider-border, 1px solid ".concat(r("--idp-border-color-light","#f0f0f0"),")")},function(n){return"dark"===n.$theme?"2px 0 8px rgba(0, 0, 0, 0.3)":r("--idp-shadow-sm","0 2px 8px rgba(0, 0, 0, 0.08)")},function(n){var o=n.$width,e=n.$collapsedWidth,t=n.$collapsed,a="number"==typeof o?"".concat(o,"px"):o||r("--layout-sider-width","200px"),i=void 0!==e?"".concat(e,"px"):r("--layout-sider-collapsed-width","64px");return"\n width: ".concat(t?i:a,";\n min-width: ").concat(t?i:a,";\n max-width: ").concat(t?i:a,";\n ")},function(n){return n.$fixed&&"\n position: fixed;\n top: ".concat(r("--layout-header-height","64px"),";\n left: 0;\n bottom: 0;\n overflow-y: auto;\n box-shadow: ").concat(r("--layout-sider-box-shadow","0 4px 12px rgba(0, 0, 0, 0.15)"),";\n ")},r("--idp-border-radius-sm","4px"),r("--idp-text-color","rgba(0, 0, 0, 0.85)"),r("--idp-primary-light-color","rgba(24, 144, 255, 0.06)"),r("--idp-primary-color","#1890ff"),r("--idp-primary-light-color","rgba(24, 144, 255, 0.12)"),r("--idp-primary-color","#1890ff"),r("--idp-primary-color","#1890ff"),r("--idp-primary-light-color","rgba(24, 144, 255, 0.18)"),r("--idp-primary-color","#1890ff")),i=o.div(g||(g=n(["\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n\n /* 内容过渡动画 */\n & > * {\n transition: all "," ease;\n }\n\n /* 收缩状态下的内容样式 */\n ","\n"],["\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n\n /* 内容过渡动画 */\n & > * {\n transition: all "," ease;\n }\n\n /* 收缩状态下的内容样式 */\n ","\n"])),r("--idp-transition-duration","0.2s"),function(n){return n.$collapsed&&"\n & > * {\n text-align: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n "}),d=o.div(f||(f=n(["\n display: flex;\n align-items: center;\n justify-content: center;\n height: ",";\n background: ",";\n color: ",";\n cursor: pointer;\n transition: ",";\n user-select: none;\n order: ",";\n\n &.layout-sider-trigger {\n /* 外部可通过 .layout-sider-trigger 选择器覆盖样式 */\n }\n\n &:hover {\n background: ",";\n color: ",";\n }\n\n /* 分割线 */\n ","\n\n ","\n\n /* 零宽度模式下,收缩时隐藏触发器 */\n ","\n"],["\n display: flex;\n align-items: center;\n justify-content: center;\n height: ",";\n background: ",";\n color: ",";\n cursor: pointer;\n transition: ",";\n user-select: none;\n order: ",";\n\n &.layout-sider-trigger {\n /* 外部可通过 .layout-sider-trigger 选择器覆盖样式 */\n }\n\n &:hover {\n background: ",";\n color: ",";\n }\n\n /* 分割线 */\n ","\n\n ","\n\n /* 零宽度模式下,收缩时隐藏触发器 */\n ","\n"])),r("--layout-trigger-height","48px"),function(n){return"dark"===n.$theme?"linear-gradient(135deg, ".concat(r("--layout-sider-bg-dark","#001529")," 0%, #002140 100%)"):"linear-gradient(135deg, ".concat(r("--layout-sider-bg-light","#fff")," 0%, ").concat(r("--idp-bg-color","#fafafa")," 100%)")},function(n){return"dark"===n.$theme?r("--layout-sider-color-dark","#fff"):r("--layout-sider-color-light","rgba(0, 0, 0, 0.85)")},r("--layout-trigger-transition","all 0.2s ease-in-out"),function(n){return"top"===n.$placement?"-1":"auto"},function(n){return"dark"===n.$theme?"linear-gradient(135deg, #002140 0%, ".concat(r("--idp-primary-color","#1890ff")," 100%)"):"linear-gradient(135deg, ".concat(r("--idp-primary-light-color","rgba(24, 100, 240, 0.1)")," 0%, ").concat(r("--idp-bg-color-light","#f5f5f5")," 100%)")},function(n){return"dark"===n.$theme?"#fff":r("--idp-primary-color","#1890ff")},function(n){var o=n.$placement,e=n.$theme;return"top"===o&&"\n border-bottom: 1px solid ".concat("dark"===e?"#303030":r("--idp-border-color-light","#f0f0f0"),";\n ")},function(n){var o=n.$placement,e=n.$theme;return"top"!==o&&"\n border-top: 1px solid ".concat("dark"===e?"#303030":r("--idp-border-color-light","#f0f0f0"),";\n ")},function(n){var o=n.$zeroWidthMode,r=n.$collapsed;return o&&r&&"\n display: none;\n "}),l=o.div(p||(p=n(["\n position: absolute;\n top: 16px;\n left: 16px;\n width: 40px;\n height: 40px;\n border-radius: 50%;\n background: linear-gradient(135deg, "," 0%, "," 100%);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n box-shadow: ",";\n z-index: 100;\n transition: all "," ",";\n\n &:hover {\n background: linear-gradient(135deg, "," 0%, #69c0ff 100%);\n box-shadow: ",";\n transform: scale(1.05);\n }\n\n &:active {\n transform: scale(0.95);\n box-shadow: ",";\n }\n"],["\n position: absolute;\n top: 16px;\n left: 16px;\n width: 40px;\n height: 40px;\n border-radius: 50%;\n background: linear-gradient(135deg, "," 0%, "," 100%);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n box-shadow: ",";\n z-index: 100;\n transition: all "," ",";\n\n &:hover {\n background: linear-gradient(135deg, "," 0%, #69c0ff 100%);\n box-shadow: ",";\n transform: scale(1.05);\n }\n\n &:active {\n transform: scale(0.95);\n box-shadow: ",";\n }\n"])),r("--idp-primary-color","#1890ff"),r("--idp-primary-hover-color","#40a9ff"),r("--idp-shadow-sm","0 2px 8px rgba(0, 0, 0, 0.15)"),r("--idp-transition-duration","0.2s"),r("--idp-transition-timing-function","ease-in-out"),r("--idp-primary-hover-color","#40a9ff"),r("--idp-shadow-md","0 4px 12px rgba(0, 0, 0, 0.25)"),r("--idp-shadow-extra-light","0 2px 8px rgba(0, 0, 0, 0.08)"));o.div(b||(b=n(["\n display: flex;\n flex: 1;\n flex-direction: column;\n overflow: hidden;\n\n ","\n"],["\n display: flex;\n flex: 1;\n flex-direction: column;\n overflow: hidden;\n\n ","\n"])),function(n){return n.$hasSider&&"\n flex-direction: row;\n "});var c,u,s,g,f,p,b,h,x,m=o.main(h||(h=n(["\n flex: 1;\n padding: ",";\n background: ",";\n min-height: ",";\n transition: ",";\n overflow-y: auto;\n box-sizing: border-box;\n position: relative;\n\n &.layout-content {\n /* 外部可通过 .layout-content 选择器覆盖样式 */\n }\n\n ","\n\n /* 滚动条样式 */\n &::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n\n &::-webkit-scrollbar-track {\n background: transparent;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: ",";\n border-radius: ",";\n transition: background-color "," ease;\n }\n\n &::-webkit-scrollbar-thumb:hover {\n background-color: ",";\n }\n\n /* Dark 主题滚动条样式 */\n ","\n"],["\n flex: 1;\n padding: ",";\n background: ",";\n min-height: ",";\n transition: ",";\n overflow-y: auto;\n box-sizing: border-box;\n position: relative;\n\n &.layout-content {\n /* 外部可通过 .layout-content 选择器覆盖样式 */\n }\n\n ","\n\n /* 滚动条样式 */\n &::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n\n &::-webkit-scrollbar-track {\n background: transparent;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: ",";\n border-radius: ",";\n transition: background-color "," ease;\n }\n\n &::-webkit-scrollbar-thumb:hover {\n background-color: ",";\n }\n\n /* Dark 主题滚动条样式 */\n ","\n"])),r("--layout-content-padding","24px"),r("--layout-content-bg","transparent"),r("--layout-content-min-height","280px"),r("--layout-content-transition","all 0.2s ease-in-out"),function(n){return n.$fixed&&"\n overflow-y: auto;\n "},r("--idp-border-color-extra-light","#d9d9d9"),r("--idp-border-radius-sm","4px"),r("--idp-transition-duration","0.2s"),r("--idp-text-color-tertiary","rgba(0, 0, 0, 0.45)"),function(n){return"dark"===n.$theme&&"\n &::-webkit-scrollbar-thumb {\n background-color: color-mix(in srgb, ".concat(r("--idp-primary-color","#1890ff")," 50%, transparent);\n }\n\n &::-webkit-scrollbar-thumb:hover {\n background-color: color-mix(in srgb, ").concat(r("--idp-primary-color","#1890ff")," 70%, transparent);\n }\n\n scrollbar-width: thin;\n scrollbar-color: color-mix(in srgb, ").concat(r("--idp-primary-color","#1890ff")," 50%, transparent) transparent;\n ")}),y=o.footer(x||(x=n(["\n display: flex;\n align-items: center;\n flex-shrink: 0;\n padding: ",";\n background: ",";\n color: ",";\n height: ",";\n border-top: ",";\n z-index: ",";\n transition: ",";\n box-sizing: border-box;\n\n &.layout-footer {\n /* 外部可通过 .layout-footer 选择器覆盖样式 */\n }\n\n ","\n"],["\n display: flex;\n align-items: center;\n flex-shrink: 0;\n padding: ",";\n background: ",";\n color: ",";\n height: ",";\n border-top: ",";\n z-index: ",";\n transition: ",";\n box-sizing: border-box;\n\n &.layout-footer {\n /* 外部可通过 .layout-footer 选择器覆盖样式 */\n }\n\n ","\n"])),r("--layout-footer-padding","24px 50px"),function(n){return"dark"===n.$theme?"linear-gradient(135deg, ".concat(r("--layout-footer-bg-dark","#001529")," 0%, #002140 100%)"):"linear-gradient(135deg, ".concat(r("--layout-footer-bg-light","#fff")," 0%, ").concat(r("--idp-bg-color","#fafafa")," 100%)")},function(n){return"dark"===n.$theme?r("--layout-footer-color-dark","#fff"):r("--layout-footer-color-light","rgba(0, 0, 0, 0.85)")},function(n){var o=n.$height;return"number"==typeof o?"".concat(o,"px"):o||r("--layout-footer-height","48px")},function(n){return"dark"===n.$theme?"var(--layout-footer-border, 1px solid #303030)":"var(--layout-footer-border, 1px solid ".concat(r("--idp-border-color-light","#f0f0f0"),")")},r("--layout-footer-z-index","10"),r("--layout-footer-transition","all 0.2s ease-in-out"),function(n){return n.$fixed&&"\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15);\n "});export{m as ContentWrapper,y as FooterWrapper,t as HeaderWrapper,e as LayoutWrapper,i as SiderContentWrapper,d as SiderTrigger,a as SiderWrapper,l as ZeroWidthTriggerInContent};
@@ -1 +1 @@
1
- import{__spreadArray as e}from"../node_modules/tslib/tslib.es6.js";import{jsxs as n,jsx as i}from"react/jsx-runtime";import t,{useCallback as l,useRef as o,useState as c,useMemo as a,useEffect as r}from"react";import{useClickOutside as d}from"../Hooks/useClickOutside.js";var s=t.memo(function(e){var t,o,a,d,m=e.item,u=e.level,p=e.mode,h=e.collapsed,v=e.theme,f=e.openKeySet,g=e.selectedKey,y=e.onItemClick,b=e.onToggleOpen,N=!!m.children&&m.children.length>0,k=f.has(m.key),C=g===m.key,K="horizontal"===p,w="inline"===p,z="vertical-flat"===p,O=0===u,S=l(function(e){e.stopPropagation(),m.disabled||(N&&!z&&b(m.key),z&&N||y(m,m.key))},[m,y,b,N,z]),T=K&&O?16:w?12+24*u:h?0:12+16*u,x=k&&(!h||K),A=function(e){var n=c(e),i=n[0],t=n[1],l=c(e),o=l[0],a=l[1];return r(function(){var n;return e?(a(!0),n=requestAnimationFrame(function(){t(!0)})):(t(!1),n=setTimeout(function(){a(!1)},150)),function(){"number"==typeof n?cancelAnimationFrame(n):clearTimeout(n)}},[e]),{isVisible:i,shouldRender:o}}(x&&K&&O),I=A.isVisible,j=A.shouldRender,F=N&&(!h||!O)&&!z,H=v||"light";return n("div",{className:"idp-menu-item-wrapper ".concat(O?"root":""),children:[i("div",{className:"\n idp-menu-item\n ".concat(C?"selected":"","\n ").concat(m.disabled?"disabled":"","\n ").concat(N?"has-children":"","\n ").concat(O?"root":"","\n ").concat(h&&O?"collapsed":"","\n ").concat(p,"\n ").concat(H,"\n "),style:{paddingLeft:T},title:h&&O?m.label:void 0,onClick:S,children:n("div",{className:"idp-menu-item-content",children:[m.icon&&i("span",{className:"idp-menu-item-icon ".concat(h&&O?"collapsed":""),children:m.icon}),(!h||!O)&&n("div",{className:"idp-menu-item-text",children:[i("span",{className:"idp-menu-item-label",children:m.label}),m.description&&!N&&i("span",{className:"idp-menu-item-description",children:m.description})]}),h&&O&&!m.icon&&i("span",{className:"idp-menu-item-collapsed-label",children:(d=m.label,d.charAt(0).toUpperCase())}),F&&i("span",{className:"idp-menu-item-arrow ".concat(x?"open":""," ").concat(p),children:i("svg",{viewBox:"0 0 1024 1024",width:"10",height:"10",fill:"currentColor",children:i("path",{d:"M840.4 300H183.6c-19.7 0-30.7 25.7-18.5 40.5l328.4 402.4c9.4 11.6 26.7 11.6 36.1 0l328.4-402.4c12.2-14.8 1.2-40.5-18.5-40.5z"})})})]})}),N&&(!K||!O||j)&&i("div",{className:"idp-menu-submenu-wrapper ".concat(p," ").concat(K&&O?"horizontal-popup-wrapper":""," ").concat(z?"vertical-flat":""),children:i("div",{className:"idp-menu-submenu ".concat((o=K&&O?"horizontal-popup":"",a=w&&x?"open inline":"",z?"open vertical-flat":K&&O?"".concat(K&&O?I?"open":"":x?"open":""," ").concat(o).trim():w?a:x?"open":"")," ").concat(p),children:i("div",{className:"idp-menu-submenu-content",children:null===(t=m.children)||void 0===t?void 0:t.map(function(e){return i(s,{item:e,level:u+1,mode:p,collapsed:h,theme:v,openKeySet:f,selectedKey:g,onItemClick:y,onToggleOpen:b},e.key)})})})})]})});s.displayName="MenuItemComponent";var m=function(n){var t=n.mode,m=void 0===t?"vertical":t,u=n.items,p=n.className,h=void 0===p?"":p,v=n.style,f=n.selectedKey,g=n.defaultOpenKeys,y=void 0===g?[]:g,b=n.openKeys,N=n.collapsed,k=void 0!==N&&N,C=n.open,K=n.theme,w=void 0===K?"light":K,z=n.onChange,O=n.onOpenChange,S=o(null),T=c(!0)[0],x=c(y),A=x[0],I=x[1],j=c(""),F=j[0],H=j[1],M=void 0!==b,R=void 0!==f,V=M?b:A,q=R?f:F,B=void 0!==C?C:T,L=a(function(){return new Set(V)},[V]);r(function(){void 0!==f&&H(f)},[f]),r(function(){if(q&&!M&&"horizontal"!==m&&"vertical-flat"!==m){var n=function(i,t,l){void 0===l&&(l=[]);for(var o=0,c=i;o<c.length;o++){var a=c[o];if(a.key===t)return l;if(a.children&&a.children.length>0){var r=n(a.children,t,e(e([],l,!0),[a.key],!1));if(r.length>0)return r}}return[]},i=n(u,q);i.length>0&&I(function(n){var t=new Set(e(e([],n,!0),i,!0));return Array.from(t)})}},[q,u,M,m]);var P=l(function(e,n){R||H(n),null==z||z(e,n),"horizontal"===m&&(!e.children||0===e.children.length)&&V.length>0&&(M||I([]),null==O||O([]))},[z,R,m,V.length,M,O]),U=l(function(n){if(M){var i=L.has(n)?V.filter(function(e){return e!==n}):e(e([],V,!0),[n],!1);null==O||O(i)}else I(function(i){var t=i.includes(n)?i.filter(function(e){return e!==n}):e(e([],i,!0),[n],!1);return null==O||O(t),t})},[L,V,M,O]),_="horizontal"!==m&&k;return d(S,l(function(){"horizontal"===m&&V.length>0&&(M||I([]),null==O||O([]))},[m,V.length,M,O])),B?i("div",{ref:S,className:"idp-menu idp-menu-".concat(w," idp-menu-").concat(m," ").concat(_?"collapsed":""," ").concat(h),style:v,role:"menu",children:u.map(function(e){return i(s,{item:e,level:0,mode:m,collapsed:_,theme:w,openKeySet:L,selectedKey:q,onItemClick:P,onToggleOpen:U},e.key)})}):null};export{m as default};
1
+ import{__spreadArray as e}from"../node_modules/tslib/tslib.es6.js";import{jsxs as n,jsx as i,Fragment as t}from"react/jsx-runtime";import l,{useCallback as o,useRef as c,useState as a,useMemo as r,useEffect as d}from"react";import{useClickOutside as s}from"../Hooks/useClickOutside.js";var m=l.memo(function(e){var l,c,r,s,u=e.item,p=e.level,h=e.mode,v=e.collapsed,f=e.theme,g=e.openKeySet,y=e.selectedKey,b=e.onItemClick,N=e.onToggleOpen,k=!!u.children&&u.children.length>0,C=g.has(u.key),K=y===u.key,w="horizontal"===h,z="inline"===h,O="vertical-flat"===h,S=0===p,T=o(function(e){e.stopPropagation(),u.disabled||(k&&!O&&N(u.key),O&&k||b(u,u.key))},[u,b,N,k,O]),x=w&&S?16:z?12+24*p:v?0:12+16*p,A=C&&(!v||w),I=function(e){var n=a(e),i=n[0],t=n[1],l=a(e),o=l[0],c=l[1];return d(function(){var n;return e?(c(!0),n=requestAnimationFrame(function(){t(!0)})):(t(!1),n=setTimeout(function(){c(!1)},150)),function(){"number"==typeof n?cancelAnimationFrame(n):clearTimeout(n)}},[e]),{isVisible:i,shouldRender:o}}(A&&w&&S),j=I.isVisible,F=I.shouldRender,H=k&&(!v||!S)&&!O,M=f||"light";return n("div",{className:"idp-menu-item-wrapper ".concat(S?"root":""),children:[i("div",{className:"\n idp-menu-item\n ".concat(K?"selected":"","\n ").concat(u.disabled?"disabled":"","\n ").concat(k?"has-children":"","\n ").concat(S?"root":"","\n ").concat(v&&S?"collapsed":"","\n ").concat(h,"\n ").concat(M,"\n "),style:{paddingLeft:x},title:v&&S?u.label:void 0,onClick:T,children:n("div",{className:"idp-menu-item-content",children:[v?i(t,{children:u.icon?i("span",{className:"idp-menu-item-icon collapsed",children:u.icon}):i("span",{className:"idp-menu-item-collapsed-label",children:(s=u.label,s.charAt(0).toUpperCase())})}):n(t,{children:[u.icon&&i("span",{className:"idp-menu-item-icon",children:u.icon}),n("div",{className:"idp-menu-item-text",children:[i("span",{className:"idp-menu-item-label",children:u.label}),u.description&&!k&&i("span",{className:"idp-menu-item-description",children:u.description})]})]}),H&&i("span",{className:"idp-menu-item-arrow ".concat(A?"open":""," ").concat(h),children:i("svg",{viewBox:"0 0 1024 1024",width:"10",height:"10",fill:"currentColor",children:i("path",{d:"M840.4 300H183.6c-19.7 0-30.7 25.7-18.5 40.5l328.4 402.4c9.4 11.6 26.7 11.6 36.1 0l328.4-402.4c12.2-14.8 1.2-40.5-18.5-40.5z"})})})]})}),k&&(!w||!S||F)&&i("div",{className:"idp-menu-submenu-wrapper ".concat(h," ").concat(w&&S?"horizontal-popup-wrapper":""," ").concat(O?"vertical-flat":""),children:i("div",{className:"idp-menu-submenu ".concat((c=w&&S?"horizontal-popup":"",r=z&&A?"open inline":"",O?"open vertical-flat":w&&S?"".concat(w&&S?j?"open":"":A?"open":""," ").concat(c).trim():z?r:A?"open":"")," ").concat(h),children:i("div",{className:"idp-menu-submenu-content",children:null===(l=u.children)||void 0===l?void 0:l.map(function(e){return i(m,{item:e,level:p+1,mode:h,collapsed:v,theme:f,openKeySet:g,selectedKey:y,onItemClick:b,onToggleOpen:N},e.key)})})})})]})});m.displayName="MenuItemComponent";var u=function(n){var t=n.mode,l=void 0===t?"vertical":t,u=n.items,p=n.className,h=void 0===p?"":p,v=n.style,f=n.selectedKey,g=n.defaultOpenKeys,y=void 0===g?[]:g,b=n.openKeys,N=n.collapsed,k=void 0!==N&&N,C=n.open,K=n.theme,w=void 0===K?"light":K,z=n.onChange,O=n.onOpenChange,S=c(null),T=a(!0)[0],x=a(y),A=x[0],I=x[1],j=a(""),F=j[0],H=j[1],M=void 0!==b,R=void 0!==f,V=M?b:A,q=R?f:F,B=void 0!==C?C:T,L=r(function(){return new Set(V)},[V]);d(function(){void 0!==f&&H(f)},[f]),d(function(){if(q&&!M&&"horizontal"!==l&&"vertical-flat"!==l){var n=function(i,t,l){void 0===l&&(l=[]);for(var o=0,c=i;o<c.length;o++){var a=c[o];if(a.key===t)return l;if(a.children&&a.children.length>0){var r=n(a.children,t,e(e([],l,!0),[a.key],!1));if(r.length>0)return r}}return[]},i=n(u,q);i.length>0&&I(function(n){var t=new Set(e(e([],n,!0),i,!0));return Array.from(t)})}},[q,u,M,l]);var P=o(function(e,n){R||H(n),null==z||z(e,n),"horizontal"===l&&(!e.children||0===e.children.length)&&V.length>0&&(M||I([]),null==O||O([]))},[z,R,l,V.length,M,O]),U=o(function(n){if(M){var i=L.has(n)?V.filter(function(e){return e!==n}):e(e([],V,!0),[n],!1);null==O||O(i)}else I(function(i){var t=i.includes(n)?i.filter(function(e){return e!==n}):e(e([],i,!0),[n],!1);return null==O||O(t),t})},[L,V,M,O]),_="horizontal"!==l&&k;return s(S,o(function(){"horizontal"===l&&V.length>0&&(M||I([]),null==O||O([]))},[l,V.length,M,O])),B?i("div",{ref:S,className:"idp-menu idp-menu-".concat(w," idp-menu-").concat(l," ").concat(_?"collapsed":""," ").concat(h),style:v,role:"menu",children:u.map(function(e){return i(m,{item:e,level:0,mode:l,collapsed:_,theme:w,openKeySet:L,selectedKey:q,onItemClick:P,onToggleOpen:U},e.key)})}):null};export{u as default};