welcome-ui
Version:
Customizable design system with react, typescript, tailwindcss and ariakit.
78 lines (77 loc) • 2.63 kB
JavaScript
"use client";
import { jsxs as f, jsx as a } from "react/jsx-runtime";
import z, { forwardRef as $ } from "react";
import { CloseButton as E } from "./CloseButton.js";
import { useField as R } from "./Field.js";
import { c as S } from "./index-PAaZGbyz.js";
const j = "_root_1fbzc_8", D = "_transparent_1fbzc_72", F = "_clearable_1fbzc_97", L = {
"input-text-wrapper": "_input-text-wrapper_1fbzc_2",
root: j,
"variant-danger": "_variant-danger_1fbzc_42",
"variant-warning": "_variant-warning_1fbzc_48",
"variant-success": "_variant-success_1fbzc_54",
"placement-left": "_placement-left_1fbzc_60",
"size-xs": "_size-xs_1fbzc_60",
"size-sm": "_size-sm_1fbzc_63",
"size-md": "_size-md_1fbzc_63",
"size-lg": "_size-lg_1fbzc_63",
"placement-right": "_placement-right_1fbzc_66",
transparent: D,
clearable: F,
"icon-wrapper": "_icon-wrapper_1fbzc_100",
"icon-placement-left-xs": "_icon-placement-left-xs_1fbzc_121",
"icon-placement-left-sm": "_icon-placement-left-sm_1fbzc_124",
"icon-placement-right-xs": "_icon-placement-right-xs_1fbzc_127",
"icon-placement-right-sm": "_icon-placement-right-sm_1fbzc_130"
}, s = S(L), T = { lg: "sm", md: "sm", sm: "sm", xs: "xs" }, q = $(
({
className: b,
icon: t,
iconPlacement: e = "left",
isClearable: i,
name: l,
onChange: c,
size: _ = "md",
transparent: u,
type: x = "text",
value: o,
variant: d,
...g
}, v) => {
const { getInputProps: h, variant: w } = R(), p = w || d, r = t && e, m = r && e === "right", I = r && e === "left", n = T[_], N = () => {
c && c({
preventDefault: () => null,
target: { name: l, value: "" }
});
};
return /* @__PURE__ */ f("div", { className: s("input-text-wrapper"), children: [
/* @__PURE__ */ a(
"input",
{
...h(g),
className: s(
"root",
`size-${_}`,
p && `variant-${p}`,
u && "transparent",
r && `placement-${e}`,
b
),
name: l,
onChange: c,
ref: v,
type: x,
value: o
}
),
I ? /* @__PURE__ */ a("div", { className: s("icon-wrapper", `icon-placement-left-${n}`), children: z.cloneElement(t, { ...t.props, size: n }) }) : null,
i || m ? /* @__PURE__ */ f("div", { className: s("icon-wrapper", `icon-placement-right-${n}`), children: [
i && o ? /* @__PURE__ */ a(E, { onClick: N, size: "xs" }) : null,
m ? z.cloneElement(t, { ...t.props, size: n }) : null
] }) : null
] });
}
);
export {
q as InputText
};