{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/cascader/style/index.ts"],"sourcesContent":["import type { FullToken, GenerateStyle } from '@antdv/theme';\nimport { genComponentStyleHook, textEllipsis } from '@antdv/theme';\nimport { genCompactItemStyle } from '@antdv/theme/style/compact-item';\nimport { getStyle as getCheckboxStyle } from '../../checkbox/style';\n\nexport interface ComponentToken {\n  controlWidth: number\n  controlItemWidth: number\n  dropdownHeight: number\n}\n\ntype CascaderToken = FullToken<'Cascader'>;\n\n// =============================== Base ===============================\nconst genBaseStyle: GenerateStyle<CascaderToken> = (token) => {\n  const { prefixCls, componentCls, antCls } = token;\n  const cascaderMenuItemCls = `${componentCls}-menu-item`;\n  const iconCls = `\n    &${cascaderMenuItemCls}-expand ${cascaderMenuItemCls}-expand-icon,\n    ${cascaderMenuItemCls}-loading-icon\n  `;\n\n  const itemPaddingVertical = Math.round(\n    (token.controlHeight - token.fontSize * token.lineHeight) / 2,\n  );\n\n  return [\n    // =====================================================\n    // ==                     Control                     ==\n    // =====================================================\n    {\n      [componentCls]: {\n        width: token.controlWidth,\n      },\n    },\n    // =====================================================\n    // ==                      Popup                      ==\n    // =====================================================\n    {\n      [`${componentCls}-dropdown`]: [\n        // ==================== Checkbox ====================\n        getCheckboxStyle(`${prefixCls}-checkbox`, token),\n        {\n          [`&${antCls}-select-dropdown`]: {\n            padding: 0,\n          },\n        },\n        {\n          [componentCls]: {\n            // ================== Checkbox ==================\n            '&-checkbox': {\n              top: 0,\n              marginInlineEnd: token.paddingXS,\n            },\n\n            // ==================== Menu ====================\n            // >>> Menus\n            '&-menus': {\n              display: 'flex',\n              flexWrap: 'nowrap',\n              alignItems: 'flex-start',\n\n              [`&${componentCls}-menu-empty`]: {\n                [`${componentCls}-menu`]: {\n                  width: '100%',\n                  height: 'auto',\n\n                  [cascaderMenuItemCls]: {\n                    color: token.colorTextDisabled,\n                  },\n                },\n              },\n            },\n\n            // >>> Menu\n            '&-menu': {\n              'flexGrow': 1,\n              'minWidth': token.controlItemWidth,\n              'height': token.dropdownHeight,\n              'margin': 0,\n              'padding': token.paddingXXS,\n              'overflow': 'auto',\n              'verticalAlign': 'top',\n              'listStyle': 'none',\n              '-ms-overflow-style': '-ms-autohiding-scrollbar', // https://github.com/ant-design/ant-design/issues/11857\n\n              '&:not(:last-child)': {\n                borderInlineEnd: `${token.lineWidth}px ${token.lineType} ${token.colorSplit}`,\n              },\n\n              '&-item': {\n                ...textEllipsis,\n                'display': 'flex',\n                'flexWrap': 'nowrap',\n                'alignItems': 'center',\n                'padding': `${itemPaddingVertical}px ${token.paddingSM}px`,\n                'lineHeight': token.lineHeight,\n                'cursor': 'pointer',\n                'transition': `all ${token.motionDurationMid}`,\n                'borderRadius': token.borderRadiusSM,\n\n                '&:hover': {\n                  background: token.controlItemBgHover,\n                },\n                '&-disabled': {\n                  'color': token.colorTextDisabled,\n                  'cursor': 'not-allowed',\n\n                  '&:hover': {\n                    background: 'transparent',\n                  },\n\n                  [iconCls]: {\n                    color: token.colorTextDisabled,\n                  },\n                },\n\n                [`&-active:not(${cascaderMenuItemCls}-disabled)`]: {\n                  '&, &:hover': {\n                    fontWeight: token.fontWeightStrong,\n                    backgroundColor: token.controlItemBgActive,\n                  },\n                },\n\n                '&-content': {\n                  flex: 'auto',\n                },\n\n                [iconCls]: {\n                  marginInlineStart: token.paddingXXS,\n                  color: token.colorTextDescription,\n                  fontSize: token.fontSizeIcon,\n                },\n\n                '&-keyword': {\n                  color: token.colorHighlight,\n                },\n              },\n            },\n          },\n        },\n      ],\n    },\n    // =====================================================\n    // ==                       RTL                       ==\n    // =====================================================\n    {\n      [`${componentCls}-dropdown-rtl`]: {\n        direction: 'rtl',\n      },\n    },\n    // =====================================================\n    // ==             Space Compact                       ==\n    // =====================================================\n    genCompactItemStyle(token),\n  ];\n};\n\n// ============================== Export ==============================\nexport default genComponentStyleHook('Cascader', token => [genBaseStyle(token)], {\n  controlWidth: 184,\n  controlItemWidth: 111,\n  dropdownHeight: 180,\n});\n"],"names":["getCheckboxStyle"],"mappings":"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"}