{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/date-picker/style/index.ts"],"sourcesContent":["import type { CSSObject, FullToken, GenerateStyle, GlobalToken } from '@antdv/theme';\nimport type { TokenWithCommonCls } from '@antdv/theme/token/util/genComponentStyleHook';\nimport type { InputToken } from '../../input/style';\nimport { genComponentStyleHook, mergeToken, resetComponent, roundedArrow, textEllipsis } from '@antdv/theme';\nimport { genCompactItemStyle } from '@antdv/theme/style/compact-item';\nimport {\n  initMoveMotion,\n  initSlideMotion,\n  slideDownIn,\n  slideDownOut,\n  slideUpIn,\n  slideUpOut,\n} from '@antdv/theme/style/motion';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { genActiveStyle, genBasicInputStyle, genHoverStyle, initInputToken } from '../../input/style';\n\nexport interface ComponentToken {\n  presetsWidth: number\n  presetsMaxWidth: number\n  zIndexPopup: number\n}\n\nexport interface PickerPanelToken {\n  pickerCellCls: string\n  pickerCellInnerCls: string\n  pickerTextHeight: number\n  pickerPanelCellWidth: number\n  pickerPanelCellHeight: number\n  pickerDateHoverRangeBorderColor: string\n  pickerBasicCellHoverWithRangeColor: string\n  pickerPanelWithoutTimeCellHeight: number\n  pickerYearMonthCellWidth: number\n  pickerTimePanelColumnHeight: number\n  pickerTimePanelColumnWidth: number\n  pickerTimePanelCellHeight: number\n  pickerCellPaddingVertical: number\n  pickerQuarterPanelContentHeight: number\n  pickerCellBorderGap: number\n  pickerControlIconSize: number\n  pickerControlIconBorderWidth: number\n}\n\ntype PickerToken = InputToken<FullToken<'DatePicker'>> & PickerPanelToken;\n\ntype SharedPickerToken = Omit<PickerToken, 'zIndexPopup' | 'presetsWidth' | 'presetsMaxWidth'>;\n\nfunction genPikerPadding(token: PickerToken, inputHeight: number, fontSize: number, paddingHorizontal: number): CSSObject {\n  const { lineHeight } = token;\n\n  const fontHeight = Math.floor(fontSize * lineHeight) + 2;\n  const paddingTop = Math.max((inputHeight - fontHeight) / 2, 0);\n  const paddingBottom = Math.max(inputHeight - fontHeight - paddingTop, 0);\n\n  return {\n    padding: `${paddingTop}px ${paddingHorizontal}px ${paddingBottom}px`,\n  };\n}\n\nfunction genPickerCellInnerStyle(token: SharedPickerToken): CSSObject {\n  const {\n    componentCls,\n    pickerCellCls,\n    pickerCellInnerCls,\n    pickerPanelCellHeight,\n    motionDurationSlow,\n    borderRadiusSM,\n    motionDurationMid,\n    controlItemBgHover,\n    lineWidth,\n    lineType,\n    colorPrimary,\n    controlItemBgActive,\n    colorTextLightSolid,\n    controlHeightSM,\n    pickerDateHoverRangeBorderColor,\n    pickerCellBorderGap,\n    pickerBasicCellHoverWithRangeColor,\n    pickerPanelCellWidth,\n    colorTextDisabled,\n    colorBgContainerDisabled,\n  } = token;\n\n  return {\n    '&::before': {\n      position: 'absolute',\n      top: '50%',\n      insetInlineStart: 0,\n      insetInlineEnd: 0,\n      zIndex: 1,\n      height: pickerPanelCellHeight,\n      transform: 'translateY(-50%)',\n      transition: `all ${motionDurationSlow}`,\n      content: '\"\"',\n    },\n\n    // >>> Default\n    [pickerCellInnerCls]: {\n      position: 'relative',\n      zIndex: 2,\n      display: 'inline-block',\n      minWidth: pickerPanelCellHeight,\n      height: pickerPanelCellHeight,\n      lineHeight: `${pickerPanelCellHeight}px`,\n      borderRadius: borderRadiusSM,\n      transition: `background ${motionDurationMid}, border ${motionDurationMid}`,\n    },\n\n    // >>> Hover\n    [`&:hover:not(${pickerCellCls}-in-view),\n    &:hover:not(${pickerCellCls}-selected):not(${pickerCellCls}-range-start):not(${pickerCellCls}-range-end):not(${pickerCellCls}-range-hover-start):not(${pickerCellCls}-range-hover-end)`]:\n      {\n        [pickerCellInnerCls]: {\n          background: controlItemBgHover,\n        },\n      },\n\n    // >>> Today\n    [`&-in-view${pickerCellCls}-today ${pickerCellInnerCls}`]: {\n      '&::before': {\n        position: 'absolute',\n        top: 0,\n        insetInlineEnd: 0,\n        bottom: 0,\n        insetInlineStart: 0,\n        zIndex: 1,\n        border: `${lineWidth}px ${lineType} ${colorPrimary}`,\n        borderRadius: borderRadiusSM,\n        content: '\"\"',\n      },\n    },\n\n    // >>> In Range\n    [`&-in-view${pickerCellCls}-in-range`]: {\n      'position': 'relative',\n\n      '&::before': {\n        background: controlItemBgActive,\n      },\n    },\n\n    // >>> Selected\n    [`&-in-view${pickerCellCls}-selected ${pickerCellInnerCls},\n      &-in-view${pickerCellCls}-range-start ${pickerCellInnerCls},\n      &-in-view${pickerCellCls}-range-end ${pickerCellInnerCls}`]: {\n      color: colorTextLightSolid,\n      background: colorPrimary,\n    },\n\n    [`&-in-view${pickerCellCls}-range-start:not(${pickerCellCls}-range-start-single),\n      &-in-view${pickerCellCls}-range-end:not(${pickerCellCls}-range-end-single)`]: {\n      '&::before': {\n        background: controlItemBgActive,\n      },\n    },\n\n    [`&-in-view${pickerCellCls}-range-start::before`]: {\n      insetInlineStart: '50%',\n    },\n\n    [`&-in-view${pickerCellCls}-range-end::before`]: {\n      insetInlineEnd: '50%',\n    },\n\n    // >>> Range Hover\n    [`&-in-view${pickerCellCls}-range-hover-start:not(${pickerCellCls}-in-range):not(${pickerCellCls}-range-start):not(${pickerCellCls}-range-end),\n      &-in-view${pickerCellCls}-range-hover-end:not(${pickerCellCls}-in-range):not(${pickerCellCls}-range-start):not(${pickerCellCls}-range-end),\n      &-in-view${pickerCellCls}-range-hover-start${pickerCellCls}-range-start-single,\n      &-in-view${pickerCellCls}-range-hover-start${pickerCellCls}-range-start${pickerCellCls}-range-end${pickerCellCls}-range-end-near-hover,\n      &-in-view${pickerCellCls}-range-hover-end${pickerCellCls}-range-start${pickerCellCls}-range-end${pickerCellCls}-range-start-near-hover,\n      &-in-view${pickerCellCls}-range-hover-end${pickerCellCls}-range-end-single,\n      &-in-view${pickerCellCls}-range-hover:not(${pickerCellCls}-in-range)`]: {\n      '&::after': {\n        position: 'absolute',\n        top: '50%',\n        zIndex: 0,\n        height: controlHeightSM,\n        borderTop: `${lineWidth}px dashed ${pickerDateHoverRangeBorderColor}`,\n        borderBottom: `${lineWidth}px dashed ${pickerDateHoverRangeBorderColor}`,\n        transform: 'translateY(-50%)',\n        transition: `all ${motionDurationSlow}`,\n        content: '\"\"',\n      },\n    },\n\n    // Add space for stash\n    [`&-range-hover-start::after,\n      &-range-hover-end::after,\n      &-range-hover::after`]: {\n      insetInlineEnd: 0,\n      insetInlineStart: pickerCellBorderGap,\n    },\n\n    // Hover with in range\n    [`&-in-view${pickerCellCls}-in-range${pickerCellCls}-range-hover::before,\n      &-in-view${pickerCellCls}-range-start${pickerCellCls}-range-hover::before,\n      &-in-view${pickerCellCls}-range-end${pickerCellCls}-range-hover::before,\n      &-in-view${pickerCellCls}-range-start:not(${pickerCellCls}-range-start-single)${pickerCellCls}-range-hover-start::before,\n      &-in-view${pickerCellCls}-range-end:not(${pickerCellCls}-range-end-single)${pickerCellCls}-range-hover-end::before,\n      ${componentCls}-panel\n      > :not(${componentCls}-date-panel)\n      &-in-view${pickerCellCls}-in-range${pickerCellCls}-range-hover-start::before,\n      ${componentCls}-panel\n      > :not(${componentCls}-date-panel)\n      &-in-view${pickerCellCls}-in-range${pickerCellCls}-range-hover-end::before`]: {\n      background: pickerBasicCellHoverWithRangeColor,\n    },\n\n    // range start border-radius\n    [`&-in-view${pickerCellCls}-range-start:not(${pickerCellCls}-range-start-single):not(${pickerCellCls}-range-end) ${pickerCellInnerCls}`]:\n      {\n        borderStartStartRadius: borderRadiusSM,\n        borderEndStartRadius: borderRadiusSM,\n        borderStartEndRadius: 0,\n        borderEndEndRadius: 0,\n      },\n\n    // range end border-radius\n    [`&-in-view${pickerCellCls}-range-end:not(${pickerCellCls}-range-end-single):not(${pickerCellCls}-range-start) ${pickerCellInnerCls}`]:\n      {\n        borderStartStartRadius: 0,\n        borderEndStartRadius: 0,\n        borderStartEndRadius: borderRadiusSM,\n        borderEndEndRadius: borderRadiusSM,\n      },\n\n    [`&-range-hover${pickerCellCls}-range-end::after`]: {\n      insetInlineStart: '50%',\n    },\n\n    // Edge start\n    [`tr > &-in-view${pickerCellCls}-range-hover:first-child::after,\n      tr > &-in-view${pickerCellCls}-range-hover-end:first-child::after,\n      &-in-view${pickerCellCls}-start${pickerCellCls}-range-hover-edge-start${pickerCellCls}-range-hover-edge-start-near-range::after,\n      &-in-view${pickerCellCls}-range-hover-edge-start:not(${pickerCellCls}-range-hover-edge-start-near-range)::after,\n      &-in-view${pickerCellCls}-range-hover-start::after`]: {\n      insetInlineStart: (pickerPanelCellWidth - pickerPanelCellHeight) / 2,\n      borderInlineStart: `${lineWidth}px dashed ${pickerDateHoverRangeBorderColor}`,\n      borderStartStartRadius: lineWidth,\n      borderEndStartRadius: lineWidth,\n    },\n\n    // Edge end\n    [`tr > &-in-view${pickerCellCls}-range-hover:last-child::after,\n      tr > &-in-view${pickerCellCls}-range-hover-start:last-child::after,\n      &-in-view${pickerCellCls}-end${pickerCellCls}-range-hover-edge-end${pickerCellCls}-range-hover-edge-end-near-range::after,\n      &-in-view${pickerCellCls}-range-hover-edge-end:not(${pickerCellCls}-range-hover-edge-end-near-range)::after,\n      &-in-view${pickerCellCls}-range-hover-end::after`]: {\n      insetInlineEnd: (pickerPanelCellWidth - pickerPanelCellHeight) / 2,\n      borderInlineEnd: `${lineWidth}px dashed ${pickerDateHoverRangeBorderColor}`,\n      borderStartEndRadius: lineWidth,\n      borderEndEndRadius: lineWidth,\n    },\n\n    // >>> Disabled\n    '&-disabled': {\n      'color': colorTextDisabled,\n      'pointerEvents': 'none',\n\n      [pickerCellInnerCls]: {\n        background: 'transparent',\n      },\n\n      '&::before': {\n        background: colorBgContainerDisabled,\n      },\n    },\n    [`&-disabled${pickerCellCls}-today ${pickerCellInnerCls}::before`]: {\n      borderColor: colorTextDisabled,\n    },\n  };\n}\n\nexport function genPanelStyle(token: SharedPickerToken): CSSObject {\n  const {\n    componentCls,\n    pickerCellInnerCls,\n    pickerYearMonthCellWidth,\n    pickerControlIconSize,\n    pickerPanelCellWidth,\n    paddingSM,\n    paddingXS,\n    paddingXXS,\n    colorBgContainer,\n    lineWidth,\n    lineType,\n    borderRadiusLG,\n    colorPrimary,\n    colorTextHeading,\n    colorSplit,\n    pickerControlIconBorderWidth,\n    colorIcon,\n    pickerTextHeight,\n    motionDurationMid,\n    colorIconHover,\n    fontWeightStrong,\n    pickerPanelCellHeight,\n    pickerCellPaddingVertical,\n    colorTextDisabled,\n    colorText,\n    fontSize,\n    pickerBasicCellHoverWithRangeColor,\n    motionDurationSlow,\n    pickerPanelWithoutTimeCellHeight,\n    pickerQuarterPanelContentHeight,\n    colorLink,\n    colorLinkActive,\n    colorLinkHover,\n    pickerDateHoverRangeBorderColor,\n    borderRadiusSM,\n    colorTextLightSolid,\n    borderRadius,\n    controlItemBgHover,\n    pickerTimePanelColumnHeight,\n    pickerTimePanelColumnWidth,\n    pickerTimePanelCellHeight,\n    controlItemBgActive,\n    marginXXS,\n  } = token;\n\n  const pickerPanelWidth = pickerPanelCellWidth * 7 + paddingSM * 2 + 4;\n\n  const hoverCellFixedDistance\n    = (pickerPanelWidth - paddingXS * 2) / 3 - pickerYearMonthCellWidth - paddingSM;\n\n  return {\n    [componentCls]: {\n      '&-panel': {\n        'display': 'inline-flex',\n        'flexDirection': 'column',\n        'textAlign': 'center',\n        'background': colorBgContainer,\n        'border': `${lineWidth}px ${lineType} ${colorSplit}`,\n        'borderRadius': borderRadiusLG,\n        'outline': 'none',\n\n        '&-focused': {\n          borderColor: colorPrimary,\n        },\n\n        '&-rtl': {\n          direction: 'rtl',\n\n          [`${componentCls}-prev-icon,\n              ${componentCls}-super-prev-icon`]: {\n            transform: 'rotate(45deg)',\n          },\n\n          [`${componentCls}-next-icon,\n              ${componentCls}-super-next-icon`]: {\n            transform: 'rotate(-135deg)',\n          },\n        },\n      },\n\n      // ========================================================\n      // =                     Shared Panel                     =\n      // ========================================================\n      [`&-decade-panel,\n        &-year-panel,\n        &-quarter-panel,\n        &-month-panel,\n        &-week-panel,\n        &-date-panel,\n        &-time-panel`]: {\n        display: 'flex',\n        flexDirection: 'column',\n        width: pickerPanelWidth,\n      },\n\n      // ======================= Header =======================\n      '&-header': {\n        'display': 'flex',\n        'padding': `0 ${paddingXS}px`,\n        'color': colorTextHeading,\n        'borderBottom': `${lineWidth}px ${lineType} ${colorSplit}`,\n\n        '> *': {\n          flex: 'none',\n        },\n\n        'button': {\n          padding: 0,\n          color: colorIcon,\n          lineHeight: `${pickerTextHeight}px`,\n          background: 'transparent',\n          border: 0,\n          cursor: 'pointer',\n          transition: `color ${motionDurationMid}`,\n        },\n\n        '> button': {\n          'minWidth': '1.6em',\n          fontSize,\n\n          '&:hover': {\n            color: colorIconHover,\n          },\n        },\n\n        '&-view': {\n          flex: 'auto',\n          fontWeight: fontWeightStrong,\n          lineHeight: `${pickerTextHeight}px`,\n\n          button: {\n            'color': 'inherit',\n            'fontWeight': 'inherit',\n            'verticalAlign': 'top',\n\n            '&:not(:first-child)': {\n              marginInlineStart: paddingXS,\n            },\n\n            '&:hover': {\n              color: colorPrimary,\n            },\n          },\n        },\n      },\n      // Arrow button\n      [`&-prev-icon,\n        &-next-icon,\n        &-super-prev-icon,\n        &-super-next-icon`]: {\n        'position': 'relative',\n        'display': 'inline-block',\n        'width': pickerControlIconSize,\n        'height': pickerControlIconSize,\n\n        '&::before': {\n          position: 'absolute',\n          top: 0,\n          insetInlineStart: 0,\n          display: 'inline-block',\n          width: pickerControlIconSize,\n          height: pickerControlIconSize,\n          border: '0 solid currentcolor',\n          borderBlockStartWidth: pickerControlIconBorderWidth,\n          borderBlockEndWidth: 0,\n          borderInlineStartWidth: pickerControlIconBorderWidth,\n          borderInlineEndWidth: 0,\n          content: '\"\"',\n        },\n      },\n\n      [`&-super-prev-icon,\n        &-super-next-icon`]: {\n        '&::after': {\n          position: 'absolute',\n          top: Math.ceil(pickerControlIconSize / 2),\n          insetInlineStart: Math.ceil(pickerControlIconSize / 2),\n          display: 'inline-block',\n          width: pickerControlIconSize,\n          height: pickerControlIconSize,\n          border: '0 solid currentcolor',\n          borderBlockStartWidth: pickerControlIconBorderWidth,\n          borderBlockEndWidth: 0,\n          borderInlineStartWidth: pickerControlIconBorderWidth,\n          borderInlineEndWidth: 0,\n          content: '\"\"',\n        },\n      },\n\n      [`&-prev-icon,\n        &-super-prev-icon`]: {\n        transform: 'rotate(-45deg)',\n      },\n\n      [`&-next-icon,\n        &-super-next-icon`]: {\n        transform: 'rotate(135deg)',\n      },\n\n      // ======================== Body ========================\n      '&-content': {\n        'width': '100%',\n        'tableLayout': 'fixed',\n        'borderCollapse': 'collapse',\n\n        'th, td': {\n          position: 'relative',\n          minWidth: pickerPanelCellHeight,\n          fontWeight: 'normal',\n        },\n\n        'th': {\n          height: pickerPanelCellHeight + pickerCellPaddingVertical * 2,\n          color: colorText,\n          verticalAlign: 'middle',\n        },\n      },\n\n      '&-cell': {\n        'padding': `${pickerCellPaddingVertical}px 0`,\n        'color': colorTextDisabled,\n        'cursor': 'pointer',\n\n        // In view\n        '&-in-view': {\n          color: colorText,\n        },\n\n        ...genPickerCellInnerStyle(token),\n      },\n\n      // DatePanel only\n      [`&-date-panel ${componentCls}-cell-in-view${componentCls}-cell-in-range${componentCls}-cell-range-hover-start ${pickerCellInnerCls},\n        &-date-panel ${componentCls}-cell-in-view${componentCls}-cell-in-range${componentCls}-cell-range-hover-end ${pickerCellInnerCls}`]:\n        {\n          '&::after': {\n            position: 'absolute',\n            top: 0,\n            bottom: 0,\n            zIndex: -1,\n            background: pickerBasicCellHoverWithRangeColor,\n            transition: `all ${motionDurationSlow}`,\n            content: '\"\"',\n          },\n        },\n\n      [`&-date-panel\n        ${componentCls}-cell-in-view${componentCls}-cell-in-range${componentCls}-cell-range-hover-start\n        ${pickerCellInnerCls}::after`]: {\n        insetInlineEnd: -(pickerPanelCellWidth - pickerPanelCellHeight) / 2,\n        insetInlineStart: 0,\n      },\n\n      [`&-date-panel ${componentCls}-cell-in-view${componentCls}-cell-in-range${componentCls}-cell-range-hover-end ${pickerCellInnerCls}::after`]:\n        {\n          insetInlineEnd: 0,\n          insetInlineStart: -(pickerPanelCellWidth - pickerPanelCellHeight) / 2,\n        },\n\n      // Hover with range start & end\n      [`&-range-hover${componentCls}-range-start::after`]: {\n        insetInlineEnd: '50%',\n      },\n\n      [`&-decade-panel,\n        &-year-panel,\n        &-quarter-panel,\n        &-month-panel`]: {\n        [`${componentCls}-content`]: {\n          height: pickerPanelWithoutTimeCellHeight * 4,\n        },\n\n        [pickerCellInnerCls]: {\n          padding: `0 ${paddingXS}px`,\n        },\n      },\n\n      '&-quarter-panel': {\n        [`${componentCls}-content`]: {\n          height: pickerQuarterPanelContentHeight,\n        },\n      },\n\n      // ======================== Footer ========================\n      [`&-panel ${componentCls}-footer`]: {\n        borderTop: `${lineWidth}px ${lineType} ${colorSplit}`,\n      },\n\n      '&-footer': {\n        'width': 'min-content',\n        'minWidth': '100%',\n        'lineHeight': `${pickerTextHeight - 2 * lineWidth}px`,\n        'textAlign': 'center',\n\n        '&-extra': {\n          'padding': `0 ${paddingSM}`,\n          'lineHeight': `${pickerTextHeight - 2 * lineWidth}px`,\n          'textAlign': 'start',\n\n          '&:not(:last-child)': {\n            borderBottom: `${lineWidth}px ${lineType} ${colorSplit}`,\n          },\n        },\n      },\n\n      '&-now': {\n        textAlign: 'start',\n      },\n\n      '&-today-btn': {\n        'color': colorLink,\n\n        '&:hover': {\n          color: colorLinkHover,\n        },\n\n        '&:active': {\n          color: colorLinkActive,\n        },\n\n        [`&${componentCls}-today-btn-disabled`]: {\n          color: colorTextDisabled,\n          cursor: 'not-allowed',\n        },\n      },\n\n      // ========================================================\n      // =                       Special                        =\n      // ========================================================\n\n      // ===================== Decade Panel =====================\n      '&-decade-panel': {\n        [pickerCellInnerCls]: {\n          padding: `0 ${paddingXS / 2}px`,\n        },\n\n        [`${componentCls}-cell::before`]: {\n          display: 'none',\n        },\n      },\n\n      // ============= Year & Quarter & Month Panel =============\n      [`&-year-panel,\n        &-quarter-panel,\n        &-month-panel`]: {\n        [`${componentCls}-body`]: {\n          padding: `0 ${paddingXS}px`,\n        },\n\n        [pickerCellInnerCls]: {\n          width: pickerYearMonthCellWidth,\n        },\n\n        [`${componentCls}-cell-range-hover-start::after`]: {\n          insetInlineStart: hoverCellFixedDistance,\n          borderInlineStart: `${lineWidth}px dashed ${pickerDateHoverRangeBorderColor}`,\n          borderStartStartRadius: borderRadiusSM,\n          borderBottomStartRadius: borderRadiusSM,\n          borderStartEndRadius: 0,\n          borderBottomEndRadius: 0,\n\n          [`${componentCls}-panel-rtl &`]: {\n            insetInlineEnd: hoverCellFixedDistance,\n            borderInlineEnd: `${lineWidth}px dashed ${pickerDateHoverRangeBorderColor}`,\n            borderStartStartRadius: 0,\n            borderBottomStartRadius: 0,\n            borderStartEndRadius: borderRadiusSM,\n            borderBottomEndRadius: borderRadiusSM,\n          },\n        },\n        [`${componentCls}-cell-range-hover-end::after`]: {\n          insetInlineEnd: hoverCellFixedDistance,\n          borderInlineEnd: `${lineWidth}px dashed ${pickerDateHoverRangeBorderColor}`,\n          borderStartStartRadius: 0,\n          borderEndStartRadius: 0,\n          borderStartEndRadius: borderRadius,\n          borderEndEndRadius: borderRadius,\n\n          [`${componentCls}-panel-rtl &`]: {\n            insetInlineStart: hoverCellFixedDistance,\n            borderInlineStart: `${lineWidth}px dashed ${pickerDateHoverRangeBorderColor}`,\n            borderStartStartRadius: borderRadius,\n            borderEndStartRadius: borderRadius,\n            borderStartEndRadius: 0,\n            borderEndEndRadius: 0,\n          },\n        },\n      },\n\n      // ====================== Week Panel ======================\n      '&-week-panel': {\n        [`${componentCls}-body`]: {\n          padding: `${paddingXS}px ${paddingSM}px`,\n        },\n\n        // Clear cell style\n        [`${componentCls}-cell`]: {\n          [`&:hover ${pickerCellInnerCls},\n            &-selected ${pickerCellInnerCls},\n            ${pickerCellInnerCls}`]: {\n            background: 'transparent !important',\n          },\n        },\n\n        '&-row': {\n          'td': {\n            'transition': `background ${motionDurationMid}`,\n\n            '&:first-child': {\n              borderStartStartRadius: borderRadiusSM,\n              borderEndStartRadius: borderRadiusSM,\n            },\n\n            '&:last-child': {\n              borderStartEndRadius: borderRadiusSM,\n              borderEndEndRadius: borderRadiusSM,\n            },\n          },\n\n          '&:hover td': {\n            background: controlItemBgHover,\n          },\n\n          [`&-selected td,\n            &-selected:hover td`]: {\n            background: colorPrimary,\n\n            [`&${componentCls}-cell-week`]: {\n              color: new TinyColor(colorTextLightSolid).setAlpha(0.5).toHexString(),\n            },\n\n            [`&${componentCls}-cell-today ${pickerCellInnerCls}::before`]: {\n              borderColor: colorTextLightSolid,\n            },\n\n            [pickerCellInnerCls]: {\n              color: colorTextLightSolid,\n            },\n          },\n        },\n      },\n\n      // ====================== Date Panel ======================\n      '&-date-panel': {\n        [`${componentCls}-body`]: {\n          padding: `${paddingXS}px ${paddingSM}px`,\n        },\n\n        [`${componentCls}-content`]: {\n          width: pickerPanelCellWidth * 7,\n\n          th: {\n            width: pickerPanelCellWidth,\n          },\n        },\n      },\n\n      // ==================== Datetime Panel ====================\n      '&-datetime-panel': {\n        'display': 'flex',\n\n        [`${componentCls}-time-panel`]: {\n          borderInlineStart: `${lineWidth}px ${lineType} ${colorSplit}`,\n        },\n\n        [`${componentCls}-date-panel,\n          ${componentCls}-time-panel`]: {\n          transition: `opacity ${motionDurationSlow}`,\n        },\n\n        // Keyboard\n        '&-active': {\n          [`${componentCls}-date-panel,\n            ${componentCls}-time-panel`]: {\n            'opacity': 0.3,\n\n            '&-active': {\n              opacity: 1,\n            },\n          },\n        },\n      },\n\n      // ====================== Time Panel ======================\n      '&-time-panel': {\n        'width': 'auto',\n        'minWidth': 'auto',\n        'direction': 'ltr',\n\n        [`${componentCls}-content`]: {\n          display: 'flex',\n          flex: 'auto',\n          height: pickerTimePanelColumnHeight,\n        },\n\n        '&-column': {\n          'flex': '1 0 auto',\n          'width': pickerTimePanelColumnWidth,\n          'margin': `${paddingXXS}px 0`,\n          'padding': 0,\n          'overflowY': 'hidden',\n          'textAlign': 'start',\n          'listStyle': 'none',\n          'transition': `background ${motionDurationMid}`,\n          'overflowX': 'hidden',\n\n          '&::after': {\n            display: 'block',\n            height: pickerTimePanelColumnHeight - pickerTimePanelCellHeight,\n            content: '\"\"',\n          },\n\n          '&:not(:first-child)': {\n            borderInlineStart: `${lineWidth}px ${lineType} ${colorSplit}`,\n          },\n\n          '&-active': {\n            background: new TinyColor(controlItemBgActive).setAlpha(0.2).toHexString(),\n          },\n\n          '&:hover': {\n            overflowY: 'auto',\n          },\n\n          '> li': {\n            margin: 0,\n            padding: 0,\n\n            [`&${componentCls}-time-panel-cell`]: {\n              'marginInline': marginXXS,\n              [`${componentCls}-time-panel-cell-inner`]: {\n                'display': 'block',\n                'width': pickerTimePanelColumnWidth - 2 * marginXXS,\n                'height': pickerTimePanelCellHeight,\n                'margin': 0,\n                'paddingBlock': 0,\n                'paddingInlineEnd': 0,\n                'paddingInlineStart': (pickerTimePanelColumnWidth - pickerTimePanelCellHeight) / 2,\n                'color': colorText,\n                'lineHeight': `${pickerTimePanelCellHeight}px`,\n                'borderRadius': borderRadiusSM,\n                'cursor': 'pointer',\n                'transition': `background ${motionDurationMid}`,\n\n                '&:hover': {\n                  background: controlItemBgHover,\n                },\n              },\n\n              '&-selected': {\n                [`${componentCls}-time-panel-cell-inner`]: {\n                  background: controlItemBgActive,\n                },\n              },\n\n              '&-disabled': {\n                [`${componentCls}-time-panel-cell-inner`]: {\n                  color: colorTextDisabled,\n                  background: 'transparent',\n                  cursor: 'not-allowed',\n                },\n              },\n            },\n          },\n        },\n      },\n      // https://github.com/ant-design/ant-design/issues/39227\n      [`&-datetime-panel ${componentCls}-time-panel-column:after`]: {\n        height: pickerTimePanelColumnHeight - pickerTimePanelCellHeight + paddingXXS * 2,\n      },\n    },\n  };\n}\n\nconst genPickerStatusStyle: GenerateStyle<PickerToken> = (token) => {\n  const {\n    componentCls,\n    colorBgContainer,\n    colorError,\n    colorErrorOutline,\n    colorWarning,\n    colorWarningOutline,\n  } = token;\n\n  return {\n    [componentCls]: {\n      [`&-status-error${componentCls}`]: {\n        '&, &:not([disabled]):hover': {\n          backgroundColor: colorBgContainer,\n          borderColor: colorError,\n        },\n\n        '&-focused, &:focus': {\n          ...genActiveStyle(\n            mergeToken<PickerToken>(token, {\n              inputBorderActiveColor: colorError,\n              inputBorderHoverColor: colorError,\n              controlOutline: colorErrorOutline,\n            }),\n          ),\n        },\n\n        [`${componentCls}-active-bar`]: {\n          background: colorError,\n        },\n      },\n\n      [`&-status-warning${componentCls}`]: {\n        '&, &:not([disabled]):hover': {\n          backgroundColor: colorBgContainer,\n          borderColor: colorWarning,\n        },\n\n        '&-focused, &:focus': {\n          ...genActiveStyle(\n            mergeToken<PickerToken>(token, {\n              inputBorderActiveColor: colorWarning,\n              inputBorderHoverColor: colorWarning,\n              controlOutline: colorWarningOutline,\n            }),\n          ),\n        },\n\n        [`${componentCls}-active-bar`]: {\n          background: colorWarning,\n        },\n      },\n    },\n  };\n};\n\nconst genPickerStyle: GenerateStyle<PickerToken> = (token) => {\n  const {\n    componentCls,\n    antCls,\n    boxShadowPopoverArrow,\n    controlHeight,\n    fontSize,\n    inputPaddingHorizontal,\n    colorBgContainer,\n    lineWidth,\n    lineType,\n    colorBorder,\n    borderRadius,\n    motionDurationMid,\n    colorBgContainerDisabled,\n    colorTextDisabled,\n    colorTextPlaceholder,\n    controlHeightLG,\n    fontSizeLG,\n    controlHeightSM,\n    inputPaddingHorizontalSM,\n    paddingXS,\n    marginXS,\n    colorTextDescription,\n    lineWidthBold,\n    lineHeight,\n    colorPrimary,\n    motionDurationSlow,\n    zIndexPopup,\n    paddingXXS,\n    paddingSM,\n    pickerTextHeight,\n    controlItemBgActive,\n    colorPrimaryBorder,\n    sizePopupArrow,\n    borderRadiusXS,\n    borderRadiusOuter,\n    colorBgElevated,\n    borderRadiusLG,\n    boxShadowSecondary,\n    borderRadiusSM,\n    colorSplit,\n    controlItemBgHover,\n    presetsWidth,\n    presetsMaxWidth,\n  } = token;\n\n  return [\n    {\n      [componentCls]: {\n        ...resetComponent(token),\n        ...genPikerPadding(token, controlHeight, fontSize, inputPaddingHorizontal),\n        'position': 'relative',\n        'display': 'inline-flex',\n        'alignItems': 'center',\n        'background': colorBgContainer,\n        'lineHeight': 1,\n        'border': `${lineWidth}px ${lineType} ${colorBorder}`,\n        borderRadius,\n        'transition': `border ${motionDurationMid}, box-shadow ${motionDurationMid}`,\n\n        '&:hover, &-focused': {\n          ...genHoverStyle(token),\n        },\n\n        '&-focused': {\n          ...genActiveStyle(token),\n        },\n\n        [`&${componentCls}-disabled`]: {\n          background: colorBgContainerDisabled,\n          borderColor: colorBorder,\n          cursor: 'not-allowed',\n\n          [`${componentCls}-suffix`]: {\n            color: colorTextDisabled,\n          },\n        },\n\n        [`&${componentCls}-borderless`]: {\n          backgroundColor: 'transparent !important',\n          borderColor: 'transparent !important',\n          boxShadow: 'none !important',\n        },\n\n        // ======================== Input =========================\n        [`${componentCls}-input`]: {\n          'position': 'relative',\n          'display': 'inline-flex',\n          'alignItems': 'center',\n          'width': '100%',\n\n          '> input': {\n            ...genBasicInputStyle(token),\n            'flex': 'auto',\n\n            // Fix Firefox flex not correct:\n            // https://github.com/ant-design/ant-design/pull/20023#issuecomment-564389553\n            'minWidth': 1,\n            'height': 'auto',\n            'padding': 0,\n            'background': 'transparent',\n            'border': 0,\n\n            '&:focus': {\n              boxShadow: 'none',\n            },\n\n            '&[disabled]': {\n              background: 'transparent',\n            },\n          },\n\n          '&:hover': {\n            [`${componentCls}-clear`]: {\n              opacity: 1,\n            },\n          },\n\n          '&-placeholder': {\n            '> input': {\n              color: colorTextPlaceholder,\n            },\n          },\n        },\n\n        // Size\n        '&-large': {\n          ...genPikerPadding(token, controlHeightLG, fontSizeLG, inputPaddingHorizontal),\n\n          [`${componentCls}-input > input`]: {\n            fontSize: fontSizeLG,\n          },\n        },\n\n        '&-small': {\n          ...genPikerPadding(token, controlHeightSM, fontSize, inputPaddingHorizontalSM),\n        },\n\n        [`${componentCls}-suffix`]: {\n          'display': 'flex',\n          'flex': 'none',\n          'alignSelf': 'center',\n          'marginInlineStart': paddingXS / 2,\n          'color': colorTextDisabled,\n          'lineHeight': 1,\n          'pointerEvents': 'none',\n\n          '> *': {\n            'verticalAlign': 'top',\n\n            '&:not(:last-child)': {\n              marginInlineEnd: marginXS,\n            },\n          },\n        },\n\n        [`${componentCls}-clear`]: {\n          'position': 'absolute',\n          'top': '50%',\n          'insetInlineEnd': 0,\n          'color': colorTextDisabled,\n          'lineHeight': 1,\n          'background': colorBgContainer,\n          'transform': 'translateY(-50%)',\n          'cursor': 'pointer',\n          'opacity': 0,\n          'transition': `opacity ${motionDurationMid}, color ${motionDurationMid}`,\n\n          '> *': {\n            verticalAlign: 'top',\n          },\n\n          '&:hover': {\n            color: colorTextDescription,\n          },\n        },\n\n        [`${componentCls}-separator`]: {\n          position: 'relative',\n          display: 'inline-block',\n          width: '1em',\n          height: fontSizeLG,\n          color: colorTextDisabled,\n          fontSize: fontSizeLG,\n          verticalAlign: 'top',\n          cursor: 'default',\n\n          [`${componentCls}-focused &`]: {\n            color: colorTextDescription,\n          },\n\n          [`${componentCls}-range-separator &`]: {\n            [`${componentCls}-disabled &`]: {\n              cursor: 'not-allowed',\n            },\n          },\n        },\n\n        // ======================== Range =========================\n        '&-range': {\n          'position': 'relative',\n          'display': 'inline-flex',\n\n          // Clear\n          [`${componentCls}-clear`]: {\n            insetInlineEnd: inputPaddingHorizontal,\n          },\n\n          '&:hover': {\n            [`${componentCls}-clear`]: {\n              opacity: 1,\n            },\n          },\n\n          // Active bar\n          [`${componentCls}-active-bar`]: {\n            bottom: -lineWidth,\n            height: lineWidthBold,\n            marginInlineStart: inputPaddingHorizontal,\n            background: colorPrimary,\n            opacity: 0,\n            transition: `all ${motionDurationSlow} ease-out`,\n            pointerEvents: 'none',\n          },\n\n          [`&${componentCls}-focused`]: {\n            [`${componentCls}-active-bar`]: {\n              opacity: 1,\n            },\n          },\n\n          [`${componentCls}-range-separator`]: {\n            alignItems: 'center',\n            padding: `0 ${paddingXS}px`,\n            lineHeight: 1,\n          },\n\n          [`&${componentCls}-small`]: {\n            [`${componentCls}-clear`]: {\n              insetInlineEnd: inputPaddingHorizontalSM,\n            },\n\n            [`${componentCls}-active-bar`]: {\n              marginInlineStart: inputPaddingHorizontalSM,\n            },\n          },\n        },\n\n        // ======================= Dropdown =======================\n        '&-dropdown': {\n          ...resetComponent(token),\n          ...genPanelStyle(token),\n          position: 'absolute',\n          // Fix incorrect position of picker popup\n          // https://github.com/ant-design/ant-design/issues/35590\n          top: -9999,\n          left: {\n            _skip_check_: true,\n            value: -9999,\n          },\n          zIndex: zIndexPopup,\n\n          [`&${componentCls}-dropdown-hidden`]: {\n            display: 'none',\n          },\n\n          [`&${componentCls}-dropdown-placement-bottomLeft`]: {\n            [`${componentCls}-range-arrow`]: {\n              top: 0,\n              display: 'block',\n              transform: 'translateY(-100%)',\n            },\n          },\n\n          [`&${componentCls}-dropdown-placement-topLeft`]: {\n            [`${componentCls}-range-arrow`]: {\n              bottom: 0,\n              display: 'block',\n              transform: 'translateY(100%) rotate(180deg)',\n            },\n          },\n\n          [`&${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-dropdown-placement-topLeft,\n          &${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-dropdown-placement-topRight,\n          &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-dropdown-placement-topLeft,\n          &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-dropdown-placement-topRight`]:\n            {\n              animationName: slideDownIn,\n            },\n\n          [`&${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-dropdown-placement-bottomLeft,\n          &${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-dropdown-placement-bottomRight,\n          &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-dropdown-placement-bottomLeft,\n          &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-dropdown-placement-bottomRight`]:\n            {\n              animationName: slideUpIn,\n            },\n\n          [`&${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-dropdown-placement-topLeft,\n          &${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-dropdown-placement-topRight`]:\n            {\n              animationName: slideDownOut,\n            },\n\n          [`&${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-dropdown-placement-bottomLeft,\n          &${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-dropdown-placement-bottomRight`]:\n            {\n              animationName: slideUpOut,\n            },\n\n          // Time picker with additional style\n          [`${componentCls}-panel > ${componentCls}-time-panel`]: {\n            paddingTop: paddingXXS,\n          },\n\n          // ======================== Ranges ========================\n          [`${componentCls}-ranges`]: {\n            'marginBottom': 0,\n            'padding': `${paddingXXS}px ${paddingSM}px`,\n            'overflow': 'hidden',\n            'lineHeight': `${pickerTextHeight - 2 * lineWidth - paddingXS / 2}px`,\n            'textAlign': 'start',\n            'listStyle': 'none',\n            'display': 'flex',\n            'justifyContent': 'space-between',\n\n            '> li': {\n              display: 'inline-block',\n            },\n\n            // https://github.com/ant-design/ant-design/issues/23687\n            [`${componentCls}-preset > ${antCls}-tag-blue`]: {\n              color: colorPrimary,\n              background: controlItemBgActive,\n              borderColor: colorPrimaryBorder,\n              cursor: 'pointer',\n            },\n\n            [`${componentCls}-ok`]: {\n              marginInlineStart: 'auto',\n            },\n          },\n\n          [`${componentCls}-range-wrapper`]: {\n            display: 'flex',\n            position: 'relative',\n          },\n\n          [`${componentCls}-range-arrow`]: {\n            position: 'absolute',\n            zIndex: 1,\n            display: 'none',\n            marginInlineStart: inputPaddingHorizontal * 1.5,\n            transition: `left ${motionDurationSlow} ease-out`,\n            ...roundedArrow(\n              sizePopupArrow,\n              borderRadiusXS,\n              borderRadiusOuter,\n              colorBgElevated,\n              boxShadowPopoverArrow,\n            ),\n          },\n\n          [`${componentCls}-panel-container`]: {\n            overflow: 'hidden',\n            verticalAlign: 'top',\n            background: colorBgElevated,\n            borderRadius: borderRadiusLG,\n            boxShadow: boxShadowSecondary,\n            transition: `margin ${motionDurationSlow}`,\n\n            // ======================== Layout ========================\n            [`${componentCls}-panel-layout`]: {\n              display: 'flex',\n              flexWrap: 'nowrap',\n              alignItems: 'stretch',\n            },\n\n            // ======================== Preset ========================\n            [`${componentCls}-presets`]: {\n              display: 'flex',\n              flexDirection: 'column',\n              minWidth: presetsWidth,\n              maxWidth: presetsMaxWidth,\n\n              ul: {\n                height: 0,\n                flex: 'auto',\n                listStyle: 'none',\n                overflow: 'auto',\n                margin: 0,\n                padding: paddingXS,\n                borderInlineEnd: `${lineWidth}px ${lineType} ${colorSplit}`,\n\n                li: {\n                  ...textEllipsis,\n                  'borderRadius': borderRadiusSM,\n                  'paddingInline': paddingXS,\n                  'paddingBlock': (controlHeightSM - Math.round(fontSize * lineHeight)) / 2,\n                  'cursor': 'pointer',\n                  'transition': `all ${motionDurationSlow}`,\n\n                  '+ li': {\n                    marginTop: marginXS,\n                  },\n\n                  '&:hover': {\n                    background: controlItemBgHover,\n                  },\n                },\n              },\n            },\n\n            // ======================== Panels ========================\n            [`${componentCls}-panels`]: {\n              'display': 'inline-flex',\n              'flexWrap': 'nowrap',\n              'direction': 'ltr',\n\n              [`${componentCls}-panel`]: {\n                borderWidth: `0 0 ${lineWidth}px`,\n              },\n\n              '&:last-child': {\n                [`${componentCls}-panel`]: {\n                  borderWidth: 0,\n                },\n              },\n            },\n\n            [`${componentCls}-panel`]: {\n              'verticalAlign': 'top',\n              'background': 'transparent',\n              'borderRadius': 0,\n              'borderWidth': 0,\n\n              [`${componentCls}-content,\n            table`]: {\n                textAlign: 'center',\n              },\n\n              '&-focused': {\n                borderColor: colorBorder,\n              },\n            },\n          },\n        },\n\n        '&-dropdown-range': {\n          'padding': `${(sizePopupArrow * 2) / 3}px 0`,\n\n          '&-hidden': {\n            display: 'none',\n          },\n        },\n\n        '&-rtl': {\n          direction: 'rtl',\n\n          [`${componentCls}-separator`]: {\n            transform: 'rotate(180deg)',\n          },\n\n          [`${componentCls}-footer`]: {\n            '&-extra': {\n              direction: 'rtl',\n            },\n          },\n        },\n      },\n    },\n\n    // Follow code may reuse in other components\n    initSlideMotion(token, 'slide-up'),\n    initSlideMotion(token, 'slide-down'),\n    initMoveMotion(token, 'move-up'),\n    initMoveMotion(token, 'move-down'),\n  ];\n};\n\nexport function initPickerPanelToken(token: TokenWithCommonCls<GlobalToken>): PickerPanelToken {\n  const pickerTimePanelCellHeight = 28;\n  const { componentCls, controlHeightLG, controlHeightSM, colorPrimary, paddingXXS } = token;\n\n  return {\n    pickerCellCls: `${componentCls}-cell`,\n    pickerCellInnerCls: `${componentCls}-cell-inner`,\n    pickerTextHeight: controlHeightLG,\n    pickerPanelCellWidth: controlHeightSM * 1.5,\n    pickerPanelCellHeight: controlHeightSM,\n    pickerDateHoverRangeBorderColor: new TinyColor(colorPrimary).lighten(20).toHexString(),\n    pickerBasicCellHoverWithRangeColor: new TinyColor(colorPrimary).lighten(35).toHexString(),\n    pickerPanelWithoutTimeCellHeight: controlHeightLG * 1.65,\n    pickerYearMonthCellWidth: controlHeightLG * 1.5,\n    pickerTimePanelColumnHeight: pickerTimePanelCellHeight * 8,\n    pickerTimePanelColumnWidth: controlHeightLG * 1.4,\n    pickerTimePanelCellHeight,\n    pickerQuarterPanelContentHeight: controlHeightLG * 1.4,\n    pickerCellPaddingVertical: paddingXXS,\n    pickerCellBorderGap: 2, // Magic for gap between cells\n    pickerControlIconSize: 7,\n    pickerControlIconBorderWidth: 1.5,\n  };\n}\n\n// ============================== Export ==============================\nexport default genComponentStyleHook(\n  'DatePicker',\n  (token) => {\n    const pickerToken = mergeToken<PickerToken>(\n      initInputToken<FullToken<'DatePicker'>>(token),\n      initPickerPanelToken(token),\n    );\n\n    return [\n      genPickerStyle(pickerToken),\n      genPickerStatusStyle(pickerToken),\n      // =====================================================\n      // ==             Space Compact                       ==\n      // =====================================================\n      genCompactItemStyle(token, {\n        focusElCls: `${token.componentCls}-focused`,\n      }),\n    ];\n  },\n  token => ({\n    presetsWidth: 120,\n    presetsMaxWidth: 200,\n    zIndexPopup: token.zIndexPopupBase + 50,\n  }),\n);\n"],"names":["mergeToken"],"mappings":"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"}