@mci-ui/mci-ui 0.0.88 → 0.0.90

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 (41) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.js +30 -28
  3. package/dist/shared/ui/MciModal/MciModal.js +30 -28
  4. package/dist/shared/ui/mciBreadcrumb/MciBreadcrumb.js +45 -25
  5. package/dist/shared/ui/mciButton/MciButton.js +39 -31
  6. package/dist/shared/ui/mciCheck/MciCheck.js +86 -76
  7. package/dist/shared/ui/mciDrawer/MciDrawer.js +78 -59
  8. package/dist/shared/ui/mciInput/MciInput.js +39 -40
  9. package/dist/shared/ui/mciLoader/MciLoader.js +14 -14
  10. package/dist/shared/ui/mciPagination/MciPagination.js +28 -18
  11. package/dist/shared/ui/mciPicker/MciPicker.js +54 -54
  12. package/dist/shared/ui/mciSelect/MciSelect.js +42 -41
  13. package/dist/shared/ui/mciStepper/MciStepper.js +136 -0
  14. package/dist/shared/ui/mciTable/MciTable.js +97 -90
  15. package/dist/shared/ui/mciTable/MciTableClamp2.js +4 -3
  16. package/dist/shared/ui/mciTable/MciTableColumnsPanel.js +100 -79
  17. package/dist/shared/ui/mciTabs/FilledTabs.js +161 -0
  18. package/dist/shared/ui/mciTabs/MciTabs.js +5 -147
  19. package/dist/shared/ui/mciTabs/OutlinedTabs.js +86 -0
  20. package/dist/shared/ui/mciToggle/MciToggle.js +51 -43
  21. package/dist/shared/ui/mciUpload/MciUpload.js +129 -107
  22. package/dist/types/index.d.ts +1 -0
  23. package/dist/types/shared/types/mci-table.types.d.ts +2 -0
  24. package/dist/types/shared/types/ui/breadcrumb.types.d.ts +1 -1
  25. package/dist/types/shared/types/ui/button.types.d.ts +1 -1
  26. package/dist/types/shared/types/ui/check.types.d.ts +1 -1
  27. package/dist/types/shared/types/ui/drawer.types.d.ts +1 -0
  28. package/dist/types/shared/types/ui/loader.types.d.ts +1 -1
  29. package/dist/types/shared/types/ui/pagination.types.d.ts +1 -1
  30. package/dist/types/shared/types/ui/stepper.types.d.ts +13 -0
  31. package/dist/types/shared/types/ui/tabs.types.d.ts +8 -2
  32. package/dist/types/shared/types/ui/toggle.types.d.ts +1 -1
  33. package/dist/types/shared/types/ui/upload.types.d.ts +1 -1
  34. package/dist/types/shared/ui/mciDrawer/MciDrawer.d.ts +1 -1
  35. package/dist/types/shared/ui/mciStepper/MciStepper.d.ts +3 -0
  36. package/dist/types/shared/ui/mciTable/MciTable.d.ts +1 -1
  37. package/dist/types/shared/ui/mciTable/MciTableColumnsPanel.d.ts +3 -2
  38. package/dist/types/shared/ui/mciTabs/FilledTabs.d.ts +2 -0
  39. package/dist/types/shared/ui/mciTabs/MciTabs.d.ts +3 -2
  40. package/dist/types/shared/ui/mciTabs/OutlinedTabs.d.ts +3 -0
  41. package/package.json +1 -1
