{"version":3,"file":"compact-item.cjs","sources":["../../../../../packages/theme/style/compact-item.ts"],"sourcesContent":["import type { CSSInterpolation, CSSObject } from '../cssinjs';\nimport type { DerivativeToken, FullToken } from '../token';\nimport type { OverrideComponent } from '../token/util/genComponentStyleHook';\n\ninterface CompactItemOptions {\n  focus?: boolean\n  /**\n   * Some component borders are implemented on child elements\n   * like `Select`\n   */\n  borderElCls?: string\n  /**\n   * Some components have special `focus` className especially with popovers\n   * like `Select` and `DatePicker`\n   */\n  focusElCls?: string\n}\n\n// handle border collapse\nfunction compactItemBorder(\n  token: DerivativeToken,\n  parentCls: string,\n  options: CompactItemOptions,\n): CSSObject {\n  const { focusElCls, focus, borderElCls } = options;\n  const childCombinator = borderElCls ? '> *' : '';\n  const hoverEffects = ['hover', focus ? 'focus' : null, 'active']\n    .filter(Boolean)\n    .map(n => `&:${n} ${childCombinator}`)\n    .join(',');\n  return {\n    [`&-item:not(${parentCls}-last-item)`]: {\n      marginInlineEnd: -token.lineWidth,\n    },\n\n    '&-item': {\n      [hoverEffects]: {\n        zIndex: 2,\n      },\n\n      ...(focusElCls\n        ? {\n            [`&${focusElCls}`]: {\n              zIndex: 2,\n            },\n          }\n        : {}),\n\n      [`&[disabled] ${childCombinator}`]: {\n        zIndex: 0,\n      },\n    },\n  };\n}\n\n// handle border-radius\nfunction compactItemBorderRadius(\n  prefixCls: string,\n  parentCls: string,\n  options: CompactItemOptions,\n): CSSObject {\n  const { borderElCls } = options;\n  const childCombinator = borderElCls ? `> ${borderElCls}` : '';\n\n  return {\n    [`&-item:not(${parentCls}-first-item):not(${parentCls}-last-item) ${childCombinator}`]: {\n      borderRadius: 0,\n    },\n\n    [`&-item:not(${parentCls}-last-item)${parentCls}-first-item`]: {\n      [`& ${childCombinator}, &${prefixCls}-sm ${childCombinator}, &${prefixCls}-lg ${childCombinator}`]:\n        {\n          borderStartEndRadius: 0,\n          borderEndEndRadius: 0,\n        },\n    },\n\n    [`&-item:not(${parentCls}-first-item)${parentCls}-last-item`]: {\n      [`& ${childCombinator}, &${prefixCls}-sm ${childCombinator}, &${prefixCls}-lg ${childCombinator}`]:\n        {\n          borderStartStartRadius: 0,\n          borderEndStartRadius: 0,\n        },\n    },\n  };\n}\n\nexport function genCompactItemStyle<T extends OverrideComponent>(\n  token: FullToken<T>,\n  options: CompactItemOptions = { focus: true },\n): CSSInterpolation {\n  const { componentCls } = token;\n\n  const compactCls = `${componentCls}-compact`;\n\n  return {\n    [compactCls]: {\n      ...compactItemBorder(token, compactCls, options),\n      ...compactItemBorderRadius(componentCls, compactCls, options),\n    },\n  };\n}\n"],"names":[],"mappings":"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"}