@vizel/react 1.0.0 → 1.1.1

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 (49) hide show
  1. package/README.md +38 -14
  2. package/dist/index.d.ts +246 -22
  3. package/dist/index.js +59 -51
  4. package/dist/index10.js +42 -40
  5. package/dist/index13.js +1 -1
  6. package/dist/index14.js +4 -4
  7. package/dist/index16.js +1 -1
  8. package/dist/index19.js +1 -1
  9. package/dist/index2.js +1 -1
  10. package/dist/index20.js +152 -8
  11. package/dist/index21.js +8 -10
  12. package/dist/index22.js +10 -78
  13. package/dist/index23.js +75 -112
  14. package/dist/index24.js +112 -32
  15. package/dist/index25.js +35 -5
  16. package/dist/index26.js +5 -68
  17. package/dist/index27.js +65 -88
  18. package/dist/index28.js +91 -4
  19. package/dist/index29.js +4 -36
  20. package/dist/index30.js +34 -51
  21. package/dist/index31.js +52 -11
  22. package/dist/index32.js +11 -24
  23. package/dist/index33.js +24 -29
  24. package/dist/index34.js +30 -4
  25. package/dist/index35.js +4 -33
  26. package/dist/index36.js +31 -48
  27. package/dist/index37.js +50 -37
  28. package/dist/index38.js +48 -7
  29. package/dist/index39.js +69 -50
  30. package/dist/index40.js +45 -11
  31. package/dist/index41.js +8 -15
  32. package/dist/index42.js +53 -3
  33. package/dist/index43.js +11 -20
  34. package/dist/index44.js +54 -2
  35. package/dist/index45.js +15 -9742
  36. package/dist/index46.js +3 -17016
  37. package/dist/index47.js +21 -2
  38. package/dist/index48.js +2 -8
  39. package/dist/index49.js +9742 -2
  40. package/dist/index50.js +17016 -2
  41. package/dist/index51.js +2 -222
  42. package/dist/index52.js +7 -224
  43. package/dist/index53.js +2 -2
  44. package/dist/index54.js +2 -2
  45. package/dist/index55.js +224 -0
  46. package/dist/index56.js +227 -0
  47. package/dist/index57.js +4 -0
  48. package/dist/index58.js +4 -0
  49. package/package.json +16 -26
