404 lines
12 KiB
JavaScript
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
|