@@ -0,0 +1,86 @@
1
+ import { jsxs as x, jsx as a } from "react/jsx-runtime";
2
+ import { useState as f, useRef as m, useEffect as S, useMemo as N } from "react";
3
+ import { cn as i } from "../../lib/utils.js";
4
+ const j = ({
5
+ tabs: e,
6
+ className: b,
7
+ contentClassName: p,
8
+ darkMode: l,
9
+ defaultTab: w,
10
+ onChange: T,
11
+ tabClassName: v,
12
+ tabListClassName: y,
13
+ color: r = "orange"
14
+ }) => {
15
+ const [n, B] = f(w || e[0]?.id), [c, C] = f({ left: 0, width: 0 }), d = m({}), g = m(null);
16
+ S(() => {
17
+ const t = d.current[n], o = g.current;
18
+ if (t && o) {
19
+ const k = o.getBoundingClientRect().left, u = t.getBoundingClientRect();
20
+ C({
21
+ left: u.left - k,
22
+ width: u.width
23
+ });
24
+ }
25
+ }, [n, e]);
26
+ const R = (t) => {
27
+ B(t), T?.(t);
28
+ }, h = N(
29
+ () => e.find((t) => t.id === n)?.content,
30
+ [n, e]
31
+ );
32
+ return /* @__PURE__ */ x("div", { className: i("space-y-4", b), children: [
33
+ /* @__PURE__ */ x("div", { ref: g, className: i("relative flex", y), children: [
34
+ e.map((t) => /* @__PURE__ */ a(
35
+ "button",
36
+ {
37
+ ref: (o) => {
38
+ d.current[t.id] = o;
39
+ },
40
+ onClick: () => R(t.id),
41
+ className: i(
42
+ "cursor-pointer truncate border-b-2 px-3 py-2 text-sm font-medium transition-colors",
43
+ l ? "border-slate-200/20" : "border-slate-200",
44
+ n === t.id ? l ? s[r].darkText : s[r].lightText : l ? "text-slate-200/70 hover:text-slate-100" : "hover:text-primary text-slate-400",
45
+ v
46
+ ),
47
+ children: t.label
48
+ },
49
+ t.id
50
+ )),
51
+ /* @__PURE__ */ a(
52
+ "span",
53
+ {
54
+ className: i(
55
+ "pointer-events-none absolute bottom-0 h-0.5 transition-all duration-300 ease-in-out",
56
+ l ? s[r].darkBg : s[r].lightBg
57
+ ),
58
+ style: { left: c.left, width: c.width }
59
+ }
60
+ )
61
+ ] }),
62
+ h && /* @__PURE__ */ a("div", { className: i("mt-4", p), children: h })
63
+ ] });
64
+ }, s = {
65
+ orange: {
66
+ darkText: "text-white",
67
+ lightText: "text-orange-600",
68
+ darkBg: "bg-orange-400",
69
+ lightBg: "bg-orange-600"
70
+ },
71
+ blue: {
72
+ darkText: "text-white",
73
+ lightText: "text-blue-600",
74
+ darkBg: "bg-blue-400",
75
+ lightBg: "bg-blue-600"
76
+ },
77
+ yellow: {
78
+ darkText: "text-white",
79
+ lightText: "text-yellow-500",
80
+ darkBg: "bg-yellow-400",
81
+ lightBg: "bg-yellow-500"
82
+ }
83
+ };
84
+ export {
85
+ j as default
86
+ };
@@ -1,5 +1,5 @@
1
- import { jsxs as c, jsx as r } from "react/jsx-runtime";
2
- import { cn as n } from "../../lib/utils.js";
1
+ import { jsxs as u, jsx as a } from "react/jsx-runtime";
2
+ import { cn as r } from "../../lib/utils.js";
3
3
  const b = {
4
4
  blue: {
5
5
  active: "bg-blue-600",
@@ -14,79 +14,87 @@ const b = {
14
14
  focus: "focus:ring-2 focus:ring-yellow-200",
15
15
  darkActive: "bg-yellow-500",
16
16
  darkHover: "hover:bg-yellow-500"
17
+ },
18
+ orange: {
19
+ active: "bg-orange-600",
20
+ hover: "hover:bg-orange-600",
21
+ focus: "focus:ring-2 focus:ring-[rgba(227,98,12,0.25)]",
22
+ darkActive: "bg-orange-600",
23
+ darkHover: "hover:bg-orange-600"
17
24
  }
18
25
  };
19
26
  function m({
20
- checked: l = !1,
21
- onChange: i,
22
- disabled: t = !1,
23
- variant: s = "yellow",
24
- darkMode: e = !1,
25
- label: a,
26
- supportText: u,
27
- className: g,
28
- ...f
27
+ checked: o = !1,
28
+ onChange: c,
29
+ disabled: e = !1,
30
+ variant: n = "orange",
31
+ darkMode: t = !1,
32
+ label: s,
33
+ supportText: g,
34
+ className: i,
35
+ ...v
29
36
  }) {
30
- const v = () => {
31
- t || i?.(!l);
32
- }, o = b[s];
33
- return /* @__PURE__ */ c(
37
+ const f = () => {
38
+ e || c?.(!o);
39
+ }, l = b[n];
40
+ return /* @__PURE__ */ u(
34
41
  "div",
35
42
  {
36
- className: n(
43
+ className: r(
37
44
  "flex items-start gap-3 select-none",
38
- g
45
+ i
39
46
  ),
40
47
  children: [
41
- /* @__PURE__ */ r(
48
+ /* @__PURE__ */ a(
42
49
  "button",
43
50
  {
44
- ...f,
51
+ ...v,
45
52
  type: "button",
46
- disabled: t,
47
- onClick: v,
48
- className: n(
53
+ disabled: e,
54
+ onClick: f,
55
+ className: r(
49
56
  "relative h-6 w-11 rounded-xl transition-all duration-300 outline-none",
50
- t ? "cursor-not-allowed" : "cursor-pointer",
51
- l ? e ? o.darkActive : o.active : e ? "bg-neutral-200" : "bg-slate-200",
52
- !t && l && (e ? o.darkHover : o.hover),
53
- !t && !l && (e ? "hover:bg-neutral-100" : "hover:bg-slate-300"),
54
- !t && o.focus,
55
- e && !t && s === "blue" && "focus-visible:shadow-[0_0_0_2px_var(--opacity-25,rgba(21,93,252,0.25))]",
56
- e && !t && s === "yellow" && "focus-visible:ring-2 focus-visible:ring-yellow-300/40",
57
- t && (e ? "bg-neutral-200/60" : "bg-slate-100")
57
+ e ? "cursor-not-allowed" : "cursor-pointer",
58
+ o ? t ? l.darkActive : l.active : t ? "bg-neutral-200" : "bg-slate-200",
59
+ !e && o && (t ? l.darkHover : l.hover),
60
+ !e && !o && (t ? "hover:bg-neutral-100" : "hover:bg-slate-300"),
61
+ !e && l.focus,
62
+ t && !e && n === "blue" && "focus-visible:shadow-[0_0_0_2px_var(--opacity-25,rgba(21,93,252,0.25))]",
63
+ t && !e && n === "yellow" && "focus-visible:ring-2 focus-visible:ring-yellow-300/40",
64
+ t && !e && n === "orange" && "focus-visible:ring-2 focus-visible:ring-[rgba(227,98,12,0.25)]",
65
+ e && (t ? "bg-neutral-200/60" : "bg-slate-100")
58
66
  ),
59
- children: /* @__PURE__ */ r(
67
+ children: /* @__PURE__ */ a(
60
68
  "span",
61
69
  {
62
- className: n(
70
+ className: r(
63
71
  "absolute top-1/2 left-0.5 h-5 w-5 -translate-y-1/2 rounded-full transition-all duration-300",
64
- e ? "bg-black" : "bg-white",
65
- l && "translate-x-5"
72
+ t ? "bg-black" : "bg-white",
73
+ o && "translate-x-5"
66
74
  )
67
75
  }
68
76
  )
69
77
  }
70
78
  ),
71
- (a || u) && /* @__PURE__ */ c("div", { className: "flex flex-col leading-tight", children: [
72
- a && /* @__PURE__ */ r(
79
+ (s || g) && /* @__PURE__ */ u("div", { className: "flex flex-col leading-tight", children: [
80
+ s && /* @__PURE__ */ a(
73
81
  "span",
74
82
  {
75
- className: n(
83
+ className: r(
76
84
  "text-base font-medium",
77
- e ? t ? "text-neutral-50/50" : "text-neutral-50" : t ? "text-slate-400" : "text-black"
85
+ t ? e ? "text-neutral-50/50" : "text-neutral-50" : e ? "text-slate-400" : "text-black"
78
86
  ),
79
- children: a
87
+ children: s
80
88
  }
81
89
  ),
82
- u && /* @__PURE__ */ r(
90
+ g && /* @__PURE__ */ a(
83
91
  "span",
84
92
  {
85
- className: n(
93
+ className: r(
86
94
  "text-sm font-normal",
87
- e ? t ? "text-neutral-100/50" : "text-neutral-100" : t ? "text-slate-400" : "text-slate-500"
95
+ t ? e ? "text-neutral-100/50" : "text-neutral-100" : e ? "text-slate-400" : "text-slate-500"
88
96
  ),
89
- children: u
97
+ children: g
90
98
  }
91
99
  )
92
100
  ] })