quirk-ui 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/dist/assets/index.css +1 -1
  2. package/dist/assets/index.css.d.ts +7 -0
  3. package/dist/assets/index10.css +1 -0
  4. package/dist/assets/index10.css.d.ts +6 -0
  5. package/dist/assets/index11.css +1 -0
  6. package/dist/assets/index11.css.d.ts +7 -0
  7. package/dist/assets/index12.css +1 -0
  8. package/dist/assets/index12.css.d.ts +13 -0
  9. package/dist/assets/index13.css +1 -0
  10. package/dist/assets/index13.css.d.ts +8 -0
  11. package/dist/assets/index14.css +1 -0
  12. package/dist/assets/index14.css.d.ts +13 -0
  13. package/dist/assets/index15.css +1 -0
  14. package/dist/assets/index15.css.d.ts +10 -0
  15. package/dist/assets/index16.css +1 -0
  16. package/dist/assets/index16.css.d.ts +8 -0
  17. package/dist/assets/index17.css +1 -0
  18. package/dist/assets/index17.css.d.ts +11 -0
  19. package/dist/assets/index18.css +1 -0
  20. package/dist/assets/index18.css.d.ts +31 -0
  21. package/dist/assets/index19.css +1 -0
  22. package/dist/assets/index19.css.d.ts +7 -0
  23. package/dist/assets/index2.css +1 -1
  24. package/dist/assets/index2.css.d.ts +9 -0
  25. package/dist/assets/index20.css +1 -0
  26. package/dist/assets/index20.css.d.ts +5 -0
  27. package/dist/assets/index21.css +1 -0
  28. package/dist/assets/index21.css.d.ts +8 -0
  29. package/dist/assets/index22.css +1 -0
  30. package/dist/assets/index22.css.d.ts +6 -0
  31. package/dist/assets/index23.css +1 -0
  32. package/dist/assets/index23.css.d.ts +7 -0
  33. package/dist/assets/index24.css +1 -0
  34. package/dist/assets/index24.css.d.ts +7 -0
  35. package/dist/assets/index25.css +1 -0
  36. package/dist/assets/index25.css.d.ts +9 -0
  37. package/dist/assets/index26.css +1 -0
  38. package/dist/assets/index26.css.d.ts +21 -0
  39. package/dist/assets/index27.css +1 -0
  40. package/dist/assets/index27.css.d.ts +9 -0
  41. package/dist/assets/index28.css +1 -0
  42. package/dist/assets/index28.css.d.ts +12 -0
  43. package/dist/assets/index3.css +1 -1
  44. package/dist/assets/index3.css.d.ts +8 -0
  45. package/dist/assets/index4.css +1 -1
  46. package/dist/assets/index4.css.d.ts +8 -0
  47. package/dist/assets/index5.css +1 -0
  48. package/dist/assets/index5.css.d.ts +21 -0
  49. package/dist/assets/index6.css +1 -0
  50. package/dist/assets/index6.css.d.ts +11 -0
  51. package/dist/assets/index7.css +1 -0
  52. package/dist/assets/index7.css.d.ts +6 -0
  53. package/dist/assets/index8.css +1 -0
  54. package/dist/assets/index8.css.d.ts +10 -0
  55. package/dist/assets/index9.css +1 -0
  56. package/dist/assets/index9.css.d.ts +7 -0
  57. package/dist/components/Box/Box.test.js +20 -0
  58. package/dist/components/Box/__mocks__/styles.module.css.js +20 -0
  59. package/dist/components/Box/index.js +89 -0
  60. package/dist/components/Button/Button.test.js +33 -0
  61. package/dist/components/Button/__mocks__/styles.module.css.js +9 -0
  62. package/dist/components/Button/index.js +17 -7
  63. package/dist/components/ButtonGroup/ButtonGroup.test.js +37 -0
  64. package/dist/components/ButtonGroup/__mocks__/styles.module.css.js +7 -0
  65. package/dist/components/ButtonGroup/index.js +26 -0
  66. package/dist/components/Calendar/Calendar.test.js +40 -0
  67. package/dist/components/Calendar/index.js +7 -0
  68. package/dist/components/Checkbox/Checkbox.test.js +37 -0
  69. package/dist/components/Checkbox/__mocks__/styles.module.css.js +8 -0
  70. package/dist/components/Checkbox/index.js +45 -0
  71. package/dist/components/Container/Container.test.js +25 -0
  72. package/dist/components/Container/__mocks__/styles.module.css.js +11 -0
  73. package/dist/components/Container/index.js +31 -0
  74. package/dist/components/DatePicker/DatePicker.test.js +42 -0
  75. package/dist/components/DatePicker/index.js +56 -0
  76. package/dist/components/Divider/Divider.test.js +21 -0
  77. package/dist/components/Divider/__mocks__/styles.module.css.js +8 -0
  78. package/dist/components/Divider/index.js +19 -0
  79. package/dist/components/Fieldset/Fieldset.test.js +12 -0
  80. package/dist/components/Fieldset/index.js +19 -0
  81. package/dist/components/FileUpload/FileUpload.test.js +33 -0
  82. package/dist/components/FileUpload/index.js +99 -0
  83. package/dist/components/FloatingActionButton/FloatingActionButton.test.js +36 -0
  84. package/dist/components/FloatingActionButton/__mocks__/styles.module.css.js +9 -0
  85. package/dist/components/FloatingActionButton/index.js +40 -0
  86. package/dist/components/Form/Form.test.js +20 -0
  87. package/dist/components/Form/index.js +29 -0
  88. package/dist/components/Grid/Grid.test.js +59 -0
  89. package/dist/components/Grid/index.js +32 -0
  90. package/dist/components/Heading/Heading.test.js +26 -0
  91. package/dist/components/Heading/__mocks__/styles.module.css.js +11 -0
  92. package/dist/components/Heading/index.js +20 -7
  93. package/dist/components/IconButton/IconButton.test.js +48 -0
  94. package/dist/components/IconButton/__mocks__/styles.module.css.js +12 -0
  95. package/dist/components/IconButton/index.js +39 -0
  96. package/dist/components/Input/Input.test.js +13 -0
  97. package/dist/components/Input/__mocks__/styles.module.css.js +9 -0
  98. package/dist/components/Input/index.js +45 -6
  99. package/dist/components/Label/Label.test.js +30 -0
  100. package/dist/components/Label/__mocks__/styles.module.css.js +16 -0
  101. package/dist/components/Label/index.js +94 -6
  102. package/dist/components/Link/Link.test.js +32 -0
  103. package/dist/components/Link/__mocks__/styles.module.css.js +8 -0
  104. package/dist/components/Link/index.js +5 -0
  105. package/dist/components/MultiSelect/MultiSelect.test.js +3144 -0
  106. package/dist/components/MultiSelect/index.js +45 -0
  107. package/dist/components/Radio/Radio.test.js +39 -0
  108. package/dist/components/Radio/__mocks__/styles.module.css.js +8 -0
  109. package/dist/components/Radio/index.js +37 -0
  110. package/dist/components/Range/Range.test.js +39 -0
  111. package/dist/components/Range/index.js +64 -0
  112. package/dist/components/Select/Select.test.js +48 -0
  113. package/dist/components/Select/index.js +43 -0
  114. package/dist/components/Spacer/Spacer.test.js +22 -0
  115. package/dist/components/Spacer/__mocks__/styles.module.css.js +12 -0
  116. package/dist/components/Spacer/index.js +29 -0
  117. package/dist/components/Stack/Stack.test.js +60 -0
  118. package/dist/components/Stack/__mocks__/styles.module.css.js +21 -0
  119. package/dist/components/Stack/index.js +65 -0
  120. package/dist/components/Switch/Switch.test.js +48 -0
  121. package/dist/components/Switch/index.js +57 -0
  122. package/dist/components/Table/Table.test.js +31 -0
  123. package/dist/components/Table/index.js +31 -0
  124. package/dist/components/Text/Text.test.js +65 -0
  125. package/dist/components/Text/__mocks__/styles.module.css.js +9 -0
  126. package/dist/components/Text/index.js +50 -0
  127. package/dist/components/Textarea/Textarea.test.js +37 -0
  128. package/dist/components/Textarea/index.js +47 -0
  129. package/dist/createLucideIcon-C8GTh_Qx.js +89 -0
  130. package/dist/index-BWTAh3RO.js +57529 -0
  131. package/dist/index-BtY6pil2.js +1621 -0
  132. package/dist/index-DhqFdMqD.js +1416 -0
  133. package/dist/lib/components/Box/Box.test.d.ts +0 -0
  134. package/dist/lib/components/Box/__mocks__/styles.module.css.d.ts +18 -0
  135. package/dist/lib/components/Box/index.d.ts +59 -0
  136. package/dist/lib/components/Button/Button.test.d.ts +0 -0
  137. package/dist/lib/components/Button/__mocks__/styles.module.css.d.ts +7 -0
  138. package/dist/lib/components/Button/index.d.ts +11 -1
  139. package/dist/lib/components/ButtonGroup/ButtonGroup.test.d.ts +0 -0
  140. package/dist/lib/components/ButtonGroup/__mocks__/styles.module.css.d.ts +5 -0
  141. package/dist/lib/components/ButtonGroup/index.d.ts +8 -0
  142. package/dist/lib/components/Calendar/Calendar.test.d.ts +0 -0
  143. package/dist/lib/components/Calendar/index.d.ts +6 -0
  144. package/dist/lib/components/Checkbox/Checkbox.test.d.ts +0 -0
  145. package/dist/lib/components/Checkbox/__mocks__/styles.module.css.d.ts +6 -0
  146. package/dist/lib/components/Checkbox/index.d.ts +10 -0
  147. package/dist/lib/components/Container/Container.test.d.ts +0 -0
  148. package/dist/lib/components/Container/__mocks__/styles.module.css.d.ts +9 -0
  149. package/dist/lib/components/Container/index.d.ts +20 -0
  150. package/dist/lib/components/DatePicker/DatePicker.test.d.ts +0 -0
  151. package/dist/lib/components/DatePicker/index.d.ts +13 -0
  152. package/dist/lib/components/Divider/Divider.test.d.ts +0 -0
  153. package/dist/lib/components/Divider/__mocks__/styles.module.css.d.ts +6 -0
  154. package/dist/lib/components/Divider/index.d.ts +12 -0
  155. package/dist/lib/components/Fieldset/Fieldset.test.d.ts +0 -0
  156. package/dist/lib/components/Fieldset/index.d.ts +7 -0
  157. package/dist/lib/components/FileUpload/FileUpload.test.d.ts +0 -0
  158. package/dist/lib/components/FileUpload/index.d.ts +13 -0
  159. package/dist/lib/components/FloatingActionButton/FloatingActionButton.test.d.ts +0 -0
  160. package/dist/lib/components/FloatingActionButton/__mocks__/styles.module.css.d.ts +7 -0
  161. package/dist/lib/components/FloatingActionButton/index.d.ts +18 -0
  162. package/dist/lib/components/Form/Form.test.d.ts +0 -0
  163. package/dist/lib/components/Form/index.d.ts +12 -0
  164. package/dist/lib/components/Grid/Grid.test.d.ts +0 -0
  165. package/dist/lib/components/Grid/index.d.ts +11 -0
  166. package/dist/lib/components/Heading/Heading.test.d.ts +0 -0
  167. package/dist/lib/components/Heading/__mocks__/styles.module.css.d.ts +9 -0
  168. package/dist/lib/components/Heading/index.d.ts +291 -1
  169. package/dist/lib/components/IconButton/IconButton.test.d.ts +0 -0
  170. package/dist/lib/components/IconButton/__mocks__/styles.module.css.d.ts +10 -0
  171. package/dist/lib/components/IconButton/index.d.ts +24 -0
  172. package/dist/lib/components/Input/Input.test.d.ts +0 -0
  173. package/dist/lib/components/Input/__mocks__/styles.module.css.d.ts +7 -0
  174. package/dist/lib/components/Input/index.d.ts +10 -1
  175. package/dist/lib/components/Label/Label.test.d.ts +0 -0
  176. package/dist/lib/components/Label/__mocks__/styles.module.css.d.ts +14 -0
  177. package/dist/lib/components/Label/index.d.ts +29 -1
  178. package/dist/lib/components/Link/Link.test.d.ts +0 -0
  179. package/dist/lib/components/Link/__mocks__/styles.module.css.d.ts +6 -0
  180. package/dist/lib/components/Link/index.d.ts +18 -0
  181. package/dist/lib/components/MultiSelect/MultiSelect.test.d.ts +0 -0
  182. package/dist/lib/components/MultiSelect/index.d.ts +17 -0
  183. package/dist/lib/components/Radio/Radio.test.d.ts +0 -0
  184. package/dist/lib/components/Radio/__mocks__/styles.module.css.d.ts +6 -0
  185. package/dist/lib/components/Radio/index.d.ts +12 -0
  186. package/dist/lib/components/Range/Range.test.d.ts +0 -0
  187. package/dist/lib/components/Range/index.d.ts +15 -0
  188. package/dist/lib/components/Select/Select.test.d.ts +0 -0
  189. package/dist/lib/components/Select/index.d.ts +18 -0
  190. package/dist/lib/components/Spacer/Spacer.test.d.ts +0 -0
  191. package/dist/lib/components/Spacer/__mocks__/styles.module.css.d.ts +10 -0
  192. package/dist/lib/components/Spacer/index.d.ts +20 -0
  193. package/dist/lib/components/Stack/Stack.test.d.ts +0 -0
  194. package/dist/lib/components/Stack/__mocks__/styles.module.css.d.ts +19 -0
  195. package/dist/lib/components/Stack/index.d.ts +42 -0
  196. package/dist/lib/components/Switch/Switch.test.d.ts +0 -0
  197. package/dist/lib/components/Switch/index.d.ts +18 -0
  198. package/dist/lib/components/Table/Table.test.d.ts +0 -0
  199. package/dist/lib/components/Table/index.d.ts +15 -0
  200. package/dist/lib/components/Text/Text.test.d.ts +0 -0
  201. package/dist/lib/components/Text/__mocks__/styles.module.css.d.ts +7 -0
  202. package/dist/lib/components/Text/index.d.ts +17 -0
  203. package/dist/lib/components/Textarea/Textarea.test.d.ts +0 -0
  204. package/dist/lib/components/Textarea/index.d.ts +13 -0
  205. package/dist/lib/main.d.ts +26 -1
  206. package/dist/lib/utils/renderRichText.d.ts +25 -0
  207. package/dist/magic-string.es-D4UQQyt0.js +859 -0
  208. package/dist/main.js +54 -6
  209. package/dist/trash-2-2Rn0a4s6.js +17 -0
  210. package/dist/utils/renderRichText.js +26 -0
  211. package/package.json +23 -6
