@cfx-dev/ui-components 4.2.10 → 4.2.11

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.
@@ -0,0 +1,11 @@
1
+ const e = "cfxui__BurgerMenu__burgerButton__cc9ab", n = "cfxui__BurgerMenu__burgerMenuContentContainer__2fb6f", r = "cfxui__BurgerMenu__burgerLine__886ad", u = "cfxui__BurgerMenu__burgerLineOpen__af602", _ = "cfxui__BurgerMenu__subItemContainer__0d64a", t = "cfxui__BurgerMenu__subItemContainerOpen__5491d", o = {
2
+ burgerButton: e,
3
+ burgerMenuContentContainer: n,
4
+ burgerLine: r,
5
+ burgerLineOpen: u,
6
+ subItemContainer: _,
7
+ subItemContainerOpen: t
8
+ };
9
+ export {
10
+ o as s
11
+ };
@@ -1 +1 @@
1
- .cfxui__BurgerMenu__burgerButton__cc9ab{width:calc(var(--quant) * 3.25);height:calc(var(--quant) * 3.25);cursor:pointer}.cfxui__BurgerMenu__burgerContainerOpen__ed7ab{background:rgba(var(--color-bg-light),1);height:var(--height)}.cfxui__BurgerMenu__burgerLine__886ad,.cfxui__BurgerMenu__burgerLineOpen__af602{width:100%;height:calc(var(--quant) * .3);background-color:rgba(var(--color-primary),1);border-radius:var(--border-radius-xsmall)}.cfxui__BurgerMenu__burgerLine__886ad,.cfxui__BurgerMenu__burgerLineOpen__af602{transition:all .25s ease,outline-offset 0s,outline 0s}.cfxui__BurgerMenu__burgerLineOpen__af602:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.cfxui__BurgerMenu__burgerLineOpen__af602:nth-child(1){transition:all .25s ease,outline-offset 0s,outline 0s}.cfxui__BurgerMenu__burgerLineOpen__af602:nth-child(2){opacity:0}.cfxui__BurgerMenu__burgerLineOpen__af602:nth-child(2){transition:all .25s ease,outline-offset 0s,outline 0s}.cfxui__BurgerMenu__burgerLineOpen__af602:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.cfxui__BurgerMenu__burgerLineOpen__af602:nth-child(3){transition:all .25s ease,outline-offset 0s,outline 0s}.cfxui__BurgerMenu__subItemContainer__0d64a{background-color:rgba(var(--color-secondary),.25);max-height:0;overflow:hidden}.cfxui__BurgerMenu__subItemContainer__0d64a{transition:all .25s ease,outline-offset 0s,outline 0s}.cfxui__BurgerMenu__subItemContainerOpen__5491d{max-height:var(--height)}
1
+ .cfxui__BurgerMenu__burgerButton__cc9ab{width:calc(var(--quant) * 3.25);height:calc(var(--quant) * 3.25);cursor:pointer}.cfxui__BurgerMenu__burgerMenuContentContainer__2fb6f{background:rgba(var(--color-bg-light),1)}.cfxui__BurgerMenu__burgerLine__886ad,.cfxui__BurgerMenu__burgerLineOpen__af602{width:100%;height:calc(var(--quant) * .3);background-color:rgba(var(--color-primary),1);border-radius:var(--border-radius-xsmall)}.cfxui__BurgerMenu__burgerLine__886ad,.cfxui__BurgerMenu__burgerLineOpen__af602{transition:all .25s ease,outline-offset 0s,outline 0s}.cfxui__BurgerMenu__burgerLineOpen__af602:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.cfxui__BurgerMenu__burgerLineOpen__af602:nth-child(1){transition:all .25s ease,outline-offset 0s,outline 0s}.cfxui__BurgerMenu__burgerLineOpen__af602:nth-child(2){opacity:0}.cfxui__BurgerMenu__burgerLineOpen__af602:nth-child(2){transition:all .25s ease,outline-offset 0s,outline 0s}.cfxui__BurgerMenu__burgerLineOpen__af602:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.cfxui__BurgerMenu__burgerLineOpen__af602:nth-child(3){transition:all .25s ease,outline-offset 0s,outline 0s}.cfxui__BurgerMenu__subItemContainer__0d64a{background-color:rgba(var(--color-secondary),.25);max-height:0;overflow:hidden}.cfxui__BurgerMenu__subItemContainer__0d64a{transition:all .25s ease,outline-offset 0s,outline 0s}.cfxui__BurgerMenu__subItemContainerOpen__5491d{max-height:var(--height)}
@@ -1,14 +1,16 @@
1
1
  import { default as React } from 'react';
2
2
 
