@hortiview/shared-components 0.0.4730 → 0.0.4779

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 (73) hide show
  1. package/README.md +199 -1
  2. package/dist/ListAreaService-BPp_O2BH.js +67 -0
  3. package/dist/assets/DeleteModal.css +1 -22
  4. package/dist/assets/FormDatePicker.css +1 -0
  5. package/dist/assets/FormSelect.css +1 -0
  6. package/dist/assets/FormText.css +1 -0
  7. package/dist/assets/main.css +22 -0
  8. package/dist/components/BaseView/BaseView.d.ts +1 -0
  9. package/dist/components/BaseView/BaseView.js +23 -21
  10. package/dist/components/BaseView/BaseView.test.js +1 -1
  11. package/dist/components/BasicHeading/BasicHeading.js +52 -41
  12. package/dist/components/BlockView/BlockView.js +51 -41
  13. package/dist/components/DeleteModal/DeleteModal.js +31 -43
  14. package/dist/components/DeleteModal/DeleteModal.test.js +3 -3
  15. package/dist/components/Disclaimer/Disclaimer.js +11 -8
  16. package/dist/components/FormComponents/FormCheckBox/FormCheckBox.d.ts +30 -0
  17. package/dist/components/FormComponents/FormCheckBox/FormCheckBox.js +42 -0
  18. package/dist/components/FormComponents/FormCheckBox/FormCheckBox.test.d.ts +1 -0
  19. package/dist/components/FormComponents/FormCheckBox/FormCheckBox.test.js +50 -0
  20. package/dist/components/FormComponents/FormDatePicker/FormDatePicker.d.ts +36 -0
  21. package/dist/components/FormComponents/FormDatePicker/FormDatePicker.js +64 -0
  22. package/dist/components/FormComponents/FormDatePicker/FormDatePicker.test.d.ts +1 -0
  23. package/dist/components/FormComponents/FormDatePicker/FormDatePicker.test.js +69 -0
  24. package/dist/components/FormComponents/FormRadio/FormRadio.d.ts +21 -0
  25. package/dist/components/FormComponents/FormRadio/FormRadio.js +30 -0
  26. package/dist/components/FormComponents/FormRadio/FormRadio.test.d.ts +1 -0
  27. package/dist/components/FormComponents/FormRadio/FormRadio.test.js +73 -0
  28. package/dist/components/FormComponents/FormSelect/FormSelect.d.ts +61 -0
  29. package/dist/components/FormComponents/FormSelect/FormSelect.js +80 -0
  30. package/dist/components/FormComponents/FormSelect/FormSelect.test.d.ts +1 -0
  31. package/dist/components/FormComponents/FormSelect/FormSelect.test.js +65 -0
  32. package/dist/components/FormComponents/FormSlider/FormSlider.d.ts +27 -0
  33. package/dist/components/FormComponents/FormSlider/FormSlider.js +37 -0
  34. package/dist/components/FormComponents/FormSlider/FormSlider.test.d.ts +1 -0
  35. package/dist/components/FormComponents/FormSlider/FormSlider.test.js +49 -0
  36. package/dist/components/FormComponents/FormText/FormText.d.ts +69 -0
  37. package/dist/components/FormComponents/FormText/FormText.js +108 -0
  38. package/dist/components/FormComponents/FormText/FormText.test.d.ts +1 -0
  39. package/dist/components/FormComponents/FormText/FormText.test.js +84 -0
  40. package/dist/components/HashTabView/HashTabView.js +48 -40
  41. package/dist/components/HeaderFilter/HeaderFilter.js +16 -14
  42. package/dist/components/Iconify/Iconify.d.ts +1 -0
  43. package/dist/components/ListArea/ListArea.d.ts +1 -0
  44. package/dist/components/ListArea/ListArea.js +494 -316
  45. package/dist/components/ListArea/ListArea.test.js +1 -1
  46. package/dist/components/ListArea/ListAreaService.js +8 -55
  47. package/dist/components/SearchBar/SearchBar.js +23 -21
  48. package/dist/components/VerticalDivider/VerticalDivider.js +6 -4
  49. package/dist/get-Dyz8NMrE.js +321 -0
  50. package/dist/hooks/useBreakpoint.js +2 -2
  51. package/dist/main.d.ts +6 -0
  52. package/dist/main.js +42 -29
  53. package/dist/types/HashTab.d.ts +1 -0
  54. package/dist/types/ListElement.d.ts +1 -0
  55. package/dist/types/internal/ReactRouterTypes.d.ts +1 -0
  56. package/dist/{useBreakpoint-DyAmuka7.js → useBreakpoint-DROHPVxO.js} +2 -2
  57. package/package.json +7 -2
  58. package/dist/BlockView.module-8kbPxxc4.js +0 -15
  59. package/dist/HashTabView.module-BY0tbl3B.js +0 -13
  60. package/dist/HeaderFilter.module-DiBmulr5.js +0 -7
  61. package/dist/_getTag-DyrzUAbj.js +0 -494
  62. package/dist/baseView.module-DXWalo9p.js +0 -7
  63. package/dist/basicHeading.module-ClcvD7x2.js +0 -16
  64. package/dist/disclaimer.module-BZydt-Q_.js +0 -8
  65. package/dist/listArea.module-B04TR5bj.js +0 -14
  66. package/dist/searchBar.module-9gKyrZRT.js +0 -7
  67. package/dist/verticalDivider.module-C3_GL-fH.js +0 -7
  68. /package/dist/assets/{baseView.css → BaseView.css} +0 -0
  69. /package/dist/assets/{basicHeading.css → BasicHeading.css} +0 -0
  70. /package/dist/assets/{disclaimer.css → Disclaimer.css} +0 -0
  71. /package/dist/assets/{listArea.css → ListAreaService.css} +0 -0
  72. /package/dist/assets/{searchBar.css → SearchBar.css} +0 -0
  73. /package/dist/assets/{verticalDivider.css → VerticalDivider.css} +0 -0
