@rotorjs/react 0.4.1 → 0.4.2

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 (2) hide show
  1. package/dist/main.js +110 -192
  2. package/package.json +3 -3
package/dist/main.js CHANGED
@@ -1,259 +1,177 @@
1
- import { createContext as e, createElement as t, useContext as n, useEffect as r, useMemo as i, useState as a } from "react";
2
- import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
3
- //#region \0rolldown/runtime.js
4
- var l = Object.create, u = Object.defineProperty, d = Object.getOwnPropertyDescriptor, f = Object.getOwnPropertyNames, p = Object.getPrototypeOf, m = Object.prototype.hasOwnProperty, h = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), g = (e, t, n, r) => {
5
- if (t && typeof t == "object" || typeof t == "function") for (var i = f(t), a = 0, o = i.length, s; a < o; a++) s = i[a], !m.call(e, s) && s !== n && u(e, s, {
6
- get: ((e) => t[e]).bind(null, s),
7
- enumerable: !(r = d(t, s)) || r.enumerable
8
- });
9
- return e;
10
- }, _ = (e, t, n) => (n = e == null ? {} : l(p(e)), g(t || !e || !e.__esModule ? u(n, "default", {
11
- value: e,
12
- enumerable: !0
13
- }) : n, e)), v = class extends Event {
14
- emitter;
15
- constructor(e, t) {
16
- super(e, t);
17
- }
18
- }, y = class extends v {
19
- #e;
20
- constructor(e) {
21
- super("action"), this.#e = e;
22
- }
23
- get action() {
24
- return this.#e;
25
- }
26
- }, b = [];
27
- for (let e = 0; e < 256; ++e) b.push((e + 256).toString(16).slice(1));
28
- //#endregion
29
- //#region node_modules/uuid/dist/stringify.js
30
- var x = [];
31
- for (let e = 0; e < 256; ++e) x.push((e + 256).toString(16).slice(1));
32
- function S(e, t = 0) {
33
- return (x[e[t + 0]] + x[e[t + 1]] + x[e[t + 2]] + x[e[t + 3]] + "-" + x[e[t + 4]] + x[e[t + 5]] + "-" + x[e[t + 6]] + x[e[t + 7]] + "-" + x[e[t + 8]] + x[e[t + 9]] + "-" + x[e[t + 10]] + x[e[t + 11]] + x[e[t + 12]] + x[e[t + 13]] + x[e[t + 14]] + x[e[t + 15]]).toLowerCase();
34
- }
35
- //#endregion
36
- //#region node_modules/uuid/dist/rng.js
37
- var C = new Uint8Array(16);
38
- function w() {
39
- return crypto.getRandomValues(C);
40
- }
41
- //#endregion
42
- //#region node_modules/uuid/dist/v7.js
43
- var T = {};
44
- function E(e, t, n) {
45
- let r;
46
- if (e) r = O(e.random ?? e.rng?.() ?? w(), e.msecs, e.seq, t, n);
47
- else {
48
- let e = Date.now(), i = w();
49
- D(T, e, i), r = O(i, T.msecs, T.seq, t, n);
50
- }
51
- return t ?? S(r);
52
- }
53
- function D(e, t, n) {
54
- return e.msecs ??= -Infinity, e.seq ??= 0, t > e.msecs ? (e.seq = n[6] << 23 | n[7] << 16 | n[8] << 8 | n[9], e.msecs = t) : (e.seq = e.seq + 1 | 0, e.seq === 0 && e.msecs++), e;
55
- }
56
- function O(e, t, n, r, i = 0) {
57
- if (e.length < 16) throw Error("Random bytes length must be >= 16");
58
- if (!r) r = new Uint8Array(16), i = 0;
59
- else if (i < 0 || i + 16 > r.length) throw RangeError(`UUID byte range ${i}:${i + 15} is out of buffer bounds`);
60
- return t ??= Date.now(), n ??= e[6] * 127 << 24 | e[7] << 16 | e[8] << 8 | e[9], r[i++] = t / 1099511627776 & 255, r[i++] = t / 4294967296 & 255, r[i++] = t / 16777216 & 255, r[i++] = t / 65536 & 255, r[i++] = t / 256 & 255, r[i++] = t & 255, r[i++] = 112 | n >>> 28 & 15, r[i++] = n >>> 20 & 255, r[i++] = 128 | n >>> 14 & 63, r[i++] = n >>> 6 & 255, r[i++] = n << 2 & 255 | e[10] & 3, r[i++] = e[11], r[i++] = e[12], r[i++] = e[13], r[i++] = e[14], r[i++] = e[15], r;
61
- }
62
- //#endregion
1
+ import { ActionEvent as e } from "@rotorjs/core";
2
+ import { createContext as t, createElement as n, useContext as r, useEffect as i, useMemo as a, useState as o } from "react";
3
+ import { v7 as s } from "uuid";
4
+ import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
5
+ import d from "fast-deep-equal";
63
6
  //#region lib/DashboardContext.ts
