{"version":3,"file":"index.cjs","sources":["../../../../../../packages/components/layout/style/index.ts"],"sourcesContent":["import type { CSSObject, FullToken, GenerateStyle } from '@antdv/theme';\nimport { genComponentStyleHook, mergeToken } from '@antdv/theme';\nimport genLayoutLightStyle from './light';\n\nexport interface ComponentToken {\n  colorBgHeader: string\n  colorBgBody: string\n  colorBgTrigger: string\n}\n\nexport interface LayoutToken extends FullToken<'Layout'> {\n  // Layout\n  layoutHeaderHeight: number\n  layoutHeaderPaddingInline: number\n  layoutHeaderColor: string\n  layoutFooterPadding: string\n  layoutTriggerHeight: number\n  layoutZeroTriggerSize: number\n}\n\nconst genLayoutStyle: GenerateStyle<LayoutToken, CSSObject> = (token) => {\n  const {\n    antCls, // .ant\n    componentCls, // .ant-layout\n    colorText,\n    colorTextLightSolid,\n    colorBgHeader,\n    colorBgBody,\n    colorBgTrigger,\n    layoutHeaderHeight,\n    layoutHeaderPaddingInline,\n    layoutHeaderColor,\n    layoutFooterPadding,\n    layoutTriggerHeight,\n    layoutZeroTriggerSize,\n    motionDurationMid,\n    motionDurationSlow,\n    fontSize,\n    borderRadius,\n  } = token;\n\n  return {\n    [componentCls]: {\n      'display': 'flex',\n      'flex': 'auto',\n      'flexDirection': 'column',\n      'color': colorText,\n\n      /* fix firefox can't set height smaller than content on flex item */\n      'minHeight': 0,\n      'background': colorBgBody,\n\n      '&, *': {\n        boxSizing: 'border-box',\n      },\n\n      [`&${componentCls}-has-sider`]: {\n        flexDirection: 'row',\n        [`> ${componentCls}, > ${componentCls}-content`]: {\n          // https://segmentfault.com/a/1190000019498300\n          width: 0,\n        },\n      },\n\n      [`${componentCls}-header, &${componentCls}-footer`]: {\n        flex: '0 0 auto',\n      },\n\n      [`${componentCls}-header`]: {\n        height: layoutHeaderHeight,\n        paddingInline: layoutHeaderPaddingInline,\n        color: layoutHeaderColor,\n        lineHeight: `${layoutHeaderHeight}px`,\n        background: colorBgHeader,\n        // Other components/menu/style/index.less line:686\n        // Integration with header element so menu items have the same height\n        [`${antCls}-menu`]: {\n          lineHeight: 'inherit',\n        },\n      },\n\n      [`${componentCls}-footer`]: {\n        padding: layoutFooterPadding,\n        color: colorText,\n        fontSize,\n        background: colorBgBody,\n      },\n\n      [`${componentCls}-content`]: {\n        flex: 'auto',\n\n        // fix firefox can't set height smaller than content on flex item\n        minHeight: 0,\n      },\n\n      [`${componentCls}-sider`]: {\n        'position': 'relative',\n\n        // fix firefox can't set width smaller than content on flex item\n        'minWidth': 0,\n        'background': colorBgHeader,\n        'transition': `all ${motionDurationMid}, background 0s`,\n\n        '&-children': {\n          height: '100%',\n          // Hack for fixing margin collapse bug\n          // https://github.com/ant-design/ant-design/issues/7967\n          // solution from https://stackoverflow.com/a/33132624/3040605\n          marginTop: -0.1,\n          paddingTop: 0.1,\n\n          [`${antCls}-menu${antCls}-menu-inline-collapsed`]: {\n            width: 'auto',\n          },\n        },\n\n        '&-has-trigger': {\n          paddingBottom: layoutTriggerHeight,\n        },\n\n        '&-right': {\n          order: 1,\n        },\n\n        '&-trigger': {\n          position: 'fixed',\n          bottom: 0,\n          zIndex: 1,\n          height: layoutTriggerHeight,\n          color: colorTextLightSolid,\n          lineHeight: `${layoutTriggerHeight}px`,\n          textAlign: 'center',\n          background: colorBgTrigger,\n          cursor: 'pointer',\n          transition: `all ${motionDurationMid}`,\n        },\n\n        '&-zero-width': {\n          '> *': {\n            overflow: 'hidden',\n          },\n\n          '&-trigger': {\n            'position': 'absolute',\n            'top': layoutHeaderHeight,\n            'insetInlineEnd': -layoutZeroTriggerSize,\n            'zIndex': 1,\n            'width': layoutZeroTriggerSize,\n            'height': layoutZeroTriggerSize,\n            'color': colorTextLightSolid,\n            'fontSize': token.fontSizeXL,\n            'display': 'flex',\n            'alignItems': 'center',\n            'justifyContent': 'center',\n            'background': colorBgHeader,\n            'borderStartStartRadius': 0,\n            'borderStartEndRadius': borderRadius,\n            'borderEndEndRadius': borderRadius,\n            'borderEndStartRadius': 0,\n\n            'cursor': 'pointer',\n            'transition': `background ${motionDurationSlow} ease`,\n\n            '&::after': {\n              position: 'absolute',\n              inset: 0,\n              background: 'transparent',\n              transition: `all ${motionDurationSlow}`,\n              content: '\"\"',\n            },\n\n            '&:hover::after': {\n              // FIXME: Hardcode, but seems no need to create a token for this\n              background: 'rgba(255, 255, 255, 0.2)',\n            },\n\n            '&-right': {\n              insetInlineStart: -layoutZeroTriggerSize,\n              borderStartStartRadius: borderRadius,\n              borderStartEndRadius: 0,\n              borderEndEndRadius: 0,\n              borderEndStartRadius: borderRadius,\n            },\n          },\n        },\n      },\n      // Light\n      ...genLayoutLightStyle(token),\n      // RTL\n      '&-rtl': {\n        direction: 'rtl',\n      },\n    },\n  };\n};\n\n// ============================== Export ==============================\nexport default genComponentStyleHook(\n  'Layout',\n  (token) => {\n    const { colorText, controlHeightSM, controlHeight, controlHeightLG, marginXXS } = token;\n    const layoutHeaderPaddingInline = controlHeightLG * 1.25;\n\n    const layoutToken = mergeToken<LayoutToken>(token, {\n      // Layout\n      layoutHeaderHeight: controlHeight * 2,\n      layoutHeaderPaddingInline,\n      layoutHeaderColor: colorText,\n      layoutFooterPadding: `${controlHeightSM}px ${layoutHeaderPaddingInline}px`,\n      layoutTriggerHeight: controlHeightLG + marginXXS * 2, // = item height + margin\n      layoutZeroTriggerSize: controlHeightLG,\n    });\n\n    return [genLayoutStyle(layoutToken)];\n  },\n  (token) => {\n    const { colorBgLayout } = token;\n\n    return {\n      colorBgHeader: '#001529',\n      colorBgBody: colorBgLayout,\n      colorBgTrigger: '#002140',\n    };\n  },\n);\n"],"names":["genLayoutLightStyle","genComponentStyleHook","mergeToken"],"mappings":"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"}