3
3
  export interface BurgerMenuItem {
4
- id: string;
5
4
  label: string;
6
5
  highlighted?: boolean;
6
+ id: string;
7
+ className?: string;
7
8
  submenu?: BurgerMenuItem[];
8
9
  }
9
10
  export interface BurgerMenuProps {
10
11
  items: BurgerMenuItem[];
11
12
  onItemClick: (item: string) => void;
12
- onOpenChange?: (isOpen: boolean) => void;
13
+ isOpen: boolean;
14
+ className?: string;
13
15
  }
14
- export declare function BurgerMenu(props: BurgerMenuProps): React.ReactElement;
16
+ export declare function BurgerMenu({ items, onItemClick, isOpen, className, }: BurgerMenuProps): React.ReactElement;
@@ -1,141 +1,89 @@
1
- import { jsxs as a, jsx as n } from "react/jsx-runtime";
2
- import k, { useState as h, useCallback as c } from "react";
3
- import { Icon as y } from "../Icon/Icon.js";
4
- import { Interactive as b } from "../Interactive/Interactive.js";
5
- import { Flex as i } from "../Layout/Flex/Flex.js";
6
- import { Text as L } from "../Text/Text.js";
1
+ import { jsx as o, jsxs as c } from "react/jsx-runtime";
2
+ import { useState as C, useCallback as d } from "react";
3
+ import { Icon as k } from "../Icon/Icon.js";
4
+ import { Interactive as m } from "../Interactive/Interactive.js";
5
+ import { Flex as r } from "../Layout/Flex/Flex.js";
6
+ import { Text as w } from "../Text/Text.js";
7
7
  import "../ui.js";