64
- var k = e(void 0);
7
+ var f = t(void 0);
65
8
  //#endregion
66
9
  //#region lib/DashboardError.tsx
67
- function A({ error: e }) {
10
+ function p({ error: e }) {
68
11
  throw e;
69
12
  }
70
13
  //#endregion
71
14
  //#region lib/DashboardLayoutContext.ts
72
- var j = e(void 0);
15
+ var m = t(void 0);
73
16
  //#endregion
74
17
  //#region lib/getKey.ts
75
- function M(e, t = 0) {
18
+ function h(e, t = 0) {
76
19
  return `${encodeURIComponent(e.type)}:${e.id ? `id:${encodeURIComponent(e.id)}` : `idx:${t}`}`;
77
20
  }
78
21
  //#endregion
79
22
  //#region lib/DashboardLayoutError.tsx
80
- var N = { type: "error" };
81
- function P({ id: e, error: r, children: i }) {
82
- let { layouts: a } = n(k), o = a.error ?? A, c = {
23
+ var g = { type: "error" };
24
+ function _({ id: e, error: t, children: i }) {
25
+ let { layouts: a } = r(f), o = a.error ?? p, s = {
83
26
  type: "error",
84
27
  id: e,
85
- error: r
28
+ error: t
86
29
  };
87
- return /* @__PURE__ */ s(j.Provider, {
88
- value: N,
89
- children: /* @__PURE__ */ t(o, {
90
- ...c,
91
- key: M(c)
30
+ return /* @__PURE__ */ l(m.Provider, {
31
+ value: g,
32
+ children: /* @__PURE__ */ n(o, {
33
+ ...s,
34
+ key: h(s)
92
35
  }, i)
93
36
  });
94
37
  }
95
38
  //#endregion
96
39
  //#region lib/DashboardLayout.tsx
97
- function F({ layout: e, children: r }) {
98
- let { layouts: a, defaultLayout: o } = n(k), c = i(() => ({
99
- error: A,
100
- ...a
101
- }), [a]), l = e ?? o, u = l?.type, d = i(() => ({ type: u }), [u]);
102
- if (!l?.type) return null;
103
- let f = c[l.type];
104
- return f ? /* @__PURE__ */ s(j.Provider, {
40
+ function v({ layout: e, children: t }) {
41
+ let { layouts: i, defaultLayout: o } = r(f), s = a(() => ({
42
+ error: p,
43
+ ...i
44
+ }), [i]), c = e ?? o, u = c?.type, d = a(() => ({ type: u }), [u]);
45
+ if (!c?.type) return null;
46
+ let g = s[c.type];
47
+ return g ? /* @__PURE__ */ l(m.Provider, {
105
48
  value: d,
106
- children: /* @__PURE__ */ t(f, {
107
- ...l,
108
- key: M(l)
109
- }, r)
110
- }) : /* @__PURE__ */ s(P, {
111
- error: `Invalid layout type "${l.type}"`,
112
- children: r
49
+ children: /* @__PURE__ */ n(g, {
50
+ ...c,
51
+ key: h(c)
52
+ }, t)
53
+ }) : /* @__PURE__ */ l(_, {
54
+ error: `Invalid layout type "${c.type}"`,
55
+ children: t
113
56
  });
114
57
  }
115
58
  //#endregion
116
59
  //#region lib/DashboardTileError.tsx
117
- function I({ id: e, error: r }) {
118
- let { tiles: i } = n(k), a = i.error ?? A, o = {
60
+ function y({ id: e, error: t }) {
61
+ let { tiles: i } = r(f), a = i.error ?? p, o = {
119
62
  type: "error",
120
63
  id: e,
121
- error: r
64
+ error: t
122
65
  };
123
- return /* @__PURE__ */ t(a, {
66
+ return /* @__PURE__ */ n(a, {
124
67
  ...o,
125
- key: M(o)
68
+ key: h(o)
126
69
  });
127
70
  }
128
71
  //#endregion
129
72
  //#region lib/DashboardTiles.tsx
130
- function L({ content: e }) {
131
- let { tiles: r } = n(k), a = i(() => ({
132
- error: A,
133
- ...r
134
- }), [r]);
135
- return /* @__PURE__ */ s(o, { children: e.map((e, n) => {
73
+ function b({ content: e }) {
74
+ let { tiles: t } = r(f), i = a(() => ({
75
+ error: p,
76
+ ...t
77
+ }), [t]);
78
+ return /* @__PURE__ */ l(c, { children: e.map((e, t) => {
136
79
  if (!e?.type) return null;
137
- let r = a[e.type];
138
- return r ? /* @__PURE__ */ t(r, {
80
+ let r = i[e.type];
81
+ return r ? /* @__PURE__ */ n(r, {
139
82
  ...e,
140
- key: M(e, n)
141
- }) : /* @__PURE__ */ s(I, { error: `Invalid tile type "${e.type}"` }, M({ type: "error" }, n));
83
+ key: h(e, t)
84
+ }) : /* @__PURE__ */ l(y, { error: `Invalid tile type "${e.type}"` }, h({ type: "error" }, t));
142
85
  }) });
143
86
  }
144
87
  //#endregion
145
88
  //#region lib/Dashboard.tsx
146
- function R({ engine: e, initialVars: t, initialFacts: n, layouts: o, defaultLayout: l, tiles: u, layout: d, content: f, children: p }) {
147
- let [m] = a(t ?? {}), [h, g] = a(m), [_] = a(n ?? {}), [v, b] = a(_);
148
- r(() => {
149
- let t = E(), n = new AbortController(), r = n.signal;
150
- return Object.entries(m).forEach(([n, { value: r, exposed: i }]) => {
151
- let a = new y({
89
+ function x({ engine: t, initialVars: n, initialFacts: r, layouts: c, defaultLayout: d, tiles: p, layout: m, content: h, children: g }) {
90
+ let [_] = o(n ?? {}), [y, x] = o(_), [S] = o(r ?? {}), [C, w] = o(S);
91
+ i(() => {
92
+ let n = s(), r = new AbortController(), i = r.signal;
93
+ return Object.entries(_).forEach(([r, { value: i, exposed: a }]) => {
94
+ let o = new e({
152
95
  type: "var",
153
- name: n,
154
- value: r,
155
- exposed: i
96
+ name: r,
97
+ value: i,
98
+ exposed: a
156
99
  });
157
- a.emitter = t, e.dispatchEvent(a);
158
- }), Object.entries(_).forEach(([n, { value: r }]) => {
159
- let i = new y({
100
+ o.emitter = n, t.dispatchEvent(o);
101
+ }), Object.entries(S).forEach(([r, { value: i }]) => {
102
+ let a = new e({
160
103
  type: "fact",
161
- name: n,
162
- value: r
104
+ name: r,
105
+ value: i
163
106
  });
164
- i.emitter = t, e.dispatchEvent(i);
165
- }), e.addEventListener("action", (e) => {
166
- if (e.emitter === t) return;
167
- let n = e.action;
168
- switch (n.type) {
107
+ a.emitter = n, t.dispatchEvent(a);
108
+ }), t.addEventListener("action", (e) => {
109
+ if (e.emitter === n) return;
110
+ let t = e.action;
111
+ switch (t.type) {
169
112
  case "var":
170
- g((e) => {
171
- let t = e[n.name];
172
- return Object.hasOwn(e, n.name) && t.value === n.value && t.exposed === (n.exposed ?? !1) ? e : {
113
+ x((e) => {
114
+ let n = e[t.name];
115
+ return Object.hasOwn(e, t.name) && n.value === t.value && n.exposed === (t.exposed ?? !1) ? e : {
173
116
  ...e,
174
- [n.name]: {
175
- value: n.value,
176
- exposed: n.exposed ?? !1
117
+ [t.name]: {
118
+ value: t.value,
119
+ exposed: t.exposed ?? !1
177
120
  }
178
121
  };
179
122
  });
180
123
  return;
181
- case "fact": b((e) => {
182
- let t = e[n.name];
183
- return Object.hasOwn(e, n.name) && t.value === n.value ? e : {
124
+ case "fact": w((e) => {
125
+ let n = e[t.name];
126
+ return Object.hasOwn(e, t.name) && n.value === t.value ? e : {
184
127
  ...e,
185
- [n.name]: { value: n.value }
128
+ [t.name]: { value: t.value }
186
129
  };
187
130
  });
188
131
  }
189
- }, { signal: r }), () => {
190
- n.abort();
132
+ }, { signal: i }), () => {
133
+ r.abort();
191
134
  };
192
135
  }, [
193
- e,
194
- m,
195
- _
136
+ t,
137
+ _,
138
+ S
196
139
  ]);
197
- let x = i(() => ({
198
- engine: e,
199
- vars: h,
200
- facts: v,
201
- layouts: o,
202
- defaultLayout: l,
203
- tiles: u
140
+ let T = a(() => ({
141
+ engine: t,
142
+ vars: y,
143
+ facts: C,
144
+ layouts: c,
145
+ defaultLayout: d,
146
+ tiles: p
204
147
  }), [
205
- e,
206
- h,
207
- v,
208
- o,
209
- l,
210
- u
148
+ t,
149
+ y,
150
+ C,
151
+ c,
152
+ d,
153
+ p
211
154
  ]);
212
- return /* @__PURE__ */ s(k.Provider, {
213
- value: x,
214
- children: /* @__PURE__ */ c(F, {
215
- layout: d,
216
- children: [/* @__PURE__ */ s(L, { content: f }), p]
155
+ return /* @__PURE__ */ l(f.Provider, {
156
+ value: T,
157
+ children: /* @__PURE__ */ u(v, {
158
+ layout: m,
159
+ children: [/* @__PURE__ */ l(b, { content: h }), g]
217
160
  })
218
161
  });
219
162
  }
220
163
  //#endregion
221
164
  //#region lib/useDashboardState.ts
222
- var z = /* @__PURE__ */ _((/* @__PURE__ */ h(((e, t) => {
223
- t.exports = function e(t, n) {
224
- if (t === n) return !0;
225
- if (t && n && typeof t == "object" && typeof n == "object") {
226
- if (t.constructor !== n.constructor) return !1;
227
- var r, i, a;
228
- if (Array.isArray(t)) {
229
- if (r = t.length, r != n.length) return !1;
230
- for (i = r; i-- !== 0;) if (!e(t[i], n[i])) return !1;
231
- return !0;
232
- }
233
- if (t.constructor === RegExp) return t.source === n.source && t.flags === n.flags;
234
- if (t.valueOf !== Object.prototype.valueOf) return t.valueOf() === n.valueOf();
235
- if (t.toString !== Object.prototype.toString) return t.toString() === n.toString();
236
- if (a = Object.keys(t), r = a.length, r !== Object.keys(n).length) return !1;
237
- for (i = r; i-- !== 0;) if (!Object.prototype.hasOwnProperty.call(n, a[i])) return !1;
238
- for (i = r; i-- !== 0;) {
239
- var o = a[i];
240
- if (!e(t[o], n[o])) return !1;
241
- }
242
- return !0;
243
- }
244
- return t !== t && n !== n;
245
- };
246
- })))(), 1);
247
- function B(e, t = []) {
248
- let { engine: i } = n(k), [o, s] = a(e), [c, l] = a(t);
249
- return (0, z.default)(e, o) || s(o), r(() => {
250
- let e = E(), t = new AbortController(), n = t.signal;
251
- return i.addEventListener("state", (t) => {
252
- t.id === e && l(t.state);
253
- }, { signal: n }), i.registerReducer(e, o), () => {
254
- t.abort(), i.removeReducer(e);
165
+ function S(e, t = []) {
166
+ let { engine: n } = r(f), [a, c] = o(e), [l, u] = o(t);
167
+ return d(e, a) || c(a), i(() => {
168
+ let e = s(), t = new AbortController(), r = t.signal;
169
+ return n.addEventListener("state", (t) => {
170
+ t.id === e && u(t.state);
171
+ }, { signal: r }), n.registerReducer(e, a), () => {
172
+ t.abort(), n.removeReducer(e);
255
173
  };
256
- }, [o, i]), c;
174
+ }, [a, n]), l;
257
175
  }
258
176
  //#endregion
259
- export { R as Dashboard, k as DashboardContext, A as DashboardError, F as DashboardLayout, j as DashboardLayoutContext, P as DashboardLayoutError, I as DashboardTileError, L as DashboardTiles, M as getKey, B as useDashboardState };
177
+ export { x as Dashboard, f as DashboardContext, p as DashboardError, v as DashboardLayout, m as DashboardLayoutContext, _ as DashboardLayoutError, y as DashboardTileError, b as DashboardTiles, h as getKey, S as useDashboardState };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rotorjs/react",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "Rotor",
5
5
  "author": {
6
6
  "name": "Aaron Burmeister"
@@ -44,7 +44,7 @@
44
44
  },
45
45
  "devDependencies": {
46
46
  "@eslint/js": "^10.0.1",
47
- "@rotorjs/dashboards": "^0.13.0",
47
+ "@rotorjs/dashboards": "^0.13.3",
48
48
  "@types/react": "^19.1.12",
49
49
  "@types/react-dom": "^19.1.9",
50
50
  "@vitejs/plugin-react": "^6.0.1",
@@ -69,7 +69,7 @@
69
69
  "react": "^19.0.0"
70
70
  },
71
71
  "dependencies": {
72
- "@rotorjs/core": "^0.5.1",
72
+ "@rotorjs/core": "^0.5.3",
73
73
  "fast-deep-equal": "^3.1.3",
74
74
  "uuid": "^14.0.0"
75
75
  }