quantum-component-library 1.4.65 → 1.4.66
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/dist/generated/graphql.d.ts +39 -0
- package/dist/generated-graphql.cjs +1 -1
- package/dist/generated-graphql.js +1 -1
- package/dist/hooks.cjs +8 -1
- package/dist/hooks.js +115 -84
- package/dist/lib/hooks/use-graphql-client.d.ts +5 -2
- package/dist/lib/providers/quantum-library-provider.d.ts +4 -1
- package/dist/providers.cjs +1 -1
- package/dist/providers.js +26 -26
- package/package.json +1 -1
package/dist/hooks.cjs
CHANGED
|
@@ -1 +1,8 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),c=require("./services-human-DFPelsei.cjs"),l=require("./types.cjs");require("./lodash-vendor-CfNg9qwP.cjs");require("./moment-vendor-1cRqq0AH.cjs");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),c=require("./services-human-DFPelsei.cjs"),l=require("./types.cjs");require("./lodash-vendor-CfNg9qwP.cjs");require("./moment-vendor-1cRqq0AH.cjs");const L=require("./graphql-vendor-CSrUjvOC.cjs"),f=require("urql"),A=require("./providers.cjs");require("./react-jsx-runtime-vendor-Dszzpdy0.cjs");require("./graphql-kPu5QxaL.cjs");const d=(e,t)=>u.useMemo(()=>e.flatMap(i=>c.getEnabledJointPlanes(i,t).map(n=>({id:{joint:i},plane:n,...c.getDefaultJointRange(i,n),sensorOnly:t===l.AngleDataSource.Sensor}))),[e,t]),b=(e,t)=>{const o=u.useMemo(()=>{const n=c.getAllAvailableLimbs();return e.filter(a=>n.some(r=>r.id===a))},[e]);return u.useMemo(()=>o.flatMap(n=>c.getEnabledSegmentPlanes(n,t).map(a=>({id:{segment:n},plane:a,...c.getDefaultLimbRange(n,a),sensorOnly:t===l.AngleDataSource.Sensor}))),[o,t])},S=()=>{const e=u.useMemo(()=>c.getAllAvailableLimbs(),[]),t=u.useMemo(()=>c.getAllAvailablePoseJoints(),[]),o=b(e.map(r=>r.id),l.AngleDataSource.Pose),i=d(t.map(r=>r.id),l.AngleDataSource.Pose),n=b(e.map(r=>r.id),l.AngleDataSource.Sensor),a=d(t.map(r=>r.id),l.AngleDataSource.Sensor);return u.useMemo(()=>{const r=new Map;return[...i,...o].forEach(s=>{const m="joint"in s.id?`joint:${s.id.joint}:${s.plane}`:`segment:${s.id.segment}:${s.plane}`;r.set(m,{...s,sensorOnly:!1})}),[...a,...n].forEach(s=>{const m="joint"in s.id?`joint:${s.id.joint}:${s.plane}`:`segment:${s.id.segment}:${s.plane}`;r.has(m)||r.set(m,{...s,sensorOnly:!0})}),Array.from(r.values())},[i,o,a,n])},q=({url:e,getAuthToken:t,getRefreshToken:o,onSessionRefreshed:i,onAuthError:n})=>new f.Client({url:e,requestPolicy:"cache-and-network",exchanges:[L.authExchange(async a=>({addAuthToOperation(r){const s=t();return s?a.appendHeaders(r,{Authorization:`Bearer ${s}`}):r},didAuthError:r=>r.graphQLErrors.some(s=>s.extensions?.code==="UNAUTHORIZED"||s.extensions?.code==="UNAUTHENTICATED"||s.message.includes("Unauthorized")),refreshAuth:async()=>{const r=o();if(!r){n();return}try{const s=await a.mutate(`mutation Refresh($refreshToken: String!) {
|
|
2
|
+
refresh(refreshToken: $refreshToken) {
|
|
3
|
+
session {
|
|
4
|
+
accessToken
|
|
5
|
+
refreshToken
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
}`,{refreshToken:r});s.data?.refresh?.session?i(s.data.refresh.session.accessToken,s.data.refresh.session.refreshToken):(console.error("Refresh failed:",s.error),n())}catch(s){console.error("Refresh handling error:",s),n()}}})),f.fetchExchange]}),O=({url:e,getAuthToken:t,getRefreshToken:o,onSessionRefreshed:i,onAuthError:n})=>u.useMemo(()=>q({url:e,getAuthToken:t,getRefreshToken:o,onSessionRefreshed:i,onAuthError:n}),[e,t,o,i,n]),p=e=>{const t=c.getAllAvailableJoints();return u.useMemo(()=>t.filter(o=>o.id==="NavalSpine"||o.id==="ChestSpine"?!1:c.limbsRequiredForJoints[o.id].every(n=>e.includes(n))),[e,t])},g=e=>{const t=u.useMemo(()=>e.map(l.sensorLocationToLimbId).filter(i=>!!i),[e]);return p(t)},h=e=>u.useMemo(()=>{const o=c.getAllAvailableLimbs(),i=e.map(l.sensorLocationToLimbId);return o.filter(n=>i.includes(n.id))},[e]),P=e=>{const t=h(e),o=g(e),i=d(o.map(a=>a.id),l.AngleDataSource.Sensor),n=b(t.map(a=>a.id),l.AngleDataSource.Sensor);return[...i,...n]},y=()=>{const e=u.useContext(A.UiLabelContext);if(e===void 0)throw new Error("useUiLabelContext must be used within a UiLabelProvider");return e};exports.useAllPartParameters=S;exports.useGraphqlClient=O;exports.useJointsForLimbIds=p;exports.useJointsForSensorLocations=g;exports.useLimbsForSensorLocations=h;exports.usePartOptionsForJoints=d;exports.usePartOptionsForLimbs=b;exports.usePartOptionsForSensorLocations=P;exports.useUiLabelContext=y;
|
package/dist/hooks.js
CHANGED
|
@@ -1,127 +1,158 @@
|
|
|
1
|
-
import { useMemo as l, useContext as
|
|
2
|
-
import { h as
|
|
3
|
-
import { AngleDataSource as
|
|
1
|
+
import { useMemo as l, useContext as h } from "react";
|
|
2
|
+
import { h as b, i as g, j as f, k as L, l as O, m as P, n as T, o as y } from "./services-human-D5IllQkM.js";
|
|
3
|
+
import { AngleDataSource as c, sensorLocationToLimbId as p } from "./types.js";
|
|
4
4
|
import "./lodash-vendor-CY4G3-79.js";
|
|
5
5
|
import "./moment-vendor-DMLRxgRE.js";
|
|
6
|
-
import { a as
|
|
7
|
-
import { Client as
|
|
8
|
-
import { UiLabelContext as
|
|
6
|
+
import { a as A } from "./graphql-vendor-ipMKtdBu.js";
|
|
7
|
+
import { Client as k, fetchExchange as x } from "urql";
|
|
8
|
+
import { UiLabelContext as J } from "./providers.js";
|
|
9
9
|
import "./react-jsx-runtime-vendor-OVHDjVDe.js";
|
|
10
10
|
import "./graphql-DAkuEEbq.js";
|
|
11
|
-
const
|
|
11
|
+
const u = (e, t) => l(
|
|
12
12
|
() => e.flatMap(
|
|
13
|
-
(
|
|
14
|
-
id: { joint:
|
|
15
|
-
plane:
|
|
16
|
-
...
|
|
17
|
-
sensorOnly:
|
|
13
|
+
(i) => b(i, t).map((n) => ({
|
|
14
|
+
id: { joint: i },
|
|
15
|
+
plane: n,
|
|
16
|
+
...g(i, n),
|
|
17
|
+
sensorOnly: t === c.Sensor
|
|
18
18
|
}))
|
|
19
19
|
),
|
|
20
|
-
[e,
|
|
21
|
-
), d = (e,
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
return e.filter((a) =>
|
|
20
|
+
[e, t]
|
|
21
|
+
), d = (e, t) => {
|
|
22
|
+
const o = l(() => {
|
|
23
|
+
const n = f();
|
|
24
|
+
return e.filter((a) => n.some((r) => r.id === a));
|
|
25
25
|
}, [e]);
|
|
26
26
|
return l(
|
|
27
|
-
() =>
|
|
28
|
-
(
|
|
29
|
-
id: { segment:
|
|
27
|
+
() => o.flatMap(
|
|
28
|
+
(n) => L(n, t).map((a) => ({
|
|
29
|
+
id: { segment: n },
|
|
30
30
|
plane: a,
|
|
31
|
-
...
|
|
32
|
-
sensorOnly:
|
|
31
|
+
...O(n, a),
|
|
32
|
+
sensorOnly: t === c.Sensor
|
|
33
33
|
}))
|
|
34
34
|
),
|
|
35
|
-
[
|
|
35
|
+
[o, t]
|
|
36
36
|
);
|
|
37
|
-
},
|
|
38
|
-
const e = l(() =>
|
|
37
|
+
}, N = () => {
|
|
38
|
+
const e = l(() => f(), []), t = l(() => P(), []), o = d(
|
|
39
39
|
e.map((r) => r.id),
|
|
40
|
-
|
|
41
|
-
),
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
),
|
|
40
|
+
c.Pose
|
|
41
|
+
), i = u(
|
|
42
|
+
t.map((r) => r.id),
|
|
43
|
+
c.Pose
|
|
44
|
+
), n = d(
|
|
45
45
|
e.map((r) => r.id),
|
|
46
|
-
|
|
47
|
-
), a =
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
c.Sensor
|
|
47
|
+
), a = u(
|
|
48
|
+
t.map((r) => r.id),
|
|
49
|
+
c.Sensor
|
|
50
50
|
);
|
|
51
51
|
return l(() => {
|
|
52
52
|
const r = /* @__PURE__ */ new Map();
|
|
53
|
-
return [...
|
|
54
|
-
const
|
|
55
|
-
r.set(
|
|
56
|
-
}), [...a, ...
|
|
57
|
-
const
|
|
58
|
-
r.has(
|
|
53
|
+
return [...i, ...o].forEach((s) => {
|
|
54
|
+
const m = "joint" in s.id ? `joint:${s.id.joint}:${s.plane}` : `segment:${s.id.segment}:${s.plane}`;
|
|
55
|
+
r.set(m, { ...s, sensorOnly: !1 });
|
|
56
|
+
}), [...a, ...n].forEach((s) => {
|
|
57
|
+
const m = "joint" in s.id ? `joint:${s.id.joint}:${s.plane}` : `segment:${s.id.segment}:${s.plane}`;
|
|
58
|
+
r.has(m) || r.set(m, { ...s, sensorOnly: !0 });
|
|
59
59
|
}), Array.from(r.values());
|
|
60
60
|
}, [
|
|
61
|
+
i,
|
|
61
62
|
o,
|
|
62
|
-
n,
|
|
63
63
|
a,
|
|
64
|
-
|
|
64
|
+
n
|
|
65
65
|
]);
|
|
66
66
|
}, $ = ({
|
|
67
67
|
url: e,
|
|
68
|
-
getAuthToken:
|
|
69
|
-
|
|
68
|
+
getAuthToken: t,
|
|
69
|
+
getRefreshToken: o,
|
|
70
|
+
onSessionRefreshed: i,
|
|
71
|
+
onAuthError: n
|
|
72
|
+
}) => new k({
|
|
70
73
|
url: e,
|
|
71
74
|
requestPolicy: "cache-and-network",
|
|
72
75
|
exchanges: [
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
76
|
+
A(async (a) => ({
|
|
77
|
+
addAuthToOperation(r) {
|
|
78
|
+
const s = t();
|
|
79
|
+
return s ? a.appendHeaders(r, {
|
|
80
|
+
Authorization: `Bearer ${s}`
|
|
81
|
+
}) : r;
|
|
82
|
+
},
|
|
83
|
+
didAuthError: (r) => r.graphQLErrors.some(
|
|
84
|
+
(s) => s.extensions?.code === "UNAUTHORIZED" || s.extensions?.code === "UNAUTHENTICATED" || s.message.includes("Unauthorized")
|
|
85
|
+
),
|
|
86
|
+
refreshAuth: async () => {
|
|
87
|
+
const r = o();
|
|
88
|
+
if (!r) {
|
|
89
|
+
n();
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
try {
|
|
93
|
+
const s = await a.mutate(
|
|
94
|
+
`mutation Refresh($refreshToken: String!) {
|
|
95
|
+
refresh(refreshToken: $refreshToken) {
|
|
96
|
+
session {
|
|
97
|
+
accessToken
|
|
98
|
+
refreshToken
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}`,
|
|
102
|
+
{ refreshToken: r }
|
|
103
|
+
);
|
|
104
|
+
s.data?.refresh?.session ? i(
|
|
105
|
+
s.data.refresh.session.accessToken,
|
|
106
|
+
s.data.refresh.session.refreshToken
|
|
107
|
+
) : (console.error("Refresh failed:", s.error), n());
|
|
108
|
+
} catch (s) {
|
|
109
|
+
console.error("Refresh handling error:", s), n();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
})),
|
|
113
|
+
x
|
|
86
114
|
]
|
|
87
|
-
}),
|
|
115
|
+
}), H = ({
|
|
88
116
|
url: e,
|
|
89
|
-
getAuthToken:
|
|
117
|
+
getAuthToken: t,
|
|
118
|
+
getRefreshToken: o,
|
|
119
|
+
onSessionRefreshed: i,
|
|
120
|
+
onAuthError: n
|
|
90
121
|
}) => l(
|
|
91
|
-
() => $({ url: e, getAuthToken:
|
|
92
|
-
[e,
|
|
122
|
+
() => $({ url: e, getAuthToken: t, getRefreshToken: o, onSessionRefreshed: i, onAuthError: n }),
|
|
123
|
+
[e, t, o, i, n]
|
|
93
124
|
), C = (e) => {
|
|
94
|
-
const
|
|
95
|
-
return l(() =>
|
|
125
|
+
const t = T();
|
|
126
|
+
return l(() => t.filter((o) => o.id === "NavalSpine" || o.id === "ChestSpine" ? !1 : y[o.id].every((n) => e.includes(n))), [e, t]);
|
|
96
127
|
}, E = (e) => {
|
|
97
|
-
const
|
|
98
|
-
return C(
|
|
99
|
-
},
|
|
100
|
-
const
|
|
101
|
-
return
|
|
102
|
-
}, [e]),
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
),
|
|
107
|
-
|
|
108
|
-
|
|
128
|
+
const t = l(() => e.map(p).filter((i) => !!i), [e]);
|
|
129
|
+
return C(t);
|
|
130
|
+
}, S = (e) => l(() => {
|
|
131
|
+
const o = f(), i = e.map(p);
|
|
132
|
+
return o.filter((n) => i.includes(n.id));
|
|
133
|
+
}, [e]), z = (e) => {
|
|
134
|
+
const t = S(e), o = E(e), i = u(
|
|
135
|
+
o.map((a) => a.id),
|
|
136
|
+
c.Sensor
|
|
137
|
+
), n = d(
|
|
138
|
+
t.map((a) => a.id),
|
|
139
|
+
c.Sensor
|
|
109
140
|
);
|
|
110
|
-
return [...
|
|
111
|
-
},
|
|
112
|
-
const e =
|
|
141
|
+
return [...i, ...n];
|
|
142
|
+
}, B = () => {
|
|
143
|
+
const e = h(J);
|
|
113
144
|
if (e === void 0)
|
|
114
145
|
throw new Error("useUiLabelContext must be used within a UiLabelProvider");
|
|
115
146
|
return e;
|
|
116
147
|
};
|
|
117
148
|
export {
|
|
118
|
-
|
|
119
|
-
|
|
149
|
+
N as useAllPartParameters,
|
|
150
|
+
H as useGraphqlClient,
|
|
120
151
|
C as useJointsForLimbIds,
|
|
121
152
|
E as useJointsForSensorLocations,
|
|
122
|
-
|
|
123
|
-
|
|
153
|
+
S as useLimbsForSensorLocations,
|
|
154
|
+
u as usePartOptionsForJoints,
|
|
124
155
|
d as usePartOptionsForLimbs,
|
|
125
|
-
|
|
126
|
-
|
|
156
|
+
z as usePartOptionsForSensorLocations,
|
|
157
|
+
B as useUiLabelContext
|
|
127
158
|
};
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { Client } from 'urql';
|
|
2
|
-
export declare const useGraphqlClient: ({ url, getAuthToken, }: {
|
|
2
|
+
export declare const useGraphqlClient: ({ url, getAuthToken, getRefreshToken, onSessionRefreshed, onAuthError, }: {
|
|
3
3
|
url: string;
|
|
4
|
-
getAuthToken: () => string;
|
|
4
|
+
getAuthToken: () => string | null;
|
|
5
|
+
getRefreshToken: () => string | null;
|
|
6
|
+
onSessionRefreshed: (accessToken: string, refreshToken?: string) => void;
|
|
7
|
+
onAuthError: () => void;
|
|
5
8
|
}) => Client;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { ChakraProviderProps } from '@chakra-ui/react';
|
|
2
2
|
interface QuantumLibraryProviderProps {
|
|
3
3
|
url: string;
|
|
4
|
-
getAuthToken: () => string;
|
|
4
|
+
getAuthToken: () => string | null;
|
|
5
|
+
getRefreshToken: () => string | null;
|
|
6
|
+
onSessionRefreshed: (accessToken: string, refreshToken?: string) => void;
|
|
7
|
+
onAuthError: () => void;
|
|
5
8
|
chakraProviderProps: Omit<ChakraProviderProps, "children">;
|
|
6
9
|
}
|
|
7
10
|
export declare const QuantumLibraryProvider: React.FC<React.PropsWithChildren<QuantumLibraryProviderProps>>;
|
package/dist/providers.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./react-jsx-runtime-vendor-Dszzpdy0.cjs"),u=require("./graphql-kPu5QxaL.cjs"),c=require("react"),x=require("urql"),v=require("@chakra-ui/react"),E=require("./hooks.cjs"),d=require("./generated.cjs"),b=c.createContext(void 0),g=({children:i})=>{const[{data:t,fetching:e}]=x.useQuery({query:u.GET_METADATA_BY_KEY,variables:{key:"ui_label"}}),r=c.useCallback(s=>{if(e)return"Loading...";const a=d.getFragmentData(u.METADATA_GROUP_FRAGMENT,t?.getMetadataByKey);return a?d.getFragmentData(u.METADATA_ITEM_FRAGMENT,a.data).find(m=>m.value===s)?.label??"":""},[t,e]),o=c.useMemo(()=>({getLabel:r,isLoading:e}),[r,e]);return n.jsxRuntimeExports.jsx(b.Provider,{value:o,children:i})},q=({children:i,url:t,getAuthToken:e,getRefreshToken:r,onSessionRefreshed:o,onAuthError:s,chakraProviderProps:a})=>{const l=E.useGraphqlClient({url:t,getAuthToken:e,getRefreshToken:r,onSessionRefreshed:o,onAuthError:s});return n.jsxRuntimeExports.jsx(x.Provider,{value:l,children:n.jsxRuntimeExports.jsx(v.ChakraProvider,{...a,children:n.jsxRuntimeExports.jsx(g,{children:i})})})};exports.QuantumLibraryProvider=q;exports.UiLabelContext=b;exports.UiLabelProvider=g;
|
package/dist/providers.js
CHANGED
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { G as
|
|
3
|
-
import { createContext as
|
|
4
|
-
import { useQuery as
|
|
5
|
-
import { ChakraProvider as
|
|
6
|
-
import { useGraphqlClient as
|
|
7
|
-
import { getFragmentData as
|
|
8
|
-
const
|
|
1
|
+
import { j as o } from "./react-jsx-runtime-vendor-OVHDjVDe.js";
|
|
2
|
+
import { G as d, M as c, a as f } from "./graphql-DAkuEEbq.js";
|
|
3
|
+
import { createContext as p, useCallback as A, useMemo as v } from "react";
|
|
4
|
+
import { useQuery as x, Provider as T } from "urql";
|
|
5
|
+
import { ChakraProvider as E } from "@chakra-ui/react";
|
|
6
|
+
import { useGraphqlClient as M } from "./hooks.js";
|
|
7
|
+
import { getFragmentData as l } from "./generated.js";
|
|
8
|
+
const b = p(
|
|
9
9
|
void 0
|
|
10
|
-
),
|
|
11
|
-
const [{ data: t, fetching: e }] =
|
|
12
|
-
query:
|
|
10
|
+
), _ = ({ children: i }) => {
|
|
11
|
+
const [{ data: t, fetching: e }] = x({
|
|
12
|
+
query: d,
|
|
13
13
|
variables: { key: "ui_label" }
|
|
14
|
-
}), r =
|
|
15
|
-
(
|
|
14
|
+
}), r = A(
|
|
15
|
+
(s) => {
|
|
16
16
|
if (e)
|
|
17
17
|
return "Loading...";
|
|
18
|
-
const
|
|
19
|
-
|
|
18
|
+
const a = l(
|
|
19
|
+
c,
|
|
20
20
|
t?.getMetadataByKey
|
|
21
21
|
);
|
|
22
|
-
return
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
).find((
|
|
22
|
+
return a ? l(
|
|
23
|
+
f,
|
|
24
|
+
a.data
|
|
25
|
+
).find((u) => u.value === s)?.label ?? "" : "";
|
|
26
26
|
},
|
|
27
27
|
[t, e]
|
|
28
|
-
),
|
|
28
|
+
), n = v(
|
|
29
29
|
() => ({
|
|
30
30
|
getLabel: r,
|
|
31
31
|
isLoading: e
|
|
32
32
|
}),
|
|
33
33
|
[r, e]
|
|
34
34
|
);
|
|
35
|
-
return /* @__PURE__ */
|
|
36
|
-
}, C = ({ children:
|
|
37
|
-
const
|
|
38
|
-
return /* @__PURE__ */
|
|
35
|
+
return /* @__PURE__ */ o.jsx(b.Provider, { value: n, children: i });
|
|
36
|
+
}, C = ({ children: i, url: t, getAuthToken: e, getRefreshToken: r, onSessionRefreshed: n, onAuthError: s, chakraProviderProps: a }) => {
|
|
37
|
+
const m = M({ url: t, getAuthToken: e, getRefreshToken: r, onSessionRefreshed: n, onAuthError: s });
|
|
38
|
+
return /* @__PURE__ */ o.jsx(T, { value: m, children: /* @__PURE__ */ o.jsx(E, { ...a, children: /* @__PURE__ */ o.jsx(_, { children: i }) }) });
|
|
39
39
|
};
|
|
40
40
|
export {
|
|
41
41
|
C as QuantumLibraryProvider,
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
b as UiLabelContext,
|
|
43
|
+
_ as UiLabelProvider
|
|
44
44
|
};
|