reactive-bulma 4.1.5 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (27) hide show
  1. package/dist/components/atoms/Checkbox/index.js +24 -18
  2. package/dist/components/atoms/File/index.js +32 -27
  3. package/dist/components/atoms/Input/index.js +33 -29
  4. package/dist/components/atoms/RadioButton/index.js +57 -45
  5. package/dist/components/atoms/Select/index.js +34 -28
  6. package/dist/components/atoms/TextArea/index.js +32 -30
  7. package/dist/components/molecules/Breadcrumbs/index.js +3 -2
  8. package/dist/components/molecules/ButtonGroup/index.js +3 -2
  9. package/dist/components/molecules/ColumnGroup/index.js +13 -12
  10. package/dist/components/molecules/InputControl/index.js +15 -14
  11. package/dist/components/molecules/MenuList/index.js +10 -9
  12. package/dist/components/molecules/Message/index.js +7 -6
  13. package/dist/components/molecules/NavBarBrand/index.js +9 -8
  14. package/dist/components/molecules/NavBarDropdown/index.js +7 -6
  15. package/dist/components/molecules/Notification/index.js +11 -10
  16. package/dist/components/molecules/TableRow/index.js +7 -6
  17. package/dist/components/molecules/Tabs/index.js +11 -10
  18. package/dist/components/molecules/TileBox/index.js +3 -2
  19. package/dist/components/organisms/Card/index.js +7 -6
  20. package/dist/components/organisms/Level/index.js +1 -1
  21. package/dist/components/organisms/NavBar/index.js +1 -1
  22. package/dist/components/organisms/Panel/index.js +1 -1
  23. package/dist/components/organisms/Table/index.js +1 -1
  24. package/dist/components/organisms/TileGroup/index.js +7 -6
  25. package/dist/interfaces/atomProps.d.ts +8 -18
  26. package/dist/interfaces/commonProps.d.ts +19 -1
  27. package/package.json +1 -1
@@ -2,25 +2,26 @@ import { jsxs as x, jsx as a } from "react/jsx-runtime";
2
2
  import { parseClasses as h, parseTestId as v } from "../../../functions/parsers.js";
3
3
  import I from "../../atoms/Icon/index.js";
4
4
  import j from "../../atoms/Input/index.js";
