171 lines
4.7 KiB
JavaScript
171 lines
4.7 KiB
JavaScript
"use strict";
|
|
var __defProp = Object.defineProperty;
|
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var __export = (target, all) => {
|
|
for (var name in all)
|
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
};
|
|
var __copyProps = (to, from, except, desc) => {
|
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
for (let key of __getOwnPropNames(from))
|
|
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
}
|
|
return to;
|
|
};
|
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
|
|
// src/components/slider.ts
|
|
var slider_exports = {};
|
|
__export(slider_exports, {
|
|
sliderTheme: () => sliderTheme
|
|
});
|
|
module.exports = __toCommonJS(slider_exports);
|
|
var import_anatomy = require("@chakra-ui/anatomy");
|
|
var import_styled_system = require("@chakra-ui/styled-system");
|
|
var import_theme_tools = require("@chakra-ui/theme-tools");
|
|
var { defineMultiStyleConfig, definePartsStyle } = (0, import_styled_system.createMultiStyleConfigHelpers)(import_anatomy.sliderAnatomy.keys);
|
|
var $thumbSize = (0, import_styled_system.cssVar)("slider-thumb-size");
|
|
var $trackSize = (0, import_styled_system.cssVar)("slider-track-size");
|
|
var $bg = (0, import_styled_system.cssVar)("slider-bg");
|
|
var baseStyleContainer = (0, import_styled_system.defineStyle)((props) => {
|
|
const { orientation } = props;
|
|
return {
|
|
display: "inline-block",
|
|
position: "relative",
|
|
cursor: "pointer",
|
|
_disabled: {
|
|
opacity: 0.6,
|
|
cursor: "default",
|
|
pointerEvents: "none"
|
|
},
|
|
...(0, import_theme_tools.orient)({
|
|
orientation,
|
|
vertical: { h: "100%" },
|
|
horizontal: { w: "100%" }
|
|
})
|
|
};
|
|
});
|
|
var baseStyleTrack = (0, import_styled_system.defineStyle)((props) => {
|
|
const orientationStyles = (0, import_theme_tools.orient)({
|
|
orientation: props.orientation,
|
|
horizontal: { h: $trackSize.reference },
|
|
vertical: { w: $trackSize.reference }
|
|
});
|
|
return {
|
|
...orientationStyles,
|
|
overflow: "hidden",
|
|
borderRadius: "sm",
|
|
[$bg.variable]: "colors.gray.200",
|
|
_dark: {
|
|
[$bg.variable]: "colors.whiteAlpha.200"
|
|
},
|
|
_disabled: {
|
|
[$bg.variable]: "colors.gray.300",
|
|
_dark: {
|
|
[$bg.variable]: "colors.whiteAlpha.300"
|
|
}
|
|
},
|
|
bg: $bg.reference
|
|
};
|
|
});
|
|
var baseStyleThumb = (0, import_styled_system.defineStyle)((props) => {
|
|
const { orientation } = props;
|
|
const orientationStyle = (0, import_theme_tools.orient)({
|
|
orientation,
|
|
vertical: {
|
|
left: "50%",
|
|
transform: `translateX(-50%)`,
|
|
_active: {
|
|
transform: `translateX(-50%) scale(1.15)`
|
|
}
|
|
},
|
|
horizontal: {
|
|
top: "50%",
|
|
transform: `translateY(-50%)`,
|
|
_active: {
|
|
transform: `translateY(-50%) scale(1.15)`
|
|
}
|
|
}
|
|
});
|
|
return {
|
|
...orientationStyle,
|
|
w: $thumbSize.reference,
|
|
h: $thumbSize.reference,
|
|
display: "flex",
|
|
alignItems: "center",
|
|
justifyContent: "center",
|
|
position: "absolute",
|
|
outline: 0,
|
|
zIndex: 1,
|
|
borderRadius: "full",
|
|
bg: "white",
|
|
boxShadow: "base",
|
|
border: "1px solid",
|
|
borderColor: "transparent",
|
|
transitionProperty: "transform",
|
|
transitionDuration: "normal",
|
|
_focusVisible: {
|
|
boxShadow: "outline"
|
|
},
|
|
_disabled: {
|
|
bg: "gray.300"
|
|
}
|
|
};
|
|
});
|
|
var baseStyleFilledTrack = (0, import_styled_system.defineStyle)((props) => {
|
|
const { colorScheme: c } = props;
|
|
return {
|
|
width: "inherit",
|
|
height: "inherit",
|
|
[$bg.variable]: `colors.${c}.500`,
|
|
_dark: {
|
|
[$bg.variable]: `colors.${c}.200`
|
|
},
|
|
bg: $bg.reference
|
|
};
|
|
});
|
|
var baseStyle = definePartsStyle((props) => ({
|
|
container: baseStyleContainer(props),
|
|
track: baseStyleTrack(props),
|
|
thumb: baseStyleThumb(props),
|
|
filledTrack: baseStyleFilledTrack(props)
|
|
}));
|
|
var sizeLg = definePartsStyle({
|
|
container: {
|
|
[$thumbSize.variable]: `sizes.4`,
|
|
[$trackSize.variable]: `sizes.1`
|
|
}
|
|
});
|
|
var sizeMd = definePartsStyle({
|
|
container: {
|
|
[$thumbSize.variable]: `sizes.3.5`,
|
|
[$trackSize.variable]: `sizes.1`
|
|
}
|
|
});
|
|
var sizeSm = definePartsStyle({
|
|
container: {
|
|
[$thumbSize.variable]: `sizes.2.5`,
|
|
[$trackSize.variable]: `sizes.0.5`
|
|
}
|
|
});
|
|
var sizes = {
|
|
lg: sizeLg,
|
|
md: sizeMd,
|
|
sm: sizeSm
|
|
};
|
|
var sliderTheme = defineMultiStyleConfig({
|
|
baseStyle,
|
|
sizes,
|
|
defaultProps: {
|
|
size: "md",
|
|
colorScheme: "blue"
|
|
}
|
|
});
|
|
// Annotate the CommonJS export names for ESM import in node:
|
|
0 && (module.exports = {
|
|
sliderTheme
|
|
});
|
|
//# sourceMappingURL=slider.js.map
|