{"version":3,"file":"index.cjs","sources":["../../../../../../packages/components/form/style/index.ts"],"sourcesContent":["import type { AliasToken, CSSObject, FullToken, GenerateStyle } from '@antdv/theme';\nimport { genComponentStyleHook, mergeToken, resetComponent } from '@antdv/theme';\nimport { genCollapseMotion, zoomIn } from '@antdv/theme/style/motion';\nimport genFormValidateMotionStyle from './explain';\n\nexport interface FormToken extends FullToken<'Form'> {\n  formItemCls: string\n  rootPrefixCls: string\n}\n\nfunction resetForm(token: AliasToken): CSSObject {\n  return {\n    'legend': {\n      display: 'block',\n      width: '100%',\n      marginBottom: token.marginLG,\n      padding: 0,\n      color: token.colorTextDescription,\n      fontSize: token.fontSizeLG,\n      lineHeight: 'inherit',\n      border: 0,\n      borderBottom: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`,\n    },\n\n    'label': {\n      fontSize: token.fontSize,\n    },\n\n    'input[type=\"search\"]': {\n      boxSizing: 'border-box',\n    },\n\n    // Position radios and checkboxes better\n    'input[type=\"radio\"], input[type=\"checkbox\"]': {\n      lineHeight: 'normal',\n    },\n\n    'input[type=\"file\"]': {\n      display: 'block',\n    },\n\n    // Make range inputs behave like textual form controls\n    'input[type=\"range\"]': {\n      display: 'block',\n      width: '100%',\n    },\n\n    // Make multiple select elements height not fixed\n    'select[multiple], select[size]': {\n      height: 'auto',\n    },\n\n    // Focus for file, radio, and checkbox\n    [`input[type='file']:focus,\n  input[type='radio']:focus,\n  input[type='checkbox']:focus`]: {\n      outline: 0,\n      boxShadow: `0 0 0 ${token.controlOutlineWidth}px ${token.controlOutline}`,\n    },\n\n    // Adjust output element\n    'output': {\n      display: 'block',\n      paddingTop: 15,\n      color: token.colorText,\n      fontSize: token.fontSize,\n      lineHeight: token.lineHeight,\n    },\n  };\n}\n\nfunction genFormSize(token: FormToken, height: number): CSSObject {\n  const { formItemCls } = token;\n\n  return {\n    [formItemCls]: {\n      [`${formItemCls}-label > label`]: {\n        height,\n      },\n\n      [`${formItemCls}-control-input`]: {\n        minHeight: height,\n      },\n    },\n  };\n}\n\nconst genFormStyle: GenerateStyle<FormToken> = (token) => {\n  const { componentCls } = token;\n\n  return {\n    [token.componentCls]: {\n      ...resetComponent(token),\n      ...resetForm(token),\n\n      [`${componentCls}-text`]: {\n        display: 'inline-block',\n        paddingInlineEnd: token.paddingSM,\n      },\n\n      // ================================================================\n      // =                             Size                             =\n      // ================================================================\n      '&-small': {\n        ...genFormSize(token, token.controlHeightSM),\n      },\n\n      '&-large': {\n        ...genFormSize(token, token.controlHeightLG),\n      },\n    },\n  };\n};\n\nconst genFormItemStyle: GenerateStyle<FormToken> = (token) => {\n  const { formItemCls, iconCls, componentCls, rootPrefixCls } = token;\n\n  return {\n    [formItemCls]: {\n      ...resetComponent(token),\n\n      'marginBottom': token.marginLG,\n      'verticalAlign': 'top',\n\n      '&-with-help': {\n        transition: 'none',\n      },\n\n      [`&-hidden,\n        &-hidden.${rootPrefixCls}-row`]: {\n        // https://github.com/ant-design/ant-design/issues/26141\n        display: 'none',\n      },\n\n      '&-has-warning': {\n        [`${formItemCls}-split`]: {\n          color: token.colorError,\n        },\n      },\n\n      '&-has-error': {\n        [`${formItemCls}-split`]: {\n          color: token.colorWarning,\n        },\n      },\n\n      // ==============================================================\n      // =                            Label                           =\n      // ==============================================================\n      [`${formItemCls}-label`]: {\n        'display': 'inline-block',\n        'flexGrow': 0,\n        'overflow': 'hidden',\n        'whiteSpace': 'nowrap',\n        'textAlign': 'end',\n        'verticalAlign': 'middle',\n\n        '&-left': {\n          textAlign: 'start',\n        },\n\n        '&-wrap': {\n          overflow: 'unset',\n          lineHeight: `${token.lineHeight} - 0.25em`,\n          whiteSpace: 'unset',\n        },\n\n        '> label': {\n          'position': 'relative',\n          'display': 'inline-flex',\n          'alignItems': 'center',\n          'maxWidth': '100%',\n          'height': token.controlHeight,\n          'color': token.colorTextHeading,\n          'fontSize': token.fontSize,\n\n          [`> ${iconCls}`]: {\n            fontSize: token.fontSize,\n            verticalAlign: 'top',\n          },\n\n          // Required mark\n          [`&${formItemCls}-required:not(${formItemCls}-required-mark-optional)::before`]: {\n            display: 'inline-block',\n            marginInlineEnd: token.marginXXS,\n            color: token.colorError,\n            fontSize: token.fontSize,\n            fontFamily: 'SimSun, sans-serif',\n            lineHeight: 1,\n            content: '\"*\"',\n\n            [`${componentCls}-hide-required-mark &`]: {\n              display: 'none',\n            },\n          },\n\n          // Optional mark\n          [`${formItemCls}-optional`]: {\n            display: 'inline-block',\n            marginInlineStart: token.marginXXS,\n            color: token.colorTextDescription,\n\n            [`${componentCls}-hide-required-mark &`]: {\n              display: 'none',\n            },\n          },\n\n          // Optional mark\n          [`${formItemCls}-tooltip`]: {\n            color: token.colorTextDescription,\n            cursor: 'help',\n            writingMode: 'horizontal-tb',\n            marginInlineStart: token.marginXXS,\n          },\n\n          '&::after': {\n            content: '\":\"',\n            position: 'relative',\n            marginBlock: 0,\n            marginInlineStart: token.marginXXS / 2,\n            marginInlineEnd: token.marginXS,\n          },\n\n          [`&${formItemCls}-no-colon::after`]: {\n            content: '\" \"',\n          },\n        },\n      },\n\n      // ==============================================================\n      // =                            Input                           =\n      // ==============================================================\n      [`${formItemCls}-control`]: {\n        'display': 'flex',\n        'flexDirection': 'column',\n        'flexGrow': 1,\n\n        [`&:first-child:not([class^=\"'${rootPrefixCls}-col-'\"]):not([class*=\"' ${rootPrefixCls}-col-'\"])`]:\n          {\n            width: '100%',\n          },\n\n        '&-input': {\n          'position': 'relative',\n          'display': 'flex',\n          'alignItems': 'center',\n          'minHeight': token.controlHeight,\n\n          '&-content': {\n            flex: 'auto',\n            maxWidth: '100%',\n          },\n        },\n      },\n\n      // ==============================================================\n      // =                           Explain                          =\n      // ==============================================================\n      [formItemCls]: {\n        '&-explain, &-extra': {\n          clear: 'both',\n          color: token.colorTextDescription,\n          fontSize: token.fontSize,\n          lineHeight: token.lineHeight,\n        },\n\n        '&-explain-connected': {\n          width: '100%',\n        },\n\n        '&-extra': {\n          minHeight: token.controlHeightSM,\n          transition: `color ${token.motionDurationMid} ${token.motionEaseOut}`, // sync input color transition\n        },\n\n        '&-explain': {\n          '&-error': {\n            color: token.colorError,\n          },\n\n          '&-warning': {\n            color: token.colorWarning,\n          },\n        },\n      },\n\n      [`&-with-help ${formItemCls}-explain`]: {\n        height: 'auto',\n        opacity: 1,\n      },\n\n      // ==============================================================\n      // =                        Feedback Icon                       =\n      // ==============================================================\n      [`${formItemCls}-feedback-icon`]: {\n        'fontSize': token.fontSize,\n        'textAlign': 'center',\n        'visibility': 'visible',\n        'animationName': zoomIn,\n        'animationDuration': token.motionDurationMid,\n        'animationTimingFunction': token.motionEaseOutBack,\n        'pointerEvents': 'none',\n\n        '&-success': {\n          color: token.colorSuccess,\n        },\n\n        '&-error': {\n          color: token.colorError,\n        },\n\n        '&-warning': {\n          color: token.colorWarning,\n        },\n\n        '&-validating': {\n          color: token.colorPrimary,\n        },\n      },\n    },\n  };\n};\n\nconst genHorizontalStyle: GenerateStyle<FormToken> = (token) => {\n  const { componentCls, formItemCls, rootPrefixCls } = token;\n\n  return {\n    [`${componentCls}-horizontal`]: {\n      [`${formItemCls}-label`]: {\n        flexGrow: 0,\n      },\n\n      [`${formItemCls}-control`]: {\n        flex: '1 1 0',\n        // https://github.com/ant-design/ant-design/issues/32777\n        // https://github.com/ant-design/ant-design/issues/33773\n        minWidth: 0,\n      },\n\n      // https://github.com/ant-design/ant-design/issues/32980\n      [`${formItemCls}-label.${rootPrefixCls}-col-24 + ${formItemCls}-control`]: {\n        minWidth: 'unset',\n      },\n    },\n  };\n};\n\nconst genInlineStyle: GenerateStyle<FormToken> = (token) => {\n  const { componentCls, formItemCls } = token;\n\n  return {\n    [`${componentCls}-inline`]: {\n      display: 'flex',\n      flexWrap: 'wrap',\n\n      [formItemCls]: {\n        'flex': 'none',\n        'flexWrap': 'nowrap',\n        'marginInlineEnd': token.margin,\n        'marginBottom': 0,\n\n        '&-with-help': {\n          marginBottom: token.marginLG,\n        },\n\n        [`> ${formItemCls}-label,\n        > ${formItemCls}-control`]: {\n          display: 'inline-block',\n          verticalAlign: 'top',\n        },\n\n        [`> ${formItemCls}-label`]: {\n          flex: 'none',\n        },\n\n        [`${componentCls}-text`]: {\n          display: 'inline-block',\n        },\n\n        [`${formItemCls}-has-feedback`]: {\n          display: 'inline-block',\n        },\n      },\n    },\n  };\n};\n\nfunction makeVerticalLayoutLabel(token: FormToken): CSSObject {\n  return {\n    'margin': 0,\n    'padding': `0 0 ${token.paddingXS}px`,\n    'whiteSpace': 'initial',\n    'textAlign': 'start',\n\n    '> label': {\n      'margin': 0,\n\n      '&::after': {\n        display: 'none',\n      },\n    },\n  };\n}\n\nfunction makeVerticalLayout(token: FormToken): CSSObject {\n  const { componentCls, formItemCls } = token;\n\n  return {\n    [`${formItemCls} ${formItemCls}-label`]: makeVerticalLayoutLabel(token),\n    [componentCls]: {\n      [formItemCls]: {\n        flexWrap: 'wrap',\n\n        [`${formItemCls}-label,\n          ${formItemCls}-control`]: {\n          flex: '0 0 100%',\n          maxWidth: '100%',\n        },\n      },\n    },\n  };\n}\n\nconst genVerticalStyle: GenerateStyle<FormToken> = (token) => {\n  const { componentCls, formItemCls, rootPrefixCls } = token;\n\n  return {\n    [`${componentCls}-vertical`]: {\n      [formItemCls]: {\n        '&-row': {\n          flexDirection: 'column',\n        },\n\n        '&-label > label': {\n          height: 'auto',\n        },\n\n        [`${componentCls}-item-control`]: {\n          width: '100%',\n        },\n      },\n    },\n\n    [`${componentCls}-vertical ${formItemCls}-label,\n      .${rootPrefixCls}-col-24${formItemCls}-label,\n      .${rootPrefixCls}-col-xl-24${formItemCls}-label`]: makeVerticalLayoutLabel(token),\n\n    [`@media (max-width: ${token.screenXSMax}px)`]: [\n      makeVerticalLayout(token),\n      {\n        [componentCls]: {\n          [`.${rootPrefixCls}-col-xs-24${formItemCls}-label`]: makeVerticalLayoutLabel(token),\n        },\n      },\n    ],\n\n    [`@media (max-width: ${token.screenSMMax}px)`]: {\n      [componentCls]: {\n        [`.${rootPrefixCls}-col-sm-24${formItemCls}-label`]: makeVerticalLayoutLabel(token),\n      },\n    },\n\n    [`@media (max-width: ${token.screenMDMax}px)`]: {\n      [componentCls]: {\n        [`.${rootPrefixCls}-col-md-24${formItemCls}-label`]: makeVerticalLayoutLabel(token),\n      },\n    },\n\n    [`@media (max-width: ${token.screenLGMax}px)`]: {\n      [componentCls]: {\n        [`.${rootPrefixCls}-col-lg-24${formItemCls}-label`]: makeVerticalLayoutLabel(token),\n      },\n    },\n  };\n};\n\n// ============================== Export ==============================\nexport default genComponentStyleHook('Form', (token, { rootPrefixCls }) => {\n  const formToken = mergeToken<FormToken>(token, {\n    formItemCls: `${token.componentCls}-item`,\n    rootPrefixCls,\n  });\n\n  return [\n    genFormStyle(formToken),\n    genFormItemStyle(formToken),\n    genFormValidateMotionStyle(formToken),\n    genHorizontalStyle(formToken),\n    genInlineStyle(formToken),\n    genVerticalStyle(formToken),\n    genCollapseMotion(formToken),\n    zoomIn,\n  ];\n});\n"],"names":["resetComponent","zoomIn","genComponentStyleHook","mergeToken","genFormValidateMotionStyle","genCollapseMotion"],"mappings":"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"}