UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

55 lines (54 loc) 1.66 kB
"use client"; import { useProps } from "../../core/MantineProvider/use-props/use-props.mjs"; import { factory } from "../../core/factory/factory.mjs"; import { InputBase } from "../InputBase/InputBase.mjs"; import { PillsInputContext } from "./PillsInput.context.mjs"; import { PillsInputField } from "./PillsInputField/PillsInputField.mjs"; import { useRef } from "react"; import { jsx } from "react/jsx-runtime"; //#region packages/@mantine/core/src/components/PillsInput/PillsInput.tsx const defaultProps = { size: "sm" }; const PillsInput = factory((_props) => { const { children, onMouseDown, onClick, size, disabled, __staticSelector, error, variant, ...others } = useProps("PillsInput", defaultProps, _props); const fieldRef = useRef(null); return /* @__PURE__ */ jsx(PillsInputContext, { value: { fieldRef, size, disabled, hasError: !!error, variant }, children: /* @__PURE__ */ jsx(InputBase, { size, error, variant, component: "div", "data-no-overflow": true, onMouseDown: (event) => { event.preventDefault(); onMouseDown?.(event); fieldRef.current?.focus(); }, onClick: (event) => { event.preventDefault(); if (!event.currentTarget.closest("fieldset")?.disabled) { fieldRef.current?.focus(); onClick?.(event); } }, ...others, multiline: true, disabled, __staticSelector: __staticSelector || "PillsInput", withAria: false, children }) }); }); PillsInput.displayName = "@mantine/core/PillsInput"; PillsInput.classes = InputBase.classes; PillsInput.Field = PillsInputField; //#endregion export { PillsInput }; //# sourceMappingURL=PillsInput.mjs.map