8
- import { clsx as t } from "../../utils/clsx.js";
9
- const B = "cfxui__BurgerMenu__burgerButton__cc9ab", I = "cfxui__BurgerMenu__burgerContainerOpen__ed7ab", w = "cfxui__BurgerMenu__burgerLine__886ad", M = "cfxui__BurgerMenu__burgerLineOpen__af602", N = "cfxui__BurgerMenu__subItemContainer__0d64a", T = "cfxui__BurgerMenu__subItemContainerOpen__5491d", r = {
10
- burgerButton: B,
11
- burgerContainerOpen: I,
12
- burgerLine: w,
13
- burgerLineOpen: M,
14
- subItemContainer: N,
15
- subItemContainerOpen: T
16
- };
17
- function F(C) {
18
- const {
19
- items: O,
20
- onItemClick: g,
21
- onOpenChange: l
22
- } = C, [u, d] = h(!1), [m, x] = h({}), _ = c(() => {
23
- d((e) => !e);
24
- }, []), s = c((e) => {
25
- g(e), d(!1);
26
- }, [g]), p = c((e) => {
27
- x((o) => ({
28
- ...o,
29
- [e]: !o[e]
8
+ import { clsx as h } from "../../utils/clsx.js";
9
+ import { s as l } from "../../BurgerMenu.module-CyY93Y4u.js";
10
+ function K({
11
+ items: b,
12
+ onItemClick: t,
13
+ isOpen: p,
14
+ className: f
15
+ }) {
16
+ const [u, g] = C({}), i = d((e) => {
17
+ t(e);
18
+ }, [t]), s = d((e) => {
19
+ g((n) => ({
20
+ ...n,
21
+ [e]: !n[e]
30
22
  }));
31
23
  }, []);
32
- return k.useEffect(() => {
33
- l && l(u);
34
- }, [u, l]), /* @__PURE__ */ a(
35
- i,
24
+ return /* @__PURE__ */ o(
25
+ r,
36
26
  {
37
- className: t({ [r.burgerContainerOpen]: u }),
27
+ className: h(l.burgerMenuContentContainer, f),
38
28
  direction: "column",
39
- children: [
40
- /* @__PURE__ */ n(i, { justifyContent: "flex-end", children: /* @__PURE__ */ n(
41
- b,
29
+ children: p && /* @__PURE__ */ o(r, { direction: "column", className: l.menu, children: b.map((e) => /* @__PURE__ */ c("div", { children: [
30
+ /* @__PURE__ */ o(
31
+ m,
42
32
  {
43
33
  showPointer: !0,
44
- "aria-label": "Toggle menu",
34
+ "aria-label": "Toggle item",
45
35
  role: "button",
46
- onClick: _,
47
- onKeyDown: (e) => {
48
- (e.key === "Enter" || e.key === " ") && _();
36
+ onClick: () => {
37
+ e.submenu ? s(e.id) : i(e.id);
49
38
  },
50
- children: /* @__PURE__ */ a(
51
- i,
52
- {
53
- justifyContent: "space-around",
54
- direction: "column",
55
- className: r.burgerButton,
56
- children: [
57
- /* @__PURE__ */ n(
58
- "span",
59
- {
60
- className: t(u ? r.burgerLineOpen : r.burgerLine)
61
- }
62
- ),
63
- /* @__PURE__ */ n(
64
- "span",
65
- {
66
- className: t(u ? r.burgerLineOpen : r.burgerLine)
67
- }
68
- ),
69
- /* @__PURE__ */ n(
70
- "span",
71
- {
72
- className: t(u ? r.burgerLineOpen : r.burgerLine)
73
- }
74
- )
75
- ]
76
- }
77
- )
78
- }
79
- ) }),
80
- u && /* @__PURE__ */ n(i, { direction: "column", className: r.menu, children: O.map((e) => /* @__PURE__ */ a("div", { children: [
81
- /* @__PURE__ */ n(
82
- b,
83
- {
84
- showPointer: !0,
85
- "aria-label": "Toggle item",
86
- role: "button",
87
- onClick: () => {
88
- e.submenu ? p(e.id) : s(e.id);
89
- },
90
- onKeyDown: (o) => {
91
- (o.key === "Enter" || o.key === " ") && (e.submenu ? p(e.id) : s(e.id));
92
- },
93
- children: /* @__PURE__ */ a(i, { p: 2, justifyContent: "space-between", children: [
94
- /* @__PURE__ */ n(
95
- L,
96
- {
97
- size: "xsmall",
98
- weight: e.highlighted ? "bold" : "normal",
99
- children: e.label
100
- }
101
- ),
102
- e.submenu && /* @__PURE__ */ n(
103
- y,
104
- {
105
- name: m[e.id] ? "UpChevron" : "DownChevron"
106
- }
107
- )
108
- ] })
109
- }
110
- ),
111
- e.submenu && /* @__PURE__ */ n(
112
- i,
113
- {
114
- className: t(r.subItemContainer, {
115
- [r.subItemContainerOpen]: m[e.id]
116
- }),
117
- direction: "column",
118
- children: e.submenu.map((o) => /* @__PURE__ */ n(
119
- b,
39
+ onKeyDown: (n) => {
40
+ (n.key === "Enter" || n.key === " ") && (e.submenu ? s(e.id) : i(e.id));
41
+ },
42
+ children: /* @__PURE__ */ c(r, { p: 2, justifyContent: "space-between", children: [
43
+ /* @__PURE__ */ o(
44
+ w,
120
45
  {
121
- showPointer: !0,
122
- "aria-label": "Toggle sub item",
123
- role: "button",
124
- onClick: () => s(o.id),
125
- onKeyDown: (f) => {
126
- (f.key === "Enter" || f.key === " ") && s(o.id);
127
- },
128
- children: /* @__PURE__ */ n(i, { p: 2, children: o.label })
46
+ size: "xsmall",
47
+ weight: e.highlighted ? "bold" : "normal",
48
+ children: e.label
49
+ }
50
+ ),
51
+ e.submenu && /* @__PURE__ */ o(
52
+ k,
53
+ {
54
+ name: u[e.id] ? "UpChevron" : "DownChevron"
55
+ }
56
+ )
57
+ ] })
58
+ }
59
+ ),
60
+ e.submenu && /* @__PURE__ */ o(
61
+ r,
62
+ {
63
+ className: h(l.subItemContainer, {
64
+ [l.subItemContainerOpen]: u[e.id]
65
+ }),
66
+ direction: "column",
67
+ children: e.submenu.map((n) => /* @__PURE__ */ o(
68
+ m,
69
+ {
70
+ showPointer: !0,
71
+ "aria-label": "Toggle sub item",
72
+ role: "button",
73
+ onClick: () => i(n.id),
74
+ onKeyDown: (a) => {
75
+ (a.key === "Enter" || a.key === " ") && i(n.id);
129
76
  },
130
- o.id
131
- ))
132
- }
133
- )
134
- ] }, e.id)) })
135
- ]
77
+ children: /* @__PURE__ */ o(r, { p: 2, children: n.label })
78
+ },
79
+ n.id
80
+ ))
81
+ }
82
+ )
83
+ ] }, e.id)) })
136
84
  }
137
85
  );
138
86
  }
139
87
  export {
140
- F as BurgerMenu
88
+ K as BurgerMenu
141
89
  };
@@ -0,0 +1,8 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface BurgerMenuButtonProps {
4
+ isOpen: boolean;
5
+ onToggle: () => void;
6
+ className?: string;
7
+ }
8
+ export declare function BurgerMenuButton({ isOpen, onToggle, className, }: BurgerMenuButtonProps): React.ReactElement;
@@ -0,0 +1,54 @@
1
+ import { jsx as e, jsxs as s } from "react/jsx-runtime";
2
+ import { Interactive as m } from "../Interactive/Interactive.js";
3
+ import { Flex as u } from "../Layout/Flex/Flex.js";
4
+ import { clsx as o } from "../../utils/clsx.js";
5
+ import { s as r } from "../../BurgerMenu.module-CyY93Y4u.js";
6
+ function g({
7
+ isOpen: n,
8
+ onToggle: t,
9
+ className: a
10
+ }) {
11
+ return /* @__PURE__ */ e(u, { className: a, children: /* @__PURE__ */ e(
12
+ m,
13
+ {
14
+ showPointer: !0,
15
+ "aria-label": "Toggle menu",
16
+ role: "button",
17
+ onClick: t,
18
+ onKeyDown: (i) => {
19
+ (i.key === "Enter" || i.key === " ") && t();
20
+ },
21
+ children: /* @__PURE__ */ s(
22
+ u,
23
+ {
24
+ justifyContent: "space-around",
25
+ direction: "column",
26
+ className: r.burgerButton,
27
+ children: [
28
+ /* @__PURE__ */ e(
29
+ "span",
30
+ {
31
+ className: o(n ? r.burgerLineOpen : r.burgerLine)
32
+ }
33
+ ),
34
+ /* @__PURE__ */ e(
35
+ "span",
36
+ {
37
+ className: o(n ? r.burgerLineOpen : r.burgerLine)
38
+ }
39
+ ),
40
+ /* @__PURE__ */ e(
41
+ "span",
42
+ {
43
+ className: o(n ? r.burgerLineOpen : r.burgerLine)
44
+ }
45
+ )
46
+ ]
47
+ }
48
+ )
49
+ }
50
+ ) });
51
+ }
52
+ export {
53
+ g as BurgerMenuButton
54
+ };
@@ -1,10 +1,11 @@
1
- import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
- import i from "react";
3
- import { Flex as r } from "../Layout/Flex/Flex.js";
4
- import { Text as o } from "../Text/Text.js";
1
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
2
+ import a, { useState as s, useCallback as u } from "react";
3
+ import { Flex as t } from "../Layout/Flex/Flex.js";
4
+ import { Text as m } from "../Text/Text.js";
5
5
  import "../ui.js";
6
- import { BurgerMenu as n } from "./BurgerMenu.js";
7
- const a = [
6
+ import { BurgerMenu as c } from "./BurgerMenu.js";
7
+ import { BurgerMenuButton as g } from "./BurgerMenuButton.js";
8
+ const d = [
8
9
  {
9
10
  id: "1",
10
11
  label: "Account",
@@ -32,22 +33,27 @@ const a = [
32
33
  id: "4",
33
34
  label: "Settings"
34
35
  }
35
- ], m = (t) => {
36
- console.log(`Item clicked: ${t}`);
36
+ ], p = (e) => {
37
+ console.log(`Item clicked: ${e}`);
37
38
  };
38
- function c() {
39
- return /* @__PURE__ */ e(r, { gap: "large", vertical: !0, pb: 20, children: /* @__PURE__ */ l(r, { gap: "normal", vertical: !0, children: [
40
- /* @__PURE__ */ e(o, { children: "Burger Menu" }),
41
- /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(
42
- n,
39
+ function h() {
40
+ const [e, l] = s(!1), o = u(() => {
41
+ l((n) => !n);
42
+ }, []);
43
+ return /* @__PURE__ */ r(t, { gap: "large", vertical: !0, pb: 20, children: /* @__PURE__ */ i(t, { gap: "normal", vertical: !0, children: [
44
+ /* @__PURE__ */ r(m, { children: "Burger Menu" }),
45
+ /* @__PURE__ */ r(g, { isOpen: e, onToggle: o }),
46
+ /* @__PURE__ */ r(
47
+ c,
43
48
  {
44
- items: a,
45
- onItemClick: m
49
+ items: d,
50
+ onItemClick: p,
51
+ isOpen: e
46
52
  }
47
- ) })
53
+ )
48
54
  ] }) });
49
55
  }
50
- const b = i.memo(c);
56
+ const I = a.memo(h);
51
57
  export {
52
- b as default
58
+ I as default
53
59
  };
@@ -1,2 +1,4 @@
1
+ export { BurgerMenuButton } from './BurgerMenuButton';
2
+ export type { BurgerMenuButtonProps } from './BurgerMenuButton';
1
3
  export { BurgerMenu } from './BurgerMenu';
2
4
  export type { BurgerMenuItem, BurgerMenuProps } from './BurgerMenu';
@@ -1,4 +1,6 @@
1
- import { BurgerMenu as o } from "./BurgerMenu.js";
1
+ import { BurgerMenuButton as o } from "./BurgerMenuButton.js";
2
+ import { BurgerMenu as t } from "./BurgerMenu.js";
2
3
  export {
3
- o as BurgerMenu
4
+ t as BurgerMenu,
5
+ o as BurgerMenuButton
4
6
  };