123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = genSingleStyle;
- var _cssinjs = require("@ant-design/cssinjs");
- var _style = require("../../style");
- var _internal = require("../../theme/internal");
- function genSizeStyle(token, suffix) {
- const {
- componentCls,
- inputPaddingHorizontalBase,
- borderRadius
- } = token;
- const selectHeightWithoutBorder = token.calc(token.controlHeight).sub(token.calc(token.lineWidth).mul(2)).equal();
- const suffixCls = suffix ? `${componentCls}-${suffix}` : '';
- return {
- [`${componentCls}-single${suffixCls}`]: {
- fontSize: token.fontSize,
- height: token.controlHeight,
- // ========================= Selector =========================
- [`${componentCls}-selector`]: Object.assign(Object.assign({}, (0, _style.resetComponent)(token, true)), {
- display: 'flex',
- borderRadius,
- flex: '1 1 auto',
- [`${componentCls}-selection-wrap:after`]: {
- lineHeight: (0, _cssinjs.unit)(selectHeightWithoutBorder)
- },
- [`${componentCls}-selection-search`]: {
- position: 'absolute',
- inset: 0,
- width: '100%',
- '&-input': {
- width: '100%',
- WebkitAppearance: 'textfield'
- }
- },
- [`
- ${componentCls}-selection-item,
- ${componentCls}-selection-placeholder
- `]: {
- display: 'block',
- padding: 0,
- lineHeight: (0, _cssinjs.unit)(selectHeightWithoutBorder),
- transition: `all ${token.motionDurationSlow}, visibility 0s`,
- alignSelf: 'center'
- },
- [`${componentCls}-selection-placeholder`]: {
- transition: 'none',
- pointerEvents: 'none'
- },
- // For common baseline align
- [['&:after', /* For '' value baseline align */
- `${componentCls}-selection-item:empty:after`, /* For undefined value baseline align */
- `${componentCls}-selection-placeholder:empty:after`].join(',')]: {
- display: 'inline-block',
- width: 0,
- visibility: 'hidden',
- content: '"\\a0"'
- }
- }),
- [`
- &${componentCls}-show-arrow ${componentCls}-selection-item,
- &${componentCls}-show-arrow ${componentCls}-selection-search,
- &${componentCls}-show-arrow ${componentCls}-selection-placeholder
- `]: {
- paddingInlineEnd: token.showArrowPaddingInlineEnd
- },
- // Opacity selection if open
- [`&${componentCls}-open ${componentCls}-selection-item`]: {
- color: token.colorTextPlaceholder
- },
- // ========================== Input ==========================
- // We only change the style of non-customize input which is only support by `combobox` mode.
- // Not customize
- [`&:not(${componentCls}-customize-input)`]: {
- [`${componentCls}-selector`]: {
- width: '100%',
- height: '100%',
- alignItems: 'center',
- padding: `0 ${(0, _cssinjs.unit)(inputPaddingHorizontalBase)}`,
- [`${componentCls}-selection-search-input`]: {
- height: selectHeightWithoutBorder,
- fontSize: token.fontSize
- },
- '&:after': {
- lineHeight: (0, _cssinjs.unit)(selectHeightWithoutBorder)
- }
- }
- },
- [`&${componentCls}-customize-input`]: {
- [`${componentCls}-selector`]: {
- '&:after': {
- display: 'none'
- },
- [`${componentCls}-selection-search`]: {
- position: 'static',
- width: '100%'
- },
- [`${componentCls}-selection-placeholder`]: {
- position: 'absolute',
- insetInlineStart: 0,
- insetInlineEnd: 0,
- padding: `0 ${(0, _cssinjs.unit)(inputPaddingHorizontalBase)}`,
- '&:after': {
- display: 'none'
- }
- }
- }
- }
- }
- };
- }
- function genSingleStyle(token) {
- const {
- componentCls
- } = token;
- const inputPaddingHorizontalSM = token.calc(token.controlPaddingHorizontalSM).sub(token.lineWidth).equal();
- return [genSizeStyle(token),
- // ======================== Small ========================
- // Shared
- genSizeStyle((0, _internal.mergeToken)(token, {
- controlHeight: token.controlHeightSM,
- borderRadius: token.borderRadiusSM
- }), 'sm'),
- // padding
- {
- [`${componentCls}-single${componentCls}-sm`]: {
- [`&:not(${componentCls}-customize-input)`]: {
- [`${componentCls}-selector`]: {
- padding: `0 ${(0, _cssinjs.unit)(inputPaddingHorizontalSM)}`
- },
- // With arrow should provides `padding-right` to show the arrow
- [`&${componentCls}-show-arrow ${componentCls}-selection-search`]: {
- insetInlineEnd: token.calc(inputPaddingHorizontalSM).add(token.calc(token.fontSize).mul(1.5)).equal()
- },
- [`
- &${componentCls}-show-arrow ${componentCls}-selection-item,
- &${componentCls}-show-arrow ${componentCls}-selection-placeholder
- `]: {
- paddingInlineEnd: token.calc(token.fontSize).mul(1.5).equal()
- }
- }
- }
- },
- // ======================== Large ========================
- // Shared
- genSizeStyle((0, _internal.mergeToken)(token, {
- controlHeight: token.singleItemHeightLG,
- fontSize: token.fontSizeLG,
- borderRadius: token.borderRadiusLG
- }), 'lg')];
- }
|