{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/modal/style/index.ts"],"sourcesContent":["import type { AliasToken, FullToken, GenerateStyle } from '@antdv/theme';\nimport type { TokenWithCommonCls } from '@antdv/theme/token/util/genComponentStyleHook';\nimport type { CSSProperties } from 'vue';\nimport { clearFix, genComponentStyleHook, genFocusStyle, mergeToken, resetComponent } from '@antdv/theme';\nimport { initFadeMotion, initZoomMotion } from '@antdv/theme/style/motion';\n\n/** Component only token. Which will handle additional calculation of alias token */\nexport interface ComponentToken {\n  // Component token here\n}\n\nexport interface ModalToken extends FullToken<'Modal'> {\n  // Custom token here\n  modalBodyPadding: number\n  modalHeaderBg: string\n  modalHeaderPadding: string\n  modalHeaderBorderWidth: number\n  modalHeaderBorderStyle: string\n  modalHeaderTitleLineHeight: number\n  modalHeaderTitleFontSize: number\n  modalHeaderBorderColorSplit: string\n  modalHeaderCloseSize: number\n  modalContentBg: string\n  modalHeadingColor: string\n  modalCloseColor: string\n  modalCloseBtnSize: number\n  modalFooterBg: string\n  modalFooterBorderColorSplit: string\n  modalFooterBorderStyle: string\n  modalFooterPaddingVertical: number\n  modalFooterPaddingHorizontal: number\n  modalFooterBorderWidth: number\n  modalConfirmTitleFontSize: number\n  modalIconHoverColor: string\n  modalConfirmIconSize: number\n}\n\nfunction box(position: CSSProperties['position']): CSSProperties {\n  return {\n    position,\n    top: 0,\n    insetInlineEnd: 0,\n    bottom: 0,\n    insetInlineStart: 0,\n  };\n}\n\nexport const genModalMaskStyle: GenerateStyle<TokenWithCommonCls<AliasToken>> = (token) => {\n  const { componentCls } = token;\n\n  return [\n    {\n      [`${componentCls}-root`]: {\n        [`${componentCls}${token.antCls}-zoom-enter, ${componentCls}${token.antCls}-zoom-appear`]: {\n          // reset scale avoid mousePosition bug\n          transform: 'none',\n          opacity: 0,\n          animationDuration: token.motionDurationSlow,\n          // https://github.com/ant-design/ant-design/issues/11777\n          userSelect: 'none',\n        },\n        [`${componentCls}${token.antCls}-zoom-leave ${componentCls}-content`]: {\n          pointerEvents: 'none',\n        },\n        [`${componentCls}-mask`]: {\n          ...box('fixed'),\n          zIndex: token.zIndexPopupBase,\n          height: '100%',\n          backgroundColor: token.colorBgMask,\n\n          [`${componentCls}-hidden`]: {\n            display: 'none',\n          },\n        },\n\n        [`${componentCls}-wrap`]: {\n          ...box('fixed'),\n          overflow: 'auto',\n          outline: 0,\n          WebkitOverflowScrolling: 'touch',\n        },\n      },\n    },\n    { [`${componentCls}-root`]: initFadeMotion(token) },\n  ];\n};\n\nconst genModalStyle: GenerateStyle<ModalToken> = (token) => {\n  const { componentCls } = token;\n\n  return [\n    // ======================== Root =========================\n    {\n      [`${componentCls}-root`]: {\n        [`${componentCls}-wrap`]: {\n          zIndex: token.zIndexPopupBase,\n          position: 'fixed',\n          inset: 0,\n          overflow: 'auto',\n          outline: 0,\n          WebkitOverflowScrolling: 'touch',\n        },\n        [`${componentCls}-wrap-rtl`]: {\n          direction: 'rtl',\n        },\n\n        [`${componentCls}-centered`]: {\n          'textAlign': 'center',\n\n          '&::before': {\n            display: 'inline-block',\n            width: 0,\n            height: '100%',\n            verticalAlign: 'middle',\n            content: '\"\"',\n          },\n          [componentCls]: {\n            top: 0,\n            display: 'inline-block',\n            paddingBottom: 0,\n            textAlign: 'start',\n            verticalAlign: 'middle',\n          },\n        },\n\n        [`@media (max-width: ${token.screenSMMax})`]: {\n          [componentCls]: {\n            maxWidth: 'calc(100vw - 16px)',\n            margin: `${token.marginXS} auto`,\n          },\n          [`${componentCls}-centered`]: {\n            [componentCls]: {\n              flex: 1,\n            },\n          },\n        },\n      },\n    },\n\n    // ======================== Modal ========================\n    {\n      [componentCls]: {\n        ...resetComponent(token),\n        pointerEvents: 'none',\n        position: 'relative',\n        top: 100,\n        width: 'auto',\n        maxWidth: `calc(100vw - ${token.margin * 2}px)`,\n        margin: '0 auto',\n        paddingBottom: token.paddingLG,\n\n        [`${componentCls}-title`]: {\n          margin: 0,\n          color: token.modalHeadingColor,\n          fontWeight: token.fontWeightStrong,\n          fontSize: token.modalHeaderTitleFontSize,\n          lineHeight: token.modalHeaderTitleLineHeight,\n          wordWrap: 'break-word',\n        },\n\n        [`${componentCls}-content`]: {\n          position: 'relative',\n          backgroundColor: token.modalContentBg,\n          backgroundClip: 'padding-box',\n          border: 0,\n          borderRadius: token.borderRadiusLG,\n          boxShadow: token.boxShadowSecondary,\n          pointerEvents: 'auto',\n          padding: `${token.paddingMD}px ${token.paddingContentHorizontalLG}px`,\n        },\n\n        [`${componentCls}-close`]: {\n          'position': 'absolute',\n          'top': (token.modalHeaderCloseSize - token.modalCloseBtnSize) / 2,\n          'insetInlineEnd': (token.modalHeaderCloseSize - token.modalCloseBtnSize) / 2,\n          'zIndex': token.zIndexPopupBase + 10,\n          'padding': 0,\n          'color': token.modalCloseColor,\n          'fontWeight': token.fontWeightStrong,\n          'lineHeight': 1,\n          'textDecoration': 'none',\n          'background': 'transparent',\n          'borderRadius': token.borderRadiusSM,\n          'width': token.modalConfirmIconSize,\n          'height': token.modalConfirmIconSize,\n          'border': 0,\n          'outline': 0,\n          'cursor': 'pointer',\n          'transition': `color ${token.motionDurationMid}, background-color ${token.motionDurationMid}`,\n\n          '&-x': {\n            display: 'block',\n            fontSize: token.fontSizeLG,\n            fontStyle: 'normal',\n            lineHeight: `${token.modalCloseBtnSize}px`,\n            textAlign: 'center',\n            textTransform: 'none',\n            textRendering: 'auto',\n          },\n\n          '&:hover': {\n            color: token.modalIconHoverColor,\n            backgroundColor: token.wireframe ? 'transparent' : token.colorFillContent,\n            textDecoration: 'none',\n          },\n\n          '&:active': {\n            backgroundColor: token.wireframe ? 'transparent' : token.colorFillContentHover,\n          },\n\n          ...genFocusStyle(token),\n        },\n\n        [`${componentCls}-header`]: {\n          color: token.colorText,\n          background: token.modalHeaderBg,\n          borderRadius: `${token.borderRadiusLG}px ${token.borderRadiusLG}px 0 0`,\n          marginBottom: token.marginXS,\n        },\n\n        [`${componentCls}-body`]: {\n          fontSize: token.fontSize,\n          lineHeight: token.lineHeight,\n          wordWrap: 'break-word',\n        },\n\n        [`${componentCls}-footer`]: {\n          textAlign: 'end',\n          background: token.modalFooterBg,\n          marginTop: token.marginSM,\n\n          [`${token.antCls}-btn + ${token.antCls}-btn:not(${token.antCls}-dropdown-trigger)`]: {\n            marginBottom: 0,\n            marginInlineStart: token.marginXS,\n          },\n        },\n\n        [`${componentCls}-open`]: {\n          overflow: 'hidden',\n        },\n      },\n    },\n\n    // ======================== Pure =========================\n    {\n      [`${componentCls}-pure-panel`]: {\n        top: 'auto',\n        padding: 0,\n        display: 'flex',\n        flexDirection: 'column',\n\n        [`${componentCls}-content,\n          ${componentCls}-body,\n          ${componentCls}-confirm-body-wrapper`]: {\n          display: 'flex',\n          flexDirection: 'column',\n          flex: 'auto',\n        },\n\n        [`${componentCls}-confirm-body`]: {\n          marginBottom: 'auto',\n        },\n      },\n    },\n  ];\n};\n\nconst genModalConfirmStyle: GenerateStyle<ModalToken> = (token) => {\n  const { componentCls } = token;\n  const confirmComponentCls = `${componentCls}-confirm`;\n\n  return {\n    [confirmComponentCls]: {\n      '&-rtl': {\n        direction: 'rtl',\n      },\n      [`${token.antCls}-modal-header`]: {\n        display: 'none',\n      },\n      [`${confirmComponentCls}-body-wrapper`]: {\n        ...clearFix(),\n      },\n      [`${confirmComponentCls}-body`]: {\n        display: 'flex',\n        flexWrap: 'wrap',\n        alignItems: 'center',\n\n        [`${confirmComponentCls}-title`]: {\n          flex: '0 0 100%',\n          display: 'block',\n          // create BFC to avoid\n          // https://user-images.githubusercontent.com/507615/37702510-ba844e06-2d2d-11e8-9b67-8e19be57f445.png\n          overflow: 'hidden',\n          color: token.colorTextHeading,\n          fontWeight: token.fontWeightStrong,\n          fontSize: token.modalHeaderTitleFontSize,\n          lineHeight: token.modalHeaderTitleLineHeight,\n\n          [`+ ${confirmComponentCls}-content`]: {\n            marginBlockStart: token.marginXS,\n            flexBasis: '100%',\n            maxWidth: `calc(100% - ${token.modalConfirmIconSize + token.marginSM}px)`,\n          },\n        },\n\n        [`${confirmComponentCls}-content`]: {\n          color: token.colorText,\n          fontSize: token.fontSize,\n        },\n\n        [`> ${token.iconCls}`]: {\n          flex: 'none',\n          marginInlineEnd: token.marginSM,\n          fontSize: token.modalConfirmIconSize,\n\n          [`+ ${confirmComponentCls}-title`]: {\n            flex: 1,\n          },\n\n          // `content` after `icon` should set marginLeft\n          [`+ ${confirmComponentCls}-title + ${confirmComponentCls}-content`]: {\n            marginInlineStart: token.modalConfirmIconSize + token.marginSM,\n          },\n        },\n      },\n      [`${confirmComponentCls}-btns`]: {\n        textAlign: 'end',\n        marginTop: token.marginSM,\n\n        [`${token.antCls}-btn + ${token.antCls}-btn`]: {\n          marginBottom: 0,\n          marginInlineStart: token.marginXS,\n        },\n      },\n    },\n\n    [`${confirmComponentCls}-error ${confirmComponentCls}-body > ${token.iconCls}`]: {\n      color: token.colorError,\n    },\n\n    [`${confirmComponentCls}-warning ${confirmComponentCls}-body > ${token.iconCls},\n        ${confirmComponentCls}-confirm ${confirmComponentCls}-body > ${token.iconCls}`]: {\n      color: token.colorWarning,\n    },\n\n    [`${confirmComponentCls}-info ${confirmComponentCls}-body > ${token.iconCls}`]: {\n      color: token.colorInfo,\n    },\n\n    [`${confirmComponentCls}-success ${confirmComponentCls}-body > ${token.iconCls}`]: {\n      color: token.colorSuccess,\n    },\n\n    // https://github.com/ant-design/ant-design/issues/37329\n    [`${componentCls}-zoom-leave ${componentCls}-btns`]: {\n      pointerEvents: 'none',\n    },\n  };\n};\n\nconst genRTLStyle: GenerateStyle<ModalToken> = (token) => {\n  const { componentCls } = token;\n  return {\n    [`${componentCls}-root`]: {\n      [`${componentCls}-wrap-rtl`]: {\n        direction: 'rtl',\n\n        [`${componentCls}-confirm-body`]: {\n          direction: 'rtl',\n        },\n      },\n    },\n  };\n};\n\nconst genWireframeStyle: GenerateStyle<ModalToken> = (token) => {\n  const { componentCls, antCls } = token;\n  const confirmComponentCls = `${componentCls}-confirm`;\n\n  return {\n    [componentCls]: {\n      [`${componentCls}-content`]: {\n        padding: 0,\n      },\n\n      [`${componentCls}-header`]: {\n        padding: token.modalHeaderPadding,\n        borderBottom: `${token.modalHeaderBorderWidth}px ${token.modalHeaderBorderStyle} ${token.modalHeaderBorderColorSplit}`,\n        marginBottom: 0,\n      },\n\n      [`${componentCls}-body`]: {\n        padding: token.modalBodyPadding,\n      },\n\n      [`${componentCls}-footer`]: {\n        padding: `${token.modalFooterPaddingVertical}px ${token.modalFooterPaddingHorizontal}px`,\n        borderTop: `${token.modalFooterBorderWidth}px ${token.modalFooterBorderStyle} ${token.modalFooterBorderColorSplit}`,\n        borderRadius: `0 0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px`,\n        marginTop: 0,\n      },\n    },\n\n    [confirmComponentCls]: {\n      [`${antCls}-modal-body`]: {\n        padding: `${token.padding * 2}px ${token.padding * 2}px ${token.paddingLG}px`,\n      },\n      [`${confirmComponentCls}-body`]: {\n        [`> ${token.iconCls}`]: {\n          marginInlineEnd: token.margin,\n\n          // `content` after `icon` should set marginLeft\n          [`+ ${confirmComponentCls}-title + ${confirmComponentCls}-content`]: {\n            marginInlineStart: token.modalConfirmIconSize + token.margin,\n          },\n        },\n      },\n      [`${confirmComponentCls}-btns`]: {\n        marginTop: token.marginLG,\n      },\n    },\n  };\n};\n\n// ============================== Export ==============================\nexport default genComponentStyleHook('Modal', (token) => {\n  const headerPaddingVertical = token.padding;\n  const headerFontSize = token.fontSizeHeading5;\n  const headerLineHeight = token.lineHeightHeading5;\n\n  const modalToken = mergeToken<ModalToken>(token, {\n    modalBodyPadding: token.paddingLG,\n    modalHeaderBg: token.colorBgElevated,\n    modalHeaderPadding: `${headerPaddingVertical}px ${token.paddingLG}px`,\n    modalHeaderBorderWidth: token.lineWidth,\n    modalHeaderBorderStyle: token.lineType,\n    modalHeaderTitleLineHeight: headerLineHeight,\n    modalHeaderTitleFontSize: headerFontSize,\n    modalHeaderBorderColorSplit: token.colorSplit,\n    modalHeaderCloseSize: headerLineHeight * headerFontSize + headerPaddingVertical * 2,\n    modalContentBg: token.colorBgElevated,\n    modalHeadingColor: token.colorTextHeading,\n    modalCloseColor: token.colorTextDescription,\n    modalFooterBg: 'transparent',\n    modalFooterBorderColorSplit: token.colorSplit,\n    modalFooterBorderStyle: token.lineType,\n    modalFooterPaddingVertical: token.paddingXS,\n    modalFooterPaddingHorizontal: token.padding,\n    modalFooterBorderWidth: token.lineWidth,\n    modalConfirmTitleFontSize: token.fontSizeLG,\n    modalIconHoverColor: token.colorIconHover,\n    modalConfirmIconSize: token.fontSize * token.lineHeight,\n    modalCloseBtnSize: token.controlHeightLG * 0.55,\n  });\n  return [\n    genModalStyle(modalToken),\n    genModalConfirmStyle(modalToken),\n    genRTLStyle(modalToken),\n    genModalMaskStyle(modalToken),\n    token.wireframe && genWireframeStyle(modalToken),\n    initZoomMotion(modalToken, 'zoom'),\n  ];\n});\n"],"names":["mergeToken"],"mappings":"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"}