5
- const n = (l) => l ? /* @__PURE__ */ a(I, { ...l }) : null, y = ({
5
+ import "react";
6
+ const n = (l) => l ? /* @__PURE__ */ a(I, { ...l }) : null, z = ({
6
7
  testId: l = null,
7
- cssClasses: u = null,
8
- style: d = null,
8
+ cssClasses: p = null,
9
+ style: u = null,
9
10
  inputConfig: s,
10
- leftIcon: e = null,
11
- rightIcon: r = null,
11
+ leftIcon: r = null,
12
+ rightIcon: e = null,
12
13
  size: o = null,
13
- isLoading: p = null,
14
+ isLoading: d = null,
14
15
  isExpanded: i = null
15
16
  }) => {
16
17
  const t = h([
17
18
  "control",
18
19
  o,
19
- e ? "has-icons-left" : null,
20
- r ? "has-icons-right" : null,
21
- p ? "is-loading" : null,
20
+ r ? "has-icons-left" : null,
21
+ e ? "has-icons-right" : null,
22
+ d ? "is-loading" : null,
22
23
  i ? "is-expanded" : null,
23
- u
24
+ p
24
25
  ]), c = l ?? v({
25
26
  tag: "control",
26
27
  parsedClasses: t,
@@ -43,17 +44,17 @@ const n = (l) => l ? /* @__PURE__ */ a(I, { ...l }) : null, y = ({
43
44
  {
44
45
  "data-testid": c,
45
46
  className: t,
46
- style: d ?? void 0,
47
+ style: u ?? void 0,
47
48
  children: [
48
49
  /* @__PURE__ */ a(j, { ...m }),
49
- n(e ? { ...e, position: "is-left" } : void 0),
50
+ n(r ? { ...r, position: "is-left" } : void 0),
50
51
  n(
51
- r ? { ...r, position: "is-right" } : void 0
52
+ e ? { ...e, position: "is-right" } : void 0
52
53
  )
53
54
  ]
54
55
  }
55
56
  );
56
57
  };
57
58
  export {
58
- y as default
59
+ z as default
59
60
  };
@@ -1,21 +1,22 @@
1
- import { jsx as s, jsxs as d } from "react/jsx-runtime";
2
- import { parseClasses as p, parseTestId as b } from "../../../functions/parsers.js";
1
+ import { jsx as s, jsxs as p } from "react/jsx-runtime";
2
+ import { parseClasses as d, parseTestId as b } from "../../../functions/parsers.js";
3
+ import "react";
3
4
  import t from "../../atoms/MenuItem/index.js";
4
5
  import { generateKey as l } from "../../../functions/generators.js";
5
- const T = ({
6
+ const h = ({
6
7
  testId: u = null,
7
- cssClasses: n = null,
8
- style: r = null,
8
+ cssClasses: r = null,
9
+ style: n = null,
9
10
  itemList: m
10
11
  }) => {
11
- const i = p(["menu-list", n]), a = u ?? b({ tag: "menu-list", parsedClasses: i });
12
+ const i = d(["menu-list", r]), a = u ?? b({ tag: "menu-list", parsedClasses: i });
12
13
  return /* @__PURE__ */ s(
13
14
  "ul",
14
15
  {
15
16
  "data-testid": a,
16
17
  className: i,
17
- style: r ?? void 0,
18
- children: m.map((e) => "subListTitle" in e ? /* @__PURE__ */ d("li", { children: [
18
+ style: n ?? void 0,
19
+ children: m.map((e) => "subListTitle" in e ? /* @__PURE__ */ p("li", { children: [
19
20
  /* @__PURE__ */ s(t, { ...e.subListTitle }),
20
21
  /* @__PURE__ */ s("ul", { children: e.subItems.map((o) => /* @__PURE__ */ s(
21
22
  t,
@@ -35,5 +36,5 @@ const T = ({
35
36
  );
36
37
  };
37
38
  export {
38
- T as default
39
+ h as default
39
40
  };
@@ -1,7 +1,8 @@
1
1
  import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
- import { parseClasses as u, parseTestId as g } from "../../../functions/parsers.js";
3
- import p from "../../atoms/Delete/index.js";
4
- const C = ({
2
+ import { parseClasses as p, parseTestId as u } from "../../../functions/parsers.js";
3
+ import g from "../../atoms/Delete/index.js";
4
+ import "react";
5
+ const N = ({
5
6
  testId: d = null,
6
7
  cssClasses: n = null,
7
8
  style: m = null,
@@ -11,7 +12,7 @@ const C = ({
11
12
  color: o = null,
12
13
  size: c = null
13
14
  }) => {
14
- const t = u(["message", o, c, n]), s = d ?? g({ tag: "message", parsedClasses: t });
15
+ const t = p(["message", o, c, n]), s = d ?? u({ tag: "message", parsedClasses: t });
15
16
  return /* @__PURE__ */ r(
16
17
  "article",
17
18
  {
@@ -26,7 +27,7 @@ const C = ({
26
27
  className: "message-header",
27
28
  children: [
28
29
  /* @__PURE__ */ e("p", { children: a }),
29
- l ? /* @__PURE__ */ e(p, { ...l }) : null
30
+ l ? /* @__PURE__ */ e(g, { ...l }) : null
30
31
  ]
31
32
  }
32
33
  ),
@@ -43,5 +44,5 @@ const C = ({
43
44
  );
44
45
  };
45
46
  export {
46
- C as default
47
+ N as default
47
48
  };
@@ -1,25 +1,26 @@
1
1
  import { jsxs as s, jsx as a } from "react/jsx-runtime";
2
2
  import { parseClasses as n, parseTestId as t } from "../../../functions/parsers.js";
3
+ import "react";
3
4
  import b from "../../atoms/Image/index.js";
4
5
  import B from "../../atoms/NavBarItem/index.js";
5
- const I = ({
6
+ const x = ({
6
7
  testId: d = null,
7
8
  cssClasses: l = null,
8
9
  style: i = null,
9
10
  brandConfig: o,
10
- isBurgerActive: u = !1
11
+ isBurgerActive: m = !1
11
12
  }) => {
12
- const r = n(["navbar-brand", l]), c = d ?? t({ tag: "navbar-brand", parsedClasses: r }), e = n([
13
+ const r = n(["navbar-brand", l]), u = d ?? t({ tag: "navbar-brand", parsedClasses: r }), e = n([
13
14
  "navbar-burger",
14
- u ? "is-active" : null
15
- ]), m = t({
15
+ m ? "is-active" : null
16
+ ]), c = t({
16
17
  tag: "navbar-burger",
17
18
  parsedClasses: e
18
19
  }), { children: p, ...v } = o;
19
20
  return /* @__PURE__ */ s(
20
21
  "section",
21
22
  {
22
- "data-testid": c,
23
+ "data-testid": u,
23
24
  className: r,
24
25
  style: i ?? void 0,
25
26
  children: [
@@ -28,7 +29,7 @@ const I = ({
28
29
  "a",
29
30
  {
30
31
  role: "button",
31
- "data-testid": m,
32
+ "data-testid": c,
32
33
  className: e,
33
34
  "aria-label": "menu",
34
35
  "aria-expanded": "false",
@@ -44,5 +45,5 @@ const I = ({
44
45
  );
45
46
  };
46
47
  export {
47
- I as default
48
+ x as default
48
49
  };
@@ -1,5 +1,6 @@
1
1
  import { jsxs as B, jsx as r } from "react/jsx-runtime";
2
2
  import { parseClasses as n, parseTestId as o } from "../../../functions/parsers.js";
3
+ import "react";
3
4
  import C from "../../atoms/NavBarItem/index.js";
4
5
  import { generateKey as l } from "../../../functions/generators.js";
5
6
  const D = (a) => a === "divider" ? /* @__PURE__ */ r(
@@ -14,15 +15,15 @@ const D = (a) => a === "divider" ? /* @__PURE__ */ r(
14
15
  ...a
15
16
  },
16
17
  `navbar-dropdown-item-${l()}`
17
- ), j = ({
18
+ ), E = ({
18
19
  testId: a = null,
19
20
  containerTestId: d = null,
20
21
  cssClasses: t = null,
21
22
  containerCssClasses: i = null,
22
23
  style: p = null,
23
24
  containerStyle: v = null,
24
- text: c,
25
- items: m,
25
+ text: m,
26
+ items: c,
26
27
  position: u = null,
27
28
  isActive: w = !1,
28
29
  isHoverable: b = !1,
@@ -64,7 +65,7 @@ const D = (a) => a === "divider" ? /* @__PURE__ */ r(
64
65
  {
65
66
  className: "navbar-link",
66
67
  "aria-hidden": "true",
67
- children: c
68
+ children: m
68
69
  }
69
70
  ),
70
71
  /* @__PURE__ */ r(
@@ -73,7 +74,7 @@ const D = (a) => a === "divider" ? /* @__PURE__ */ r(
73
74
  "data-testid": x,
74
75
  className: s,
75
76
  style: p ?? void 0,
76
- children: m.map(D)
77
+ children: c.map(D)
77
78
  }
78
79
  )
79
80
  ]
@@ -81,5 +82,5 @@ const D = (a) => a === "divider" ? /* @__PURE__ */ r(
81
82
  );
82
83
  };
83
84
  export {
84
- j as default
85
+ E as default
85
86
  };
@@ -1,8 +1,9 @@
1
1
  import { jsxs as c, jsx as u } from "react/jsx-runtime";
2
- import { parseClasses as f, parseTestId as d } from "../../../functions/parsers.js";
3
- import m from "../../atoms/Delete/index.js";
4
- const g = ({
5
- testId: t = null,
2
+ import { parseClasses as f, parseTestId as m } from "../../../functions/parsers.js";
3
+ import p from "../../atoms/Delete/index.js";
4
+ import "react";
5
+ const h = ({
6
+ testId: l = null,
6
7
  cssClasses: i = null,
7
8
  style: n = null,
8
9
  children: o = null,
@@ -10,28 +11,28 @@ const g = ({
10
11
  color: a = null,
11
12
  isLightColor: e = null
12
13
  }) => {
13
- const l = f([
14
+ const t = f([
14
15
  "notification",
15
16
  a,
16
17
  e ? "is-light" : null,
17
18
  i
18
- ]), r = t ?? d({
19
+ ]), r = l ?? m({
19
20
  tag: "notification",
20
- parsedClasses: l
21
+ parsedClasses: t
21
22
  });
22
23
  return /* @__PURE__ */ c(
23
24
  "section",
24
25
  {
25
26
  "data-testid": r,
26
- className: l,
27
+ className: t,
27
28
  style: n ?? void 0,
28
29
  children: [
29
- s ? /* @__PURE__ */ u(m, { ...s }) : null,
30
+ s ? /* @__PURE__ */ u(p, { ...s }) : null,
30
31
  o
31
32
  ]
32
33
  }
33
34
  );
34
35
  };
35
36
  export {
36
- g as default
37
+ h as default
37
38
  };
@@ -1,9 +1,10 @@
1
- import { jsxs as p, jsx as s } from "react/jsx-runtime";
1
+ import { jsxs as d, jsx as s } from "react/jsx-runtime";
2
2
  import { parseClasses as u, parseTestId as b } from "../../../functions/parsers.js";
3
+ import "react";
3
4
  import c from "../../atoms/TableHeadCell/index.js";
4
5
  import f from "../../atoms/TableCell/index.js";
5
6
  import { generateKey as w } from "../../../functions/generators.js";
6
- const j = ({
7
+ const v = ({
7
8
  testId: t = null,
8
9
  cssClasses: a = null,
9
10
  style: o = null,
@@ -16,7 +17,7 @@ const j = ({
16
17
  n ? "is-selected" : null,
17
18
  a
18
19
  ]), i = t ?? b({ tag: "table-row", parsedClasses: e });
19
- return /* @__PURE__ */ p(
20
+ return /* @__PURE__ */ d(
20
21
  "tr",
21
22
  {
22
23
  "data-testid": i,
@@ -25,10 +26,10 @@ const j = ({
25
26
  onClick: m ?? void 0,
26
27
  children: [
27
28
  l ? /* @__PURE__ */ s(c, { ...l }) : null,
28
- r.map((d) => /* @__PURE__ */ s(
29
+ r.map((p) => /* @__PURE__ */ s(
29
30
  f,
30
31
  {
31
- ...d
32
+ ...p
32
33
  },
33
34
  `table-row-${w()}`
34
35
  ))
@@ -37,5 +38,5 @@ const j = ({
37
38
  );
38
39
  };
39
40
  export {
40
- j as default
41
+ v as default
41
42
  };
@@ -1,13 +1,14 @@
1
1
  import { jsx as l } from "react/jsx-runtime";
2
2
  import { parseClasses as p, parseTestId as b } from "../../../functions/parsers.js";
3
+ import "react";
3
4
  import f from "../../atoms/TabItem/index.js";
4
5
  import { generateKey as h } from "../../../functions/generators.js";
5
- const x = ({
6
- testId: t = null,
6
+ const y = ({
7
+ testId: e = null,
7
8
  cssClasses: a = null,
8
9
  style: i = null,
9
- tabs: n,
10
- alignment: r = null,
10
+ tabs: r,
11
+ alignment: n = null,
11
12
  size: o = null,
12
13
  format: u = null,
13
14
  isRounded: d = null,
@@ -15,24 +16,24 @@ const x = ({
15
16
  }) => {
16
17
  const s = p([
17
18
  "tabs",
18
- r,
19
+ n,
19
20
  o,
20
21
  u,
21
22
  d ? "is-toggle-rounded" : null,
22
23
  m ? "is-fullwidth" : null,
23
24
  a
24
- ]), c = t ?? b({ tag: "tabs", parsedClasses: s });
25
+ ]), c = e ?? b({ tag: "tabs", parsedClasses: s });
25
26
  return /* @__PURE__ */ l(
26
27
  "section",
27
28
  {
28
29
  "data-testid": c,
29
30
  className: s,
30
31
  style: i ?? void 0,
31
- children: /* @__PURE__ */ l("ul", { children: n.map((e) => /* @__PURE__ */ l(
32
+ children: /* @__PURE__ */ l("ul", { children: r.map((t) => /* @__PURE__ */ l(
32
33
  "li",
33
34
  {
34
- className: e.isActive ? "is-active" : void 0,
35
- children: /* @__PURE__ */ l(f, { ...e })
35
+ className: t.isActive ? "is-active" : void 0,
36
+ children: /* @__PURE__ */ l(f, { ...t })
36
37
  },
37
38
  `tab-item-${h()}`
38
39
  )) })
@@ -40,5 +41,5 @@ const x = ({
40
41
  );
41
42
  };
42
43
  export {
43
- x as default
44
+ y as default
44
45
  };
@@ -1,7 +1,8 @@
1
1
  import { jsx as x } from "react/jsx-runtime";
2
2
  import { parseClasses as d, parseTestId as m } from "../../../functions/parsers.js";
3
+ import "react";
3
4
  import u from "../../atoms/Tile/index.js";
4
- const g = ({
5
+ const T = ({
5
6
  testId: r = null,
6
7
  cssClasses: l = "box",
7
8
  style: s = null,
@@ -47,5 +48,5 @@ const g = ({
47
48
  );
48
49
  };
49
50
  export {
50
- g as default
51
+ T as default
51
52
  };
@@ -1,23 +1,24 @@
1
1
  import { jsxs as i, jsx as a } from "react/jsx-runtime";
2
- import { parseClasses as p, parseTestId as N } from "../../../functions/parsers.js";
2
+ import { parseClasses as u, parseTestId as N } from "../../../functions/parsers.js";
3
+ import "react";
3
4
  import $ from "../../atoms/Image/index.js";
4
5
  import { generateKey as o } from "../../../functions/generators.js";
5
- const x = ({
6
+ const I = ({
6
7
  testId: m = null,
7
8
  cssClasses: h = null,
8
- style: u = null,
9
+ style: p = null,
9
10
  headerText: c = null,
10
11
  image: d = null,
11
12
  content: s,
12
13
  footerLinks: l = null
13
14
  }) => {
14
- const n = p(["card", h]), e = m ?? N({ tag: "card", parsedClasses: n });
15
+ const n = u(["card", h]), e = m ?? N({ tag: "card", parsedClasses: n });
15
16
  return /* @__PURE__ */ i(
16
17
  "section",
17
18
  {
18
19
  "data-testid": e,
19
20
  className: n,
20
- style: u ?? void 0,
21
+ style: p ?? void 0,
21
22
  children: [
22
23
  c ? /* @__PURE__ */ i(
23
24
  "header",
@@ -83,5 +84,5 @@ const x = ({
83
84
  );
84
85
  };
85
86
  export {
86
- x as default
87
+ I as default
87
88
  };
@@ -1,7 +1,7 @@
1
1
  import { jsxs as u, jsx as t } from "react/jsx-runtime";
2
2
  import { parseClasses as v, parseTestId as p } from "../../../functions/parsers.js";
3
- import { generateKey as d } from "../../../functions/generators.js";
4
3
  import "react";
4
+ import { generateKey as d } from "../../../functions/generators.js";
5
5
  import f from "../../molecules/LevelItem/index.js";
6
6
  const s = (l) => l.map((e) => /* @__PURE__ */ t(
7
7
  f,
@@ -1,8 +1,8 @@
1
1
  import { jsxs as d, jsx as s } from "react/jsx-runtime";
2
2
  import { parseClasses as h, parseTestId as B } from "../../../functions/parsers.js";
3
+ import "react";
3
4
  import $ from "../../atoms/NavBarItem/index.js";
4
5
  import { generateKey as o } from "../../../functions/generators.js";
5
- import "react";
6
6
  import f from "../../molecules/NavBarBrand/index.js";
7
7
  import x from "../../molecules/NavBarDropdown/index.js";
8
8
  const p = (l, a, e) => l ? /* @__PURE__ */ s(
@@ -1,7 +1,7 @@
1
1
  import { jsxs as c, jsx as l } from "react/jsx-runtime";
2
2
  import { parseClasses as d, parseTestId as u } from "../../../functions/parsers.js";
3
- import { generateKey as f } from "../../../functions/generators.js";
4
3
  import "react";
4
+ import { generateKey as f } from "../../../functions/generators.js";
5
5
  import g from "../../molecules/PanelBlock/index.js";
6
6
  import h from "../../molecules/PanelTabs/index.js";
7
7
  const x = (e) => /* @__PURE__ */ l("p", { className: "panel-heading", children: e }), N = ({
@@ -1,8 +1,8 @@
1
1
  import { jsx as e, jsxs as y } from "react/jsx-runtime";
2
2
  import { parseClasses as C, parseTestId as w } from "../../../functions/parsers.js";
3
+ import "react";
3
4
  import x from "../../atoms/TableHeadCell/index.js";
4
5
  import { generateKey as i } from "../../../functions/generators.js";
5
- import "react";
6
6
  import g from "../../molecules/TableRow/index.js";
7
7
  const n = (t, a) => /* @__PURE__ */ e("tr", { children: a.map((s) => /* @__PURE__ */ e(
8
8
  x,
@@ -1,8 +1,9 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
2
  import { parseClasses as d, parseTestId as c } from "../../../functions/parsers.js";
3
+ import "react";
3
4
  import o from "../../atoms/Tile/index.js";
4
5
  import { generateKey as f } from "../../../functions/generators.js";
5
- const T = ({
6
+ const C = ({
6
7
  testId: i = null,
7
8
  cssClasses: e = null,
8
9
  style: p = null,
@@ -11,15 +12,15 @@ const T = ({
11
12
  isVertical: s = !1,
12
13
  groupConfig: a
13
14
  }) => {
14
- const u = d([
15
+ const m = d([
15
16
  "tileGroup",
16
17
  r,
17
18
  l,
18
19
  s ? "is-vertical" : null,
19
20
  e
20
- ]), m = i ?? c({
21
+ ]), u = i ?? c({
21
22
  tag: "tileGroup",
22
- parsedClasses: u,
23
+ parsedClasses: m,
23
24
  rules: [
24
25
  {
25
26
  regExp: /tileGroup/gm,
@@ -34,7 +35,7 @@ const T = ({
34
35
  return /* @__PURE__ */ t(
35
36
  o,
36
37
  {
37
- testId: m,
38
+ testId: u,
38
39
  cssClasses: e ?? void 0,
39
40
  style: p ?? void 0,
40
41
  context: r,
@@ -51,5 +52,5 @@ const T = ({
51
52
  );
52
53
  };
53
54
  export {
54
- T as default
55
+ C as default
55
56
  };
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
- import { ElementProps, ComposedElementProps, ClickeableProps } from './commonProps';
2
+ import { ElementProps, ComposedElementProps, ClickeableProps, NamedInputProps, InteractiveProps, InteractiveOnChangeProps } from './commonProps';
3
3
  import { BasicColorType, ColumnOffsetType, ColumnSizeType, FixedImageSizeType, IconColorModeType, ElementSizeType, SizeWithoutNormalType, TextColorType, TitleSizeType, RightLeftAlignType, CommonSizeType } from '../types/styleTypes';
4
4
  import { DropdownItemType, InputType, ChildrenType, TileContextType, SingleChildType } from '../types/domTypes';
5
5
  export interface ColumnProps extends ElementProps, React.ComponentPropsWithoutRef<'section'> {
@@ -122,11 +122,11 @@ export interface IconProps extends ComposedElementProps {
122
122
  /** `Styling` Used for `InputControl` styling purpose only. Will move the Icon itself to control's Input side */
123
123
  position?: RightLeftAlignType;
124
124
  }
125
- export interface InputProps extends ElementProps, ClickeableProps {
125
+ export interface InputProps extends ElementProps, InteractiveProps, NamedInputProps {
126
126
  /** `Attribute` `Required` What type of input will be used */
127
127
  type: InputType;
128
128
  /** `Attribute` The value that will be shown on the input */
129
- text?: string;
129
+ value?: string;
130
130
  /** `Attribute` The text that will be shown if the user does not type any value */
131
131
  placeholder?: string;
132
132
  /** `Attribute` Will disable the input */
@@ -143,8 +143,6 @@ export interface InputProps extends ElementProps, ClickeableProps {
143
143
  isHovered?: boolean;
144
144
  /** `Styling` Will add a specific border when the input is focused by the user */
145
145
  isFocused?: boolean;
146
- /** `Function` Reffers to each time the user press a key. Alone does not nothing, but can be reused for other components */
147
- onChange?: () => void;
148
146
  }
149
147
  export interface TextAreaProps extends Omit<InputProps, 'isRounded' | 'type'> {
150
148
  /** `Attribute` Text area's columns value that sets its width */
@@ -163,7 +161,7 @@ export interface SelectOption {
163
161
  name: string;
164
162
  selected?: boolean;
165
163
  }
166
- export interface SelectProps extends ComposedElementProps, ClickeableProps {
164
+ export interface SelectProps extends ComposedElementProps, InteractiveProps, NamedInputProps {
167
165
  /** `Attribute` Indicates the options contained on the select */
168
166
  options?: SelectOption[];
169
167
  /** `Attribute` Indicates how many options will be shown at first glance (before looking for the whole list */
@@ -181,7 +179,7 @@ export interface SelectProps extends ComposedElementProps, ClickeableProps {
181
179
  /** `Styling`Will add a specific border when the input is focused by the user */
182
180
  isFocused?: boolean;
183
181
  }
184
- export interface FileProps extends ComposedElementProps, ClickeableProps {
182
+ export interface FileProps extends ComposedElementProps, InteractiveProps, NamedInputProps {
185
183
  /** `Attribute` The name of the file to be uploaded */
186
184
  fileName?: string;
187
185
  /** `Attribute` The icon displayed in file's button" */
@@ -199,33 +197,25 @@ export interface FileProps extends ComposedElementProps, ClickeableProps {
199
197
  /** `Styling` Set button's size */
200
198
  size?: ElementSizeType;
201
199
  }
202
- export interface CheckBoxProps extends ComposedElementProps {
200
+ export interface CheckBoxProps extends ComposedElementProps, InteractiveOnChangeProps, NamedInputProps {
203
201
  /** `Attribute` Sets checkbox's text that will be shown next to its control */
204
202
  content?: ChildrenType;
205
203
  /** `Attribute` Will disable the checkbox */
206
204
  isDisabled?: boolean;
207
- /** `Function` Click function, alone does not nothing, but can be reused for other components */
208
- onChange?: () => void;
209
205
  }
210
- export interface RadioButtonItemProps extends Pick<ElementProps, 'testId' | 'style'> {
206
+ export interface RadioButtonItemProps extends Pick<ElementProps, 'testId' | 'style'>, InteractiveOnChangeProps, NamedInputProps {
211
207
  /** `Attribute` `Required` Sets checkbox's text*/
212
208
  label: string;
213
- /** `Attribute` Sets the name that will relate this checkbox with the others */
214
- name?: string;
215
209
  /** `Attribute` Shows the checkbox as checked or unchecked */
216
210
  isChecked?: boolean;
217
211
  /** `Attribute` Will disable the checkbox */
218
212
  isDisabled?: boolean;
219
- /** `Function` Click function, alone does not nothing, but can be reused for other components */
220
- onChange?: () => void;
221
213
  }
222
- export interface RadioButtonProps extends ComposedElementProps {
214
+ export interface RadioButtonProps extends ComposedElementProps, InteractiveOnChangeProps {
223
215
  /** `Attribute` `Required` Indicates the options contained to be selected */
224
216
  options: RadioButtonItemProps[];
225
217
  /** `Attribute` `Required` Sets the name that will relate this checkbox with the others */
226
218
  name: string;
227
- /** `Function` Click function, alone does not nothing, but can be reused for other components */
228
- onChange?: () => void;
229
219
  }
230
220
  export interface BreadcrumbItemProps extends ComposedElementProps, ClickeableProps {
231
221
  /** `Attribute` `Required` Indicates item text that will be shown */
@@ -17,9 +17,27 @@ export interface ElementProps {
17
17
  export interface ComposedElementProps extends ElementProps, ContainerProps {
18
18
  }
19
19
  export interface ClickeableProps {
20
- /** `Function` Click function, alone does not nothing, but can be reused for other components */
20
+ /** `Function` Reffers to each time the user click the element. Alone does not nothing, but can be reused for other components */
21
21
  onClick?: () => void;
22
22
  }
23
+ export interface ChangeableProps {
24
+ /** `Function` Reffers to each time the user press a key. Alone does not nothing, but can be reused for other components */
25
+ onChange?: () => void;
26
+ }
27
+ export interface BlureableProps {
28
+ /** `Function` Reffers to each time the user focus out the element. Alone does not nothing, but can be reused for other components */
29
+ onBlur?: () => void;
30
+ }
31
+ export interface InteractiveProps extends ClickeableProps, ChangeableProps, BlureableProps {
32
+ }
33
+ export interface InteractiveOnChangeProps extends Omit<InteractiveProps, 'onChange'> {
34
+ /** `Function` Reffers to each time the user click the element (I recommend using this one rather than the `onClick` method). Alone does not nothing, but can be reused for other components */
35
+ onChange?: () => void;
36
+ }
37
+ export interface NamedInputProps {
38
+ /** `Attribute` Used to reference the input in a form */
39
+ name?: string;
40
+ }
23
41
  export interface GenericObjectProps {
24
42
  [key: string]: string | number | boolean | object;
25
43
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reactive-bulma",
3
- "version": "4.1.5",
3
+ "version": "4.2.0",
4
4
  "type": "module",
5
5
  "description": "A component library based on React, Bulma, Typescript and Vite",
6
6
  "keywords": [