jazz-tools 0.18.5 → 0.18.7
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.
- package/.turbo/turbo-build.log +57 -57
- package/CHANGELOG.md +33 -0
- package/dist/better-auth/auth/client.d.ts.map +1 -1
- package/dist/better-auth/auth/client.js +7 -1
- package/dist/better-auth/auth/client.js.map +1 -1
- package/dist/better-auth/auth/react.d.ts +0 -2145
- package/dist/better-auth/auth/react.d.ts.map +1 -1
- package/dist/better-auth/auth/react.js +2 -14
- package/dist/better-auth/auth/react.js.map +1 -1
- package/dist/better-auth/auth/server.d.ts.map +1 -1
- package/dist/better-auth/auth/server.js +77 -22
- package/dist/better-auth/auth/server.js.map +1 -1
- package/dist/better-auth/auth/tests/react.test.d.ts +2 -0
- package/dist/better-auth/auth/tests/react.test.d.ts.map +1 -0
- package/dist/{chunk-3LE7N6TH.js → chunk-CFAY3FMQ.js} +192 -101
- package/dist/chunk-CFAY3FMQ.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/inspector/{custom-element-WCY6D3QJ.js → custom-element-G6SPZEBR.js} +308 -97
- package/dist/inspector/custom-element-G6SPZEBR.js.map +1 -0
- package/dist/inspector/index.d.ts +5 -1
- package/dist/inspector/index.d.ts.map +1 -1
- package/dist/inspector/index.js +318 -56
- package/dist/inspector/index.js.map +1 -1
- package/dist/inspector/register-custom-element.js +1 -1
- package/dist/inspector/ui/button.d.ts +1 -1
- package/dist/inspector/ui/button.d.ts.map +1 -1
- package/dist/inspector/ui/heading.d.ts +2 -1
- package/dist/inspector/ui/heading.d.ts.map +1 -1
- package/dist/inspector/ui/input.d.ts.map +1 -1
- package/dist/inspector/ui/modal.d.ts +16 -0
- package/dist/inspector/ui/modal.d.ts.map +1 -0
- package/dist/inspector/viewer/delete-local-data.d.ts +2 -0
- package/dist/inspector/viewer/delete-local-data.d.ts.map +1 -0
- package/dist/inspector/viewer/{inpsector-button.d.ts → inspector-button.d.ts} +1 -1
- package/dist/inspector/viewer/{inpsector-button.d.ts.map → inspector-button.d.ts.map} +1 -1
- package/dist/inspector/viewer/new-app.d.ts +1 -4
- package/dist/inspector/viewer/new-app.d.ts.map +1 -1
- package/dist/react/hooks.d.ts +1 -1
- package/dist/react/hooks.d.ts.map +1 -1
- package/dist/react/index.d.ts +1 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +3 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react-core/hooks.d.ts +133 -0
- package/dist/react-core/hooks.d.ts.map +1 -1
- package/dist/react-core/index.js +83 -17
- package/dist/react-core/index.js.map +1 -1
- package/dist/react-core/tests/useCoStateWithSelector.test.d.ts +2 -0
- package/dist/react-core/tests/useCoStateWithSelector.test.d.ts.map +1 -0
- package/dist/react-native-core/hooks.d.ts +1 -1
- package/dist/react-native-core/hooks.d.ts.map +1 -1
- package/dist/react-native-core/index.js +3 -1
- package/dist/react-native-core/index.js.map +1 -1
- package/dist/testing.js +2 -2
- package/dist/testing.js.map +1 -1
- package/dist/tools/coValues/CoValueBase.d.ts +14 -0
- package/dist/tools/coValues/CoValueBase.d.ts.map +1 -1
- package/dist/tools/coValues/coMap.d.ts +0 -12
- package/dist/tools/coValues/coMap.d.ts.map +1 -1
- package/dist/tools/coValues/inbox.d.ts +5 -5
- package/dist/tools/coValues/inbox.d.ts.map +1 -1
- package/dist/tools/implementation/createContext.d.ts +2 -1
- package/dist/tools/implementation/createContext.d.ts.map +1 -1
- package/dist/tools/tests/utils.d.ts.map +1 -1
- package/dist/worker/index.d.ts +12 -2
- package/dist/worker/index.d.ts.map +1 -1
- package/dist/worker/index.js +10 -4
- package/dist/worker/index.js.map +1 -1
- package/package.json +6 -4
- package/src/better-auth/auth/client.ts +8 -2
- package/src/better-auth/auth/react.tsx +2 -51
- package/src/better-auth/auth/server.ts +98 -24
- package/src/better-auth/auth/tests/client.test.ts +92 -4
- package/src/better-auth/auth/tests/react.test.tsx +43 -0
- package/src/better-auth/auth/tests/server.test.ts +276 -98
- package/src/inspector/custom-element.tsx +1 -1
- package/src/inspector/index.tsx +44 -0
- package/src/inspector/ui/button.tsx +15 -1
- package/src/inspector/ui/heading.tsx +7 -2
- package/src/inspector/ui/input.tsx +6 -2
- package/src/inspector/ui/modal.tsx +158 -0
- package/src/inspector/viewer/delete-local-data.tsx +101 -0
- package/src/inspector/viewer/new-app.tsx +3 -19
- package/src/react/hooks.tsx +1 -0
- package/src/react/index.ts +1 -0
- package/src/react-core/hooks.ts +162 -0
- package/src/react-core/tests/useCoStateWithSelector.test.ts +149 -0
- package/src/react-native-core/hooks.tsx +1 -0
- package/src/tools/coValues/CoValueBase.ts +32 -0
- package/src/tools/coValues/coList.ts +35 -0
- package/src/tools/coValues/coMap.ts +0 -18
- package/src/tools/coValues/inbox.ts +190 -108
- package/src/tools/implementation/createContext.ts +9 -2
- package/src/tools/testing.ts +1 -1
- package/src/tools/tests/coFeed.test.ts +33 -22
- package/src/tools/tests/coList.test.ts +47 -4
- package/src/tools/tests/coMap.test.ts +13 -5
- package/src/tools/tests/coPlainText.test.ts +24 -0
- package/src/tools/tests/createContext.test.ts +24 -0
- package/src/tools/tests/deepLoading.test.ts +2 -0
- package/src/tools/tests/exportImport.test.ts +3 -1
- package/src/tools/tests/groupsAndAccounts.test.ts +56 -44
- package/src/tools/tests/inbox.test.ts +293 -31
- package/src/tools/tests/patterns/requestToJoin.test.ts +14 -6
- package/src/tools/tests/utils.ts +1 -0
- package/src/worker/index.ts +21 -5
- package/tsup.config.ts +1 -1
- package/dist/chunk-3LE7N6TH.js.map +0 -1
- package/dist/inspector/custom-element-WCY6D3QJ.js.map +0 -1
- package/src/inspector/index.ts +0 -23
- /package/src/inspector/viewer/{inpsector-button.tsx → inspector-button.tsx} +0 -0
package/dist/index.js
CHANGED
@@ -1970,7 +1970,7 @@ var require_react = __commonJS({
|
|
1970
1970
|
var require_react_dom_production = __commonJS({
|
1971
1971
|
"../../node_modules/react-dom/cjs/react-dom.production.js"(exports) {
|
1972
1972
|
"use strict";
|
1973
|
-
var
|
1973
|
+
var React7 = require_react();
|
1974
1974
|
function formatProdErrorMessage(code) {
|
1975
1975
|
var url = "https://react.dev/errors/" + code;
|
1976
1976
|
if (1 < arguments.length) {
|
@@ -2010,7 +2010,7 @@ var require_react_dom_production = __commonJS({
|
|
2010
2010
|
implementation
|
2011
2011
|
};
|
2012
2012
|
}
|
2013
|
-
var ReactSharedInternals =
|
2013
|
+
var ReactSharedInternals = React7.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
|
2014
2014
|
function getCrossOriginStringAs(as, input) {
|
2015
2015
|
if ("font" === as) return "";
|
2016
2016
|
if ("string" === typeof input)
|
@@ -2164,7 +2164,7 @@ var require_react_dom_development = __commonJS({
|
|
2164
2164
|
return dispatcher;
|
2165
2165
|
}
|
2166
2166
|
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
|
2167
|
-
var
|
2167
|
+
var React7 = require_react(), Internals = {
|
2168
2168
|
d: {
|
2169
2169
|
f: noop,
|
2170
2170
|
r: function() {
|
@@ -2182,7 +2182,7 @@ var require_react_dom_development = __commonJS({
|
|
2182
2182
|
},
|
2183
2183
|
p: 0,
|
2184
2184
|
findDOMNode: null
|
2185
|
-
}, REACT_PORTAL_TYPE = Symbol.for("react.portal"), ReactSharedInternals =
|
2185
|
+
}, REACT_PORTAL_TYPE = Symbol.for("react.portal"), ReactSharedInternals = React7.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
|
2186
2186
|
"function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error(
|
2187
2187
|
"React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"
|
2188
2188
|
);
|
@@ -2390,7 +2390,7 @@ var require_react_dom_client_production = __commonJS({
|
|
2390
2390
|
"../../node_modules/react-dom/cjs/react-dom-client.production.js"(exports) {
|
2391
2391
|
"use strict";
|
2392
2392
|
var Scheduler = require_scheduler();
|
2393
|
-
var
|
2393
|
+
var React7 = require_react();
|
2394
2394
|
var ReactDOM = require_react_dom();
|
2395
2395
|
function formatProdErrorMessage(code) {
|
2396
2396
|
var url = "https://react.dev/errors/" + code;
|
@@ -2578,7 +2578,7 @@ var require_react_dom_client_production = __commonJS({
|
|
2578
2578
|
return null;
|
2579
2579
|
}
|
2580
2580
|
var isArrayImpl = Array.isArray;
|
2581
|
-
var ReactSharedInternals =
|
2581
|
+
var ReactSharedInternals = React7.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
|
2582
2582
|
var ReactDOMSharedInternals = ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
|
2583
2583
|
var sharedNotPendingObject = {
|
2584
2584
|
pending: false,
|
@@ -13570,7 +13570,7 @@ var require_react_dom_client_production = __commonJS({
|
|
13570
13570
|
0 === i && attemptExplicitHydrationTarget(target);
|
13571
13571
|
}
|
13572
13572
|
};
|
13573
|
-
var isomorphicReactPackageVersion$jscomp$inline_1785 =
|
13573
|
+
var isomorphicReactPackageVersion$jscomp$inline_1785 = React7.version;
|
13574
13574
|
if ("19.1.0" !== isomorphicReactPackageVersion$jscomp$inline_1785)
|
13575
13575
|
throw Error(
|
13576
13576
|
formatProdErrorMessage(
|
@@ -15021,7 +15021,7 @@ var require_react_dom_client_development = __commonJS({
|
|
15021
15021
|
"number" === type && getActiveElement(node.ownerDocument) === node || node.defaultValue === "" + value || (node.defaultValue = "" + value);
|
15022
15022
|
}
|
15023
15023
|
function validateOptionProps(element, props) {
|
15024
|
-
null == props.value && ("object" === typeof props.children && null !== props.children ?
|
15024
|
+
null == props.value && ("object" === typeof props.children && null !== props.children ? React7.Children.forEach(props.children, function(child) {
|
15025
15025
|
null == child || "string" === typeof child || "number" === typeof child || "bigint" === typeof child || didWarnInvalidChild || (didWarnInvalidChild = true, console.error(
|
15026
15026
|
"Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to <option>."
|
15027
15027
|
));
|
@@ -28603,14 +28603,14 @@ var require_react_dom_client_development = __commonJS({
|
|
28603
28603
|
));
|
28604
28604
|
}
|
28605
28605
|
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
|
28606
|
-
var Scheduler = require_scheduler(),
|
28606
|
+
var Scheduler = require_scheduler(), React7 = require_react(), ReactDOM = require_react_dom(), assign = Object.assign, REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_PROVIDER_TYPE = Symbol.for("react.provider"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy");
|
28607
28607
|
Symbol.for("react.scope");
|
28608
28608
|
var REACT_ACTIVITY_TYPE = Symbol.for("react.activity");
|
28609
28609
|
Symbol.for("react.legacy_hidden");
|
28610
28610
|
Symbol.for("react.tracing_marker");
|
28611
28611
|
var REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel");
|
28612
28612
|
Symbol.for("react.view_transition");
|
28613
|
-
var MAYBE_ITERATOR_SYMBOL = Symbol.iterator, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), isArrayImpl = Array.isArray, ReactSharedInternals =
|
28613
|
+
var MAYBE_ITERATOR_SYMBOL = Symbol.iterator, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), isArrayImpl = Array.isArray, ReactSharedInternals = React7.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, ReactDOMSharedInternals = ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, NotPending = Object.freeze({
|
28614
28614
|
pending: false,
|
28615
28615
|
data: null,
|
28616
28616
|
method: null,
|
@@ -31324,7 +31324,7 @@ var require_react_dom_client_development = __commonJS({
|
|
31324
31324
|
}
|
31325
31325
|
};
|
31326
31326
|
(function() {
|
31327
|
-
var isomorphicReactPackageVersion =
|
31327
|
+
var isomorphicReactPackageVersion = React7.version;
|
31328
31328
|
if ("19.1.0" !== isomorphicReactPackageVersion)
|
31329
31329
|
throw Error(
|
31330
31330
|
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + "\n - react-dom: 19.1.0\nLearn more: https://react.dev/warnings/version-mismatch")
|
@@ -31720,20 +31720,20 @@ var require_react_jsx_runtime_development = __commonJS({
|
|
31720
31720
|
function validateChildKeys(node) {
|
31721
31721
|
"object" === typeof node && null !== node && node.$$typeof === REACT_ELEMENT_TYPE && node._store && (node._store.validated = 1);
|
31722
31722
|
}
|
31723
|
-
var
|
31723
|
+
var React7 = require_react(), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler");
|
31724
31724
|
Symbol.for("react.provider");
|
31725
|
-
var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals =
|
31725
|
+
var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React7.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
|
31726
31726
|
return null;
|
31727
31727
|
};
|
31728
|
-
|
31728
|
+
React7 = {
|
31729
31729
|
"react-stack-bottom-frame": function(callStackForError) {
|
31730
31730
|
return callStackForError();
|
31731
31731
|
}
|
31732
31732
|
};
|
31733
31733
|
var specialPropKeyWarningShown;
|
31734
31734
|
var didWarnAboutElementRef = {};
|
31735
|
-
var unknownOwnerDebugStack =
|
31736
|
-
|
31735
|
+
var unknownOwnerDebugStack = React7["react-stack-bottom-frame"].bind(
|
31736
|
+
React7,
|
31737
31737
|
UnknownOwner
|
31738
31738
|
)();
|
31739
31739
|
var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
|
@@ -31785,13 +31785,9 @@ var require_jsx_runtime = __commonJS({
|
|
31785
31785
|
var import_client = __toESM(require_client(), 1);
|
31786
31786
|
import { Account } from "jazz-tools";
|
31787
31787
|
|
31788
|
-
// src/inspector/index.ts
|
31789
|
-
var import_react17 = __toESM(require_react(), 1);
|
31790
|
-
|
31791
31788
|
// src/inspector/viewer/new-app.tsx
|
31792
|
-
var
|
31793
|
-
import { styled as
|
31794
|
-
import { useJazzContext } from "jazz-tools/react-core";
|
31789
|
+
var import_react17 = __toESM(require_react(), 1);
|
31790
|
+
import { styled as styled19 } from "goober";
|
31795
31791
|
|
31796
31792
|
// src/inspector/ui/button.tsx
|
31797
31793
|
var import_react = __toESM(require_react(), 1);
|
@@ -31818,6 +31814,9 @@ var StyledButton = styled("button")`
|
|
31818
31814
|
border-color: var(--j-primary-color);
|
31819
31815
|
color: white;
|
31820
31816
|
font-weight: 500;
|
31817
|
+
&:hover {
|
31818
|
+
opacity: 0.8;
|
31819
|
+
}
|
31821
31820
|
`;
|
31822
31821
|
case "secondary":
|
31823
31822
|
return `
|
@@ -31836,6 +31835,17 @@ var StyledButton = styled("button")`
|
|
31836
31835
|
text-decoration: underline;
|
31837
31836
|
}
|
31838
31837
|
`;
|
31838
|
+
case "destructive":
|
31839
|
+
return `
|
31840
|
+
padding: 0.375rem 0.75rem;
|
31841
|
+
background-color: var(--j-destructive-color);
|
31842
|
+
border-color: var(--j-destructive-color);
|
31843
|
+
color: white;
|
31844
|
+
font-weight: 500;
|
31845
|
+
&:hover {
|
31846
|
+
opacity: 0.8;
|
31847
|
+
}
|
31848
|
+
`;
|
31839
31849
|
default:
|
31840
31850
|
return "";
|
31841
31851
|
}
|
@@ -31881,7 +31891,7 @@ var StyledInput = styled2("input")`
|
|
31881
31891
|
box-shadow: var(--j-shadow-sm);
|
31882
31892
|
font-weight: 500;
|
31883
31893
|
background-color: white;
|
31884
|
-
color: var(--text-color-strong);
|
31894
|
+
color: var(--j-text-color-strong);
|
31885
31895
|
|
31886
31896
|
@media (prefers-color-scheme: dark) {
|
31887
31897
|
background-color: var(--j-foreground);
|
@@ -31892,7 +31902,15 @@ var Input = (0, import_react2.forwardRef)(
|
|
31892
31902
|
const generatedId = (0, import_react2.useId)();
|
31893
31903
|
const id = customId || generatedId;
|
31894
31904
|
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(Container, { className, children: [
|
31895
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
31905
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
31906
|
+
"label",
|
31907
|
+
{
|
31908
|
+
htmlFor: id,
|
31909
|
+
className: hideLabel ? "j-sr-only" : "",
|
31910
|
+
style: { color: "var(--j-text-color)" },
|
31911
|
+
children: label
|
31912
|
+
}
|
31913
|
+
),
|
31896
31914
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(StyledInput, { ref, ...inputProps, id })
|
31897
31915
|
] });
|
31898
31916
|
}
|
@@ -31982,9 +32000,10 @@ var StyledHeading = styled5("h1")`
|
|
31982
32000
|
`;
|
31983
32001
|
function Heading({
|
31984
32002
|
children,
|
31985
|
-
className
|
32003
|
+
className,
|
32004
|
+
id
|
31986
32005
|
}) {
|
31987
|
-
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(StyledHeading, { className, children });
|
32006
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(StyledHeading, { className, id, children });
|
31988
32007
|
}
|
31989
32008
|
|
31990
32009
|
// src/inspector/ui/text.tsx
|
@@ -33583,7 +33602,7 @@ var GlobalStyles = styled16("div")`
|
|
33583
33602
|
}
|
33584
33603
|
`;
|
33585
33604
|
|
33586
|
-
// src/inspector/viewer/
|
33605
|
+
// src/inspector/viewer/inspector-button.tsx
|
33587
33606
|
var import_jsx_runtime26 = __toESM(require_jsx_runtime(), 1);
|
33588
33607
|
import { styled as styled17 } from "goober";
|
33589
33608
|
var StyledInspectorButton = styled17("button")`
|
@@ -33682,9 +33701,246 @@ function useOpenInspector() {
|
|
33682
33701
|
return [open, setOpen];
|
33683
33702
|
}
|
33684
33703
|
|
33685
|
-
// src/inspector/
|
33704
|
+
// src/inspector/ui/modal.tsx
|
33705
|
+
var import_react15 = __toESM(require_react(), 1);
|
33706
|
+
import { styled as styled18 } from "goober";
|
33686
33707
|
var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1);
|
33687
|
-
var
|
33708
|
+
var ModalContent = styled18("dialog")`
|
33709
|
+
background-color: var(--j-background);
|
33710
|
+
border-radius: var(--j-radius-lg);
|
33711
|
+
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
|
33712
|
+
border: 1px solid var(--j-border-color);
|
33713
|
+
max-width: 32rem;
|
33714
|
+
margin-block: auto;
|
33715
|
+
margin-inline: auto;
|
33716
|
+
&::backdrop {
|
33717
|
+
background-color: rgba(0, 0, 0, 0.7);
|
33718
|
+
}
|
33719
|
+
|
33720
|
+
`;
|
33721
|
+
var ModalHeader = styled18("div")`
|
33722
|
+
display: flex;
|
33723
|
+
justify-content: space-between;
|
33724
|
+
align-items: flex-start;
|
33725
|
+
padding: 1.5rem 1.5rem 0 1.5rem;
|
33726
|
+
gap: 1rem;
|
33727
|
+
`;
|
33728
|
+
var ModalBody = styled18("div")`
|
33729
|
+
padding: 1rem 1.5rem;
|
33730
|
+
flex: 1;
|
33731
|
+
`;
|
33732
|
+
var ModalFooter = styled18("div")`
|
33733
|
+
display: flex;
|
33734
|
+
justify-content: flex-end;
|
33735
|
+
gap: 0.75rem;
|
33736
|
+
padding: 0 1.5rem 1.5rem 1.5rem;
|
33737
|
+
`;
|
33738
|
+
var CloseButton = styled18("button")`
|
33739
|
+
background: none;
|
33740
|
+
border: none;
|
33741
|
+
cursor: pointer;
|
33742
|
+
padding: 0.25rem;
|
33743
|
+
border-radius: var(--j-radius-sm);
|
33744
|
+
color: var(--j-text-color);
|
33745
|
+
font-size: 1.25rem;
|
33746
|
+
line-height: 1;
|
33747
|
+
display: flex;
|
33748
|
+
align-items: center;
|
33749
|
+
justify-content: center;
|
33750
|
+
min-width: 2rem;
|
33751
|
+
min-height: 2rem;
|
33752
|
+
|
33753
|
+
&:hover {
|
33754
|
+
background-color: var(--j-foreground);
|
33755
|
+
}
|
33756
|
+
|
33757
|
+
&:focus-visible {
|
33758
|
+
outline: 2px solid var(--j-border-focus);
|
33759
|
+
outline-offset: 2px;
|
33760
|
+
}
|
33761
|
+
`;
|
33762
|
+
var Modal = (0, import_react15.forwardRef)(
|
33763
|
+
({
|
33764
|
+
isOpen,
|
33765
|
+
onClose,
|
33766
|
+
heading,
|
33767
|
+
text,
|
33768
|
+
children,
|
33769
|
+
confirmText = "Confirm",
|
33770
|
+
cancelText = "Cancel",
|
33771
|
+
onConfirm,
|
33772
|
+
onCancel,
|
33773
|
+
showButtons = true,
|
33774
|
+
className
|
33775
|
+
}, ref) => {
|
33776
|
+
const modalRef = (0, import_react15.useRef)(null);
|
33777
|
+
(0, import_react15.useEffect)(() => {
|
33778
|
+
if (isOpen) {
|
33779
|
+
modalRef.current?.showModal();
|
33780
|
+
} else {
|
33781
|
+
onClose();
|
33782
|
+
modalRef.current?.close();
|
33783
|
+
}
|
33784
|
+
}, [isOpen, onClose]);
|
33785
|
+
const handleConfirm = () => {
|
33786
|
+
onConfirm?.();
|
33787
|
+
onClose();
|
33788
|
+
};
|
33789
|
+
const handleCancel = () => {
|
33790
|
+
onCancel?.();
|
33791
|
+
onClose();
|
33792
|
+
};
|
33793
|
+
if (!isOpen) return null;
|
33794
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
33795
|
+
ModalContent,
|
33796
|
+
{
|
33797
|
+
ref: ref || modalRef,
|
33798
|
+
className,
|
33799
|
+
role: "dialog",
|
33800
|
+
"aria-labelledby": "modal-heading",
|
33801
|
+
onClose,
|
33802
|
+
children: [
|
33803
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(ModalHeader, { children: [
|
33804
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Heading, { id: "modal-heading", children: heading }),
|
33805
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CloseButton, { onClick: onClose, "aria-label": "Close modal", type: "button", children: "\xD7" })
|
33806
|
+
] }),
|
33807
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(ModalBody, { children: [
|
33808
|
+
text && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { style: { margin: "0 0 1rem 0", color: "var(--j-text-color)" }, children: text }),
|
33809
|
+
children
|
33810
|
+
] }),
|
33811
|
+
showButtons && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(ModalFooter, { children: [
|
33812
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Button, { variant: "secondary", onClick: handleCancel, children: cancelText }),
|
33813
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Button, { variant: "primary", onClick: handleConfirm, children: confirmText })
|
33814
|
+
] })
|
33815
|
+
]
|
33816
|
+
}
|
33817
|
+
);
|
33818
|
+
}
|
33819
|
+
);
|
33820
|
+
Modal.displayName = "Modal";
|
33821
|
+
|
33822
|
+
// src/inspector/viewer/delete-local-data.tsx
|
33823
|
+
var import_react16 = __toESM(require_react(), 1);
|
33824
|
+
var import_jsx_runtime28 = __toESM(require_jsx_runtime(), 1);
|
33825
|
+
var DELETE_LOCAL_DATA_STRING = "delete my local data";
|
33826
|
+
function DeleteLocalData() {
|
33827
|
+
const [showDeleteModal, setShowDeleteModal] = (0, import_react16.useState)(false);
|
33828
|
+
const [confirmDeleteString, setConfirmDeleteString] = (0, import_react16.useState)("");
|
33829
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_jsx_runtime28.Fragment, { children: [
|
33830
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Button, { variant: "destructive", onClick: () => setShowDeleteModal(true), children: "Delete my local data" }),
|
33831
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
33832
|
+
Modal,
|
33833
|
+
{
|
33834
|
+
isOpen: showDeleteModal,
|
33835
|
+
onClose: () => setShowDeleteModal(false),
|
33836
|
+
heading: "Delete Local Data",
|
33837
|
+
showButtons: false,
|
33838
|
+
children: [
|
33839
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
33840
|
+
"div",
|
33841
|
+
{
|
33842
|
+
style: {
|
33843
|
+
margin: "0 0 1rem 0",
|
33844
|
+
color: "var(--j-text-color)",
|
33845
|
+
display: "flex",
|
33846
|
+
flexDirection: "column",
|
33847
|
+
gap: "0.5rem"
|
33848
|
+
},
|
33849
|
+
children: [
|
33850
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("p", { children: [
|
33851
|
+
"This action ",
|
33852
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("strong", { children: "cannot" }),
|
33853
|
+
" be undone."
|
33854
|
+
] }),
|
33855
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("p", { children: [
|
33856
|
+
"Be aware that the following data will be",
|
33857
|
+
" ",
|
33858
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("strong", { children: "permanently" }),
|
33859
|
+
" deleted:"
|
33860
|
+
] }),
|
33861
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("ul", { style: { listStyleType: "disc", paddingLeft: "1rem" }, children: [
|
33862
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("li", { children: [
|
33863
|
+
"Unsynced data for ",
|
33864
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("strong", { children: "all apps" }),
|
33865
|
+
" on",
|
33866
|
+
" ",
|
33867
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("code", { children: window.location.origin })
|
33868
|
+
] }),
|
33869
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("li", { children: "Accounts" }),
|
33870
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("li", { children: "Logged in sessions" })
|
33871
|
+
] }),
|
33872
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", {})
|
33873
|
+
]
|
33874
|
+
}
|
33875
|
+
),
|
33876
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
33877
|
+
Input,
|
33878
|
+
{
|
33879
|
+
label: `Type "${DELETE_LOCAL_DATA_STRING}" to confirm`,
|
33880
|
+
placeholder: DELETE_LOCAL_DATA_STRING,
|
33881
|
+
value: confirmDeleteString,
|
33882
|
+
onChange: (e) => {
|
33883
|
+
setConfirmDeleteString(e.target.value);
|
33884
|
+
}
|
33885
|
+
}
|
33886
|
+
),
|
33887
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
33888
|
+
"p",
|
33889
|
+
{
|
33890
|
+
style: {
|
33891
|
+
margin: "0 0 1rem 0",
|
33892
|
+
color: "var(--j-text-color)",
|
33893
|
+
display: "flex",
|
33894
|
+
flexDirection: "column",
|
33895
|
+
gap: "0.5rem"
|
33896
|
+
},
|
33897
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("small", { children: [
|
33898
|
+
"Data synced to a sync server will ",
|
33899
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("strong", { children: "not" }),
|
33900
|
+
" be deleted, and will be synced when you log in again."
|
33901
|
+
] })
|
33902
|
+
}
|
33903
|
+
),
|
33904
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
33905
|
+
"div",
|
33906
|
+
{
|
33907
|
+
style: {
|
33908
|
+
display: "flex",
|
33909
|
+
marginTop: "0.5rem",
|
33910
|
+
justifyContent: "flex-end",
|
33911
|
+
gap: "0.5rem"
|
33912
|
+
},
|
33913
|
+
children: [
|
33914
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Button, { variant: "secondary", onClick: () => setShowDeleteModal(false), children: "Cancel" }),
|
33915
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
33916
|
+
Button,
|
33917
|
+
{
|
33918
|
+
variant: "destructive",
|
33919
|
+
disabled: confirmDeleteString !== DELETE_LOCAL_DATA_STRING,
|
33920
|
+
onClick: () => {
|
33921
|
+
const jazzKeys = Object.keys(localStorage).filter(
|
33922
|
+
(key) => key.startsWith("jazz-") || key.startsWith("co_z")
|
33923
|
+
);
|
33924
|
+
jazzKeys.forEach((key) => localStorage.removeItem(key));
|
33925
|
+
indexedDB.deleteDatabase("jazz-storage");
|
33926
|
+
window.location.reload();
|
33927
|
+
setShowDeleteModal(false);
|
33928
|
+
},
|
33929
|
+
children: "I'm sure, delete my local data"
|
33930
|
+
}
|
33931
|
+
)
|
33932
|
+
]
|
33933
|
+
}
|
33934
|
+
)
|
33935
|
+
]
|
33936
|
+
}
|
33937
|
+
)
|
33938
|
+
] });
|
33939
|
+
}
|
33940
|
+
|
33941
|
+
// src/inspector/viewer/new-app.tsx
|
33942
|
+
var import_jsx_runtime29 = __toESM(require_jsx_runtime(), 1);
|
33943
|
+
var InspectorContainer = styled19("div")`
|
33688
33944
|
position: fixed;
|
33689
33945
|
height: 50vh;
|
33690
33946
|
max-height: 800px;
|
@@ -33701,17 +33957,17 @@ var InspectorContainer = styled18("div")`
|
|
33701
33957
|
background-color: var(--j-background);
|
33702
33958
|
}
|
33703
33959
|
`;
|
33704
|
-
var HeaderContainer2 =
|
33960
|
+
var HeaderContainer2 = styled19("div")`
|
33705
33961
|
display: flex;
|
33706
33962
|
align-items: center;
|
33707
33963
|
gap: 1rem;
|
33708
33964
|
padding: 0 0.75rem;
|
33709
33965
|
margin: 0.75rem 0;
|
33710
33966
|
`;
|
33711
|
-
var Form =
|
33967
|
+
var Form = styled19("form")`
|
33712
33968
|
width: 24rem;
|
33713
33969
|
`;
|
33714
|
-
var InitialForm =
|
33970
|
+
var InitialForm = styled19("form")`
|
33715
33971
|
display: flex;
|
33716
33972
|
flex-direction: column;
|
33717
33973
|
position: relative;
|
@@ -33723,7 +33979,7 @@ var InitialForm = styled18("form")`
|
|
33723
33979
|
max-width: 24rem;
|
33724
33980
|
margin: 0 auto;
|
33725
33981
|
`;
|
33726
|
-
var OrText =
|
33982
|
+
var OrText = styled19("p")`
|
33727
33983
|
text-align: center;
|
33728
33984
|
`;
|
33729
33985
|
function JazzInspectorInternal({
|
@@ -33732,7 +33988,7 @@ function JazzInspectorInternal({
|
|
33732
33988
|
accountId
|
33733
33989
|
}) {
|
33734
33990
|
const [open, setOpen] = useOpenInspector();
|
33735
|
-
const [coValueId, setCoValueId] = (0,
|
33991
|
+
const [coValueId, setCoValueId] = (0, import_react17.useState)("");
|
33736
33992
|
const { path, addPages, goToIndex, goBack, setPage } = usePagePath();
|
33737
33993
|
const handleCoValueIdSubmit = (e) => {
|
33738
33994
|
e.preventDefault();
|
@@ -33742,12 +33998,12 @@ function JazzInspectorInternal({
|
|
33742
33998
|
setCoValueId("");
|
33743
33999
|
};
|
33744
34000
|
if (!open) {
|
33745
|
-
return /* @__PURE__ */ (0,
|
34001
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(InspectorButton, { position, onClick: () => setOpen(true) });
|
33746
34002
|
}
|
33747
|
-
return /* @__PURE__ */ (0,
|
33748
|
-
/* @__PURE__ */ (0,
|
33749
|
-
/* @__PURE__ */ (0,
|
33750
|
-
/* @__PURE__ */ (0,
|
34003
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(InspectorContainer, { as: GlobalStyles, style: { zIndex: 999 }, children: [
|
34004
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(HeaderContainer2, { children: [
|
34005
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Breadcrumbs, { path, onBreadcrumbClick: goToIndex }),
|
34006
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Form, { onSubmit: handleCoValueIdSubmit, children: path.length !== 0 && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
33751
34007
|
Input,
|
33752
34008
|
{
|
33753
34009
|
label: "CoValue ID",
|
@@ -33758,23 +34014,24 @@ function JazzInspectorInternal({
|
|
33758
34014
|
onChange: (e) => setCoValueId(e.target.value)
|
33759
34015
|
}
|
33760
34016
|
) }),
|
33761
|
-
/* @__PURE__ */ (0,
|
34017
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DeleteLocalData, {}),
|
34018
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Button, { variant: "plain", type: "button", onClick: () => setOpen(false), children: "Close" })
|
33762
34019
|
] }),
|
33763
|
-
/* @__PURE__ */ (0,
|
34020
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
33764
34021
|
PageStack,
|
33765
34022
|
{
|
33766
34023
|
path,
|
33767
34024
|
node: localNode,
|
33768
34025
|
goBack,
|
33769
34026
|
addPages,
|
33770
|
-
children: path.length <= 0 && /* @__PURE__ */ (0,
|
34027
|
+
children: path.length <= 0 && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
33771
34028
|
InitialForm,
|
33772
34029
|
{
|
33773
34030
|
onSubmit: handleCoValueIdSubmit,
|
33774
34031
|
"aria-hidden": path.length !== 0,
|
33775
34032
|
children: [
|
33776
|
-
/* @__PURE__ */ (0,
|
33777
|
-
/* @__PURE__ */ (0,
|
34033
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Heading, { children: "Jazz CoValue Inspector" }),
|
34034
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
33778
34035
|
Input,
|
33779
34036
|
{
|
33780
34037
|
label: "CoValue ID",
|
@@ -33785,10 +34042,10 @@ function JazzInspectorInternal({
|
|
33785
34042
|
onChange: (e) => setCoValueId(e.target.value)
|
33786
34043
|
}
|
33787
34044
|
),
|
33788
|
-
/* @__PURE__ */ (0,
|
33789
|
-
accountId && /* @__PURE__ */ (0,
|
33790
|
-
/* @__PURE__ */ (0,
|
33791
|
-
/* @__PURE__ */ (0,
|
34045
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Button, { type: "submit", variant: "primary", children: "Inspect CoValue" }),
|
34046
|
+
accountId && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
|
34047
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(OrText, { children: "or" }),
|
34048
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
33792
34049
|
Button,
|
33793
34050
|
{
|
33794
34051
|
variant: "secondary",
|
@@ -33808,54 +34065,8 @@ function JazzInspectorInternal({
|
|
33808
34065
|
] });
|
33809
34066
|
}
|
33810
34067
|
|
33811
|
-
// src/inspector/ui/select.tsx
|
33812
|
-
var import_react16 = __toESM(require_react(), 1);
|
33813
|
-
import { styled as styled19 } from "goober";
|
33814
|
-
var import_jsx_runtime28 = __toESM(require_jsx_runtime(), 1);
|
33815
|
-
var SelectContainer = styled19("div")`
|
33816
|
-
display: grid;
|
33817
|
-
gap: 0.25rem;
|
33818
|
-
`;
|
33819
|
-
var SelectWrapper = styled19("div")`
|
33820
|
-
position: relative;
|
33821
|
-
display: flex;
|
33822
|
-
align-items: center;
|
33823
|
-
`;
|
33824
|
-
var StyledSelect = styled19("select")`
|
33825
|
-
width: 100%;
|
33826
|
-
border-radius: var(--j-radius-md);
|
33827
|
-
border: 1px solid var(--j-border-color);
|
33828
|
-
padding: 0.5rem 0.875rem 0.5rem 0.875rem;
|
33829
|
-
padding-right: 2rem;
|
33830
|
-
box-shadow: var(--j-shadow-sm);
|
33831
|
-
font-weight: 500;
|
33832
|
-
color: var(--j-text-color-strong);
|
33833
|
-
appearance: none;
|
33834
|
-
overflow: hidden;
|
33835
|
-
text-overflow: ellipsis;
|
33836
|
-
white-space: nowrap;
|
33837
|
-
|
33838
|
-
@media (prefers-color-scheme: dark) {
|
33839
|
-
background-color: var(--j-foreground);
|
33840
|
-
}
|
33841
|
-
`;
|
33842
|
-
var SelectIcon = styled19("span")`
|
33843
|
-
position: absolute;
|
33844
|
-
right: 0.5em;
|
33845
|
-
color: var(--j-neutral-400);
|
33846
|
-
pointer-events: none;
|
33847
|
-
|
33848
|
-
@media (prefers-color-scheme: dark) {
|
33849
|
-
color: var(--j-neutral-900);
|
33850
|
-
}
|
33851
|
-
`;
|
33852
|
-
|
33853
|
-
// src/inspector/index.ts
|
33854
|
-
import { setup } from "goober";
|
33855
|
-
setup(import_react17.default.createElement);
|
33856
|
-
|
33857
34068
|
// src/inspector/custom-element.tsx
|
33858
|
-
var
|
34069
|
+
var import_jsx_runtime30 = __toESM(require_jsx_runtime(), 1);
|
33859
34070
|
var JazzInspectorElement = class extends HTMLElement {
|
33860
34071
|
constructor() {
|
33861
34072
|
super(...arguments);
|
@@ -33897,7 +34108,7 @@ var JazzInspectorElement = class extends HTMLElement {
|
|
33897
34108
|
return;
|
33898
34109
|
}
|
33899
34110
|
this.root?.render(
|
33900
|
-
/* @__PURE__ */ (0,
|
34111
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
33901
34112
|
JazzInspectorInternal,
|
33902
34113
|
{
|
33903
34114
|
localNode: this.account.$jazz.localNode,
|
@@ -34023,4 +34234,4 @@ react/cjs/react-jsx-runtime.development.js:
|
|
34023
34234
|
* LICENSE file in the root directory of this source tree.
|
34024
34235
|
*)
|
34025
34236
|
*/
|
34026
|
-
//# sourceMappingURL=custom-element-
|
34237
|
+
//# sourceMappingURL=custom-element-G6SPZEBR.js.map
|