Files
wdi-dashboard/node_modules/@chakra-ui/theme/dist/components/number-input.js
2024-08-16 15:06:52 +05:30

404 lines
12 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/number-input.ts
var number_input_exports = {};
__export(number_input_exports, {
numberInputTheme: () => numberInputTheme
});
module.exports = __toCommonJS(number_input_exports);
var import_anatomy2 = require("@chakra-ui/anatomy");
var import_styled_system2 = require("@chakra-ui/styled-system");
var import_theme_tools2 = require("@chakra-ui/theme-tools");
// src/foundations/typography.ts
var typography = {
letterSpacings: {
tighter: "-0.05em",
tight: "-0.025em",
normal: "0",
wide: "0.025em",
wider: "0.05em",
widest: "0.1em"
},
lineHeights: {
normal: "normal",
none: 1,
shorter: 1.25,
short: 1.375,
base: 1.5,
tall: 1.625,
taller: "2",
"3": ".75rem",
"4": "1rem",
"5": "1.25rem",
"6": "1.5rem",
"7": "1.75rem",
"8": "2rem",
"9": "2.25rem",
"10": "2.5rem"
},
fontWeights: {
hairline: 100,
thin: 200,
light: 300,
normal: 400,
medium: 500,
semibold: 600,
bold: 700,
extrabold: 800,
black: 900
},
fonts: {
heading: `-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"`,
body: `-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"`,
mono: `SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`
},
fontSizes: {
"3xs": "0.45rem",
"2xs": "0.625rem",
xs: "0.75rem",
sm: "0.875rem",
md: "1rem",
lg: "1.125rem",
xl: "1.25rem",
"2xl": "1.5rem",
"3xl": "1.875rem",
"4xl": "2.25rem",
"5xl": "3rem",
"6xl": "3.75rem",
"7xl": "4.5rem",
"8xl": "6rem",
"9xl": "8rem"
}
};
var typography_default = typography;
// src/components/input.ts
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 { definePartsStyle, defineMultiStyleConfig } = (0, import_styled_system.createMultiStyleConfigHelpers)(import_anatomy.inputAnatomy.keys);
var $height = (0, import_styled_system.cssVar)("input-height");
var $fontSize = (0, import_styled_system.cssVar)("input-font-size");
var $padding = (0, import_styled_system.cssVar)("input-padding");
var $borderRadius = (0, import_styled_system.cssVar)("input-border-radius");
var baseStyle = definePartsStyle({
addon: {
height: $height.reference,
fontSize: $fontSize.reference,
px: $padding.reference,
borderRadius: $borderRadius.reference
},
field: {
width: "100%",
height: $height.reference,
fontSize: $fontSize.reference,
px: $padding.reference,
borderRadius: $borderRadius.reference,
minWidth: 0,
outline: 0,
position: "relative",
appearance: "none",
transitionProperty: "common",
transitionDuration: "normal",
_disabled: {
opacity: 0.4,
cursor: "not-allowed"
}
}
});
var size = {
lg: (0, import_styled_system.defineStyle)({
[$fontSize.variable]: "fontSizes.lg",
[$padding.variable]: "space.4",
[$borderRadius.variable]: "radii.md",
[$height.variable]: "sizes.12"
}),
md: (0, import_styled_system.defineStyle)({
[$fontSize.variable]: "fontSizes.md",
[$padding.variable]: "space.4",
[$borderRadius.variable]: "radii.md",
[$height.variable]: "sizes.10"
}),
sm: (0, import_styled_system.defineStyle)({
[$fontSize.variable]: "fontSizes.sm",
[$padding.variable]: "space.3",
[$borderRadius.variable]: "radii.sm",
[$height.variable]: "sizes.8"
}),
xs: (0, import_styled_system.defineStyle)({
[$fontSize.variable]: "fontSizes.xs",
[$padding.variable]: "space.2",
[$borderRadius.variable]: "radii.sm",
[$height.variable]: "sizes.6"
})
};
var sizes = {
lg: definePartsStyle({
field: size.lg,
group: size.lg
}),
md: definePartsStyle({
field: size.md,
group: size.md
}),
sm: definePartsStyle({
field: size.sm,
group: size.sm
}),
xs: definePartsStyle({
field: size.xs,
group: size.xs
})
};
function getDefaults(props) {
const { focusBorderColor: fc, errorBorderColor: ec } = props;
return {
focusBorderColor: fc || (0, import_theme_tools.mode)("blue.500", "blue.300")(props),
errorBorderColor: ec || (0, import_theme_tools.mode)("red.500", "red.300")(props)
};
}
var variantOutline = definePartsStyle((props) => {
const { theme } = props;
const { focusBorderColor: fc, errorBorderColor: ec } = getDefaults(props);
return {
field: {
border: "1px solid",
borderColor: "inherit",
bg: "inherit",
_hover: {
borderColor: (0, import_theme_tools.mode)("gray.300", "whiteAlpha.400")(props)
},
_readOnly: {
boxShadow: "none !important",
userSelect: "all"
},
_invalid: {
borderColor: (0, import_theme_tools.getColor)(theme, ec),
boxShadow: `0 0 0 1px ${(0, import_theme_tools.getColor)(theme, ec)}`
},
_focusVisible: {
zIndex: 1,
borderColor: (0, import_theme_tools.getColor)(theme, fc),
boxShadow: `0 0 0 1px ${(0, import_theme_tools.getColor)(theme, fc)}`
}
},
addon: {
border: "1px solid",
borderColor: (0, import_theme_tools.mode)("inherit", "whiteAlpha.50")(props),
bg: (0, import_theme_tools.mode)("gray.100", "whiteAlpha.300")(props)
}
};
});
var variantFilled = definePartsStyle((props) => {
const { theme } = props;
const { focusBorderColor: fc, errorBorderColor: ec } = getDefaults(props);
return {
field: {
border: "2px solid",
borderColor: "transparent",
bg: (0, import_theme_tools.mode)("gray.100", "whiteAlpha.50")(props),
_hover: {
bg: (0, import_theme_tools.mode)("gray.200", "whiteAlpha.100")(props)
},
_readOnly: {
boxShadow: "none !important",
userSelect: "all"
},
_invalid: {
borderColor: (0, import_theme_tools.getColor)(theme, ec)
},
_focusVisible: {
bg: "transparent",
borderColor: (0, import_theme_tools.getColor)(theme, fc)
}
},
addon: {
border: "2px solid",
borderColor: "transparent",
bg: (0, import_theme_tools.mode)("gray.100", "whiteAlpha.50")(props)
}
};
});
var variantFlushed = definePartsStyle((props) => {
const { theme } = props;
const { focusBorderColor: fc, errorBorderColor: ec } = getDefaults(props);
return {
field: {
borderBottom: "1px solid",
borderColor: "inherit",
borderRadius: "0",
px: "0",
bg: "transparent",
_readOnly: {
boxShadow: "none !important",
userSelect: "all"
},
_invalid: {
borderColor: (0, import_theme_tools.getColor)(theme, ec),
boxShadow: `0px 1px 0px 0px ${(0, import_theme_tools.getColor)(theme, ec)}`
},
_focusVisible: {
borderColor: (0, import_theme_tools.getColor)(theme, fc),
boxShadow: `0px 1px 0px 0px ${(0, import_theme_tools.getColor)(theme, fc)}`
}
},
addon: {
borderBottom: "2px solid",
borderColor: "inherit",
borderRadius: "0",
px: "0",
bg: "transparent"
}
};
});
var variantUnstyled = definePartsStyle({
field: {
bg: "transparent",
px: "0",
height: "auto"
},
addon: {
bg: "transparent",
px: "0",
height: "auto"
}
});
var variants = {
outline: variantOutline,
filled: variantFilled,
flushed: variantFlushed,
unstyled: variantUnstyled
};
var inputTheme = defineMultiStyleConfig({
baseStyle,
sizes,
variants,
defaultProps: {
size: "md",
variant: "outline"
}
});
// src/utils/run-if-fn.ts
var isFunction = (value) => typeof value === "function";
function runIfFn(valueOrFn, ...args) {
return isFunction(valueOrFn) ? valueOrFn(...args) : valueOrFn;
}
// src/components/number-input.ts
var { defineMultiStyleConfig: defineMultiStyleConfig2, definePartsStyle: definePartsStyle2 } = (0, import_styled_system2.createMultiStyleConfigHelpers)(import_anatomy2.numberInputAnatomy.keys);
var $stepperWidth = (0, import_theme_tools2.cssVar)("number-input-stepper-width");
var $inputPadding = (0, import_theme_tools2.cssVar)("number-input-input-padding");
var inputPaddingValue = (0, import_theme_tools2.calc)($stepperWidth).add("0.5rem").toString();
var $bg = (0, import_theme_tools2.cssVar)("number-input-bg");
var $fg = (0, import_theme_tools2.cssVar)("number-input-color");
var $border = (0, import_theme_tools2.cssVar)("number-input-border-color");
var baseStyleRoot = (0, import_styled_system2.defineStyle)({
[$stepperWidth.variable]: "sizes.6",
[$inputPadding.variable]: inputPaddingValue
});
var baseStyleField = (0, import_styled_system2.defineStyle)(
(props) => {
var _a, _b;
return (_b = (_a = runIfFn(inputTheme.baseStyle, props)) == null ? void 0 : _a.field) != null ? _b : {};
}
);
var baseStyleStepperGroup = (0, import_styled_system2.defineStyle)({
width: $stepperWidth.reference
});
var baseStyleStepper = (0, import_styled_system2.defineStyle)({
borderStart: "1px solid",
borderStartColor: $border.reference,
color: $fg.reference,
bg: $bg.reference,
[$fg.variable]: "colors.chakra-body-text",
[$border.variable]: "colors.chakra-border-color",
_dark: {
[$fg.variable]: "colors.whiteAlpha.800",
[$border.variable]: "colors.whiteAlpha.300"
},
_active: {
[$bg.variable]: "colors.gray.200",
_dark: {
[$bg.variable]: "colors.whiteAlpha.300"
}
},
_disabled: {
opacity: 0.4,
cursor: "not-allowed"
}
});
var baseStyle2 = definePartsStyle2((props) => {
var _a;
return {
root: baseStyleRoot,
field: (_a = runIfFn(baseStyleField, props)) != null ? _a : {},
stepperGroup: baseStyleStepperGroup,
stepper: baseStyleStepper
};
});
function getSize(size2) {
var _a, _b, _c;
const sizeStyle = (_a = inputTheme.sizes) == null ? void 0 : _a[size2];
const radius = {
lg: "md",
md: "md",
sm: "sm",
xs: "sm"
};
const _fontSize = (_c = (_b = sizeStyle.field) == null ? void 0 : _b.fontSize) != null ? _c : "md";
const fontSize = typography_default.fontSizes[_fontSize];
return definePartsStyle2({
field: {
...sizeStyle.field,
paddingInlineEnd: $inputPadding.reference,
verticalAlign: "top"
},
stepper: {
fontSize: (0, import_theme_tools2.calc)(fontSize).multiply(0.75).toString(),
_first: {
borderTopEndRadius: radius[size2]
},
_last: {
borderBottomEndRadius: radius[size2],
mt: "-1px",
borderTopWidth: 1
}
}
});
}
var sizes2 = {
xs: getSize("xs"),
sm: getSize("sm"),
md: getSize("md"),
lg: getSize("lg")
};
var numberInputTheme = defineMultiStyleConfig2({
baseStyle: baseStyle2,
sizes: sizes2,
variants: inputTheme.variants,
defaultProps: inputTheme.defaultProps
});
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
numberInputTheme
});
//# sourceMappingURL=number-input.js.map