@@ -0,0 +1,31 @@
1
+ import { jsx as e, jsxs as i } from "react/jsx-runtime";
2
+ import '../../assets/index3.css';const m = "_wrapper_g45ha_1", b = "_table_g45ha_5", _ = "_empty_g45ha_24", g = "_clickableRow_g45ha_30", t = {
3
+ wrapper: m,
4
+ table: b,
5
+ empty: _,
6
+ clickableRow: g
7
+ };
8
+ function y({
9
+ data: l,
10
+ columns: c,
11
+ emptyMessage: n = "No data available",
12
+ onRowClick: s,
13
+ className: h,
14
+ ...d
15
+ }) {
16
+ return /* @__PURE__ */ e("div", { className: `${t.wrapper} ${h ?? ""}`, children: /* @__PURE__ */ i("table", { className: t.table, ...d, children: [
17
+ /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ e("tr", { children: c.map((a) => /* @__PURE__ */ e("th", { className: a.className, children: a.header }, String(a.accessor))) }) }),
18
+ /* @__PURE__ */ e("tbody", { children: l.length === 0 ? /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e("td", { colSpan: c.length, className: t.empty, children: n }) }) : l.map((a, p) => /* @__PURE__ */ e(
19
+ "tr",
20
+ {
21
+ onClick: () => s == null ? void 0 : s(a),
22
+ className: s ? t.clickableRow : "",
23
+ children: c.map((r) => /* @__PURE__ */ e("td", { className: r.className, children: r.cellRenderer ? r.cellRenderer(a[r.accessor], a) : String(a[r.accessor]) }, String(r.accessor)))
24
+ },
25
+ p
26
+ )) })
27
+ ] }) });
28
+ }
29
+ export {
30
+ y as Table
31
+ };
@@ -0,0 +1,65 @@
1
+ import { jsx as s, jsxs as l } from "react/jsx-runtime";
2
+ import { d as u, i as r, r as a, s as n, g as e, a as m } from "../../index-BWTAh3RO.js";
3
+ import { Text as i } from "./index.js";
4
+ u("Text", () => {
5
+ r("renders default paragraph text", () => {
6
+ a(/* @__PURE__ */ s(i, { children: "Hello world" }));
7
+ const t = n.getByText("Hello world");
8
+ e(t.tagName.toLowerCase()).toBe("p");
9
+ }), r("renders with different HTML tags", () => {
10
+ a(/* @__PURE__ */ s(i, { as: "strong", children: "Bold text" }));
11
+ const t = n.getByText("Bold text");
12
+ e(t.tagName.toLowerCase()).toBe("strong");
13
+ }), r("applies variant class", () => {
14
+ a(/* @__PURE__ */ s(i, { variant: "muted", children: "Muted text" }));
15
+ const t = n.getByText("Muted text");
16
+ e(t.className).toContain("muted");
17
+ }), r("merges custom className", () => {
18
+ a(/* @__PURE__ */ s(i, { className: "custom-class", children: "Custom class" }));
19
+ const t = n.getByText("Custom class");
20
+ e(t.className).toContain("custom-class");
21
+ }), r("supports custom attributes like id and data-*", () => {
22
+ a(
23
+ /* @__PURE__ */ s(i, { "data-testid": "text-test", id: "custom-id", children: "Text with attributes" })
24
+ );
25
+ const t = n.getByTestId("text-test");
26
+ e(t).toHaveAttribute("id", "custom-id"), e(t).toHaveTextContent("Text with attributes");
27
+ }), r("renders nested elements properly (e.g. links)", () => {
28
+ a(
29
+ /* @__PURE__ */ l(i, { children: [
30
+ "Hello ",
31
+ /* @__PURE__ */ s("a", { href: "/test", children: "world" })
32
+ ] })
33
+ );
34
+ const t = n.getByText((x, o) => (o == null ? void 0 : o.tagName.toLowerCase()) === "p" && o.textContent === "Hello world");
35
+ e(t).toBeInTheDocument();
36
+ const c = m(t).getByRole("link", { name: "world" });
37
+ e(c).toHaveAttribute("href", "/test");
38
+ }), r("renders a div when children include block-level elements", () => {
39
+ a(
40
+ /* @__PURE__ */ l(i, { children: [
41
+ "Some text",
42
+ /* @__PURE__ */ l("ul", { children: [
43
+ /* @__PURE__ */ s("li", { children: "Item 1" }),
44
+ /* @__PURE__ */ s("li", { children: "Item 2" })
45
+ ] })
46
+ ] })
47
+ );
48
+ const t = n.getByText("Item 1").closest("div");
49
+ e(t == null ? void 0 : t.tagName.toLocaleLowerCase()).toBe("div"), e(t).toHaveTextContent("Some text"), e(m(t).getByText("Item 2")).toBeInTheDocument();
50
+ }), r("wraps inline content in <p> before a list", () => {
51
+ a(
52
+ /* @__PURE__ */ l(i, { children: [
53
+ "This is an intro",
54
+ /* @__PURE__ */ s("ul", { children: /* @__PURE__ */ s("li", { children: "First item" }) })
55
+ ] })
56
+ );
57
+ const t = n.getByText((x, o) => {
58
+ var d;
59
+ return !!((o == null ? void 0 : o.tagName.toLowerCase()) === "p" && ((d = o.textContent) != null && d.includes("This is an intro")));
60
+ });
61
+ e(t).toBeInTheDocument();
62
+ const c = n.getByText("First item");
63
+ e(c.tagName.toLowerCase()).toBe("li");
64
+ });
65
+ });
@@ -0,0 +1,9 @@
1
+ const l = {
2
+ default: "default",
3
+ muted: "muted",
4
+ lead: "lead",
5
+ small: "small"
6
+ };
7
+ export {
8
+ l as default
9
+ };
@@ -0,0 +1,50 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import o from "react";
3
+ import '../../assets/index2.css';const c = "_text_17qk6_1", _ = "_muted_17qk6_59", d = "_lead_17qk6_63", m = "_small_17qk6_68", a = {
4
+ text: c,
5
+ default: "_default_17qk6_55",
6
+ muted: _,
7
+ lead: d,
8
+ small: m
9
+ }, u = ["div", "ul", "ol", "table", "section", "article"];
10
+ function f(l) {
11
+ let e = !1;
12
+ return o.Children.forEach(l, (t) => {
13
+ if (!o.isValidElement(t)) return;
14
+ const n = typeof t.type == "string" ? t.type : "";
15
+ if (u.includes(n))
16
+ e = !0;
17
+ else {
18
+ const s = t.props.children;
19
+ s && f(s) && (e = !0);
20
+ }
21
+ }), e;
22
+ }
23
+ function E(l) {
24
+ const e = [];
25
+ let t = [];
26
+ return o.Children.forEach(l, (n) => {
27
+ const s = o.isValidElement(n) && typeof n.type == "string" && u.includes(n.type);
28
+ typeof n == "string" || o.isValidElement(n) && !s ? t.push(n) : (t.length > 0 && (e.push(/* @__PURE__ */ r("p", { children: t }, e.length)), t = []), e.push(n));
29
+ }), t.length > 0 && e.push(/* @__PURE__ */ r("p", { children: t }, e.length)), e;
30
+ }
31
+ function y({
32
+ as: l,
33
+ variant: e = "default",
34
+ children: t,
35
+ className: n,
36
+ ...s
37
+ }) {
38
+ const p = a[e] ?? "", i = l ?? (f(t) ? "div" : "p");
39
+ return /* @__PURE__ */ r(
40
+ i,
41
+ {
42
+ className: `${a.text} ${p} ${n ?? ""}`,
43
+ ...s,
44
+ children: i === "div" ? E(t) : t
45
+ }
46
+ );
47
+ }
48
+ export {
49
+ y as Text
50
+ };
@@ -0,0 +1,37 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { d as x, i as o, r as n, g as t, s as a, v as i, f as d } from "../../index-BWTAh3RO.js";
3
+ import { Textarea as s } from "./index.js";
4
+ x("Textarea", () => {
5
+ o("renders correctly", () => {
6
+ n(/* @__PURE__ */ r(s, { id: "textarea1", name: "testText", label: "Your message" })), t(a.getByRole("textbox")).toBeInTheDocument(), t(a.getByLabelText("Your message")).toBeInTheDocument();
7
+ }), o("can be disabled", () => {
8
+ n(
9
+ /* @__PURE__ */ r(
10
+ s,
11
+ {
12
+ id: "textarea2",
13
+ name: "testText",
14
+ label: "Disabled textarea",
15
+ disabled: !0
16
+ }
17
+ )
18
+ );
19
+ const e = a.getByRole("textbox");
20
+ t(e).toBeDisabled();
21
+ }), o("fires onChange event", () => {
22
+ const e = i.fn();
23
+ n(
24
+ /* @__PURE__ */ r(
25
+ s,
26
+ {
27
+ id: "textarea3",
28
+ name: "testText",
29
+ label: "Textarea with onChange",
30
+ onChange: e
31
+ }
32
+ )
33
+ );
34
+ const l = a.getByRole("textbox");
35
+ d.change(l, { target: { value: "hello world" } }), t(e).toHaveBeenCalled();
36
+ });
37
+ });
@@ -0,0 +1,47 @@
1
+ import { jsxs as i, jsx as o } from "react/jsx-runtime";
2
+ import "react";
3
+ import { Label as l } from "../Label/index.js";
4
+ import '../../assets/index.css';const _ = "_wrapper_162xi_1", w = "_textarea_162xi_11", s = {
5
+ wrapper: _,
6
+ textarea: w
7
+ };
8
+ function u({
9
+ id: r,
10
+ name: f,
11
+ label: t,
12
+ error: e,
13
+ disabled: n,
14
+ required: a,
15
+ className: p,
16
+ optional: x,
17
+ tooltip: c,
18
+ ...m
19
+ }) {
20
+ return /* @__PURE__ */ i("div", { className: `${s.wrapper} ${p ?? ""}`, children: [
21
+ t && /* @__PURE__ */ o(
22
+ l,
23
+ {
24
+ htmlFor: r,
25
+ required: a,
26
+ optional: x,
27
+ intent: e ? "error" : "default",
28
+ tooltip: c,
29
+ showErrorIcon: !!e,
30
+ children: t
31
+ }
32
+ ),
33
+ /* @__PURE__ */ o(
34
+ "textarea",
35
+ {
36
+ id: r,
37
+ className: s.textarea,
38
+ disabled: n,
39
+ required: a,
40
+ ...m
41
+ }
42
+ )
43
+ ] });
44
+ }
45
+ export {
46
+ u as Textarea
47
+ };
@@ -0,0 +1,89 @@
1
+ import { forwardRef as i, createElement as n } from "react";
2
+ /**
3
+ * @license lucide-react v0.488.0 - ISC
4
+ *
5
+ * This source code is licensed under the ISC license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */
8
+ const w = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), g = (e) => e.replace(
9
+ /^([A-Z])|[\s-_]+(\w)/g,
10
+ (t, r, o) => o ? o.toUpperCase() : r.toLowerCase()
11
+ ), c = (e) => {
12
+ const t = g(e);
13
+ return t.charAt(0).toUpperCase() + t.slice(1);
14
+ }, l = (...e) => e.filter((t, r, o) => !!t && t.trim() !== "" && o.indexOf(t) === r).join(" ").trim();
15
+ /**
16
+ * @license lucide-react v0.488.0 - ISC
17
+ *
18
+ * This source code is licensed under the ISC license.
19
+ * See the LICENSE file in the root directory of this source tree.
20
+ */
21
+ var h = {
22
+ xmlns: "http://www.w3.org/2000/svg",
23
+ width: 24,
24
+ height: 24,
25
+ viewBox: "0 0 24 24",
26
+ fill: "none",
27
+ stroke: "currentColor",
28
+ strokeWidth: 2,
29
+ strokeLinecap: "round",
30
+ strokeLinejoin: "round"
31
+ };
32
+ /**
33
+ * @license lucide-react v0.488.0 - ISC
34
+ *
35
+ * This source code is licensed under the ISC license.
36
+ * See the LICENSE file in the root directory of this source tree.
37
+ */
38
+ const f = i(
39
+ ({
40
+ color: e = "currentColor",
41
+ size: t = 24,
42
+ strokeWidth: r = 2,
43
+ absoluteStrokeWidth: o,
44
+ className: a = "",
45
+ children: s,
46
+ iconNode: u,
47
+ ...m
48
+ }, C) => n(
49
+ "svg",
50
+ {
51
+ ref: C,
52
+ ...h,
53
+ width: t,
54
+ height: t,
55
+ stroke: e,
56
+ strokeWidth: o ? Number(r) * 24 / Number(t) : r,
57
+ className: l("lucide", a),
58
+ ...m
59
+ },
60
+ [
61
+ ...u.map(([p, d]) => n(p, d)),
62
+ ...Array.isArray(s) ? s : [s]
63
+ ]
64
+ )
65
+ );
66
+ /**
67
+ * @license lucide-react v0.488.0 - ISC
68
+ *
69
+ * This source code is licensed under the ISC license.
70
+ * See the LICENSE file in the root directory of this source tree.
71
+ */
72
+ const b = (e, t) => {
73
+ const r = i(
74
+ ({ className: o, ...a }, s) => n(f, {
75
+ ref: s,
76
+ iconNode: t,
77
+ className: l(
78
+ `lucide-${w(c(e))}`,
79
+ `lucide-${e}`,
80
+ o
81
+ ),
82
+ ...a
83
+ })
84
+ );
85
+ return r.displayName = c(e), r;
86
+ };
87
+ export {
88
+ b as c
89
+ };