@@ -0,0 +1,69 @@
1
+ import { ReactNode } from 'react';
2
+ import { FieldValues, Path, PathValue, Validate, ValidationRule } from 'react-hook-form';
3
+ /**
4
+ * a generic FormText property type. the generic T represents the interface, which is used in the form, like {@link CreateOrganizationDto}
5
+ */
6
+ type FormTextProps<T extends FieldValues> = {
7
+ /** the path to the property, like Address.AddressLine1 */
8
+ propertyName: Path<T>;
9
+ /** the label of the Textbox */
10
+ label: string;
11
+ /** the max character length */
12
+ maxLength?: number;
13
+ /** the min character length */
14
+ minLength?: number;
15
+ /** if the field is required */
16
+ required?: boolean;
17
+ /** the text which is shown if the field is required and not filled */
18
+ requiredText?: string;
19
+ /** a boolean to set a textarea or a textfield */
20
+ textarea?: boolean;
21
+ /** a boolean to disable the field/set to readonly */
22
+ disabled?: boolean;
23
+ /** a boolean to hide the field */
24
+ hidden?: boolean;
25
+ /** a pattern to validate the field */
26
+ pattern?: ValidationRule<RegExp>;
27
+ /** a placeholder text */
28
+ placeholder?: string;
29
+ /** the type of the input field */
30
+ type?: string;
31
+ /** a prefix text */
32
+ prefixText?: string;
33
+ /** the input mode of the field */
34
+ inputMode?: 'search' | 'text' | 'none' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | undefined;
35
+ trailingIcon?: ReactNode;
36
+ /**
37
+ * the trigger to validate the field. default is 'likeForm'
38
+ * @default 'likeForm'
39
+ * @example 'onBlur' or 'onChange'
40
+ */
41
+ trigger?: 'onBlur' | 'onChange' | 'likeForm';
42
+ /**
43
+ * a custom validation function or an object with multiple validation functions
44
+ */
45
+ validate?: Validate<PathValue<T, Path<T>>, T> | Record<string, Validate<PathValue<T, Path<T>>, T>>;
46
+ };
47
+ /**
48
+ * creates a Textfield which should be part of a form component.
49
+ * the field is wrapped by the react hook forms {@link Controller} component.
50
+ * @param disabled if the field is disabled
51
+ * @param hidden if the field should be hidden
52
+ * @param inputMode the input mode of the field @example 'search' or 'numeric'
53
+ * @param label the label of the field
54
+ * @param maxLength the max character length
55
+ * @param minLength the min character length
56
+ * @param pattern a pattern to validate the field @example /^[A-Za-z]+$/
57
+ * @param placeholder a placeholder text
58
+ * @param prefixText a prefix text
59
+ * @param propertyName the name of the property in the form
60
+ * @param required if the field is required
61
+ * @param requiredText the text which is shown if the field is required and not filled
62
+ * @param textarea if the field is a textarea
63
+ * @param trigger the trigger to validate the field. @default 'likeForm' @example 'onBlur' or 'onChange'
64
+ * @param validate a custom validation function or an object with multiple validation functions
65
+ * @param trailingIcon a trailing icon
66
+ * @returns a JSX element that renders a textfield form input
67
+ */
68
+ export declare const FormText: <T extends FieldValues>(props: FormTextProps<T>) => import("react/jsx-runtime").JSX.Element;
69
+ export {};
@@ -0,0 +1,108 @@
1
+ import "../../../assets/FormText.css";
2
+ import { jsx as t, Fragment as P, jsxs as R } from "react/jsx-runtime";
3
+ import { Textfield as V } from "@element/react-components";
4
+ import { useState as W } from "react";
5
+ import { useFormContext as b, Controller as _ } from "react-hook-form";
6
+ const w = "_formTextAreaHelperText_7ae2c_1", D = "_invalid_7ae2c_6", E = "_formText_7ae2c_1", G = "_formTextArea_7ae2c_1", s = {
7
+ formTextAreaHelperText: w,
8
+ invalid: D,
9
+ formText: E,
10
+ formTextArea: G
11
+ }, J = ({
12
+ count: e,
13
+ maxCount: c,
14
+ required: r = !1,
15
+ requiredText: l = ""
16
+ }) => /* @__PURE__ */ R("div", { className: s.formTextAreaHelperText, children: [
17
+ r ? /* @__PURE__ */ t("div", { children: l }) : /* @__PURE__ */ t("div", {}),
18
+ /* @__PURE__ */ t("div", { children: `${e}/${c}` })
19
+ ] }), p = (e) => e.textarea ? /* @__PURE__ */ t(K, { ...e }) : /* @__PURE__ */ t(O, { ...e }), K = (e) => /* @__PURE__ */ t("div", { className: s.formTextArea, children: /* @__PURE__ */ t(g, { ...e }) }), O = (e) => /* @__PURE__ */ t(g, { ...e }), g = ({
20
+ propertyName: e,
21
+ label: c,
22
+ maxLength: r,
23
+ minLength: l,
24
+ required: f = !1,
25
+ requiredText: m = "",
26
+ disabled: h = !1,
27
+ textarea: i = !1,
28
+ hidden: C = !1,
29
+ pattern: A,
30
+ placeholder: F,
31
+ type: H,
32
+ prefixText: S,
33
+ inputMode: $,
34
+ trailingIcon: B,
35
+ trigger: u = "likeForm",
36
+ validate: j
37
+ }) => {
38
+ const {
39
+ control: x,
40
+ getFieldState: T,
41
+ formState: { errors: a },
42
+ trigger: d
43
+ } = b(), [k, z] = W(0), I = (n) => {
44
+ const o = n.target.value;
45
+ z(o?.length ?? 0);
46
+ }, M = () => {
47
+ if (a && a[e]) {
48
+ const n = a[e]?.message;
49
+ return n || "Invalid input";
50
+ }
51
+ return r && i ? /* @__PURE__ */ t(
52
+ J,
53
+ {
54
+ count: k,
55
+ maxCount: r,
56
+ required: f,
57
+ requiredText: m
58
+ }
59
+ ) : m;
60
+ };
61
+ return C ? /* @__PURE__ */ t(_, { name: e, control: x, render: () => /* @__PURE__ */ t(P, {}) }) : /* @__PURE__ */ t(
62
+ _,
63
+ {
64
+ name: e,
65
+ rules: {
66
+ required: f,
67
+ maxLength: r,
68
+ minLength: l,
69
+ pattern: A,
70
+ validate: j
71
+ },
72
+ control: x,
73
+ render: ({ field: { ref: n, ...o } }) => /* @__PURE__ */ t(
74
+ V,
75
+ {
76
+ ...o,
77
+ value: o.value ?? "",
78
+ type: H,
79
+ fullWidth: !0,
80
+ inputMode: $,
81
+ placeholder: F,
82
+ prefixText: S,
83
+ disabled: h,
84
+ helperText: M(),
85
+ helperTextPersistent: a !== void 0 || f || r !== void 0 && i,
86
+ label: c,
87
+ variant: "outlined",
88
+ maxlength: r,
89
+ minLength: l,
90
+ textarea: i,
91
+ noResize: !1,
92
+ onBlur: () => {
93
+ u === "onBlur" && d(e);
94
+ },
95
+ onChange: (v) => {
96
+ o.onChange(v), i && r !== void 0 && I(v), u === "onChange" && d(e);
97
+ },
98
+ valid: !T(e).invalid,
99
+ className: `${s.formText} ${T(e).invalid ? s.invalid : ""}`,
100
+ trailingIcon: B
101
+ }
102
+ )
103
+ }
104
+ );
105
+ };
106
+ export {
107
+ p as FormText
108
+ };
@@ -0,0 +1,84 @@
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { r as o, s as a, f as i } from "../../../react.esm-BeDwcQWb.js";
3
+ import { FormText as s } from "./FormText.js";
4
+ import { v as r, d as m, t as l, g as t } from "../../../vi.JYQecGiw-BbUbJcT8.js";
5
+ const d = r.fn();
6
+ r.mock("react-hook-form", () => ({
7
+ ...r.importActual("react-hook-form"),
8
+ Controller: ({ render: e }) => e({
9
+ field: {
10
+ ref: void 0,
11
+ onChange: d,
12
+ value: "test"
13
+ }
14
+ }),
15
+ useFormContext: () => ({
16
+ watch: r.fn(),
17
+ control: {
18
+ register: r.fn(),
19
+ unregister: r.fn(),
20
+ getFieldState: r.fn(),
21
+ _names: {
22
+ array: new Set("test"),
23
+ mount: new Set("test"),
24
+ unMount: new Set("test"),
25
+ watch: new Set("test"),
26
+ focus: "test",
27
+ watchAll: !1
28
+ },
29
+ _subjects: {
30
+ watch: r.fn(),
31
+ array: r.fn(),
32
+ state: r.fn()
33
+ },
34
+ _getWatch: r.fn(),
35
+ _formValues: ["test"],
36
+ _defaultValues: ["test"]
37
+ },
38
+ formState: { errors: {} },
39
+ getFieldState: () => ({ invalid: !1 })
40
+ })
41
+ }));
42
+ m("FormText Test", () => {
43
+ l("render FormText and return single line text field", () => {
44
+ o(/* @__PURE__ */ n(s, { maxLength: 100, label: "address.line2", propertyName: "addressLine2" }));
45
+ const e = a.getByRole("textbox");
46
+ t(e).toBeInTheDocument(), t(e).toBeInstanceOf(HTMLInputElement), t(e).toHaveAttribute("maxlength", "100"), t(a.getByText("address.line2")).toBeInTheDocument();
47
+ }), l("change value of single line text field", () => {
48
+ o(/* @__PURE__ */ n(s, { maxLength: 100, label: "address.line2", propertyName: "addressLine2" }));
49
+ const e = a.getByRole("textbox");
50
+ t(e).toHaveValue("test"), i.change(e, { target: { value: "test-change" } }), t(d).toHaveBeenCalled();
51
+ }), l("render FormText and return text area", () => {
52
+ o(
53
+ /* @__PURE__ */ n(
54
+ s,
55
+ {
56
+ maxLength: 200,
57
+ label: "address.line1",
58
+ propertyName: "addressLine1",
59
+ required: !0,
60
+ requiredText: "required",
61
+ textarea: !0
62
+ }
63
+ )
64
+ );
65
+ const e = a.getByRole("textbox");
66
+ t(e).toBeInTheDocument(), t(e).toBeInstanceOf(HTMLTextAreaElement), t(e).toHaveAttribute("maxlength", "200"), t(a.getByText("address.line1")).toBeInTheDocument(), t(a.getByText("required")).toBeInTheDocument();
67
+ }), l("change value of text area", () => {
68
+ o(
69
+ /* @__PURE__ */ n(
70
+ s,
71
+ {
72
+ maxLength: 200,
73
+ label: "address.line1",
74
+ propertyName: "addressLine1",
75
+ required: !0,
76
+ requiredText: "required",
77
+ textarea: !0
78
+ }
79
+ )
80
+ );
81
+ const e = a.getByRole("textbox");
82
+ i.change(e, { target: { value: "test-change" } }), t(d).toHaveBeenCalled();
83
+ });
84
+ });
@@ -1,50 +1,58 @@
1
- import { jsx as a, jsxs as d, Fragment as I } from "react/jsx-runtime";
2
- import { Elevation as N, Group as o, TabBar as b, Tab as x, Padding as y } from "@element/react-components";
3
- import { useState as k, useEffect as w } from "react";
4
- import { s as t } from "../../HashTabView.module-BY0tbl3B.js";
5
- import { u as $ } from "../../useBreakpoint-DyAmuka7.js";
6
- const g = (n, r, i) => !i || !r || !n ? 0 : n.findIndex((c) => `#${c.hash}` === r) ?? 0, F = ({
1
+ import "../../assets/HashTabView.css";
2
+ import { jsx as r, jsxs as d, Fragment as w } from "react/jsx-runtime";
3
+ import { Elevation as T, Group as o, TabBar as C, Tab as k, Padding as A } from "@element/react-components";
4
+ import { useState as I, useEffect as L } from "react";
5
+ import { a as N } from "../../useBreakpoint-DROHPVxO.js";
6
+ const x = "_elevation_1rcw6_1", y = "_themeBackground_1rcw6_6", W = "_tabBar_1rcw6_10", $ = "_tabWrapper_1rcw6_16", j = "_tabButton_1rcw6_20", E = "_childContainer_1rcw6_24", z = "_childContainerLg_1rcw6_28", a = {
7
+ elevation: x,
8
+ themeBackground: y,
9
+ tabBar: W,
10
+ tabWrapper: $,
11
+ tabButton: j,
12
+ childContainer: E,
13
+ childContainerLg: z
14
+ }, _ = (n, t, c) => !c || !t || !n ? 0 : n.findIndex((i) => `#${i.hash}` === t) ?? 0, q = ({
7
15
  tabs: n,
8
- hasHash: r = !0,
9
- hash: i = "",
10
- clusterAlign: c = "start",
11
- hasClusteredTabs: f,
12
- children: s,
16
+ hasHash: t = !0,
17
+ hash: c = "",
18
+ clusterAlign: i = "start",
19
+ hasClusteredTabs: g,
20
+ children: l,
13
21
  verticalGap: h = "none",
14
- elevation: v = 0,
15
- backgroundColor: T = "themeBackground",
16
- onChange: A
22
+ elevation: B = 0,
23
+ backgroundColor: v = "themeBackground",
24
+ onChange: b
17
25
  }) => {
18
- const [m, p] = k(g(n, i, r)), { isLg: l } = $();
19
- w(() => {
20
- const e = g(n, i, r);
26
+ const [m, p] = I(_(n, c, t)), { isLg: s } = N();
27
+ L(() => {
28
+ const e = _(n, c, t);
21
29
  p(e);
22
- }, [i, n, r]);
23
- const B = (e) => {
30
+ }, [c, n, t]);
31
+ const f = (e) => {
24
32
  const u = n[e].hash;
25
- u != null && r && (window.location.hash = u), p(e), A?.(e);
33
+ u != null && t && (window.location.hash = u), p(e), b?.(e);
26
34
  };
27
- return /* @__PURE__ */ a(
28
- N,
35
+ return /* @__PURE__ */ r(
36
+ T,
29
37
  {
30
- elevation: v,
31
- className: `${t.elevation} ${T === "none" ? "" : t.themeBackground}`,
38
+ elevation: B,
39
+ className: `${a.elevation} ${v === "none" ? "" : a.themeBackground}`,
32
40
  children: /* @__PURE__ */ d(o, { direction: "vertical", gap: h, secondaryAlign: "stretch", children: [
33
- /* @__PURE__ */ d(o, { direction: l ? "horizontal" : "vertical", className: t.tabWrapper, children: [
34
- /* @__PURE__ */ a(
35
- b,
41
+ /* @__PURE__ */ d(o, { direction: s ? "horizontal" : "vertical", className: a.tabWrapper, children: [
42
+ /* @__PURE__ */ r(
43
+ C,
36
44
  {
37
- className: t.tabBar,
38
- clustered: l ? f : !1,
39
- clusterAlign: c,
45
+ className: a.tabBar,
46
+ clustered: s ? g : !1,
47
+ clusterAlign: i,
40
48
  variant: "surface",
41
49
  activeTabIndex: m,
42
- onTabActivated: B,
43
- children: n.map((e) => /* @__PURE__ */ a(
44
- x,
50
+ onTabActivated: f,
51
+ children: n.map((e) => /* @__PURE__ */ r(
52
+ k,
45
53
  {
46
54
  icon: e.leadingIcon,
47
- className: s ? t.tabButton : "",
55
+ className: l ? a.tabButton : "",
48
56
  children: /* @__PURE__ */ d(o, { gap: "dense", children: [
49
57
  e.title,
50
58
  e.trailingIcon
@@ -54,14 +62,14 @@ const g = (n, r, i) => !i || !r || !n ? 0 : n.findIndex((c) => `#${c.hash}` ===
54
62
  ))
55
63
  }
56
64
  ),
57
- s ? /* @__PURE__ */ a(
58
- y,
65
+ l ? /* @__PURE__ */ r(
66
+ A,
59
67
  {
60
68
  variant: "dense",
61
- className: l ? t.childContainer : t.childContainerLg,
62
- children: /* @__PURE__ */ a(o, { gap: "dense", primaryAlign: "center", secondaryAlign: "center", children: s })
69
+ className: s ? a.childContainer : a.childContainerLg,
70
+ children: /* @__PURE__ */ r(o, { gap: "dense", primaryAlign: "center", secondaryAlign: "center", children: l })
63
71
  }
64
- ) : /* @__PURE__ */ a(I, {})
72
+ ) : /* @__PURE__ */ r(w, {})
65
73
  ] }),
66
74
  n[m]?.component
67
75
  ] })
@@ -69,5 +77,5 @@ const g = (n, r, i) => !i || !r || !n ? 0 : n.findIndex((c) => `#${c.hash}` ===
69
77
  );
70
78
  };
71
79
  export {
72
- F as HashTabView
80
+ q as HashTabView
73
81
  };
@@ -1,25 +1,27 @@
1
- import { jsxs as s, jsx as t } from "react/jsx-runtime";
2
- import { TypoBody as n, Select as d } from "@element/react-components";
3
- import { BasicHeading as l } from "../BasicHeading/BasicHeading.js";
4
- import { s as m } from "../../HeaderFilter.module-DiBmulr5.js";
5
- const h = ({
1
+ import "../../assets/HeaderFilter.css";
2
+ import { jsxs as n, jsx as t } from "react/jsx-runtime";
3
+ import { TypoBody as a, Select as s } from "@element/react-components";
4
+ import { BasicHeading as c } from "../BasicHeading/BasicHeading.js";
5
+ const d = "_filterSelect_923nc_1", m = {
6
+ filterSelect: d
7
+ }, h = ({
6
8
  heading: r,
7
9
  filterByText: e,
8
- setFilter: o,
9
- filterValue: a,
10
- filterOptions: i
11
- }) => /* @__PURE__ */ s(l, { "data-testid": "HeaderContainer", heading: r, children: [
12
- e && /* @__PURE__ */ t(n, { level: 2, children: e }),
10
+ setFilter: i,
11
+ filterValue: l,
12
+ filterOptions: o
13
+ }) => /* @__PURE__ */ n(c, { "data-testid": "HeaderContainer", heading: r, children: [
14
+ e && /* @__PURE__ */ t(a, { level: 2, children: e }),
13
15
  /* @__PURE__ */ t(
14
- d,
16
+ s,
15
17
  {
16
18
  "data-testid": "Select",
17
19
  dense: !0,
18
20
  className: m.filterSelect,
19
21
  variant: "outlined",
20
- onChange: o,
21
- value: a,
22
- options: i
22
+ onChange: i,
23
+ value: l,
24
+ options: o
23
25
  }
24
26
  )
25
27
  ] });
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { IconProps } from '@element/react-components';
2
3
  import { AvailableCustomIcons } from '../../enums/AvailableCustomIcons';
3
4
  export type IconifyProps = {
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { LinkProps } from '../../types/internal/ReactRouterTypes';
2
3
  import { ListElement } from '../../types/ListElement';
3
4
  type ListAreaProps = {