@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
55 lines (54 loc) • 1.98 kB
JavaScript
"use client";
import { useProps } from "../../../core/MantineProvider/use-props/use-props.mjs";
import { useStyles } from "../../../core/styles-api/use-styles/use-styles.mjs";
import { factory } from "../../../core/factory/factory.mjs";
import { Box } from "../../../core/Box/Box.mjs";
import { InputWrapperContext } from "../../Input/InputWrapper.context.mjs";
import { PillsInputContext } from "../PillsInput.context.mjs";
import PillsInput_module_default from "../PillsInput.module.mjs";
import { use } from "react";
import { useMergedRef } from "@mantine/hooks";
import { jsx } from "react/jsx-runtime";
//#region packages/@mantine/core/src/components/PillsInput/PillsInputField/PillsInputField.tsx
const defaultProps = { type: "visible" };
const PillsInputField = factory((_props) => {
const props = useProps("PillsInputField", defaultProps, _props);
const { classNames, className, style, styles, unstyled, vars, type, disabled, id, pointer, mod, attributes, ref, ...others } = props;
const ctx = use(PillsInputContext);
const inputWrapperCtx = use(InputWrapperContext);
const getStyles = useStyles({
name: "PillsInputField",
classes: PillsInput_module_default,
props,
className,
style,
classNames,
styles,
unstyled,
attributes,
rootSelector: "field"
});
const _disabled = disabled || ctx?.disabled;
return /* @__PURE__ */ jsx(Box, {
component: "input",
ref: useMergedRef(ref, ctx?.fieldRef),
"data-type": type,
disabled: _disabled,
mod: [{
disabled: _disabled,
pointer
}, mod],
...getStyles("field"),
...others,
id: inputWrapperCtx?.inputId || id,
"aria-invalid": ctx?.hasError,
"aria-describedby": inputWrapperCtx?.describedBy,
type: "text",
onMouseDown: (event) => !pointer && event.stopPropagation()
});
});
PillsInputField.classes = PillsInput_module_default;
PillsInputField.displayName = "@mantine/core/PillsInputField";
//#endregion
export { PillsInputField };
//# sourceMappingURL=PillsInputField.mjs.map