mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-12 15:19:58 +08:00
18e85a7b81
* chore: init * chore: link picker * chore: move files * chore: update style * chore: update types * test: update snapshot * test: update snapshot * test: update snapshot * test: update snapshot * test: update snapshot * test: fix test case * test: update snapshot * test: update snapshot * test: update snapshot * test: update snapshot * chore: clesn up useless types * chore: update types * chore: fix types * chore: fix types * chore: fix types * chore: fix types * chore: fix types * chore: fix types * chore: fix types * chore: fix types * chore: fix types * chore: update style * chore: clean up * chore: update types * test: update snapshot * test: update snapshot * test: update snapshot * test: update snapshot * fix: format * chore: update deps * chore: feature merge master (#46794) * fix: Fix typo s/Notificaiton/Notification/ (#46775) * docs: supplement form preserve field description (#46788) close https://github.com/ant-design/ant-design/issues/46773 * docs: tweak changelog drawer width in small screen (#46791) * docs: Update compatible-style.zh-CN.md (#46790) Signed-off-by: afc163 <afc163@gmail.com> --------- Signed-off-by: afc163 <afc163@gmail.com> Co-authored-by: hugo-syn <61210734+hugo-syn@users.noreply.github.com> Co-authored-by: Shunze Chen <qianlonwork@outlook.com> Co-authored-by: afc163 <afc163@gmail.com> * chore: update locale size * chore: lock dumi * test: update snapshot * test: update snapshot * test: update snapshot * test: update snapshot * test: update snapshot * test: update snapshot * chore: bump version * test: update snapshot * test: update snapshot * chore: bump version * chore: update limit * test: update snapshot * docs: update 7 days sample * chore: rm useless style * chore: clean up style * docs: add buddihist era demo * refactor: interface * chore: add multiple types * docs: add demo * chore: init style * chore: init style * chore: fill style * chore: fill style * chore: style * chore: size of it * chore: size style * docs: add align demo * docs: needConfirm * chore: fix showWeek style * test: update snapshot * chore: fix ts * chore: fix ts * chore: fix ts * chore: fix ts * fix: week style * docs: update dayjs note * fix: style missing * chore: fix footer extra style missing * test: update snapshot * test: update snapshot * test: update snapshot * test: update snapshot * chore: demo update * docs: update demo * docs: min & max date * test: update snapshot * docs: add order * chore: update deps * test: update snapshot * test: update snapshot * chore: adjust style * chore: clean up style * test: update snapshot * chore: fix comment * chore: update align * chore: bump rc-picker * test: update snapshot * test: update snapshot * test: update snapshot --------- Signed-off-by: afc163 <afc163@gmail.com> Signed-off-by: lijianan <574980606@qq.com> Co-authored-by: hugo-syn <61210734+hugo-syn@users.noreply.github.com> Co-authored-by: Shunze Chen <qianlonwork@outlook.com> Co-authored-by: afc163 <afc163@gmail.com> Co-authored-by: lijianan <574980606@qq.com>
174 lines
5.2 KiB
TypeScript
174 lines
5.2 KiB
TypeScript
import { TinyColor } from '@ctrl/tinycolor';
|
|
|
|
import type { SharedComponentToken, SharedInputToken } from '../../input/style/token';
|
|
import { initComponentToken } from '../../input/style/token';
|
|
import type { MultipleSelectorToken, SelectorToken } from '../../select/style/token';
|
|
import type { ArrowToken } from '../../style/roundedArrow';
|
|
import { getArrowToken } from '../../style/roundedArrow';
|
|
import type { GlobalToken } from '../../theme/interface';
|
|
import type {
|
|
FullToken,
|
|
GetDefaultToken,
|
|
TokenWithCommonCls,
|
|
} from '../../theme/util/genComponentStyleHook';
|
|
|
|
export interface PanelComponentToken extends MultipleSelectorToken {
|
|
/**
|
|
* @desc 单元格悬浮态背景色
|
|
* @descEN Background color of cell hover state
|
|
*/
|
|
cellHoverBg: string;
|
|
/**
|
|
* @desc 选取范围内的单元格背景色
|
|
* @descEN Background color of cell in range
|
|
*/
|
|
cellActiveWithRangeBg: string;
|
|
/**
|
|
* @desc 选取范围内的单元格悬浮态背景色
|
|
* @descEN Background color of hovered cell in range
|
|
*/
|
|
cellHoverWithRangeBg: string;
|
|
/**
|
|
* @desc 单元格禁用态背景色
|
|
* @descEN Background color of disabled cell
|
|
*/
|
|
cellBgDisabled: string;
|
|
/**
|
|
* @desc 选取范围时单元格边框色
|
|
* @descEN Border color of cell in range when picking
|
|
*/
|
|
cellRangeBorderColor: string;
|
|
/**
|
|
* @desc 时间列宽度
|
|
* @descEN Width of time column
|
|
*/
|
|
timeColumnWidth: number;
|
|
/**
|
|
* @desc 时间列高度
|
|
* @descEN Height of time column
|
|
*/
|
|
timeColumnHeight: number;
|
|
/**
|
|
* @desc 时间单元格高度
|
|
* @descEN Height of time cell
|
|
*/
|
|
timeCellHeight: number;
|
|
/**
|
|
* @desc 单元格高度
|
|
* @descEN Height of cell
|
|
*/
|
|
cellHeight: number;
|
|
/**
|
|
* @desc 单元格宽度
|
|
* @descEN Width of cell
|
|
*/
|
|
cellWidth: number;
|
|
/**
|
|
* @desc 单元格文本高度
|
|
* @descEN Height of cell text
|
|
*/
|
|
textHeight: number;
|
|
/**
|
|
* @desc 十年/年/季/月/周单元格高度
|
|
* @descEN Height of decade/year/quarter/month/week cell
|
|
*/
|
|
withoutTimeCellHeight: number;
|
|
}
|
|
|
|
export interface ComponentToken
|
|
extends Exclude<SharedComponentToken, 'addonBg'>,
|
|
PanelComponentToken,
|
|
ArrowToken {
|
|
/**
|
|
* @desc 预设区域宽度
|
|
* @descEN Width of preset area
|
|
*/
|
|
presetsWidth: number;
|
|
/**
|
|
* @desc 预设区域最大宽度
|
|
* @descEN Max width of preset area
|
|
*/
|
|
presetsMaxWidth: number;
|
|
/**
|
|
* @desc 弹窗 z-index
|
|
* @descEN z-index of popup
|
|
*/
|
|
zIndexPopup: number;
|
|
}
|
|
|
|
export type PickerPanelToken = {
|
|
pickerCellCls: string;
|
|
pickerCellInnerCls: string;
|
|
pickerDatePanelPaddingHorizontal: number | string;
|
|
pickerYearMonthCellWidth: number | string;
|
|
pickerCellPaddingVertical: number | string;
|
|
pickerQuarterPanelContentHeight: number | string;
|
|
pickerCellBorderGap: number;
|
|
pickerControlIconSize: number;
|
|
pickerControlIconMargin: number;
|
|
pickerControlIconBorderWidth: number;
|
|
};
|
|
|
|
export type PickerToken = FullToken<'DatePicker'> &
|
|
PickerPanelToken &
|
|
SharedInputToken &
|
|
SelectorToken;
|
|
|
|
export type SharedPickerToken = TokenWithCommonCls<GlobalToken> &
|
|
PickerPanelToken &
|
|
PanelComponentToken;
|
|
|
|
export const initPickerPanelToken = (token: TokenWithCommonCls<GlobalToken>): PickerPanelToken => {
|
|
const { componentCls, controlHeightLG, paddingXXS, padding } = token;
|
|
|
|
return {
|
|
pickerCellCls: `${componentCls}-cell`,
|
|
pickerCellInnerCls: `${componentCls}-cell-inner`,
|
|
pickerYearMonthCellWidth: token.calc(controlHeightLG).mul(1.5).equal(),
|
|
pickerQuarterPanelContentHeight: token.calc(controlHeightLG).mul(1.4).equal(),
|
|
pickerCellPaddingVertical: token.calc(paddingXXS).add(token.calc(paddingXXS).div(2)).equal(),
|
|
pickerCellBorderGap: 2, // Magic for gap between cells
|
|
pickerControlIconSize: 7,
|
|
pickerControlIconMargin: 4,
|
|
pickerControlIconBorderWidth: 1.5,
|
|
pickerDatePanelPaddingHorizontal: token
|
|
.calc(padding)
|
|
.add(token.calc(paddingXXS).div(2))
|
|
.equal(), // 18 in normal
|
|
};
|
|
};
|
|
|
|
export const initPanelComponentToken = (token: GlobalToken): PanelComponentToken => {
|
|
const { colorBgContainerDisabled, controlHeightSM, controlHeightLG } = token;
|
|
return {
|
|
cellHoverBg: token.controlItemBgHover,
|
|
cellActiveWithRangeBg: token.controlItemBgActive,
|
|
cellHoverWithRangeBg: new TinyColor(token.colorPrimary).lighten(35).toHexString(),
|
|
cellRangeBorderColor: new TinyColor(token.colorPrimary).lighten(20).toHexString(),
|
|
cellBgDisabled: colorBgContainerDisabled,
|
|
timeColumnWidth: controlHeightLG * 1.4,
|
|
timeColumnHeight: 28 * 8,
|
|
timeCellHeight: 28,
|
|
cellWidth: controlHeightSM * 1.5,
|
|
cellHeight: controlHeightSM,
|
|
textHeight: controlHeightLG,
|
|
withoutTimeCellHeight: controlHeightLG * 1.65,
|
|
multipleItemBg: token.colorFillSecondary,
|
|
multipleItemBorderColor: 'transparent',
|
|
multipleItemHeight: controlHeightSM,
|
|
multipleItemHeightLG: token.controlHeight,
|
|
multipleSelectorBgDisabled: colorBgContainerDisabled,
|
|
multipleItemColorDisabled: token.colorTextDisabled,
|
|
multipleItemBorderColorDisabled: 'transparent',
|
|
};
|
|
};
|
|
|
|
export const prepareComponentToken: GetDefaultToken<'DatePicker'> = (token) => ({
|
|
...initComponentToken(token),
|
|
...initPanelComponentToken(token),
|
|
...getArrowToken(token),
|
|
presetsWidth: 120,
|
|
presetsMaxWidth: 200,
|
|
zIndexPopup: token.zIndexPopupBase + 50,
|
|
});
|