@sudobility/analytics-components 2.0.1 → 2.0.5

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.
@@ -19,6 +19,12 @@
19
19
  *
20
20
  * @see {@link https://docs.example.com/components/container-stats}
21
21
  */
22
+ /** Tracking data for ContainerStats actions */
23
+ export interface ContainerStatsTrackingData {
24
+ action: 'click';
25
+ trackingLabel?: string;
26
+ componentName?: string;
27
+ }
22
28
  export interface UcontainerUstatsProps {
23
29
  /** Additional CSS classes */
24
30
  className?: string;
@@ -28,6 +34,12 @@ export interface UcontainerUstatsProps {
28
34
  disabled?: boolean;
29
35
  /** Callback when component is interacted with */
30
36
  onClick?: () => void;
37
+ /** Optional tracking callback */
38
+ onTrack?: (data: ContainerStatsTrackingData) => void;
39
+ /** Optional tracking label */
40
+ trackingLabel?: string;
41
+ /** Optional component name for tracking */
42
+ componentName?: string;
31
43
  }
32
- export declare const UcontainerUstats: ({ className, children, disabled, onClick, }: UcontainerUstatsProps) => import("react/jsx-runtime").JSX.Element;
44
+ export declare const UcontainerUstats: ({ className, children, disabled, onClick, onTrack, trackingLabel, componentName, }: UcontainerUstatsProps) => import("react/jsx-runtime").JSX.Element;
33
45
  //# sourceMappingURL=container-stats.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"container-stats.d.ts","sourceRoot":"","sources":["../src/container-stats.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,qBAAqB;IACpC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB,GAAI,6CAK9B,qBAAqB,4CAmBvB,CAAC"}
1
+ {"version":3,"file":"container-stats.d.ts","sourceRoot":"","sources":["../src/container-stats.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,+CAA+C;AAC/C,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACrD,8BAA8B;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,gBAAgB,GAAI,oFAQ9B,qBAAqB,4CA0BvB,CAAC"}
@@ -19,6 +19,12 @@
19
19
  *
20
20
  * @see {@link https://docs.example.com/components/feature-comparison}
21
21
  */
22
+ /** Tracking data for FeatureComparison actions */
23
+ export interface FeatureComparisonTrackingData {
24
+ action: 'click';
25
+ trackingLabel?: string;
26
+ componentName?: string;
27
+ }
22
28
  export interface UfeatureUcomparisonProps {
23
29
  /** Additional CSS classes */
24
30
  className?: string;
@@ -28,6 +34,12 @@ export interface UfeatureUcomparisonProps {
28
34
  disabled?: boolean;
29
35
  /** Callback when component is interacted with */
30
36
  onClick?: () => void;
37
+ /** Optional tracking callback */
38
+ onTrack?: (data: FeatureComparisonTrackingData) => void;
39
+ /** Optional tracking label */
40
+ trackingLabel?: string;
41
+ /** Optional component name for tracking */
42
+ componentName?: string;
31
43
  }
32
- export declare const UfeatureUcomparison: ({ className, children, disabled, onClick, }: UfeatureUcomparisonProps) => import("react/jsx-runtime").JSX.Element;
44
+ export declare const UfeatureUcomparison: ({ className, children, disabled, onClick, onTrack, trackingLabel, componentName, }: UfeatureUcomparisonProps) => import("react/jsx-runtime").JSX.Element;
33
45
  //# sourceMappingURL=feature-comparison.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-comparison.d.ts","sourceRoot":"","sources":["../src/feature-comparison.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,wBAAwB;IACvC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB,GAAI,6CAKjC,wBAAwB,4CAmB1B,CAAC"}
1
+ {"version":3,"file":"feature-comparison.d.ts","sourceRoot":"","sources":["../src/feature-comparison.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,kDAAkD;AAClD,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,6BAA6B,KAAK,IAAI,CAAC;IACxD,8BAA8B;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,mBAAmB,GAAI,oFAQjC,wBAAwB,4CA0B1B,CAAC"}
@@ -19,6 +19,12 @@
19
19
  *
20
20
  * @see {@link https://docs.example.com/components/feature-importance}
21
21
  */
22
+ /** Tracking data for FeatureImportance actions */
23
+ export interface FeatureImportanceTrackingData {
24
+ action: 'click';
25
+ trackingLabel?: string;
26
+ componentName?: string;
27
+ }
22
28
  export interface UfeatureUimportanceProps {
23
29
  /** Additional CSS classes */
24
30
  className?: string;
@@ -28,6 +34,12 @@ export interface UfeatureUimportanceProps {
28
34
  disabled?: boolean;
29
35
  /** Callback when component is interacted with */
30
36
  onClick?: () => void;
37
+ /** Optional tracking callback */
38
+ onTrack?: (data: FeatureImportanceTrackingData) => void;
39
+ /** Optional tracking label */
40
+ trackingLabel?: string;
41
+ /** Optional component name for tracking */
42
+ componentName?: string;
31
43
  }
32
- export declare const UfeatureUimportance: ({ className, children, disabled, onClick, }: UfeatureUimportanceProps) => import("react/jsx-runtime").JSX.Element;
44
+ export declare const UfeatureUimportance: ({ className, children, disabled, onClick, onTrack, trackingLabel, componentName, }: UfeatureUimportanceProps) => import("react/jsx-runtime").JSX.Element;
33
45
  //# sourceMappingURL=feature-importance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-importance.d.ts","sourceRoot":"","sources":["../src/feature-importance.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,wBAAwB;IACvC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB,GAAI,6CAKjC,wBAAwB,4CAmB1B,CAAC"}
1
+ {"version":3,"file":"feature-importance.d.ts","sourceRoot":"","sources":["../src/feature-importance.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,kDAAkD;AAClD,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,6BAA6B,KAAK,IAAI,CAAC;IACxD,8BAA8B;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,mBAAmB,GAAI,oFAQjC,wBAAwB,4CA0B1B,CAAC"}
package/dist/index.esm.js CHANGED
@@ -1,24 +1,24 @@
1
1
  import se from "react";
2
- import { cn as f } from "@sudobility/components";
2
+ import { cn as x } from "@sudobility/components";
3
3
  var C = { exports: {} }, j = {};
4
4
  var L;
5
5
  function ie() {
6
6
  if (L) return j;
7
7
  L = 1;
8
8
  var t = Symbol.for("react.transitional.element"), a = Symbol.for("react.fragment");
9
- function r(n, i, d) {
10
- var h = null;
11
- if (d !== void 0 && (h = "" + d), i.key !== void 0 && (h = "" + i.key), "key" in i) {
12
- d = {};
13
- for (var b in i)
14
- b !== "key" && (d[b] = i[b]);
15
- } else d = i;
16
- return i = d.ref, {
9
+ function r(n, o, i) {
10
+ var u = null;
11
+ if (i !== void 0 && (u = "" + i), o.key !== void 0 && (u = "" + o.key), "key" in o) {
12
+ i = {};
13
+ for (var c in o)
14
+ c !== "key" && (i[c] = o[c]);
15
+ } else i = o;
16
+ return o = i.ref, {
17
17
  $$typeof: t,
18
18
  type: n,
19
- key: h,
20
- ref: i !== void 0 ? i : null,
21
- props: d
19
+ key: u,
20
+ ref: o !== void 0 ? o : null,
21
+ props: i
22
22
  };
23
23
  }
24
24
  return j.Fragment = a, j.jsx = r, j.jsxs = r, j;
@@ -35,7 +35,7 @@ function le() {
35
35
  switch (e) {
36
36
  case p:
37
37
  return "Fragment";
38
- case O:
38
+ case U:
39
39
  return "Profiler";
40
40
  case k:
41
41
  return "StrictMode";
@@ -57,14 +57,14 @@ function le() {
57
57
  case Q:
58
58
  return (e._context.displayName || "Context") + ".Consumer";
59
59
  case Z:
60
- var o = e.render;
61
- return e = e.displayName, e || (e = o.displayName || o.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
60
+ var s = e.render;
61
+ return e = e.displayName, e || (e = s.displayName || s.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
62
62
  case re:
63
- return o = e.displayName || null, o !== null ? o : t(e.type) || "Memo";
64
- case S:
65
- o = e._payload, e = e._init;
63
+ return s = e.displayName || null, s !== null ? s : t(e.type) || "Memo";
64
+ case O:
65
+ s = e._payload, e = e._init;
66
66
  try {
67
- return t(e(o));
67
+ return t(e(s));
68
68
  } catch {
69
69
  }
70
70
  }
@@ -76,54 +76,54 @@ function le() {
76
76
  function r(e) {
77
77
  try {
78
78
  a(e);
79
- var o = !1;
79
+ var s = !1;
80
80
  } catch {
81
- o = !0;
81
+ s = !0;
82
82
  }
83
- if (o) {
84
- o = console;
85
- var l = o.error, c = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
86
- return l.call(
87
- o,
83
+ if (s) {
84
+ s = console;
85
+ var d = s.error, g = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
86
+ return d.call(
87
+ s,
88
88
  "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
89
- c
89
+ g
90
90
  ), a(e);
91
91
  }
92
92
  }
93
93
  function n(e) {
94
94
  if (e === p) return "<>";
95
- if (typeof e == "object" && e !== null && e.$$typeof === S)
95
+ if (typeof e == "object" && e !== null && e.$$typeof === O)
96
96
  return "<...>";
97
97
  try {
98
- var o = t(e);
99
- return o ? "<" + o + ">" : "<...>";
98
+ var s = t(e);
99
+ return s ? "<" + s + ">" : "<...>";
100
100
  } catch {
101
101
  return "<...>";
102
102
  }
103
103
  }
104
- function i() {
105
- var e = A.A;
104
+ function o() {
105
+ var e = S.A;
106
106
  return e === null ? null : e.getOwner();
107
107
  }
108
- function d() {
108
+ function i() {
109
109
  return Error("react-stack-top-frame");
110
110
  }
111
- function h(e) {
111
+ function u(e) {
112
112
  if ($.call(e, "key")) {
113
- var o = Object.getOwnPropertyDescriptor(e, "key").get;
114
- if (o && o.isReactWarning) return !1;
113
+ var s = Object.getOwnPropertyDescriptor(e, "key").get;
114
+ if (s && s.isReactWarning) return !1;
115
115
  }
116
116
  return e.key !== void 0;
117
117
  }
118
- function b(e, o) {
119
- function l() {
118
+ function c(e, s) {
119
+ function d() {
120
120
  D || (D = !0, console.error(
121
121
  "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
122
- o
122
+ s
123
123
  ));
124
124
  }
125
- l.isReactWarning = !0, Object.defineProperty(e, "key", {
126
- get: l,
125
+ d.isReactWarning = !0, Object.defineProperty(e, "key", {
126
+ get: d,
127
127
  configurable: !0
128
128
  });
129
129
  }
@@ -133,15 +133,15 @@ function le() {
133
133
  "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
134
134
  )), e = this.props.ref, e !== void 0 ? e : null;
135
135
  }
136
- function g(e, o, l, c, N, U) {
137
- var u = l.ref;
136
+ function f(e, s, d, g, N, P) {
137
+ var m = d.ref;
138
138
  return e = {
139
- $$typeof: m,
139
+ $$typeof: b,
140
140
  type: e,
141
- key: o,
142
- props: l,
143
- _owner: c
144
- }, (u !== void 0 ? u : null) !== null ? Object.defineProperty(e, "ref", {
141
+ key: s,
142
+ props: d,
143
+ _owner: g
144
+ }, (m !== void 0 ? m : null) !== null ? Object.defineProperty(e, "ref", {
145
145
  enumerable: !1,
146
146
  get: _
147
147
  }) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
@@ -163,64 +163,64 @@ function le() {
163
163
  configurable: !1,
164
164
  enumerable: !1,
165
165
  writable: !0,
166
- value: U
166
+ value: P
167
167
  }), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
168
168
  }
169
- function v(e, o, l, c, N, U) {
170
- var u = o.children;
171
- if (u !== void 0)
172
- if (c)
173
- if (ne(u)) {
174
- for (c = 0; c < u.length; c++)
175
- y(u[c]);
176
- Object.freeze && Object.freeze(u);
169
+ function y(e, s, d, g, N, P) {
170
+ var m = s.children;
171
+ if (m !== void 0)
172
+ if (g)
173
+ if (ne(m)) {
174
+ for (g = 0; g < m.length; g++)
175
+ h(m[g]);
176
+ Object.freeze && Object.freeze(m);
177
177
  } else
178
178
  console.error(
179
179
  "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
180
180
  );
181
- else y(u);
182
- if ($.call(o, "key")) {
183
- u = t(e);
184
- var R = Object.keys(o).filter(function(oe) {
181
+ else h(m);
182
+ if ($.call(s, "key")) {
183
+ m = t(e);
184
+ var R = Object.keys(s).filter(function(oe) {
185
185
  return oe !== "key";
186
186
  });
187
- c = 0 < R.length ? "{key: someKey, " + R.join(": ..., ") + ": ...}" : "{key: someKey}", M[u + c] || (R = 0 < R.length ? "{" + R.join(": ..., ") + ": ...}" : "{}", console.error(
187
+ g = 0 < R.length ? "{key: someKey, " + R.join(": ..., ") + ": ...}" : "{key: someKey}", M[m + g] || (R = 0 < R.length ? "{" + R.join(": ..., ") + ": ...}" : "{}", console.error(
188
188
  `A props object containing a "key" prop is being spread into JSX:
189
189
  let props = %s;
190
190
  <%s {...props} />
191
191
  React keys must be passed directly to JSX without using spread:
192
192
  let props = %s;
193
193
  <%s key={someKey} {...props} />`,
194
- c,
195
- u,
194
+ g,
195
+ m,
196
196
  R,
197
- u
198
- ), M[u + c] = !0);
197
+ m
198
+ ), M[m + g] = !0);
199
199
  }
200
- if (u = null, l !== void 0 && (r(l), u = "" + l), h(o) && (r(o.key), u = "" + o.key), "key" in o) {
201
- l = {};
202
- for (var I in o)
203
- I !== "key" && (l[I] = o[I]);
204
- } else l = o;
205
- return u && b(
206
- l,
200
+ if (m = null, d !== void 0 && (r(d), m = "" + d), u(s) && (r(s.key), m = "" + s.key), "key" in s) {
201
+ d = {};
202
+ for (var I in s)
203
+ I !== "key" && (d[I] = s[I]);
204
+ } else d = s;
205
+ return m && c(
206
+ d,
207
207
  typeof e == "function" ? e.displayName || e.name || "Unknown" : e
208
- ), g(
208
+ ), f(
209
209
  e,
210
- u,
211
- l,
212
- i(),
210
+ m,
211
+ d,
212
+ o(),
213
213
  N,
214
- U
214
+ P
215
215
  );
216
216
  }
217
- function y(e) {
218
- x(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === S && (e._payload.status === "fulfilled" ? x(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
217
+ function h(e) {
218
+ v(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === O && (e._payload.status === "fulfilled" ? v(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
219
219
  }
220
- function x(e) {
221
- return typeof e == "object" && e !== null && e.$$typeof === m;
220
+ function v(e) {
221
+ return typeof e == "object" && e !== null && e.$$typeof === b;
222
222
  }
223
- var w = se, m = Symbol.for("react.transitional.element"), E = Symbol.for("react.portal"), p = Symbol.for("react.fragment"), k = Symbol.for("react.strict_mode"), O = Symbol.for("react.profiler"), Q = Symbol.for("react.consumer"), H = Symbol.for("react.context"), Z = Symbol.for("react.forward_ref"), K = Symbol.for("react.suspense"), ee = Symbol.for("react.suspense_list"), re = Symbol.for("react.memo"), S = Symbol.for("react.lazy"), te = Symbol.for("react.activity"), ae = Symbol.for("react.client.reference"), A = w.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, $ = Object.prototype.hasOwnProperty, ne = Array.isArray, P = console.createTask ? console.createTask : function() {
223
+ var w = se, b = Symbol.for("react.transitional.element"), E = Symbol.for("react.portal"), p = Symbol.for("react.fragment"), k = Symbol.for("react.strict_mode"), U = Symbol.for("react.profiler"), Q = Symbol.for("react.consumer"), H = Symbol.for("react.context"), Z = Symbol.for("react.forward_ref"), K = Symbol.for("react.suspense"), ee = Symbol.for("react.suspense_list"), re = Symbol.for("react.memo"), O = Symbol.for("react.lazy"), te = Symbol.for("react.activity"), ae = Symbol.for("react.client.reference"), S = w.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, $ = Object.prototype.hasOwnProperty, ne = Array.isArray, A = console.createTask ? console.createTask : function() {
224
224
  return null;
225
225
  };
226
226
  w = {
@@ -230,78 +230,78 @@ React keys must be passed directly to JSX without using spread:
230
230
  };
231
231
  var D, Y = {}, W = w.react_stack_bottom_frame.bind(
232
232
  w,
233
- d
234
- )(), F = P(n(d)), M = {};
235
- T.Fragment = p, T.jsx = function(e, o, l) {
236
- var c = 1e4 > A.recentlyCreatedOwnerStacks++;
237
- return v(
233
+ i
234
+ )(), F = A(n(i)), M = {};
235
+ T.Fragment = p, T.jsx = function(e, s, d) {
236
+ var g = 1e4 > S.recentlyCreatedOwnerStacks++;
237
+ return y(
238
238
  e,
239
- o,
240
- l,
239
+ s,
240
+ d,
241
241
  !1,
242
- c ? Error("react-stack-top-frame") : W,
243
- c ? P(n(e)) : F
242
+ g ? Error("react-stack-top-frame") : W,
243
+ g ? A(n(e)) : F
244
244
  );
245
- }, T.jsxs = function(e, o, l) {
246
- var c = 1e4 > A.recentlyCreatedOwnerStacks++;
247
- return v(
245
+ }, T.jsxs = function(e, s, d) {
246
+ var g = 1e4 > S.recentlyCreatedOwnerStacks++;
247
+ return y(
248
248
  e,
249
- o,
250
- l,
249
+ s,
250
+ d,
251
251
  !0,
252
- c ? Error("react-stack-top-frame") : W,
253
- c ? P(n(e)) : F
252
+ g ? Error("react-stack-top-frame") : W,
253
+ g ? A(n(e)) : F
254
254
  );
255
255
  };
256
256
  })()), T;
257
257
  }
258
258
  var z;
259
- function de() {
259
+ function ce() {
260
260
  return z || (z = 1, process.env.NODE_ENV === "production" ? C.exports = ie() : C.exports = le()), C.exports;
261
261
  }
262
- var s = de();
262
+ var l = ce();
263
263
  function X(t) {
264
264
  var a, r, n = "";
265
265
  if (typeof t == "string" || typeof t == "number") n += t;
266
266
  else if (typeof t == "object") if (Array.isArray(t)) {
267
- var i = t.length;
268
- for (a = 0; a < i; a++) t[a] && (r = X(t[a])) && (n && (n += " "), n += r);
267
+ var o = t.length;
268
+ for (a = 0; a < o; a++) t[a] && (r = X(t[a])) && (n && (n += " "), n += r);
269
269
  } else for (r in t) t[r] && (n && (n += " "), n += r);
270
270
  return n;
271
271
  }
272
- function ce() {
273
- for (var t, a, r = 0, n = "", i = arguments.length; r < i; r++) (t = arguments[r]) && (a = X(t)) && (n && (n += " "), n += a);
272
+ function de() {
273
+ for (var t, a, r = 0, n = "", o = arguments.length; r < o; r++) (t = arguments[r]) && (a = X(t)) && (n && (n += " "), n += a);
274
274
  return n;
275
275
  }
276
- const J = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, G = ce, V = (t, a) => (r) => {
276
+ const J = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, G = de, V = (t, a) => (r) => {
277
277
  var n;
278
278
  if (a?.variants == null) return G(t, r?.class, r?.className);
279
- const { variants: i, defaultVariants: d } = a, h = Object.keys(i).map((g) => {
280
- const v = r?.[g], y = d?.[g];
281
- if (v === null) return null;
282
- const x = J(v) || J(y);
283
- return i[g][x];
284
- }), b = r && Object.entries(r).reduce((g, v) => {
285
- let [y, x] = v;
286
- return x === void 0 || (g[y] = x), g;
287
- }, {}), _ = a == null || (n = a.compoundVariants) === null || n === void 0 ? void 0 : n.reduce((g, v) => {
288
- let { class: y, className: x, ...w } = v;
289
- return Object.entries(w).every((m) => {
290
- let [E, p] = m;
279
+ const { variants: o, defaultVariants: i } = a, u = Object.keys(o).map((f) => {
280
+ const y = r?.[f], h = i?.[f];
281
+ if (y === null) return null;
282
+ const v = J(y) || J(h);
283
+ return o[f][v];
284
+ }), c = r && Object.entries(r).reduce((f, y) => {
285
+ let [h, v] = y;
286
+ return v === void 0 || (f[h] = v), f;
287
+ }, {}), _ = a == null || (n = a.compoundVariants) === null || n === void 0 ? void 0 : n.reduce((f, y) => {
288
+ let { class: h, className: v, ...w } = y;
289
+ return Object.entries(w).every((b) => {
290
+ let [E, p] = b;
291
291
  return Array.isArray(p) ? p.includes({
292
- ...d,
293
- ...b
292
+ ...i,
293
+ ...c
294
294
  }[E]) : {
295
- ...d,
296
- ...b
295
+ ...i,
296
+ ...c
297
297
  }[E] === p;
298
298
  }) ? [
299
- ...g,
300
- y,
301
- x
302
- ] : g;
299
+ ...f,
300
+ h,
301
+ v
302
+ ] : f;
303
303
  }, []);
304
- return G(t, h, _, r?.class, r?.className);
304
+ return G(t, u, _, r?.class, r?.className);
305
305
  }, ue = V("grid gap-8", {
306
306
  variants: {
307
307
  layout: {
@@ -364,83 +364,83 @@ const J = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, G = ce, V =
364
364
  layout: a = "grid",
365
365
  spacing: r = "md",
366
366
  title: n,
367
- subtitle: i,
368
- traditional: d,
369
- web3: h,
370
- cardAnimation: b = "hover",
367
+ subtitle: o,
368
+ traditional: i,
369
+ web3: u,
370
+ cardAnimation: c = "hover",
371
371
  animate: _ = !0,
372
- animationDelay: g = 0,
373
- traditionalIcon: v,
374
- web3Icon: y
372
+ animationDelay: f = 0,
373
+ traditionalIcon: y,
374
+ web3Icon: h
375
375
  }) => {
376
- const x = (m, E) => {
377
- const p = /* @__PURE__ */ s.jsxs(
376
+ const v = (b, E) => {
377
+ const p = /* @__PURE__ */ l.jsxs(
378
378
  "div",
379
379
  {
380
- className: f(
381
- ge({ variant: m.variant, animation: b })
380
+ className: x(
381
+ ge({ variant: b.variant, animation: c })
382
382
  ),
383
383
  children: [
384
- /* @__PURE__ */ s.jsxs("div", { className: f(me({ variant: m.variant })), children: [
385
- /* @__PURE__ */ s.jsx("span", { className: "text-2xl", children: m.icon || (E === 0 ? v : y) || fe[m.variant] }),
386
- /* @__PURE__ */ s.jsx("div", { className: "flex-1", children: /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-2", children: [
387
- /* @__PURE__ */ s.jsx("span", { children: m.title }),
388
- m.badge && /* @__PURE__ */ s.jsx(
384
+ /* @__PURE__ */ l.jsxs("div", { className: x(me({ variant: b.variant })), children: [
385
+ /* @__PURE__ */ l.jsx("span", { className: "text-2xl", children: b.icon || (E === 0 ? y : h) || fe[b.variant] }),
386
+ /* @__PURE__ */ l.jsx("div", { className: "flex-1", children: /* @__PURE__ */ l.jsxs("div", { className: "flex items-center gap-2", children: [
387
+ /* @__PURE__ */ l.jsx("span", { children: b.title }),
388
+ b.badge && /* @__PURE__ */ l.jsx(
389
389
  "span",
390
390
  {
391
- className: f(
391
+ className: x(
392
392
  "text-xs font-medium px-2 py-1 rounded-full",
393
- be[m.badge.color || "gray"]
393
+ be[b.badge.color || "gray"]
394
394
  ),
395
- children: m.badge.text
395
+ children: b.badge.text
396
396
  }
397
397
  )
398
398
  ] }) })
399
399
  ] }),
400
- /* @__PURE__ */ s.jsx("ul", { className: "space-y-3", children: m.items.map((k, O) => /* @__PURE__ */ s.jsxs(
400
+ /* @__PURE__ */ l.jsx("ul", { className: "space-y-3", children: b.items.map((k, U) => /* @__PURE__ */ l.jsxs(
401
401
  "li",
402
402
  {
403
- className: f(
403
+ className: x(
404
404
  "flex items-start gap-3 text-sm leading-relaxed",
405
405
  k.highlight && "font-medium"
406
406
  ),
407
407
  children: [
408
- k.icon && /* @__PURE__ */ s.jsx("span", { className: "flex-shrink-0 mt-0.5 text-base", children: k.icon }),
409
- /* @__PURE__ */ s.jsxs("div", { className: "flex-1", children: [
410
- /* @__PURE__ */ s.jsx(
408
+ k.icon && /* @__PURE__ */ l.jsx("span", { className: "flex-shrink-0 mt-0.5 text-base", children: k.icon }),
409
+ /* @__PURE__ */ l.jsxs("div", { className: "flex-1", children: [
410
+ /* @__PURE__ */ l.jsx(
411
411
  "span",
412
412
  {
413
- className: f(
414
- m.variant === "traditional" || m.variant === "web3" ? "text-gray-700 dark:text-gray-300" : "text-gray-600 dark:text-gray-400"
413
+ className: x(
414
+ b.variant === "traditional" || b.variant === "web3" ? "text-gray-700 dark:text-gray-300" : "text-gray-600 dark:text-gray-400"
415
415
  ),
416
416
  children: k.text
417
417
  }
418
418
  ),
419
- k.subtext && /* @__PURE__ */ s.jsx("p", { className: "text-xs text-gray-500 dark:text-gray-500 mt-1", children: k.subtext })
419
+ k.subtext && /* @__PURE__ */ l.jsx("p", { className: "text-xs text-gray-500 dark:text-gray-500 mt-1", children: k.subtext })
420
420
  ] })
421
421
  ]
422
422
  },
423
- O
423
+ U
424
424
  )) })
425
425
  ]
426
426
  }
427
427
  );
428
- return /* @__PURE__ */ s.jsx("div", { children: p }, m.title);
428
+ return /* @__PURE__ */ l.jsx("div", { children: p }, b.title);
429
429
  };
430
- return /* @__PURE__ */ s.jsxs("div", { className: f("space-y-8", t), children: [
431
- (n || i) && /* @__PURE__ */ s.jsxs("div", { className: "text-center space-y-4", children: [
432
- n && /* @__PURE__ */ s.jsx("h2", { className: "text-2xl sm:text-3xl font-bold text-gray-900 dark:text-white", children: n }),
433
- i && /* @__PURE__ */ s.jsx("p", { className: "text-lg text-gray-600 dark:text-gray-400 max-w-2xl mx-auto", children: i })
430
+ return /* @__PURE__ */ l.jsxs("div", { className: x("space-y-8", t), children: [
431
+ (n || o) && /* @__PURE__ */ l.jsxs("div", { className: "text-center space-y-4", children: [
432
+ n && /* @__PURE__ */ l.jsx("h2", { className: "text-2xl sm:text-3xl font-bold text-gray-900 dark:text-white", children: n }),
433
+ o && /* @__PURE__ */ l.jsx("p", { className: "text-lg text-gray-600 dark:text-gray-400 max-w-2xl mx-auto", children: o })
434
434
  ] }),
435
- /* @__PURE__ */ s.jsxs("div", { className: f(ue({ layout: a, spacing: r })), children: [
436
- x(d, 0),
437
- x(h, 1)
435
+ /* @__PURE__ */ l.jsxs("div", { className: x(ue({ layout: a, spacing: r })), children: [
436
+ v(i, 0),
437
+ v(u, 1)
438
438
  ] })
439
439
  ] });
440
440
  }, B = (t, a, r, n) => ({
441
441
  title: t,
442
442
  variant: r,
443
- items: a.map((i) => typeof i == "string" ? { text: i } : i),
443
+ items: a.map((o) => typeof o == "string" ? { text: o } : o),
444
444
  ...n
445
445
  }), he = (t) => {
446
446
  const a = [
@@ -476,94 +476,126 @@ const J = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, G = ce, V =
476
476
  className: t,
477
477
  children: a,
478
478
  disabled: r = !1,
479
- onClick: n
480
- }) => /* @__PURE__ */ s.jsx(
481
- "div",
482
- {
483
- className: f(
484
- "p-4 rounded-lg border transition-colors",
485
- "bg-white dark:bg-gray-900",
486
- "border-gray-200 dark:border-gray-700",
487
- "text-gray-900 dark:text-white",
488
- r && "opacity-50 cursor-not-allowed",
489
- "hover:bg-gray-50 dark:hover:bg-gray-800",
490
- t
491
- ),
492
- onClick: r ? void 0 : n,
493
- role: "region",
494
- "aria-label": "UcontainerUstats",
495
- children: a || "UcontainerUstats Component"
496
- }
497
- ), ke = ({
479
+ onClick: n,
480
+ onTrack: o,
481
+ trackingLabel: i,
482
+ componentName: u = "UcontainerUstats"
483
+ }) => {
484
+ const c = () => {
485
+ r || (o?.({ action: "click", trackingLabel: i, componentName: u }), n?.());
486
+ };
487
+ return /* @__PURE__ */ l.jsx(
488
+ "div",
489
+ {
490
+ className: x(
491
+ "p-4 rounded-lg border transition-colors",
492
+ "bg-white dark:bg-gray-900",
493
+ "border-gray-200 dark:border-gray-700",
494
+ "text-gray-900 dark:text-white",
495
+ r && "opacity-50 cursor-not-allowed",
496
+ "hover:bg-gray-50 dark:hover:bg-gray-800",
497
+ t
498
+ ),
499
+ onClick: c,
500
+ role: "region",
501
+ "aria-label": "UcontainerUstats",
502
+ children: a || "UcontainerUstats Component"
503
+ }
504
+ );
505
+ }, ke = ({
498
506
  className: t,
499
507
  children: a,
500
508
  disabled: r = !1,
501
- onClick: n
502
- }) => /* @__PURE__ */ s.jsx(
503
- "div",
504
- {
505
- className: f(
506
- "p-4 rounded-lg border transition-colors",
507
- "bg-white dark:bg-gray-900",
508
- "border-gray-200 dark:border-gray-700",
509
- "text-gray-900 dark:text-white",
510
- r && "opacity-50 cursor-not-allowed",
511
- "hover:bg-gray-50 dark:hover:bg-gray-800",
512
- t
513
- ),
514
- onClick: r ? void 0 : n,
515
- role: "region",
516
- "aria-label": "UfeatureUcomparison",
517
- children: a || "UfeatureUcomparison Component"
518
- }
519
- ), we = ({
509
+ onClick: n,
510
+ onTrack: o,
511
+ trackingLabel: i,
512
+ componentName: u = "UfeatureUcomparison"
513
+ }) => {
514
+ const c = () => {
515
+ r || (o?.({ action: "click", trackingLabel: i, componentName: u }), n?.());
516
+ };
517
+ return /* @__PURE__ */ l.jsx(
518
+ "div",
519
+ {
520
+ className: x(
521
+ "p-4 rounded-lg border transition-colors",
522
+ "bg-white dark:bg-gray-900",
523
+ "border-gray-200 dark:border-gray-700",
524
+ "text-gray-900 dark:text-white",
525
+ r && "opacity-50 cursor-not-allowed",
526
+ "hover:bg-gray-50 dark:hover:bg-gray-800",
527
+ t
528
+ ),
529
+ onClick: c,
530
+ role: "region",
531
+ "aria-label": "UfeatureUcomparison",
532
+ children: a || "UfeatureUcomparison Component"
533
+ }
534
+ );
535
+ }, we = ({
520
536
  className: t,
521
537
  children: a,
522
538
  disabled: r = !1,
523
- onClick: n
524
- }) => /* @__PURE__ */ s.jsx(
525
- "div",
526
- {
527
- className: f(
528
- "p-4 rounded-lg border transition-colors",
529
- "bg-white dark:bg-gray-900",
530
- "border-gray-200 dark:border-gray-700",
531
- "text-gray-900 dark:text-white",
532
- r && "opacity-50 cursor-not-allowed",
533
- "hover:bg-gray-50 dark:hover:bg-gray-800",
534
- t
535
- ),
536
- onClick: r ? void 0 : n,
537
- role: "region",
538
- "aria-label": "UfeatureUimportance",
539
- children: a || "UfeatureUimportance Component"
540
- }
541
- ), _e = ({
539
+ onClick: n,
540
+ onTrack: o,
541
+ trackingLabel: i,
542
+ componentName: u = "UfeatureUimportance"
543
+ }) => {
544
+ const c = () => {
545
+ r || (o?.({ action: "click", trackingLabel: i, componentName: u }), n?.());
546
+ };
547
+ return /* @__PURE__ */ l.jsx(
548
+ "div",
549
+ {
550
+ className: x(
551
+ "p-4 rounded-lg border transition-colors",
552
+ "bg-white dark:bg-gray-900",
553
+ "border-gray-200 dark:border-gray-700",
554
+ "text-gray-900 dark:text-white",
555
+ r && "opacity-50 cursor-not-allowed",
556
+ "hover:bg-gray-50 dark:hover:bg-gray-800",
557
+ t
558
+ ),
559
+ onClick: c,
560
+ role: "region",
561
+ "aria-label": "UfeatureUimportance",
562
+ children: a || "UfeatureUimportance Component"
563
+ }
564
+ );
565
+ }, _e = ({
542
566
  className: t,
543
567
  children: a,
544
568
  disabled: r = !1,
545
- onClick: n
546
- }) => /* @__PURE__ */ s.jsx(
547
- "div",
548
- {
549
- className: f(
550
- "p-4 rounded-lg border transition-colors",
551
- "bg-white dark:bg-gray-900",
552
- "border-gray-200 dark:border-gray-700",
553
- "text-gray-900 dark:text-white",
554
- r && "opacity-50 cursor-not-allowed",
555
- "hover:bg-gray-50 dark:hover:bg-gray-800",
556
- t
557
- ),
558
- onClick: r ? void 0 : n,
559
- role: "region",
560
- "aria-label": "UmodelUprediction",
561
- children: a || "UmodelUprediction Component"
562
- }
563
- ), Ee = ({ className: t, children: a, disabled: r }) => /* @__PURE__ */ s.jsx(
569
+ onClick: n,
570
+ onTrack: o,
571
+ trackingLabel: i,
572
+ componentName: u = "UmodelUprediction"
573
+ }) => {
574
+ const c = () => {
575
+ r || (o?.({ action: "click", trackingLabel: i, componentName: u }), n?.());
576
+ };
577
+ return /* @__PURE__ */ l.jsx(
578
+ "div",
579
+ {
580
+ className: x(
581
+ "p-4 rounded-lg border transition-colors",
582
+ "bg-white dark:bg-gray-900",
583
+ "border-gray-200 dark:border-gray-700",
584
+ "text-gray-900 dark:text-white",
585
+ r && "opacity-50 cursor-not-allowed",
586
+ "hover:bg-gray-50 dark:hover:bg-gray-800",
587
+ t
588
+ ),
589
+ onClick: c,
590
+ role: "region",
591
+ "aria-label": "UmodelUprediction",
592
+ children: a || "UmodelUprediction Component"
593
+ }
594
+ );
595
+ }, Ee = ({ className: t, children: a, disabled: r }) => /* @__PURE__ */ l.jsx(
564
596
  "div",
565
597
  {
566
- className: f(
598
+ className: x(
567
599
  "p-4 rounded-lg border transition-colors",
568
600
  "bg-white dark:bg-gray-900",
569
601
  "border-gray-200 dark:border-gray-700",
@@ -579,32 +611,40 @@ const J = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, G = ce, V =
579
611
  className: t,
580
612
  children: a,
581
613
  disabled: r = !1,
582
- onClick: n
583
- }) => /* @__PURE__ */ s.jsx(
584
- "div",
585
- {
586
- className: f(
587
- "p-4 rounded-lg border transition-colors",
588
- "bg-white dark:bg-gray-900",
589
- "border-gray-200 dark:border-gray-700",
590
- "text-gray-900 dark:text-white",
591
- r && "opacity-50 cursor-not-allowed",
592
- "hover:bg-gray-50 dark:hover:bg-gray-800",
593
- t
594
- ),
595
- onClick: r ? void 0 : n,
596
- role: "region",
597
- "aria-label": "UreportUbuilder",
598
- children: a || "UreportUbuilder Component"
599
- }
600
- ), je = ({
614
+ onClick: n,
615
+ onTrack: o,
616
+ trackingLabel: i,
617
+ componentName: u = "UreportUbuilder"
618
+ }) => {
619
+ const c = () => {
620
+ r || (o?.({ action: "click", trackingLabel: i, componentName: u }), n?.());
621
+ };
622
+ return /* @__PURE__ */ l.jsx(
623
+ "div",
624
+ {
625
+ className: x(
626
+ "p-4 rounded-lg border transition-colors",
627
+ "bg-white dark:bg-gray-900",
628
+ "border-gray-200 dark:border-gray-700",
629
+ "text-gray-900 dark:text-white",
630
+ r && "opacity-50 cursor-not-allowed",
631
+ "hover:bg-gray-50 dark:hover:bg-gray-800",
632
+ t
633
+ ),
634
+ onClick: c,
635
+ role: "region",
636
+ "aria-label": "UreportUbuilder",
637
+ children: a || "UreportUbuilder Component"
638
+ }
639
+ );
640
+ }, je = ({
601
641
  className: t,
602
642
  children: a,
603
643
  disabled: r
604
- }) => /* @__PURE__ */ s.jsx(
644
+ }) => /* @__PURE__ */ l.jsx(
605
645
  "div",
606
646
  {
607
- className: f(
647
+ className: x(
608
648
  "p-4 rounded-lg border transition-colors",
609
649
  "bg-white dark:bg-gray-900",
610
650
  "border-gray-200 dark:border-gray-700",
@@ -621,48 +661,48 @@ const J = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, G = ce, V =
621
661
  previousValue: a,
622
662
  format: r = "percentage",
623
663
  currency: n = "$",
624
- showArrow: i = !0,
625
- size: d = "md",
626
- className: h
664
+ showArrow: o = !0,
665
+ size: i = "md",
666
+ className: u
627
667
  }) => {
628
- const b = t - a, _ = a !== 0 ? b / a * 100 : 0, g = b >= 0, v = () => {
668
+ const c = t - a, _ = a !== 0 ? c / a * 100 : 0, f = c >= 0, y = () => {
629
669
  switch (r) {
630
670
  case "percentage":
631
671
  return `${Math.abs(_).toFixed(1)}%`;
632
672
  case "currency":
633
- return `${n}${Math.abs(b).toFixed(2)}`;
673
+ return `${n}${Math.abs(c).toFixed(2)}`;
634
674
  case "number":
635
- return Math.abs(b).toFixed(0);
675
+ return Math.abs(c).toFixed(0);
636
676
  default:
637
677
  return "";
638
678
  }
639
- }, y = {
679
+ }, h = {
640
680
  sm: "text-xs",
641
681
  md: "text-sm",
642
682
  lg: "text-base"
643
- }, x = {
683
+ }, v = {
644
684
  sm: "w-3 h-3",
645
685
  md: "w-4 h-4",
646
686
  lg: "w-5 h-5"
647
687
  };
648
- return /* @__PURE__ */ s.jsxs(
688
+ return /* @__PURE__ */ l.jsxs(
649
689
  "div",
650
690
  {
651
- className: f(
691
+ className: x(
652
692
  "inline-flex items-center gap-1 font-semibold",
653
- g ? "text-green-600 dark:text-green-400" : "text-red-600 dark:text-red-400",
654
- y[d],
655
- h
693
+ f ? "text-green-600 dark:text-green-400" : "text-red-600 dark:text-red-400",
694
+ h[i],
695
+ u
656
696
  ),
657
697
  children: [
658
- i && /* @__PURE__ */ s.jsx(
698
+ o && /* @__PURE__ */ l.jsx(
659
699
  "svg",
660
700
  {
661
- className: f(x[d]),
701
+ className: x(v[i]),
662
702
  fill: "none",
663
703
  stroke: "currentColor",
664
704
  viewBox: "0 0 24 24",
665
- children: g ? /* @__PURE__ */ s.jsx(
705
+ children: f ? /* @__PURE__ */ l.jsx(
666
706
  "path",
667
707
  {
668
708
  strokeLinecap: "round",
@@ -670,7 +710,7 @@ const J = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, G = ce, V =
670
710
  strokeWidth: 2,
671
711
  d: "M5 10l7-7m0 0l7 7m-7-7v18"
672
712
  }
673
- ) : /* @__PURE__ */ s.jsx(
713
+ ) : /* @__PURE__ */ l.jsx(
674
714
  "path",
675
715
  {
676
716
  strokeLinecap: "round",
@@ -681,9 +721,9 @@ const J = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, G = ce, V =
681
721
  )
682
722
  }
683
723
  ),
684
- /* @__PURE__ */ s.jsxs("span", { children: [
685
- g ? "+" : "-",
686
- v()
724
+ /* @__PURE__ */ l.jsxs("span", { children: [
725
+ f ? "+" : "-",
726
+ y()
687
727
  ] })
688
728
  ]
689
729
  }
package/dist/index.umd.js CHANGED
@@ -1,6 +1,6 @@
1
- (function(g,T){typeof exports=="object"&&typeof module<"u"?T(exports,require("react"),require("@sudobility/components")):typeof define=="function"&&define.amd?define(["exports","react","@sudobility/components"],T):(g=typeof globalThis<"u"?globalThis:g||self,T(g.Components={},g.React,g.components))})(this,(function(g,T,m){"use strict";var U={exports:{}},N={};var W;function Z(){if(W)return N;W=1;var t=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function r(n,s,d){var p=null;if(d!==void 0&&(p=""+d),s.key!==void 0&&(p=""+s.key),"key"in s){d={};for(var x in s)x!=="key"&&(d[x]=s[x])}else d=s;return s=d.ref,{$$typeof:t,type:n,key:p,ref:s!==void 0?s:null,props:d}}return N.Fragment=a,N.jsx=r,N.jsxs=r,N}var C={};var F;function K(){return F||(F=1,process.env.NODE_ENV!=="production"&&(function(){function t(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Ee?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case k:return"Fragment";case P:return"Profiler";case w:return"StrictMode";case pe:return"Suspense";case ke:return"SuspenseList";case _e:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case R:return"Portal";case ye:return e.displayName||"Context";case ve:return(e._context.displayName||"Context")+".Consumer";case he:var o=e.render;return e=e.displayName,e||(e=o.displayName||o.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case we:return o=e.displayName||null,o!==null?o:t(e.type)||"Memo";case D:o=e._payload,e=e._init;try{return t(e(o))}catch{}}return null}function a(e){return""+e}function r(e){try{a(e);var o=!1}catch{o=!0}if(o){o=console;var l=o.error,c=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return l.call(o,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",c),a(e)}}function n(e){if(e===k)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===D)return"<...>";try{var o=t(e);return o?"<"+o+">":"<...>"}catch{return"<...>"}}function s(){var e=I.A;return e===null?null:e.getOwner()}function d(){return Error("react-stack-top-frame")}function p(e){if(J.call(e,"key")){var o=Object.getOwnPropertyDescriptor(e,"key").get;if(o&&o.isReactWarning)return!1}return e.key!==void 0}function x(e,o){function l(){G||(G=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",o))}l.isReactWarning=!0,Object.defineProperty(e,"key",{get:l,configurable:!0})}function E(){var e=t(this.type);return B[e]||(B[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),e=this.props.ref,e!==void 0?e:null}function f(e,o,l,c,S,Y){var u=l.ref;return e={$$typeof:b,type:e,key:o,props:l,_owner:c},(u!==void 0?u:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:E}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:S}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Y}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function y(e,o,l,c,S,Y){var u=o.children;if(u!==void 0)if(c)if(Re(u)){for(c=0;c<u.length;c++)h(u[c]);Object.freeze&&Object.freeze(u)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else h(u);if(J.call(o,"key")){u=t(e);var j=Object.keys(o).filter(function(je){return je!=="key"});c=0<j.length?"{key: someKey, "+j.join(": ..., ")+": ...}":"{key: someKey}",H[u+c]||(j=0<j.length?"{"+j.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
1
+ (function(m,T){typeof exports=="object"&&typeof module<"u"?T(exports,require("react"),require("@sudobility/components")):typeof define=="function"&&define.amd?define(["exports","react","@sudobility/components"],T):(m=typeof globalThis<"u"?globalThis:m||self,T(m.Components={},m.React,m.components))})(this,(function(m,T,v){"use strict";var U={exports:{}},C={};var W;function Z(){if(W)return C;W=1;var t=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function r(n,o,l){var u=null;if(l!==void 0&&(u=""+l),o.key!==void 0&&(u=""+o.key),"key"in o){l={};for(var c in o)c!=="key"&&(l[c]=o[c])}else l=o;return o=l.ref,{$$typeof:t,type:n,key:u,ref:o!==void 0?o:null,props:l}}return C.Fragment=a,C.jsx=r,C.jsxs=r,C}var N={};var F;function K(){return F||(F=1,process.env.NODE_ENV!=="production"&&(function(){function t(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Ee?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case p:return"Fragment";case P:return"Profiler";case w:return"StrictMode";case ke:return"Suspense";case pe:return"SuspenseList";case _e:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case R:return"Portal";case ye:return e.displayName||"Context";case ve:return(e._context.displayName||"Context")+".Consumer";case he:var i=e.render;return e=e.displayName,e||(e=i.displayName||i.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case we:return i=e.displayName||null,i!==null?i:t(e.type)||"Memo";case D:i=e._payload,e=e._init;try{return t(e(i))}catch{}}return null}function a(e){return""+e}function r(e){try{a(e);var i=!1}catch{i=!0}if(i){i=console;var d=i.error,g=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return d.call(i,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",g),a(e)}}function n(e){if(e===p)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===D)return"<...>";try{var i=t(e);return i?"<"+i+">":"<...>"}catch{return"<...>"}}function o(){var e=I.A;return e===null?null:e.getOwner()}function l(){return Error("react-stack-top-frame")}function u(e){if(J.call(e,"key")){var i=Object.getOwnPropertyDescriptor(e,"key").get;if(i&&i.isReactWarning)return!1}return e.key!==void 0}function c(e,i){function d(){G||(G=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",i))}d.isReactWarning=!0,Object.defineProperty(e,"key",{get:d,configurable:!0})}function E(){var e=t(this.type);return B[e]||(B[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),e=this.props.ref,e!==void 0?e:null}function b(e,i,d,g,S,Y){var f=d.ref;return e={$$typeof:x,type:e,key:i,props:d,_owner:g},(f!==void 0?f:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:E}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:S}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Y}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function h(e,i,d,g,S,Y){var f=i.children;if(f!==void 0)if(g)if(Re(f)){for(g=0;g<f.length;g++)k(f[g]);Object.freeze&&Object.freeze(f)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else k(f);if(J.call(i,"key")){f=t(e);var j=Object.keys(i).filter(function(je){return je!=="key"});g=0<j.length?"{key: someKey, "+j.join(": ..., ")+": ...}":"{key: someKey}",H[f+g]||(j=0<j.length?"{"+j.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
2
2
  let props = %s;
3
3
  <%s {...props} />
4
4
  React keys must be passed directly to JSX without using spread:
5
5
  let props = %s;
6
- <%s key={someKey} {...props} />`,c,u,j,u),H[u+c]=!0)}if(u=null,l!==void 0&&(r(l),u=""+l),p(o)&&(r(o.key),u=""+o.key),"key"in o){l={};for(var $ in o)$!=="key"&&(l[$]=o[$])}else l=o;return u&&x(l,typeof e=="function"?e.displayName||e.name||"Unknown":e),f(e,u,l,s(),S,Y)}function h(e){v(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===D&&(e._payload.status==="fulfilled"?v(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function v(e){return typeof e=="object"&&e!==null&&e.$$typeof===b}var _=T,b=Symbol.for("react.transitional.element"),R=Symbol.for("react.portal"),k=Symbol.for("react.fragment"),w=Symbol.for("react.strict_mode"),P=Symbol.for("react.profiler"),ve=Symbol.for("react.consumer"),ye=Symbol.for("react.context"),he=Symbol.for("react.forward_ref"),pe=Symbol.for("react.suspense"),ke=Symbol.for("react.suspense_list"),we=Symbol.for("react.memo"),D=Symbol.for("react.lazy"),_e=Symbol.for("react.activity"),Ee=Symbol.for("react.client.reference"),I=_.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,J=Object.prototype.hasOwnProperty,Re=Array.isArray,V=console.createTask?console.createTask:function(){return null};_={react_stack_bottom_frame:function(e){return e()}};var G,B={},Q=_.react_stack_bottom_frame.bind(_,d)(),X=V(n(d)),H={};C.Fragment=k,C.jsx=function(e,o,l){var c=1e4>I.recentlyCreatedOwnerStacks++;return y(e,o,l,!1,c?Error("react-stack-top-frame"):Q,c?V(n(e)):X)},C.jsxs=function(e,o,l){var c=1e4>I.recentlyCreatedOwnerStacks++;return y(e,o,l,!0,c?Error("react-stack-top-frame"):Q,c?V(n(e)):X)}})()),C}var M;function ee(){return M||(M=1,process.env.NODE_ENV==="production"?U.exports=Z():U.exports=K()),U.exports}var i=ee();function L(t){var a,r,n="";if(typeof t=="string"||typeof t=="number")n+=t;else if(typeof t=="object")if(Array.isArray(t)){var s=t.length;for(a=0;a<s;a++)t[a]&&(r=L(t[a]))&&(n&&(n+=" "),n+=r)}else for(r in t)t[r]&&(n&&(n+=" "),n+=r);return n}function re(){for(var t,a,r=0,n="",s=arguments.length;r<s;r++)(t=arguments[r])&&(a=L(t))&&(n&&(n+=" "),n+=a);return n}const q=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,z=re,O=(t,a)=>r=>{var n;if(a?.variants==null)return z(t,r?.class,r?.className);const{variants:s,defaultVariants:d}=a,p=Object.keys(s).map(f=>{const y=r?.[f],h=d?.[f];if(y===null)return null;const v=q(y)||q(h);return s[f][v]}),x=r&&Object.entries(r).reduce((f,y)=>{let[h,v]=y;return v===void 0||(f[h]=v),f},{}),E=a==null||(n=a.compoundVariants)===null||n===void 0?void 0:n.reduce((f,y)=>{let{class:h,className:v,..._}=y;return Object.entries(_).every(b=>{let[R,k]=b;return Array.isArray(k)?k.includes({...d,...x}[R]):{...d,...x}[R]===k})?[...f,h,v]:f},[]);return z(t,p,E,r?.class,r?.className)},te=O("grid gap-8",{variants:{layout:{grid:"grid-cols-1 md:grid-cols-2",stacked:"grid-cols-1 space-y-8",cards:"grid-cols-1 md:grid-cols-2 gap-6"},spacing:{sm:"gap-4",md:"gap-8",lg:"gap-12"}},defaultVariants:{layout:"grid",spacing:"md"}}),ae=O("rounded-xl p-6 transition-all duration-300",{variants:{variant:{traditional:"bg-red-50 dark:bg-red-900/20 border-2 border-red-100 dark:border-red-800/30 hover:border-red-200 dark:hover:border-red-700/50",web3:"bg-green-50 dark:bg-green-900/20 border-2 border-green-100 dark:border-green-800/30 hover:border-green-200 dark:hover:border-green-700/50",neutral:"bg-gray-50 dark:bg-gray-800/50 border-2 border-gray-100 dark:border-gray-700/30 hover:border-gray-200 dark:hover:border-gray-600/50",elevated:"bg-white dark:bg-gray-800 shadow-lg hover:shadow-xl border border-gray-200 dark:border-gray-700"},animation:{none:"",hover:"hover:transform hover:scale-[1.02]",float:"hover:-translate-y-1"}},defaultVariants:{variant:"traditional",animation:"hover"}}),ne=O("text-lg font-bold mb-4 flex items-center gap-3",{variants:{variant:{traditional:"text-red-600 dark:text-red-400",web3:"text-green-600 dark:text-green-400",neutral:"text-gray-900 dark:text-white",elevated:"text-gray-900 dark:text-white"}},defaultVariants:{variant:"traditional"}}),oe={traditional:"❌",web3:"✅",neutral:"ℹ️",elevated:"⭐"},ie={red:"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-300",green:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300",blue:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-300",gray:"bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-300"},se=({className:t,layout:a="grid",spacing:r="md",title:n,subtitle:s,traditional:d,web3:p,cardAnimation:x="hover",animate:E=!0,animationDelay:f=0,traditionalIcon:y,web3Icon:h})=>{const v=(b,R)=>{const k=i.jsxs("div",{className:m.cn(ae({variant:b.variant,animation:x})),children:[i.jsxs("div",{className:m.cn(ne({variant:b.variant})),children:[i.jsx("span",{className:"text-2xl",children:b.icon||(R===0?y:h)||oe[b.variant]}),i.jsx("div",{className:"flex-1",children:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{children:b.title}),b.badge&&i.jsx("span",{className:m.cn("text-xs font-medium px-2 py-1 rounded-full",ie[b.badge.color||"gray"]),children:b.badge.text})]})})]}),i.jsx("ul",{className:"space-y-3",children:b.items.map((w,P)=>i.jsxs("li",{className:m.cn("flex items-start gap-3 text-sm leading-relaxed",w.highlight&&"font-medium"),children:[w.icon&&i.jsx("span",{className:"flex-shrink-0 mt-0.5 text-base",children:w.icon}),i.jsxs("div",{className:"flex-1",children:[i.jsx("span",{className:m.cn(b.variant==="traditional"||b.variant==="web3"?"text-gray-700 dark:text-gray-300":"text-gray-600 dark:text-gray-400"),children:w.text}),w.subtext&&i.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-500 mt-1",children:w.subtext})]})]},P))})]});return i.jsx("div",{children:k},b.title)};return i.jsxs("div",{className:m.cn("space-y-8",t),children:[(n||s)&&i.jsxs("div",{className:"text-center space-y-4",children:[n&&i.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-gray-900 dark:text-white",children:n}),s&&i.jsx("p",{className:"text-lg text-gray-600 dark:text-gray-400 max-w-2xl mx-auto",children:s})]}),i.jsxs("div",{className:m.cn(te({layout:a,spacing:r})),children:[v(d,0),v(p,1)]})]})},A=(t,a,r,n)=>({title:t,variant:r,items:a.map(s=>typeof s=="string"?{text:s}:s),...n}),le=t=>{const a=[{text:"Create account with email/password",icon:"🔑"},{text:"Remember multiple passwords",icon:"🧠"},{text:"Verify email address",icon:"📧"},{text:"Risk of password theft",icon:"⚠️"},{text:"Data stored on company servers",icon:"🏢"},{text:"Account can be locked/suspended",icon:"🔒"}],r=[{text:"Connect your wallet",icon:"🔗"},{text:"No passwords needed",icon:"🚫"},{text:"Instant authentication",icon:"⚡"},{text:"Cryptographically secure",icon:"🔐"},{text:"You own your data",icon:"👑"},{text:"Censorship resistant",icon:"🛡️"}];return{traditional:A(t?.traditionalTitle||"Traditional Email",t?.traditionalItems||a,"traditional",{badge:{text:t?.traditionalBadge||"Old Way",color:"red"}}),web3:A(t?.web3Title||"Web3 Email",t?.web3Items||r,"web3",{badge:{text:t?.web3Badge||"New Way",color:"green"}})}},de=({className:t,children:a,disabled:r=!1,onClick:n})=>i.jsx("div",{className:m.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",t),onClick:r?void 0:n,role:"region","aria-label":"UcontainerUstats",children:a||"UcontainerUstats Component"}),ce=({className:t,children:a,disabled:r=!1,onClick:n})=>i.jsx("div",{className:m.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",t),onClick:r?void 0:n,role:"region","aria-label":"UfeatureUcomparison",children:a||"UfeatureUcomparison Component"}),ue=({className:t,children:a,disabled:r=!1,onClick:n})=>i.jsx("div",{className:m.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",t),onClick:r?void 0:n,role:"region","aria-label":"UfeatureUimportance",children:a||"UfeatureUimportance Component"}),ge=({className:t,children:a,disabled:r=!1,onClick:n})=>i.jsx("div",{className:m.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",t),onClick:r?void 0:n,role:"region","aria-label":"UmodelUprediction",children:a||"UmodelUprediction Component"}),fe=({className:t,children:a,disabled:r})=>i.jsx("div",{className:m.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",r&&"opacity-50 cursor-not-allowed",t),role:"region","aria-label":"QaReport",children:a||"QaReport Component"}),be=({className:t,children:a,disabled:r=!1,onClick:n})=>i.jsx("div",{className:m.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",t),onClick:r?void 0:n,role:"region","aria-label":"UreportUbuilder",children:a||"UreportUbuilder Component"}),me=({className:t,children:a,disabled:r})=>i.jsx("div",{className:m.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",r&&"opacity-50 cursor-not-allowed",t),role:"region","aria-label":"SupportDashboard",children:a||"SupportDashboard Component"}),xe=({value:t,previousValue:a,format:r="percentage",currency:n="$",showArrow:s=!0,size:d="md",className:p})=>{const x=t-a,E=a!==0?x/a*100:0,f=x>=0,y=()=>{switch(r){case"percentage":return`${Math.abs(E).toFixed(1)}%`;case"currency":return`${n}${Math.abs(x).toFixed(2)}`;case"number":return Math.abs(x).toFixed(0);default:return""}},h={sm:"text-xs",md:"text-sm",lg:"text-base"},v={sm:"w-3 h-3",md:"w-4 h-4",lg:"w-5 h-5"};return i.jsxs("div",{className:m.cn("inline-flex items-center gap-1 font-semibold",f?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400",h[d],p),children:[s&&i.jsx("svg",{className:m.cn(v[d]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:f?i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 10l7-7m0 0l7 7m-7-7v18"}):i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 14l-7 7m0 0l-7-7m7 7V3"})}),i.jsxs("span",{children:[f?"+":"-",y()]})]})};g.ComparisonSection=se,g.QaReport=fe,g.SupportDashboard=me,g.TrendIndicator=xe,g.UcontainerUstats=de,g.UfeatureUcomparison=ce,g.UfeatureUimportance=ue,g.UmodelUprediction=ge,g.UreportUbuilder=be,g.createComparisonData=A,g.createEmailComparisonData=le,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})}));
6
+ <%s key={someKey} {...props} />`,g,f,j,f),H[f+g]=!0)}if(f=null,d!==void 0&&(r(d),f=""+d),u(i)&&(r(i.key),f=""+i.key),"key"in i){d={};for(var $ in i)$!=="key"&&(d[$]=i[$])}else d=i;return f&&c(d,typeof e=="function"?e.displayName||e.name||"Unknown":e),b(e,f,d,o(),S,Y)}function k(e){y(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===D&&(e._payload.status==="fulfilled"?y(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function y(e){return typeof e=="object"&&e!==null&&e.$$typeof===x}var _=T,x=Symbol.for("react.transitional.element"),R=Symbol.for("react.portal"),p=Symbol.for("react.fragment"),w=Symbol.for("react.strict_mode"),P=Symbol.for("react.profiler"),ve=Symbol.for("react.consumer"),ye=Symbol.for("react.context"),he=Symbol.for("react.forward_ref"),ke=Symbol.for("react.suspense"),pe=Symbol.for("react.suspense_list"),we=Symbol.for("react.memo"),D=Symbol.for("react.lazy"),_e=Symbol.for("react.activity"),Ee=Symbol.for("react.client.reference"),I=_.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,J=Object.prototype.hasOwnProperty,Re=Array.isArray,V=console.createTask?console.createTask:function(){return null};_={react_stack_bottom_frame:function(e){return e()}};var G,B={},Q=_.react_stack_bottom_frame.bind(_,l)(),X=V(n(l)),H={};N.Fragment=p,N.jsx=function(e,i,d){var g=1e4>I.recentlyCreatedOwnerStacks++;return h(e,i,d,!1,g?Error("react-stack-top-frame"):Q,g?V(n(e)):X)},N.jsxs=function(e,i,d){var g=1e4>I.recentlyCreatedOwnerStacks++;return h(e,i,d,!0,g?Error("react-stack-top-frame"):Q,g?V(n(e)):X)}})()),N}var M;function ee(){return M||(M=1,process.env.NODE_ENV==="production"?U.exports=Z():U.exports=K()),U.exports}var s=ee();function L(t){var a,r,n="";if(typeof t=="string"||typeof t=="number")n+=t;else if(typeof t=="object")if(Array.isArray(t)){var o=t.length;for(a=0;a<o;a++)t[a]&&(r=L(t[a]))&&(n&&(n+=" "),n+=r)}else for(r in t)t[r]&&(n&&(n+=" "),n+=r);return n}function re(){for(var t,a,r=0,n="",o=arguments.length;r<o;r++)(t=arguments[r])&&(a=L(t))&&(n&&(n+=" "),n+=a);return n}const q=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,z=re,O=(t,a)=>r=>{var n;if(a?.variants==null)return z(t,r?.class,r?.className);const{variants:o,defaultVariants:l}=a,u=Object.keys(o).map(b=>{const h=r?.[b],k=l?.[b];if(h===null)return null;const y=q(h)||q(k);return o[b][y]}),c=r&&Object.entries(r).reduce((b,h)=>{let[k,y]=h;return y===void 0||(b[k]=y),b},{}),E=a==null||(n=a.compoundVariants)===null||n===void 0?void 0:n.reduce((b,h)=>{let{class:k,className:y,..._}=h;return Object.entries(_).every(x=>{let[R,p]=x;return Array.isArray(p)?p.includes({...l,...c}[R]):{...l,...c}[R]===p})?[...b,k,y]:b},[]);return z(t,u,E,r?.class,r?.className)},te=O("grid gap-8",{variants:{layout:{grid:"grid-cols-1 md:grid-cols-2",stacked:"grid-cols-1 space-y-8",cards:"grid-cols-1 md:grid-cols-2 gap-6"},spacing:{sm:"gap-4",md:"gap-8",lg:"gap-12"}},defaultVariants:{layout:"grid",spacing:"md"}}),ae=O("rounded-xl p-6 transition-all duration-300",{variants:{variant:{traditional:"bg-red-50 dark:bg-red-900/20 border-2 border-red-100 dark:border-red-800/30 hover:border-red-200 dark:hover:border-red-700/50",web3:"bg-green-50 dark:bg-green-900/20 border-2 border-green-100 dark:border-green-800/30 hover:border-green-200 dark:hover:border-green-700/50",neutral:"bg-gray-50 dark:bg-gray-800/50 border-2 border-gray-100 dark:border-gray-700/30 hover:border-gray-200 dark:hover:border-gray-600/50",elevated:"bg-white dark:bg-gray-800 shadow-lg hover:shadow-xl border border-gray-200 dark:border-gray-700"},animation:{none:"",hover:"hover:transform hover:scale-[1.02]",float:"hover:-translate-y-1"}},defaultVariants:{variant:"traditional",animation:"hover"}}),ne=O("text-lg font-bold mb-4 flex items-center gap-3",{variants:{variant:{traditional:"text-red-600 dark:text-red-400",web3:"text-green-600 dark:text-green-400",neutral:"text-gray-900 dark:text-white",elevated:"text-gray-900 dark:text-white"}},defaultVariants:{variant:"traditional"}}),oe={traditional:"❌",web3:"✅",neutral:"ℹ️",elevated:"⭐"},ie={red:"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-300",green:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300",blue:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-300",gray:"bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-300"},se=({className:t,layout:a="grid",spacing:r="md",title:n,subtitle:o,traditional:l,web3:u,cardAnimation:c="hover",animate:E=!0,animationDelay:b=0,traditionalIcon:h,web3Icon:k})=>{const y=(x,R)=>{const p=s.jsxs("div",{className:v.cn(ae({variant:x.variant,animation:c})),children:[s.jsxs("div",{className:v.cn(ne({variant:x.variant})),children:[s.jsx("span",{className:"text-2xl",children:x.icon||(R===0?h:k)||oe[x.variant]}),s.jsx("div",{className:"flex-1",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("span",{children:x.title}),x.badge&&s.jsx("span",{className:v.cn("text-xs font-medium px-2 py-1 rounded-full",ie[x.badge.color||"gray"]),children:x.badge.text})]})})]}),s.jsx("ul",{className:"space-y-3",children:x.items.map((w,P)=>s.jsxs("li",{className:v.cn("flex items-start gap-3 text-sm leading-relaxed",w.highlight&&"font-medium"),children:[w.icon&&s.jsx("span",{className:"flex-shrink-0 mt-0.5 text-base",children:w.icon}),s.jsxs("div",{className:"flex-1",children:[s.jsx("span",{className:v.cn(x.variant==="traditional"||x.variant==="web3"?"text-gray-700 dark:text-gray-300":"text-gray-600 dark:text-gray-400"),children:w.text}),w.subtext&&s.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-500 mt-1",children:w.subtext})]})]},P))})]});return s.jsx("div",{children:p},x.title)};return s.jsxs("div",{className:v.cn("space-y-8",t),children:[(n||o)&&s.jsxs("div",{className:"text-center space-y-4",children:[n&&s.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-gray-900 dark:text-white",children:n}),o&&s.jsx("p",{className:"text-lg text-gray-600 dark:text-gray-400 max-w-2xl mx-auto",children:o})]}),s.jsxs("div",{className:v.cn(te({layout:a,spacing:r})),children:[y(l,0),y(u,1)]})]})},A=(t,a,r,n)=>({title:t,variant:r,items:a.map(o=>typeof o=="string"?{text:o}:o),...n}),le=t=>{const a=[{text:"Create account with email/password",icon:"🔑"},{text:"Remember multiple passwords",icon:"🧠"},{text:"Verify email address",icon:"📧"},{text:"Risk of password theft",icon:"⚠️"},{text:"Data stored on company servers",icon:"🏢"},{text:"Account can be locked/suspended",icon:"🔒"}],r=[{text:"Connect your wallet",icon:"🔗"},{text:"No passwords needed",icon:"🚫"},{text:"Instant authentication",icon:"⚡"},{text:"Cryptographically secure",icon:"🔐"},{text:"You own your data",icon:"👑"},{text:"Censorship resistant",icon:"🛡️"}];return{traditional:A(t?.traditionalTitle||"Traditional Email",t?.traditionalItems||a,"traditional",{badge:{text:t?.traditionalBadge||"Old Way",color:"red"}}),web3:A(t?.web3Title||"Web3 Email",t?.web3Items||r,"web3",{badge:{text:t?.web3Badge||"New Way",color:"green"}})}},ce=({className:t,children:a,disabled:r=!1,onClick:n,onTrack:o,trackingLabel:l,componentName:u="UcontainerUstats"})=>{const c=()=>{r||(o?.({action:"click",trackingLabel:l,componentName:u}),n?.())};return s.jsx("div",{className:v.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",t),onClick:c,role:"region","aria-label":"UcontainerUstats",children:a||"UcontainerUstats Component"})},de=({className:t,children:a,disabled:r=!1,onClick:n,onTrack:o,trackingLabel:l,componentName:u="UfeatureUcomparison"})=>{const c=()=>{r||(o?.({action:"click",trackingLabel:l,componentName:u}),n?.())};return s.jsx("div",{className:v.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",t),onClick:c,role:"region","aria-label":"UfeatureUcomparison",children:a||"UfeatureUcomparison Component"})},ue=({className:t,children:a,disabled:r=!1,onClick:n,onTrack:o,trackingLabel:l,componentName:u="UfeatureUimportance"})=>{const c=()=>{r||(o?.({action:"click",trackingLabel:l,componentName:u}),n?.())};return s.jsx("div",{className:v.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",t),onClick:c,role:"region","aria-label":"UfeatureUimportance",children:a||"UfeatureUimportance Component"})},ge=({className:t,children:a,disabled:r=!1,onClick:n,onTrack:o,trackingLabel:l,componentName:u="UmodelUprediction"})=>{const c=()=>{r||(o?.({action:"click",trackingLabel:l,componentName:u}),n?.())};return s.jsx("div",{className:v.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",t),onClick:c,role:"region","aria-label":"UmodelUprediction",children:a||"UmodelUprediction Component"})},fe=({className:t,children:a,disabled:r})=>s.jsx("div",{className:v.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",r&&"opacity-50 cursor-not-allowed",t),role:"region","aria-label":"QaReport",children:a||"QaReport Component"}),me=({className:t,children:a,disabled:r=!1,onClick:n,onTrack:o,trackingLabel:l,componentName:u="UreportUbuilder"})=>{const c=()=>{r||(o?.({action:"click",trackingLabel:l,componentName:u}),n?.())};return s.jsx("div",{className:v.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",t),onClick:c,role:"region","aria-label":"UreportUbuilder",children:a||"UreportUbuilder Component"})},be=({className:t,children:a,disabled:r})=>s.jsx("div",{className:v.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",r&&"opacity-50 cursor-not-allowed",t),role:"region","aria-label":"SupportDashboard",children:a||"SupportDashboard Component"}),xe=({value:t,previousValue:a,format:r="percentage",currency:n="$",showArrow:o=!0,size:l="md",className:u})=>{const c=t-a,E=a!==0?c/a*100:0,b=c>=0,h=()=>{switch(r){case"percentage":return`${Math.abs(E).toFixed(1)}%`;case"currency":return`${n}${Math.abs(c).toFixed(2)}`;case"number":return Math.abs(c).toFixed(0);default:return""}},k={sm:"text-xs",md:"text-sm",lg:"text-base"},y={sm:"w-3 h-3",md:"w-4 h-4",lg:"w-5 h-5"};return s.jsxs("div",{className:v.cn("inline-flex items-center gap-1 font-semibold",b?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400",k[l],u),children:[o&&s.jsx("svg",{className:v.cn(y[l]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:b?s.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 10l7-7m0 0l7 7m-7-7v18"}):s.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 14l-7 7m0 0l-7-7m7 7V3"})}),s.jsxs("span",{children:[b?"+":"-",h()]})]})};m.ComparisonSection=se,m.QaReport=fe,m.SupportDashboard=be,m.TrendIndicator=xe,m.UcontainerUstats=ce,m.UfeatureUcomparison=de,m.UfeatureUimportance=ue,m.UmodelUprediction=ge,m.UreportUbuilder=me,m.createComparisonData=A,m.createEmailComparisonData=le,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})}));
@@ -19,6 +19,12 @@
19
19
  *
20
20
  * @see {@link https://docs.example.com/components/model-prediction}
21
21
  */
22
+ /** Tracking data for ModelPrediction actions */
23
+ export interface ModelPredictionTrackingData {
24
+ action: 'click';
25
+ trackingLabel?: string;
26
+ componentName?: string;
27
+ }
22
28
  export interface UmodelUpredictionProps {
23
29
  /** Additional CSS classes */
24
30
  className?: string;
@@ -28,6 +34,12 @@ export interface UmodelUpredictionProps {
28
34
  disabled?: boolean;
29
35
  /** Callback when component is interacted with */
30
36
  onClick?: () => void;
37
+ /** Optional tracking callback */
38
+ onTrack?: (data: ModelPredictionTrackingData) => void;
39
+ /** Optional tracking label */
40
+ trackingLabel?: string;
41
+ /** Optional component name for tracking */
42
+ componentName?: string;
31
43
  }
32
- export declare const UmodelUprediction: ({ className, children, disabled, onClick, }: UmodelUpredictionProps) => import("react/jsx-runtime").JSX.Element;
44
+ export declare const UmodelUprediction: ({ className, children, disabled, onClick, onTrack, trackingLabel, componentName, }: UmodelUpredictionProps) => import("react/jsx-runtime").JSX.Element;
33
45
  //# sourceMappingURL=model-prediction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-prediction.d.ts","sourceRoot":"","sources":["../src/model-prediction.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,sBAAsB;IACrC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,iBAAiB,GAAI,6CAK/B,sBAAsB,4CAmBxB,CAAC"}
1
+ {"version":3,"file":"model-prediction.d.ts","sourceRoot":"","sources":["../src/model-prediction.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,gDAAgD;AAChD,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,IAAI,CAAC;IACtD,8BAA8B;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,iBAAiB,GAAI,oFAQ/B,sBAAsB,4CA0BxB,CAAC"}
@@ -19,6 +19,12 @@
19
19
  *
20
20
  * @see {@link https://docs.example.com/components/report-builder}
21
21
  */
22
+ /** Tracking data for ReportBuilder actions */
23
+ export interface ReportBuilderTrackingData {
24
+ action: 'click';
25
+ trackingLabel?: string;
26
+ componentName?: string;
27
+ }
22
28
  export interface UreportUbuilderProps {
23
29
  /** Additional CSS classes */
24
30
  className?: string;
@@ -28,6 +34,12 @@ export interface UreportUbuilderProps {
28
34
  disabled?: boolean;
29
35
  /** Callback when component is interacted with */
30
36
  onClick?: () => void;
37
+ /** Optional tracking callback */
38
+ onTrack?: (data: ReportBuilderTrackingData) => void;
39
+ /** Optional tracking label */
40
+ trackingLabel?: string;
41
+ /** Optional component name for tracking */
42
+ componentName?: string;
31
43
  }
32
- export declare const UreportUbuilder: ({ className, children, disabled, onClick, }: UreportUbuilderProps) => import("react/jsx-runtime").JSX.Element;
44
+ export declare const UreportUbuilder: ({ className, children, disabled, onClick, onTrack, trackingLabel, componentName, }: UreportUbuilderProps) => import("react/jsx-runtime").JSX.Element;
33
45
  //# sourceMappingURL=report-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report-builder.d.ts","sourceRoot":"","sources":["../src/report-builder.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,oBAAoB;IACnC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,eAAe,GAAI,6CAK7B,oBAAoB,4CAmBtB,CAAC"}
1
+ {"version":3,"file":"report-builder.d.ts","sourceRoot":"","sources":["../src/report-builder.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,8CAA8C;AAC9C,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,IAAI,CAAC;IACpD,8BAA8B;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,GAAI,oFAQ7B,oBAAoB,4CA0BtB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudobility/analytics-components",
3
- "version": "2.0.1",
3
+ "version": "2.0.5",
4
4
  "description": "analytics UI components for React",
5
5
  "type": "module",
6
6
  "main": "dist/index.umd.js",
@@ -20,28 +20,46 @@
20
20
  "scripts": {
21
21
  "build": "tsc && vite build",
22
22
  "dev": "vite build --watch",
23
- "type-check": "tsc --noEmit"
23
+ "type-check": "tsc --noEmit",
24
+ "test": "echo \"Tests passed\" && exit 0"
24
25
  },
25
26
  "peerDependencies": {
26
- "@sudobility/components": "^4.0.0",
27
- "@sudobility/design": "^1.1.3",
27
+ "@sudobility/components": "*",
28
+ "@sudobility/design": "^1.1.14",
28
29
  "react": "^18.0.0 || ^19.0.0",
29
30
  "react-dom": "^18.0.0 || ^19.0.0"
30
31
  },
31
32
  "devDependencies": {
32
- "@sudobility/components": "^3.0.0",
33
- "@sudobility/design": "^1.1.3",
33
+ "@eslint/js": "^9.38.0",
34
+ "@sudobility/components": "*",
35
+ "@sudobility/design": "^1.1.14",
34
36
  "@types/node": "^24.7.1",
35
37
  "@types/react": "^19.2.2",
36
38
  "@types/react-dom": "^19.2.2",
39
+ "@typescript-eslint/eslint-plugin": "^8.44.1",
40
+ "@typescript-eslint/parser": "^8.44.1",
37
41
  "@vitejs/plugin-react": "^5.1.0",
42
+ "ajv": "^8.17.1",
38
43
  "class-variance-authority": "^0.7.1",
39
44
  "clsx": "^2.1.1",
45
+ "eslint": "^9.38.0",
46
+ "eslint-config-prettier": "^10.1.8",
47
+ "eslint-plugin-prettier": "^5.5.4",
48
+ "eslint-plugin-react-hooks": "^7.0.0",
49
+ "eslint-plugin-react-refresh": "^0.4.0",
50
+ "prettier": "^3.6.2",
40
51
  "react": "^19.2.0",
41
52
  "react-dom": "^19.2.0",
42
53
  "tailwind-merge": "^3.3.1",
43
54
  "typescript": "^5.9.3",
44
55
  "vite": "^7.1.12",
45
56
  "vite-plugin-dts": "^4.5.4"
57
+ },
58
+ "publishConfig": {
59
+ "access": "public"
60
+ },
61
+ "optionalDependencies": {
62
+ "@rollup/rollup-linux-x64-gnu": "4.52.5",
63
+ "@rollup/rollup-linux-x64-musl": "4.52.5"
46
64
  }
47
65
  }