package/dist/index24.js CHANGED
@@ -1,38 +1,118 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- import { getVizelPortalContainer as s, VIZEL_PORTAL_Z_INDEX as f } from "@vizel/core";
3
- import { useState as m, useEffect as p } from "react";
4
- import { createPortal as u } from "react-dom";
5
- function d({
6
- children: t,
7
- layer: o = "dropdown",
8
- className: e,
9
- disabled: r = !1
1
+ import { jsxs as p, jsx as n } from "react/jsx-runtime";
2
+ import { getVizelActiveNodeType as x, vizelDefaultNodeTypes as E } from "@vizel/core";
3
+ import { useState as z, useRef as N, useEffect as w } from "react";
4
+ import { useVizelState as y } from "./index43.js";
5
+ import { VizelIcon as s } from "./index21.js";
6
+ function $({
7
+ editor: c,
8
+ nodeTypes: r = E,
9
+ className: D
10
10
  }) {
11
- const [a, i] = m(!1);
12
- if (p(() => {
13
- i(!0);
14
- }, []), !a || r)
15
- return t;
16
- const l = s();
17
- return u(
18
- /* @__PURE__ */ n(
19
- "div",
20
- {
21
- "data-vizel-portal-layer": o,
22
- className: e,
23
- style: {
24
- position: "absolute",
25
- top: 0,
26
- left: 0,
27
- zIndex: f[o]
28
- },
29
- children: t
11
+ y(() => c);
12
+ const [o, l] = z(!1), [f, a] = z(0), i = N(null), d = N(null), m = x(c, r), h = m?.label ?? "Text", g = m?.icon ?? "paragraph";
13
+ w(() => {
14
+ if (!o) return;
15
+ const e = (t) => {
16
+ i.current && !i.current.contains(t.target) && l(!1);
17
+ };
18
+ return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
19
+ }, [o]), w(() => {
20
+ o && d.current && d.current.focus();
21
+ }, [o]);
22
+ const b = (e) => {
23
+ if (!o) {
24
+ (e.key === "Enter" || e.key === " " || e.key === "ArrowDown") && (e.preventDefault(), l(!0), a(0));
25
+ return;
26
+ }
27
+ switch (e.key) {
28
+ case "Escape":
29
+ e.preventDefault(), l(!1);
30
+ break;
31
+ case "ArrowDown":
32
+ e.preventDefault(), a((t) => (t + 1) % r.length);
33
+ break;
34
+ case "ArrowUp":
35
+ e.preventDefault(), a((t) => (t - 1 + r.length) % r.length);
36
+ break;
37
+ case "Enter":
38
+ case " ": {
39
+ e.preventDefault();
40
+ const t = r[f];
41
+ t && v(t);
42
+ break;
30
43
  }
31
- ),
32
- l
44
+ case "Home":
45
+ e.preventDefault(), a(0);
46
+ break;
47
+ case "End":
48
+ e.preventDefault(), a(r.length - 1);
49
+ break;
50
+ }
51
+ }, v = (e) => {
52
+ e.command(c), l(!1);
53
+ };
54
+ return /* @__PURE__ */ p(
55
+ "div",
56
+ {
57
+ ref: i,
58
+ className: `vizel-node-selector ${D ?? ""}`,
59
+ "data-vizel-node-selector": !0,
60
+ children: [
61
+ /* @__PURE__ */ p(
62
+ "button",
63
+ {
64
+ type: "button",
65
+ className: "vizel-node-selector-trigger",
66
+ onClick: () => l(!o),
67
+ onKeyDown: b,
68
+ "aria-haspopup": "listbox",
69
+ "aria-expanded": o,
70
+ "aria-label": `Current block type: ${h}`,
71
+ title: "Change block type",
72
+ children: [
73
+ /* @__PURE__ */ n("span", { className: "vizel-node-selector-icon", children: /* @__PURE__ */ n(s, { name: g }) }),
74
+ /* @__PURE__ */ n("span", { className: "vizel-node-selector-label", children: h }),
75
+ /* @__PURE__ */ n("span", { className: "vizel-node-selector-chevron", "aria-hidden": "true", children: /* @__PURE__ */ n(s, { name: "chevronDown" }) })
76
+ ]
77
+ }
78
+ ),
79
+ o && /* @__PURE__ */ n(
80
+ "div",
81
+ {
82
+ ref: d,
83
+ className: "vizel-node-selector-dropdown",
84
+ role: "listbox",
85
+ "aria-label": "Block types",
86
+ "data-vizel-node-selector-dropdown": !0,
87
+ tabIndex: -1,
88
+ onKeyDown: b,
89
+ children: r.map((e, t) => {
90
+ const u = e.isActive(c), k = t === f;
91
+ return /* @__PURE__ */ p(
92
+ "button",
93
+ {
94
+ type: "button",
95
+ role: "option",
96
+ "aria-selected": u,
97
+ className: `vizel-node-selector-option ${u ? "is-active" : ""} ${k ? "is-focused" : ""}`,
98
+ onClick: () => v(e),
99
+ onMouseEnter: () => a(t),
100
+ tabIndex: k ? 0 : -1,
101
+ children: [
102
+ /* @__PURE__ */ n("span", { className: "vizel-node-selector-option-icon", children: /* @__PURE__ */ n(s, { name: e.icon }) }),
103
+ /* @__PURE__ */ n("span", { className: "vizel-node-selector-option-label", children: e.label }),
104
+ u && /* @__PURE__ */ n("span", { className: "vizel-node-selector-check", "aria-hidden": "true", children: /* @__PURE__ */ n(s, { name: "check" }) })
105
+ ]
106
+ },
107
+ e.name
108
+ );
109
+ })
110
+ }
111
+ )
112
+ ]
113
+ }
33
114
  );
34
115
  }
35
- d.displayName = "VizelPortal";
36
116
  export {
37
- d as VizelPortal
117
+ $ as VizelNodeSelector
38
118
  };
package/dist/index25.js CHANGED
@@ -1,8 +1,38 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import { VizelInternalProvider as t } from "./index17.js";
3
- function l({ editor: i, children: o, className: e }) {
4
- return /* @__PURE__ */ r(t, { editor: i, children: /* @__PURE__ */ r("div", { className: e, "data-vizel-root": "", children: o }) });
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { getVizelPortalContainer as s, VIZEL_PORTAL_Z_INDEX as f } from "@vizel/core";
3
+ import { useState as m, useEffect as p } from "react";
4
+ import { createPortal as u } from "react-dom";
5
+ function d({
6
+ children: t,
7
+ layer: o = "dropdown",
8
+ className: e,
9
+ disabled: r = !1
10
+ }) {
11
+ const [a, i] = m(!1);
12
+ if (p(() => {
13
+ i(!0);
14
+ }, []), !a || r)
15
+ return t;
16
+ const l = s();
17
+ return u(
18
+ /* @__PURE__ */ n(
19
+ "div",
20
+ {
21
+ "data-vizel-portal-layer": o,
22
+ className: e,
23
+ style: {
24
+ position: "absolute",
25
+ top: 0,
26
+ left: 0,
27
+ zIndex: f[o]
28
+ },
29
+ children: t
30
+ }
31
+ ),
32
+ l
33
+ );
5
34
  }
35
+ d.displayName = "VizelPortal";
6
36
  export {
7
- l as VizelProvider
37
+ d as VizelPortal
8
38
  };
package/dist/index26.js CHANGED
@@ -1,71 +1,8 @@
1
- import { jsxs as m, jsx as e } from "react/jsx-runtime";
2
- import { formatVizelRelativeTime as p } from "@vizel/core";
3
- import { useState as h, useEffect as f } from "react";
4
- import { VizelIcon as i } from "./index20.js";
5
- function I({
6
- status: r,
7
- lastSaved: a,
8
- showTimestamp: c = !0,
9
- className: o
10
- }) {
11
- const [n, t] = h("");
12
- f(() => {
13
- if (!a) {
14
- t("");
15
- return;
16
- }
17
- const s = () => {
18
- t(p(a));
19
- };
20
- s();
21
- const u = setInterval(s, 1e4);
22
- return () => clearInterval(u);
23
- }, [a]);
24
- const l = () => {
25
- switch (r) {
26
- case "saved":
27
- return /* @__PURE__ */ e(i, { name: "check" });
28
- case "saving":
29
- return /* @__PURE__ */ e("span", { className: "vizel-save-indicator-spinner", "aria-hidden": "true", children: /* @__PURE__ */ e(i, { name: "loader" }) });
30
- case "unsaved":
31
- return /* @__PURE__ */ e(i, { name: "circle" });
32
- case "error":
33
- return /* @__PURE__ */ e(i, { name: "warning" });
34
- default:
35
- return null;
36
- }
37
- }, v = () => {
38
- switch (r) {
39
- case "saved":
40
- return "Saved";
41
- case "saving":
42
- return "Saving...";
43
- case "unsaved":
44
- return "Unsaved";
45
- case "error":
46
- return "Error saving";
47
- default:
48
- return "";
49
- }
50
- }, d = c && a && n && r === "saved";
51
- return (
52
- // biome-ignore lint/a11y/useSemanticElements: role="status" is appropriate for non-form status announcements
53
- /* @__PURE__ */ m(
54
- "div",
55
- {
56
- className: `vizel-save-indicator vizel-save-indicator--${r} ${o ?? ""}`,
57
- role: "status",
58
- "aria-live": "polite",
59
- "data-vizel-save-indicator": !0,
60
- children: [
61
- /* @__PURE__ */ e("span", { className: "vizel-save-indicator-icon", "aria-hidden": "true", children: l() }),
62
- /* @__PURE__ */ e("span", { className: "vizel-save-indicator-text", children: v() }),
63
- d && /* @__PURE__ */ e("span", { className: "vizel-save-indicator-timestamp", children: n })
64
- ]
65
- }
66
- )
67
- );
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { VizelInternalProvider as t } from "./index17.js";
3
+ function l({ editor: i, children: o, className: e }) {
4
+ return /* @__PURE__ */ r(t, { editor: i, children: /* @__PURE__ */ r("div", { className: e, "data-vizel-root": "", children: o }) });
68
5
  }
69
6
  export {
70
- I as VizelSaveIndicator
7
+ l as VizelProvider
71
8
  };
package/dist/index27.js CHANGED
@@ -1,94 +1,71 @@
1
- import { jsx as u, jsxs as E } from "react/jsx-runtime";
2
- import { groupVizelSlashCommands as D } from "@vizel/core";
3
- import { useState as N, useRef as j, useMemo as b, useEffect as p, useCallback as h, useImperativeHandle as A } from "react";
4
- import { VizelSlashMenuEmpty as R } from "./index28.js";
5
- import { VizelSlashMenuItem as $ } from "./index29.js";
6
- function B({
7
- ref: S,
8
- items: m,
9
- command: v,
10
- className: x,
11
- showGroups: z = !0,
12
- renderItem: I,
13
- renderEmpty: y,
14
- groupOrder: k
1
+ import { jsxs as m, jsx as e } from "react/jsx-runtime";
2
+ import { formatVizelRelativeTime as p } from "@vizel/core";
3
+ import { useState as h, useEffect as f } from "react";
4
+ import { VizelIcon as i } from "./index21.js";
5
+ function I({
6
+ status: r,
7
+ lastSaved: a,
8
+ showTimestamp: c = !0,
9
+ className: o
15
10
  }) {
16
- const [i, f] = N(0), c = j([]), r = b(() => !z || m.length <= 5 ? [{ name: "", items: m }] : D(m, k), [m, z, k]), t = b(() => r.flatMap((e) => e.items), [r]);
17
- p(() => {
18
- c.current.length > t.length && (c.current.length = t.length);
19
- }, [t.length]), p(() => {
20
- const e = c.current[i];
21
- e && e.scrollIntoView({ block: "nearest", behavior: "smooth" });
22
- }, [i]);
23
- const d = h(
24
- (e) => {
25
- const s = t[e];
26
- s && v(s);
27
- },
28
- [t, v]
29
- ), w = h(() => {
30
- f((e) => (e + t.length - 1) % t.length);
31
- }, [t.length]), H = h(() => {
32
- f((e) => (e + 1) % t.length);
33
- }, [t.length]), M = h(() => {
34
- d(i);
35
- }, [d, i]), V = h(() => {
36
- if (r.length <= 1) return;
37
- let e = 0, s = 0;
38
- for (let n = 0; n < r.length; n++) {
39
- const l = r[n];
40
- if (l) {
41
- if (i < s + l.items.length) {
42
- e = n;
43
- break;
44
- }
45
- s += l.items.length;
46
- }
11
+ const [n, t] = h("");
12
+ f(() => {
13
+ if (!a) {
14
+ t("");
15
+ return;
16
+ }
17
+ const s = () => {
18
+ t(p(a));
19
+ };
20
+ s();
21
+ const u = setInterval(s, 1e4);
22
+ return () => clearInterval(u);
23
+ }, [a]);
24
+ const l = () => {
25
+ switch (r) {
26
+ case "saved":
27
+ return /* @__PURE__ */ e(i, { name: "check" });
28
+ case "saving":
29
+ return /* @__PURE__ */ e("span", { className: "vizel-save-indicator-spinner", "aria-hidden": "true", children: /* @__PURE__ */ e(i, { name: "loader" }) });
30
+ case "unsaved":
31
+ return /* @__PURE__ */ e(i, { name: "circle" });
32
+ case "error":
33
+ return /* @__PURE__ */ e(i, { name: "warning" });
34
+ default:
35
+ return null;
47
36
  }
48
- const a = (e + 1) % r.length;
49
- let o = 0;
50
- for (let n = 0; n < a; n++) {
51
- const l = r[n];
52
- l && (o += l.items.length);
37
+ }, v = () => {
38
+ switch (r) {
39
+ case "saved":
40
+ return "Saved";
41
+ case "saving":
42
+ return "Saving...";
43
+ case "unsaved":
44
+ return "Unsaved";
45
+ case "error":
46
+ return "Error saving";
47
+ default:
48
+ return "";
53
49
  }
54
- f(o);
55
- }, [r, i]);
56
- if (p(() => {
57
- f(0);
58
- }, [r]), A(S, () => ({
59
- onKeyDown: ({ event: e }) => e.key === "ArrowUp" ? (w(), !0) : e.key === "ArrowDown" ? (H(), !0) : e.key === "Enter" ? (M(), !0) : e.key === "Tab" ? (e.preventDefault(), V(), !0) : !1
60
- })), t.length === 0)
61
- return /* @__PURE__ */ u("div", { className: `vizel-slash-menu ${x ?? ""}`, "data-vizel-slash-menu": "", children: y?.() ?? /* @__PURE__ */ u(R, {}) });
62
- let C = 0;
63
- return /* @__PURE__ */ u("div", { className: `vizel-slash-menu ${x ?? ""}`, "data-vizel-slash-menu": "", children: r.map((e) => {
64
- const s = e.items.map((a) => {
65
- const o = C++, n = o === i, l = () => d(o);
66
- return I ? /* @__PURE__ */ u(
67
- "div",
68
- {
69
- ref: (g) => {
70
- c.current[o] = g;
71
- },
72
- children: I({ item: a, isSelected: n, onClick: l })
73
- },
74
- a.title
75
- ) : /* @__PURE__ */ u(
76
- "div",
77
- {
78
- ref: (g) => {
79
- c.current[o] = g;
80
- },
81
- children: /* @__PURE__ */ u($, { item: a, isSelected: n, onClick: l })
82
- },
83
- a.title
84
- );
85
- });
86
- return e.name ? /* @__PURE__ */ E("div", { className: "vizel-slash-menu-group", "data-vizel-slash-menu-group": !0, children: [
87
- /* @__PURE__ */ u("div", { className: "vizel-slash-menu-group-header", children: e.name }),
88
- s
89
- ] }, e.name) : s;
90
- }) });
50
+ }, d = c && a && n && r === "saved";
51
+ return (
52
+ // biome-ignore lint/a11y/useSemanticElements: role="status" is appropriate for non-form status announcements
53
+ /* @__PURE__ */ m(
54
+ "div",
55
+ {
56
+ className: `vizel-save-indicator vizel-save-indicator--${r} ${o ?? ""}`,
57
+ role: "status",
58
+ "aria-live": "polite",
59
+ "data-vizel-save-indicator": !0,
60
+ children: [
61
+ /* @__PURE__ */ e("span", { className: "vizel-save-indicator-icon", "aria-hidden": "true", children: l() }),
62
+ /* @__PURE__ */ e("span", { className: "vizel-save-indicator-text", children: v() }),
63
+ d && /* @__PURE__ */ e("span", { className: "vizel-save-indicator-timestamp", children: n })
64
+ ]
65
+ }
66
+ )
67
+ );
91
68
  }
92
69
  export {
93
- B as VizelSlashMenu
70
+ I as VizelSaveIndicator
94
71
  };
package/dist/index28.js CHANGED
@@ -1,7 +1,94 @@
1
- import { jsx as l } from "react/jsx-runtime";
2
- function m({ children: e, className: s }) {
3
- return /* @__PURE__ */ l("div", { className: `vizel-slash-menu-empty ${s ?? ""}`, "data-vizel-slash-menu-empty": "", children: e ?? "No results" });
1
+ import { jsx as u, jsxs as E } from "react/jsx-runtime";
2
+ import { groupVizelSlashCommands as D } from "@vizel/core";
3
+ import { useState as N, useRef as j, useMemo as b, useEffect as p, useCallback as h, useImperativeHandle as A } from "react";
4
+ import { VizelSlashMenuEmpty as R } from "./index29.js";
5
+ import { VizelSlashMenuItem as $ } from "./index30.js";
6
+ function B({
7
+ ref: S,
8
+ items: m,
9
+ command: v,
10
+ className: x,
11
+ showGroups: z = !0,
12
+ renderItem: I,
13
+ renderEmpty: y,
14
+ groupOrder: k
15
+ }) {
16
+ const [i, f] = N(0), c = j([]), r = b(() => !z || m.length <= 5 ? [{ name: "", items: m }] : D(m, k), [m, z, k]), t = b(() => r.flatMap((e) => e.items), [r]);
17
+ p(() => {
18
+ c.current.length > t.length && (c.current.length = t.length);
19
+ }, [t.length]), p(() => {
20
+ const e = c.current[i];
21
+ e && e.scrollIntoView({ block: "nearest", behavior: "smooth" });
22
+ }, [i]);
23
+ const d = h(
24
+ (e) => {
25
+ const s = t[e];
26
+ s && v(s);
27
+ },
28
+ [t, v]
29
+ ), w = h(() => {
30
+ f((e) => (e + t.length - 1) % t.length);
31
+ }, [t.length]), H = h(() => {
32
+ f((e) => (e + 1) % t.length);
33
+ }, [t.length]), M = h(() => {
34
+ d(i);
35
+ }, [d, i]), V = h(() => {
36
+ if (r.length <= 1) return;
37
+ let e = 0, s = 0;
38
+ for (let n = 0; n < r.length; n++) {
39
+ const l = r[n];
40
+ if (l) {
41
+ if (i < s + l.items.length) {
42
+ e = n;
43
+ break;
44
+ }
45
+ s += l.items.length;
46
+ }
47
+ }
48
+ const a = (e + 1) % r.length;
49
+ let o = 0;
50
+ for (let n = 0; n < a; n++) {
51
+ const l = r[n];
52
+ l && (o += l.items.length);
53
+ }
54
+ f(o);
55
+ }, [r, i]);
56
+ if (p(() => {
57
+ f(0);
58
+ }, [r]), A(S, () => ({
59
+ onKeyDown: ({ event: e }) => e.key === "ArrowUp" ? (w(), !0) : e.key === "ArrowDown" ? (H(), !0) : e.key === "Enter" ? (M(), !0) : e.key === "Tab" ? (e.preventDefault(), V(), !0) : !1
60
+ })), t.length === 0)
61
+ return /* @__PURE__ */ u("div", { className: `vizel-slash-menu ${x ?? ""}`, "data-vizel-slash-menu": "", children: y?.() ?? /* @__PURE__ */ u(R, {}) });
62
+ let C = 0;
63
+ return /* @__PURE__ */ u("div", { className: `vizel-slash-menu ${x ?? ""}`, "data-vizel-slash-menu": "", children: r.map((e) => {
64
+ const s = e.items.map((a) => {
65
+ const o = C++, n = o === i, l = () => d(o);
66
+ return I ? /* @__PURE__ */ u(
67
+ "div",
68
+ {
69
+ ref: (g) => {
70
+ c.current[o] = g;
71
+ },
72
+ children: I({ item: a, isSelected: n, onClick: l })
73
+ },
74
+ a.title
75
+ ) : /* @__PURE__ */ u(
76
+ "div",
77
+ {
78
+ ref: (g) => {
79
+ c.current[o] = g;
80
+ },
81
+ children: /* @__PURE__ */ u($, { item: a, isSelected: n, onClick: l })
82
+ },
83
+ a.title
84
+ );
85
+ });
86
+ return e.name ? /* @__PURE__ */ E("div", { className: "vizel-slash-menu-group", "data-vizel-slash-menu-group": !0, children: [
87
+ /* @__PURE__ */ u("div", { className: "vizel-slash-menu-group-header", children: e.name }),
88
+ s
89
+ ] }, e.name) : s;
90
+ }) });
4
91
  }
5
92
  export {
6
- m as VizelSlashMenuEmpty
93
+ B as VizelSlashMenu
7
94
  };
package/dist/index29.js CHANGED
@@ -1,39 +1,7 @@
1
- import { jsxs as n, jsx as l } from "react/jsx-runtime";
2
- import { splitVizelTextByMatches as c } from "@vizel/core";
3
- import { VizelIcon as r } from "./index20.js";
4
- const o = (e, t) => {
5
- const a = c(e, t);
6
- let i = 0;
7
- return a.map((s) => {
8
- const h = `${i}-${s.highlight}`;
9
- return i += s.text.length, s.highlight ? /* @__PURE__ */ l("mark", { className: "vizel-slash-menu-highlight", children: s.text }, h) : s.text;
10
- });
11
- };
12
- function p({
13
- item: e,
14
- isSelected: t = !1,
15
- onClick: a,
16
- className: i,
17
- titleMatches: s
18
- }) {
19
- return /* @__PURE__ */ n(
20
- "button",
21
- {
22
- type: "button",
23
- className: `vizel-slash-menu-item ${t ? "is-selected" : ""} ${i ?? ""}`,
24
- onClick: a,
25
- "data-selected": t || void 0,
26
- children: [
27
- /* @__PURE__ */ l("span", { className: "vizel-slash-menu-icon", children: /* @__PURE__ */ l(r, { name: e.icon }) }),
28
- /* @__PURE__ */ n("div", { className: "vizel-slash-menu-text", children: [
29
- /* @__PURE__ */ l("span", { className: "vizel-slash-menu-title", children: o(e.title, s) }),
30
- /* @__PURE__ */ l("span", { className: "vizel-slash-menu-description", children: e.description })
31
- ] }),
32
- e.shortcut && /* @__PURE__ */ l("span", { className: "vizel-slash-menu-shortcut", children: e.shortcut })
33
- ]
34
- }
35
- );
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ function m({ children: e, className: s }) {
3
+ return /* @__PURE__ */ l("div", { className: `vizel-slash-menu-empty ${s ?? ""}`, "data-vizel-slash-menu-empty": "", children: e ?? "No results" });
36
4
  }
37
5
  export {
38
- p as VizelSlashMenuItem
6
+ m as VizelSlashMenuEmpty
39
7
  };