{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/slider/style/index.tsx"],"sourcesContent":["import type { CSSObject, FullToken, GenerateStyle } from '@antdv/theme';\nimport type { CSSProperties } from 'vue';\nimport { genComponentStyleHook, mergeToken, resetComponent } from '@antdv/theme';\nimport { TinyColor } from '@ctrl/tinycolor';\n\n// Direction naming standard:\n// Horizontal base:\n// -0-------------\n// vertical: part   (水平时，垂直方向命名为 part)\n// horizontal: full (水平时，水平方向命名为 full)\n\nexport interface ComponentToken {\n  controlSize: number\n  railSize: number\n  handleSize: number\n  handleSizeHover: number\n  handleLineWidth: number\n  handleLineWidthHover: number\n  dotSize: number\n}\n\ninterface SliderToken extends FullToken<'Slider'> {\n  marginFull: number\n  marginPart: number\n  marginPartWithMark: number\n}\n\n// =============================== Base ===============================\nconst genBaseStyle: GenerateStyle<SliderToken> = (token) => {\n  const { componentCls, controlSize, dotSize, marginFull, marginPart, colorFillContentHover }\n    = token;\n\n  return {\n    [componentCls]: {\n      ...resetComponent(token),\n\n      'position': 'relative',\n      'height': controlSize,\n      'margin': `${marginPart}px ${marginFull}px`,\n      'padding': 0,\n      'cursor': 'pointer',\n      'touchAction': 'none',\n\n      '&-vertical': {\n        margin: `${marginFull}px ${marginPart}px`,\n      },\n\n      [`${componentCls}-rail`]: {\n        position: 'absolute',\n        backgroundColor: token.colorFillTertiary,\n        borderRadius: token.borderRadiusXS,\n        transition: `background-color ${token.motionDurationMid}`,\n      },\n\n      [`${componentCls}-track`]: {\n        position: 'absolute',\n        backgroundColor: token.colorPrimaryBorder,\n        borderRadius: token.borderRadiusXS,\n        transition: `background-color ${token.motionDurationMid}`,\n      },\n\n      '&:hover': {\n        [`${componentCls}-rail`]: {\n          backgroundColor: token.colorFillSecondary,\n        },\n\n        [`${componentCls}-track`]: {\n          backgroundColor: token.colorPrimaryBorderHover,\n        },\n\n        [`${componentCls}-dot`]: {\n          borderColor: colorFillContentHover,\n        },\n\n        [`${componentCls}-handle::after`]: {\n          boxShadow: `0 0 0 ${token.handleLineWidth}px ${token.colorPrimaryBorderHover}`,\n        },\n\n        [`${componentCls}-dot-active`]: {\n          borderColor: token.colorPrimary,\n        },\n      },\n\n      [`${componentCls}-handle`]: {\n        'position': 'absolute',\n        'width': token.handleSize,\n        'height': token.handleSize,\n        'outline': 'none',\n        'userSelect': 'none',\n\n        [`${componentCls}-dragging`]: {\n          zIndex: 1,\n        },\n\n        // 扩大选区\n        '&::before': {\n          content: '\"\"',\n          position: 'absolute',\n          insetInlineStart: -token.handleLineWidth,\n          insetBlockStart: -token.handleLineWidth,\n          width: token.handleSize + token.handleLineWidth * 2,\n          height: token.handleSize + token.handleLineWidth * 2,\n          backgroundColor: 'transparent',\n        },\n\n        '&::after': {\n          content: '\"\"',\n          position: 'absolute',\n          insetBlockStart: 0,\n          insetInlineStart: 0,\n          width: token.handleSize,\n          height: token.handleSize,\n          backgroundColor: token.colorBgElevated,\n          boxShadow: `0 0 0 ${token.handleLineWidth}px ${token.colorPrimaryBorder}`,\n          borderRadius: '50%',\n          cursor: 'pointer',\n          transition: `\n            inset-inline-start ${token.motionDurationMid},\n            inset-block-start ${token.motionDurationMid},\n            width ${token.motionDurationMid},\n            height ${token.motionDurationMid},\n            box-shadow ${token.motionDurationMid}\n          `,\n        },\n\n        '&:hover, &:active, &:focus': {\n          '&::before': {\n            insetInlineStart: -(\n              (token.handleSizeHover - token.handleSize) / 2\n              + token.handleLineWidthHover\n            ),\n            insetBlockStart: -(\n              (token.handleSizeHover - token.handleSize) / 2\n              + token.handleLineWidthHover\n            ),\n            width: token.handleSizeHover + token.handleLineWidthHover * 2,\n            height: token.handleSizeHover + token.handleLineWidthHover * 2,\n          },\n\n          '&::after': {\n            boxShadow: `0 0 0 ${token.handleLineWidthHover}px ${token.colorPrimary}`,\n            width: token.handleSizeHover,\n            height: token.handleSizeHover,\n            insetInlineStart: (token.handleSize - token.handleSizeHover) / 2,\n            insetBlockStart: (token.handleSize - token.handleSizeHover) / 2,\n          },\n        },\n      },\n\n      [`${componentCls}-mark`]: {\n        position: 'absolute',\n        fontSize: token.fontSize,\n      },\n\n      [`${componentCls}-mark-text`]: {\n        'position': 'absolute',\n        'display': 'inline-block',\n        'color': token.colorTextDescription,\n        'textAlign': 'center',\n        'wordBreak': 'keep-all',\n        'cursor': 'pointer',\n        'userSelect': 'none',\n\n        '&-active': {\n          color: token.colorText,\n        },\n      },\n\n      [`${componentCls}-step`]: {\n        position: 'absolute',\n        background: 'transparent',\n        pointerEvents: 'none',\n      },\n\n      [`${componentCls}-dot`]: {\n        'position': 'absolute',\n        'width': dotSize,\n        'height': dotSize,\n        'backgroundColor': token.colorBgElevated,\n        'border': `${token.handleLineWidth}px solid ${token.colorBorderSecondary}`,\n        'borderRadius': '50%',\n        'cursor': 'pointer',\n        'transition': `border-color ${token.motionDurationSlow}`,\n\n        '&-active': {\n          borderColor: token.colorPrimaryBorder,\n        },\n      },\n\n      [`&${componentCls}-disabled`]: {\n        cursor: 'not-allowed',\n\n        [`${componentCls}-rail`]: {\n          backgroundColor: `${token.colorFillSecondary} !important`,\n        },\n\n        [`${componentCls}-track`]: {\n          backgroundColor: `${token.colorTextDisabled} !important`,\n        },\n\n        [`\n          ${componentCls}-dot\n        `]: {\n          backgroundColor: token.colorBgElevated,\n          borderColor: token.colorTextDisabled,\n          boxShadow: 'none',\n          cursor: 'not-allowed',\n        },\n\n        [`${componentCls}-handle::after`]: {\n          backgroundColor: token.colorBgElevated,\n          cursor: 'not-allowed',\n          width: token.handleSize,\n          height: token.handleSize,\n          boxShadow: `0 0 0 ${token.handleLineWidth}px ${new TinyColor(token.colorTextDisabled)\n            .onBackground(token.colorBgContainer)\n            .toHexString()}`,\n          insetInlineStart: 0,\n          insetBlockStart: 0,\n        },\n\n        [`\n          ${componentCls}-mark-text,\n          ${componentCls}-dot\n        `]: {\n          cursor: 'not-allowed !important',\n        },\n      },\n    },\n  };\n};\n\n// ============================ Horizontal ============================\nfunction genDirectionStyle(token: SliderToken, horizontal: boolean): CSSObject {\n  const { componentCls, railSize, handleSize, dotSize } = token;\n\n  const railPadding: keyof CSSProperties = horizontal ? 'paddingBlock' : 'paddingInline';\n  const full: keyof CSSProperties = horizontal ? 'width' : 'height';\n  const part: keyof CSSProperties = horizontal ? 'height' : 'width';\n  const handlePos: keyof CSSProperties = horizontal ? 'insetBlockStart' : 'insetInlineStart';\n  const markInset: keyof CSSProperties = horizontal ? 'top' : 'insetInlineStart';\n\n  return {\n    [railPadding]: railSize,\n    [part]: railSize * 3,\n\n    [`${componentCls}-rail`]: {\n      [full]: '100%',\n      [part]: railSize,\n    },\n\n    [`${componentCls}-track`]: {\n      [part]: railSize,\n    },\n\n    [`${componentCls}-handle`]: {\n      [handlePos]: (railSize * 3 - handleSize) / 2,\n    },\n\n    [`${componentCls}-mark`]: {\n      // Reset all\n      insetInlineStart: 0,\n      top: 0,\n      [markInset]: handleSize,\n      [full]: '100%',\n    },\n\n    [`${componentCls}-step`]: {\n      // Reset all\n      insetInlineStart: 0,\n      top: 0,\n      [markInset]: railSize,\n      [full]: '100%',\n      [part]: railSize,\n    },\n\n    [`${componentCls}-dot`]: {\n      position: 'absolute',\n      [handlePos]: (railSize - dotSize) / 2,\n    },\n  };\n}\n// ============================ Horizontal ============================\nconst genHorizontalStyle: GenerateStyle<SliderToken> = (token) => {\n  const { componentCls, marginPartWithMark } = token;\n\n  return {\n    [`${componentCls}-horizontal`]: {\n      ...genDirectionStyle(token, true),\n\n      [`&${componentCls}-with-marks`]: {\n        marginBottom: marginPartWithMark,\n      },\n    },\n  };\n};\n\n// ============================= Vertical =============================\nconst genVerticalStyle: GenerateStyle<SliderToken> = (token) => {\n  const { componentCls } = token;\n\n  return {\n    [`${componentCls}-vertical`]: {\n      ...genDirectionStyle(token, false),\n      height: '100%',\n    },\n  };\n};\n\n// ============================== Export ==============================\nexport default genComponentStyleHook(\n  'Slider',\n  (token) => {\n    const sliderToken = mergeToken<SliderToken>(token, {\n      marginPart: (token.controlHeight - token.controlSize) / 2,\n      marginFull: token.controlSize / 2,\n      marginPartWithMark: token.controlHeightLG - token.controlSize,\n    });\n    return [\n      genBaseStyle(sliderToken),\n      genHorizontalStyle(sliderToken),\n      genVerticalStyle(sliderToken),\n    ];\n  },\n  (token) => {\n    // Handle line width is always width-er 1px\n    const increaseHandleWidth = 1;\n    const controlSize = token.controlHeightLG / 4;\n    const controlSizeHover = token.controlHeightSM / 2;\n    const handleLineWidth = token.lineWidth + increaseHandleWidth;\n    const handleLineWidthHover = token.lineWidth + increaseHandleWidth * 3;\n    return {\n      controlSize,\n      railSize: 4,\n      handleSize: controlSize,\n      handleSizeHover: controlSizeHover,\n      dotSize: 8,\n      handleLineWidth,\n      handleLineWidthHover,\n    };\n  },\n);\n"],"names":["genBaseStyle","token","componentCls","controlSize","dotSize","marginFull","marginPart","colorFillContentHover","resetComponent","margin","position","backgroundColor","colorFillTertiary","borderRadius","borderRadiusXS","transition","motionDurationMid","colorPrimaryBorder","colorFillSecondary","colorPrimaryBorderHover","borderColor","boxShadow","handleLineWidth","colorPrimary","handleSize","zIndex","content","insetInlineStart","insetBlockStart","width","height","colorBgElevated","cursor","handleSizeHover","handleLineWidthHover","fontSize","colorTextDescription","color","colorText","background","pointerEvents","colorBorderSecondary","motionDurationSlow","colorTextDisabled","TinyColor","onBackground","colorBgContainer","toHexString","genDirectionStyle","horizontal","railSize","railPadding","full","part","handlePos","markInset","top","genHorizontalStyle","marginPartWithMark","marginBottom","genVerticalStyle","genComponentStyleHook","sliderToken","mergeToken","controlHeight","controlHeightLG","increaseHandleWidth","controlSizeHover","controlHeightSM","lineWidth"],"mappings":"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"}