305 lines
8.9 KiB
JavaScript
305 lines
8.9 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/pin-input.ts
|
|
var pin_input_exports = {};
|
|
__export(pin_input_exports, {
|
|
pinInputTheme: () => pinInputTheme
|
|
});
|
|
module.exports = __toCommonJS(pin_input_exports);
|
|
var import_styled_system2 = require("@chakra-ui/styled-system");
|
|
|
|
// 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/pin-input.ts
|
|
var _a;
|
|
var baseStyle2 = (0, import_styled_system2.defineStyle)({
|
|
...(_a = inputTheme.baseStyle) == null ? void 0 : _a.field,
|
|
textAlign: "center"
|
|
});
|
|
var sizes2 = {
|
|
lg: (0, import_styled_system2.defineStyle)({
|
|
fontSize: "lg",
|
|
w: 12,
|
|
h: 12,
|
|
borderRadius: "md"
|
|
}),
|
|
md: (0, import_styled_system2.defineStyle)({
|
|
fontSize: "md",
|
|
w: 10,
|
|
h: 10,
|
|
borderRadius: "md"
|
|
}),
|
|
sm: (0, import_styled_system2.defineStyle)({
|
|
fontSize: "sm",
|
|
w: 8,
|
|
h: 8,
|
|
borderRadius: "sm"
|
|
}),
|
|
xs: (0, import_styled_system2.defineStyle)({
|
|
fontSize: "xs",
|
|
w: 6,
|
|
h: 6,
|
|
borderRadius: "sm"
|
|
})
|
|
};
|
|
var _a2, _b;
|
|
var variants2 = {
|
|
outline: (0, import_styled_system2.defineStyle)(
|
|
(props) => {
|
|
var _a3, _b2, _c;
|
|
return (_c = (_b2 = runIfFn((_a3 = inputTheme.variants) == null ? void 0 : _a3.outline, props)) == null ? void 0 : _b2.field) != null ? _c : {};
|
|
}
|
|
),
|
|
flushed: (0, import_styled_system2.defineStyle)(
|
|
(props) => {
|
|
var _a3, _b2, _c;
|
|
return (_c = (_b2 = runIfFn((_a3 = inputTheme.variants) == null ? void 0 : _a3.flushed, props)) == null ? void 0 : _b2.field) != null ? _c : {};
|
|
}
|
|
),
|
|
filled: (0, import_styled_system2.defineStyle)(
|
|
(props) => {
|
|
var _a3, _b2, _c;
|
|
return (_c = (_b2 = runIfFn((_a3 = inputTheme.variants) == null ? void 0 : _a3.filled, props)) == null ? void 0 : _b2.field) != null ? _c : {};
|
|
}
|
|
),
|
|
unstyled: (_b = (_a2 = inputTheme.variants) == null ? void 0 : _a2.unstyled.field) != null ? _b : {}
|
|
};
|
|
var pinInputTheme = (0, import_styled_system2.defineStyleConfig)({
|
|
baseStyle: baseStyle2,
|
|
sizes: sizes2,
|
|
variants: variants2,
|
|
defaultProps: inputTheme.defaultProps
|
|
});
|
|
// Annotate the CommonJS export names for ESM import in node:
|
|
0 && (module.exports = {
|
|
pinInputTheme
|
|
});
|
|
//# sourceMappingURL=pin-input.js.map
|