{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/calendar/style/index.tsx"],"sourcesContent":["import type { CSSObject, FullToken } from '@antdv/theme';\nimport type { PickerPanelToken } from '../../date-picker/style';\nimport type { InputToken } from '../../input/style';\nimport { genComponentStyleHook, mergeToken, resetComponent } from '@antdv/theme';\nimport { genPanelStyle, initPickerPanelToken } from '../../date-picker/style';\nimport { initInputToken } from '../../input/style';\n\nexport interface ComponentToken {\n  yearControlWidth: number\n  monthControlWidth: number\n  miniContentHeight: number\n}\n\ninterface CalendarToken extends InputToken<FullToken<'Calendar'>>, PickerPanelToken {\n  calendarCls: string\n  calendarFullBg: string\n  calendarFullPanelBg: string\n  calendarItemActiveBg: string\n  dateValueHeight: number\n  weekHeight: number\n  dateContentHeight: number\n}\n\nexport function genCalendarStyles(token: CalendarToken): CSSObject {\n  const { calendarCls, componentCls, calendarFullBg, calendarFullPanelBg, calendarItemActiveBg }\n    = token;\n  return {\n    [calendarCls]: {\n      ...genPanelStyle(token),\n      ...resetComponent(token),\n      'background': calendarFullBg,\n      '&-rtl': {\n        direction: 'rtl',\n      },\n      [`${calendarCls}-header`]: {\n        display: 'flex',\n        justifyContent: 'flex-end',\n        padding: `${token.paddingSM}px 0`,\n\n        [`${calendarCls}-year-select`]: {\n          minWidth: token.yearControlWidth,\n        },\n        [`${calendarCls}-month-select`]: {\n          minWidth: token.monthControlWidth,\n          marginInlineStart: token.marginXS,\n        },\n        [`${calendarCls}-mode-switch`]: {\n          marginInlineStart: token.marginXS,\n        },\n      },\n    },\n    [`${calendarCls} ${componentCls}-panel`]: {\n      background: calendarFullPanelBg,\n      border: 0,\n      borderTop: `${token.lineWidth}px ${token.lineType} ${token.colorSplit}`,\n      borderRadius: 0,\n      [`${componentCls}-month-panel, ${componentCls}-date-panel`]: {\n        width: 'auto',\n      },\n      [`${componentCls}-body`]: {\n        padding: `${token.paddingXS}px 0`,\n      },\n      [`${componentCls}-content`]: {\n        width: '100%',\n      },\n    },\n    [`${calendarCls}-mini`]: {\n      borderRadius: token.borderRadiusLG,\n      [`${calendarCls}-header`]: {\n        paddingInlineEnd: token.paddingXS,\n        paddingInlineStart: token.paddingXS,\n      },\n      [`${componentCls}-panel`]: {\n        borderRadius: `0 0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px`,\n      },\n      [`${componentCls}-content`]: {\n        height: token.miniContentHeight,\n        th: {\n          height: 'auto',\n          padding: 0,\n          lineHeight: `${token.weekHeight}px`,\n        },\n      },\n      [`${componentCls}-cell::before`]: {\n        pointerEvents: 'none',\n      },\n    },\n    [`${calendarCls}${calendarCls}-full`]: {\n      [`${componentCls}-panel`]: {\n        display: 'block',\n        width: '100%',\n        textAlign: 'end',\n        background: calendarFullBg,\n        border: 0,\n        [`${componentCls}-body`]: {\n          'th, td': {\n            padding: 0,\n          },\n          'th': {\n            height: 'auto',\n            paddingInlineEnd: token.paddingSM,\n            paddingBottom: token.paddingXXS,\n            lineHeight: `${token.weekHeight}px`,\n          },\n        },\n      },\n      [`${componentCls}-cell`]: {\n        '&::before': {\n          display: 'none',\n        },\n        '&:hover': {\n          [`${calendarCls}-date`]: {\n            background: token.controlItemBgHover,\n          },\n        },\n        [`${calendarCls}-date-today::before`]: {\n          display: 'none',\n        },\n        // >>> Selected\n        [`&-in-view${componentCls}-cell-selected`]: {\n          [`${calendarCls}-date, ${calendarCls}-date-today`]: {\n            background: calendarItemActiveBg,\n          },\n        },\n        '&-selected, &-selected:hover': {\n          [`${calendarCls}-date, ${calendarCls}-date-today`]: {\n            [`${calendarCls}-date-value`]: {\n              color: token.colorPrimary,\n            },\n          },\n        },\n      },\n      [`${calendarCls}-date`]: {\n        'display': 'block',\n        'width': 'auto',\n        'height': 'auto',\n        'margin': `0 ${token.marginXS / 2}px`,\n        'padding': `${token.paddingXS / 2}px ${token.paddingXS}px 0`,\n        'border': 0,\n        'borderTop': `${token.lineWidthBold}px ${token.lineType} ${token.colorSplit}`,\n        'borderRadius': 0,\n        'transition': `background ${token.motionDurationSlow}`,\n        '&-value': {\n          lineHeight: `${token.dateValueHeight}px`,\n          transition: `color ${token.motionDurationSlow}`,\n        },\n        '&-content': {\n          position: 'static',\n          width: 'auto',\n          height: token.dateContentHeight,\n          overflowY: 'auto',\n          color: token.colorText,\n          lineHeight: token.lineHeight,\n          textAlign: 'start',\n        },\n        '&-today': {\n          borderColor: token.colorPrimary,\n          [`${calendarCls}-date-value`]: {\n            color: token.colorText,\n          },\n        },\n      },\n    },\n    [`@media only screen and (max-width: ${token.screenXS}px) `]: {\n      [`${calendarCls}`]: {\n        [`${calendarCls}-header`]: {\n          display: 'block',\n          [`${calendarCls}-year-select`]: {\n            width: '50%',\n          },\n          [`${calendarCls}-month-select`]: {\n            width: `calc(50% - ${token.paddingXS}px)`,\n          },\n          [`${calendarCls}-mode-switch`]: {\n            'width': '100%',\n            'marginTop': token.marginXS,\n            'marginInlineStart': 0,\n            '> label': {\n              width: '50%',\n              textAlign: 'center',\n            },\n          },\n        },\n      },\n    },\n  };\n}\n\nexport default genComponentStyleHook(\n  'Calendar',\n  (token) => {\n    const calendarCls = `${token.componentCls}-calendar`;\n    const calendarToken = mergeToken<CalendarToken>(\n      initInputToken<FullToken<'Calendar'>>(token),\n      initPickerPanelToken(token),\n      {\n        calendarCls,\n        pickerCellInnerCls: `${token.componentCls}-cell-inner`,\n        calendarFullBg: token.colorBgContainer,\n        calendarFullPanelBg: token.colorBgContainer,\n        calendarItemActiveBg: token.controlItemBgActive,\n        dateValueHeight: token.controlHeightSM,\n        weekHeight: token.controlHeightSM * 0.75,\n        dateContentHeight:\n          (token.fontSizeSM * token.lineHeightSM + token.marginXS) * 3 + token.lineWidth * 2,\n      },\n    );\n\n    return [genCalendarStyles(calendarToken)];\n  },\n  {\n    yearControlWidth: 80,\n    monthControlWidth: 70,\n    miniContentHeight: 256,\n  },\n);\n"],"names":["genCalendarStyles","token","calendarCls","componentCls","calendarFullBg","calendarFullPanelBg","calendarItemActiveBg","genPanelStyle","resetComponent","direction","display","justifyContent","padding","paddingSM","minWidth","yearControlWidth","monthControlWidth","marginInlineStart","marginXS","background","border","borderTop","lineWidth","lineType","colorSplit","borderRadius","width","paddingXS","borderRadiusLG","paddingInlineEnd","paddingInlineStart","height","miniContentHeight","th","lineHeight","weekHeight","pointerEvents","textAlign","paddingBottom","paddingXXS","controlItemBgHover","color","colorPrimary","lineWidthBold","motionDurationSlow","dateValueHeight","transition","position","dateContentHeight","overflowY","colorText","borderColor","screenXS","genComponentStyleHook","calendarToken","mergeToken","initInputToken","initPickerPanelToken","pickerCellInnerCls","colorBgContainer","controlItemBgActive","controlHeightSM","fontSizeSM","lineHeightSM"],"mappings":"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"}