@_linked/react 1.0.0 → 2.0.0-next.20260325035613
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/CHANGELOG.md +16 -1
- package/lib/cjs/index.d.ts +2 -0
- package/lib/cjs/index.js +2 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/package.d.ts +5 -5
- package/lib/cjs/package.js.map +1 -1
- package/lib/cjs/utils/ClassNames.d.ts +2 -0
- package/lib/cjs/utils/ClassNames.js +9 -0
- package/lib/cjs/utils/ClassNames.js.map +1 -0
- package/lib/cjs/utils/LinkedComponent.d.ts +26 -9
- package/lib/cjs/utils/LinkedComponent.js +51 -35
- package/lib/cjs/utils/LinkedComponent.js.map +1 -1
- package/lib/cjs/utils/LinkedComponentClass.d.ts +1 -0
- package/lib/cjs/utils/LinkedComponentClass.js.map +1 -1
- package/lib/cjs/utils/useQueryContext.d.ts +7 -0
- package/lib/cjs/utils/useQueryContext.js +18 -0
- package/lib/cjs/utils/useQueryContext.js.map +1 -0
- package/lib/esm/index.d.ts +2 -0
- package/lib/esm/index.js +2 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/package.d.ts +5 -5
- package/lib/esm/package.js.map +1 -1
- package/lib/esm/utils/ClassNames.d.ts +2 -0
- package/lib/esm/utils/ClassNames.js +3 -0
- package/lib/esm/utils/ClassNames.js.map +1 -0
- package/lib/esm/utils/LinkedComponent.d.ts +26 -9
- package/lib/esm/utils/LinkedComponent.js +51 -35
- package/lib/esm/utils/LinkedComponent.js.map +1 -1
- package/lib/esm/utils/LinkedComponentClass.d.ts +1 -0
- package/lib/esm/utils/LinkedComponentClass.js.map +1 -1
- package/lib/esm/utils/useQueryContext.d.ts +7 -0
- package/lib/esm/utils/useQueryContext.js +15 -0
- package/lib/esm/utils/useQueryContext.js.map +1 -0
- package/package.json +6 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 2.0.0
|
|
4
4
|
|
|
5
5
|
### Major Changes
|
|
6
6
|
|
|
7
|
+
- [#1](https://github.com/Semantu/linked-react/pull/1) [`4ef2ccf`](https://github.com/Semantu/linked-react/commit/4ef2ccf954629e43b6ddc995766d8e26244130ca) Thanks [@flyon](https://github.com/flyon)! - update to major
|
|
8
|
+
|
|
9
|
+
### Minor Changes
|
|
10
|
+
|
|
11
|
+
- [#5](https://github.com/Semantu/linked-react/pull/5) [`ed0e99d`](https://github.com/Semantu/linked-react/commit/ed0e99d942fd9b5dfc936a5759d5c591ac470a04) Thanks [@linked-cm](https://github.com/linked-cm)! - Migrate from `SelectQueryFactory` to `QueryBuilder` for compatibility with `@_linked/core` v2.x. Replace removed `Shape.queryParser` with `getQueryDispatch()`, update all type signatures and runtime code to use the immutable `QueryBuilder` API (`.for()`, `.forAll()`, `.limit()`, `.offset()`, `.build()`). Query result types are now correctly inferred from `QueryBuilder` generic parameters. Requires `@_linked/core` ^2.2.0 as peer dependency.
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [#4](https://github.com/Semantu/linked-react/pull/4) [`58522a9`](https://github.com/Semantu/linked-react/commit/58522a9b7be5a2c7d8e279704da7dd2bc371cba4) Thanks [@flyon](https://github.com/flyon)! - Upgrade to @\_linked/core@2.2.1
|
|
16
|
+
Fix `preloadFor` rendering wrong entity and add Fuseki integration tests.
|
|
17
|
+
Added 7 Fuseki-backed integration tests covering `linkedComponent` and `linkedSetComponent`:
|
|
18
|
+
Tests use a custom Jest environment (`jest-environment-jsdom-with-fetch`) that restores Node's native `fetch` in jsdom, and auto-start Fuseki via Docker when needed.
|
|
19
|
+
|
|
20
|
+
### 1.0.0 (from LINCD.js)
|
|
21
|
+
|
|
7
22
|
Initial extraction from the LINCD monolith. Moves React-specific linked component wrappers into a standalone package.
|
|
8
23
|
|
|
9
24
|
- `linkedComponent(...)` and `linkedSetComponent(...)` extracted from `lincd`.
|
package/lib/cjs/index.d.ts
CHANGED
package/lib/cjs/index.js
CHANGED
|
@@ -18,4 +18,6 @@ __exportStar(require("./package.js"), exports);
|
|
|
18
18
|
__exportStar(require("./utils/LinkedComponent.js"), exports);
|
|
19
19
|
__exportStar(require("./utils/LinkedComponentClass.js"), exports);
|
|
20
20
|
__exportStar(require("./utils/Hooks.js"), exports);
|
|
21
|
+
__exportStar(require("./utils/ClassNames.js"), exports);
|
|
22
|
+
__exportStar(require("./utils/useQueryContext.js"), exports);
|
|
21
23
|
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,6DAA2C;AAC3C,kEAAgD;AAChD,mDAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,6DAA2C;AAC3C,kEAAgD;AAChD,mDAAiC;AACjC,wDAAsC;AACtC,6DAA2C"}
|
package/lib/cjs/package.d.ts
CHANGED
|
@@ -2,9 +2,9 @@ import { Shape } from '@_linked/core/shapes/Shape';
|
|
|
2
2
|
declare const linkedUtil: (constructor: any) => any, linkedOntology: (allFileExports: any, nameSpace: (term: string) => import("@_linked/core/utils/NodeReference.js").NodeReferenceValue, suggestedPrefixAndFileName: string, loadDataFunction?: () => Promise<any>, dataSource?: string | string[]) => void, linkedShape: {
|
|
3
3
|
<T extends typeof Shape>(constructor: T): void;
|
|
4
4
|
<T extends typeof Shape>(config?: import("@_linked/core/utils/Package").ShapeConfig): (constructor: T) => void;
|
|
5
|
-
}, registerPackageExport: (exportedObject: any) => void, registerPackageModule: (_module: any) => void, packageExports: any, getPackageShape: (name: string) =>
|
|
6
|
-
declare const linkedComponent: <QueryType extends import("@_linked/core/queries/
|
|
7
|
-
declare const linkedSetComponent: <QueryType extends import("@_linked/core/queries/
|
|
8
|
-
[key: string]: import("@_linked/core/queries/
|
|
9
|
-
} = null, CustomProps = {}, ShapeType extends Shape = import("@_linked/core/queries/
|
|
5
|
+
}, registerPackageExport: (exportedObject: any) => void, registerPackageModule: (_module: any) => void, packageExports: any, getPackageShape: (name: string) => import("@_linked/core/shapes/Shape").ShapeConstructor | undefined;
|
|
6
|
+
declare const linkedComponent: <QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<any> = null, CustomProps = {}, ShapeType extends Shape = QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<infer S extends Shape, any, any> ? S : never, Res = QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<any, infer R, any> ? R : QueryType extends import("@_linked/core/queries/FieldSet.js").FieldSet<infer R_1, any> ? R_1 : QueryType>(query: QueryType, functionalComponent: import("./utils/LinkedComponent.js").LinkableComponent<CustomProps & import("@_linked/core/queries/SelectQuery.js").QueryResponseToResultType<Res, ShapeType>, ShapeType>) => import("./utils/LinkedComponent.js").LinkedComponent<CustomProps, ShapeType, Res>;
|
|
7
|
+
declare const linkedSetComponent: <QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<any> | {
|
|
8
|
+
[key: string]: import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<any>;
|
|
9
|
+
} = null, CustomProps = {}, ShapeType extends Shape = QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<infer S extends Shape, any, any> ? S : never, Res = import("@_linked/core/queries/SelectQuery.js").ToQueryResultSet<QueryType>>(query: QueryType, functionalComponent: import("./utils/LinkedComponent.js").LinkableSetComponent<CustomProps & import("@_linked/core/queries/SelectQuery.js").GetCustomObjectKeys<QueryType> & import("@_linked/core/queries/SelectQuery.js").QueryControllerProps, ShapeType>) => import("./utils/LinkedComponent.js").LinkedSetComponent<CustomProps, ShapeType, Res>;
|
|
10
10
|
export { linkedComponent, linkedSetComponent, linkedShape, linkedUtil, linkedOntology, registerPackageExport, registerPackageModule, packageExports, getPackageShape, };
|
package/lib/cjs/package.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/package.ts"],"names":[],"mappings":";;;AAAA,+DAA0D;AAC1D,yDAA0D;AAE1D,mEAIoC;AAEpC,IAAI,iBAAiB,GAA0C,IAAI,GAAG,EAAE,CAAC;AAEzE,MAAM,EACJ,UAAU,EACV,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,eAAe,GAChB,GAAG,IAAA,uBAAa,EAAC,gBAAgB,CAAC,CAAC;AAoClC,gCAAU;AACV,wCAAc;AAFd,kCAAW;AAGX,sDAAqB;AACrB,sDAAqB;AACrB,wCAAc;AACd,0CAAe;AAvCjB,SAAS,iBAAiB,CAAC,iBAA4B,EAAE,KAAoB;IAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC;YACtE,OAAO,CAAC,IAAI,CACV,
|
|
1
|
+
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/package.ts"],"names":[],"mappings":";;;AAAA,+DAA0D;AAC1D,yDAA0D;AAE1D,mEAIoC;AAEpC,IAAI,iBAAiB,GAA0C,IAAI,GAAG,EAAE,CAAC;AAEzE,MAAM,EACJ,UAAU,EACV,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,eAAe,GAChB,GAAG,IAAA,uBAAa,EAAC,gBAAgB,CAAC,CAAC;AAoClC,gCAAU;AACV,wCAAc;AAFd,kCAAW;AAGX,sDAAqB;AACrB,sDAAqB;AACrB,wCAAc;AACd,0CAAe;AAvCjB,SAAS,iBAAiB,CAAC,iBAA4B,EAAE,KAAoB;IAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC;YACtE,OAAO,CAAC,IAAI,CACV,aACG,iBAAyB,CAAC,WAAW,IAAK,iBAAyB,CAAC,IACvE,4BAA4B,CAC7B,CAAC;YACF,OAAO;QACT,CAAC;QACD,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,iBAAO,EAAO,CAAC,CAAC;IACnD,CAAC;IAED,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,eAAe,GAAG,IAAA,4CAAuB,EAC7C,qBAAqB,EACrB,iBAAiB,CAClB,CAAC;AAQA,0CAAe;AANjB,MAAM,kBAAkB,GAAG,IAAA,+CAA0B,EACnD,qBAAqB,EACrB,iBAAiB,CAClB,CAAC;AAIA,gDAAkB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.cl = void 0;
|
|
7
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
8
|
+
exports.cl = classnames_1.default;
|
|
9
|
+
//# sourceMappingURL=ClassNames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClassNames.js","sourceRoot":"","sources":["../../../src/utils/ClassNames.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AACpB,aADD,oBAAE,CACC"}
|
|
@@ -1,8 +1,25 @@
|
|
|
1
|
-
import { GetCustomObjectKeys,
|
|
1
|
+
import { GetCustomObjectKeys, QResult, QueryControllerProps, QueryResponseToResultType, ToQueryResultSet } from '@_linked/core/queries/SelectQuery';
|
|
2
2
|
import { Shape } from '@_linked/core/shapes/Shape';
|
|
3
|
+
import { QueryBuilder } from '@_linked/core/queries/QueryBuilder';
|
|
4
|
+
import { FieldSet } from '@_linked/core/queries/FieldSet';
|
|
3
5
|
import React from 'react';
|
|
4
6
|
import { ShapeSet } from '@_linked/core/collections/ShapeSet';
|
|
5
7
|
import { NodeReferenceValue } from '@_linked/core/utils/NodeReference';
|
|
8
|
+
/**
|
|
9
|
+
* Extract the Shape type parameter from a QueryBuilder.
|
|
10
|
+
*/
|
|
11
|
+
type GetQueryShapeType<Q> = Q extends QueryBuilder<infer S, any, any> ? S : never;
|
|
12
|
+
/**
|
|
13
|
+
* Extract the query response type from a QueryBuilder or FieldSet.
|
|
14
|
+
* Falls through to Q itself if neither matches (preserves legacy behaviour).
|
|
15
|
+
*/
|
|
16
|
+
type GetQueryResponseType<Q> = Q extends QueryBuilder<any, infer R, any> ? R : Q extends FieldSet<infer R, any> ? R : Q;
|
|
17
|
+
/**
|
|
18
|
+
* A wrapper object mapping a single key to a QueryBuilder (used by linkedSetComponent).
|
|
19
|
+
*/
|
|
20
|
+
type QueryWrapperObject<ShapeType extends Shape = any> = {
|
|
21
|
+
[key: string]: QueryBuilder<ShapeType>;
|
|
22
|
+
};
|
|
6
23
|
export type Component<P = any, ShapeType extends Shape = Shape> = ClassComponent<P, ShapeType> | LinkedComponent<P, ShapeType> | LinkedSetComponent<P, ShapeType>;
|
|
7
24
|
export interface ClassComponent<P, ShapeType extends Shape = Shape> extends React.ComponentClass<P & LinkedComponentProps<ShapeType>> {
|
|
8
25
|
props: P & LinkedComponentProps<ShapeType>;
|
|
@@ -10,12 +27,12 @@ export interface ClassComponent<P, ShapeType extends Shape = Shape> extends Reac
|
|
|
10
27
|
}
|
|
11
28
|
export interface LinkedComponent<P, ShapeType extends Shape = Shape, ResultType = any> extends React.FC<P & LinkedComponentInputProps<ShapeType> & React.ComponentPropsWithRef<any>> {
|
|
12
29
|
original?: LinkableComponent<P, ShapeType>;
|
|
13
|
-
query:
|
|
30
|
+
query: QueryBuilder<any>;
|
|
14
31
|
shape?: typeof Shape;
|
|
15
32
|
}
|
|
16
33
|
export interface LinkedSetComponent<P, ShapeType extends Shape = Shape, Res = any> extends React.FC<P & LinkedSetComponentInputProps<ShapeType> & React.ComponentPropsWithRef<any>> {
|
|
17
34
|
original?: LinkableSetComponent<P, ShapeType>;
|
|
18
|
-
query:
|
|
35
|
+
query: QueryBuilder<any> | QueryWrapperObject<ShapeType>;
|
|
19
36
|
shape?: typeof Shape;
|
|
20
37
|
}
|
|
21
38
|
export type LinkableComponent<P, ShapeType extends Shape = Shape> = React.FC<P & LinkedComponentProps<ShapeType>>;
|
|
@@ -40,13 +57,13 @@ interface LinkedComponentInputBaseProps extends React.PropsWithChildren {
|
|
|
40
57
|
className?: string | string[];
|
|
41
58
|
style?: React.CSSProperties;
|
|
42
59
|
}
|
|
43
|
-
export type LinkedSetComponentFactoryFn = <QueryType extends
|
|
44
|
-
[key: string]:
|
|
60
|
+
export type LinkedSetComponentFactoryFn = <QueryType extends QueryBuilder<any> | {
|
|
61
|
+
[key: string]: QueryBuilder<any>;
|
|
45
62
|
} = null, CustomProps = {}, ShapeType extends Shape = GetQueryShapeType<QueryType>, Res = ToQueryResultSet<QueryType>>(requiredData: QueryType, functionalComponent: LinkableSetComponent<CustomProps & GetCustomObjectKeys<QueryType> & QueryControllerProps, ShapeType, Res>) => LinkedSetComponent<CustomProps, ShapeType, Res>;
|
|
46
|
-
export type LinkedComponentFactoryFn = <QueryType extends
|
|
47
|
-
export declare function createLinkedComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends
|
|
48
|
-
export declare function createLinkedSetComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends
|
|
49
|
-
[key: string]:
|
|
63
|
+
export type LinkedComponentFactoryFn = <QueryType extends QueryBuilder<any> = null, CustomProps = {}, ShapeType extends Shape = GetQueryShapeType<QueryType>, Response = GetQueryResponseType<QueryType>, ResultType = QueryResponseToResultType<Response, ShapeType>>(query: QueryType, functionalComponent: LinkableComponent<CustomProps & ResultType, ShapeType>) => LinkedComponent<CustomProps, ShapeType, ResultType>;
|
|
64
|
+
export declare function createLinkedComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends QueryBuilder<any> = null, CustomProps = {}, ShapeType extends Shape = GetQueryShapeType<QueryType>, Res = GetQueryResponseType<QueryType>>(query: QueryType, functionalComponent: LinkableComponent<CustomProps & QueryResponseToResultType<Res, ShapeType>, ShapeType>) => LinkedComponent<CustomProps, ShapeType, Res>;
|
|
65
|
+
export declare function createLinkedSetComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends QueryBuilder<any> | {
|
|
66
|
+
[key: string]: QueryBuilder<any>;
|
|
50
67
|
} = null, CustomProps = {}, ShapeType extends Shape = GetQueryShapeType<QueryType>, Res = ToQueryResultSet<QueryType>>(query: QueryType, functionalComponent: LinkableSetComponent<CustomProps & GetCustomObjectKeys<QueryType> & QueryControllerProps, ShapeType>) => LinkedSetComponent<CustomProps, ShapeType, Res>;
|
|
51
68
|
export declare function getSourceFromInputProps(props: any, shapeClass: any): any;
|
|
52
69
|
export {};
|
|
@@ -36,8 +36,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.createLinkedComponentFn = createLinkedComponentFn;
|
|
37
37
|
exports.createLinkedSetComponentFn = createLinkedSetComponentFn;
|
|
38
38
|
exports.getSourceFromInputProps = getSourceFromInputProps;
|
|
39
|
-
const SelectQuery_1 = require("@_linked/core/queries/SelectQuery");
|
|
40
39
|
const Shape_1 = require("@_linked/core/shapes/Shape");
|
|
40
|
+
const QueryBuilder_1 = require("@_linked/core/queries/QueryBuilder");
|
|
41
|
+
const queryDispatch_1 = require("@_linked/core/queries/queryDispatch");
|
|
41
42
|
const react_1 = __importStar(require("react"));
|
|
42
43
|
const LinkedStorage_1 = require("@_linked/core/utils/LinkedStorage");
|
|
43
44
|
const Package_1 = require("@_linked/core/utils/Package");
|
|
@@ -56,19 +57,15 @@ function createLinkedComponentFn(registerPackageExport, registerComponent) {
|
|
|
56
57
|
linkedProps.ref = ref;
|
|
57
58
|
}
|
|
58
59
|
const loadData = () => {
|
|
59
|
-
var _a
|
|
60
|
+
var _a;
|
|
60
61
|
const sourceId = (_a = linkedProps.source) === null || _a === void 0 ? void 0 : _a.id;
|
|
61
62
|
if (!loadingData || loadingData !== sourceId) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
setLoadingData(sourceId ||
|
|
67
|
-
|
|
68
|
-
if (!parser) {
|
|
69
|
-
throw new Error(`No query parser configured for ${(shapeClass === null || shapeClass === void 0 ? void 0 : shapeClass.name) || 'shape'}.`);
|
|
70
|
-
}
|
|
71
|
-
parser.selectQuery(requestQuery).then((result) => {
|
|
63
|
+
// QueryBuilder is immutable — chain calls produce new instances.
|
|
64
|
+
let requestQuery = linkedProps.source
|
|
65
|
+
? actualQuery.for(linkedProps.source)
|
|
66
|
+
: actualQuery;
|
|
67
|
+
setLoadingData(sourceId || requestQuery.toJSON().subject);
|
|
68
|
+
(0, queryDispatch_1.getQueryDispatch)().selectQuery(requestQuery.build()).then((result) => {
|
|
72
69
|
setQueryResult(result);
|
|
73
70
|
setLoadingData(null);
|
|
74
71
|
});
|
|
@@ -77,7 +74,7 @@ function createLinkedComponentFn(registerPackageExport, registerComponent) {
|
|
|
77
74
|
console.warn(`Already loading data for source ${loadingData}, ignoring request`);
|
|
78
75
|
}
|
|
79
76
|
};
|
|
80
|
-
let sourceIsValidQResult = isValidQResult(props.of,
|
|
77
|
+
let sourceIsValidQResult = isValidQResult(props.of, actualQuery);
|
|
81
78
|
if (queryResult || sourceIsValidQResult) {
|
|
82
79
|
linkedProps = Object.assign(linkedProps, queryResult || props.of);
|
|
83
80
|
}
|
|
@@ -94,7 +91,7 @@ function createLinkedComponentFn(registerPackageExport, registerComponent) {
|
|
|
94
91
|
loadData();
|
|
95
92
|
}
|
|
96
93
|
}, [queryResult, props.of]);
|
|
97
|
-
if (!linkedProps.source && !actualQuery.subject) {
|
|
94
|
+
if (!linkedProps.source && !actualQuery.toJSON().subject) {
|
|
98
95
|
console.warn('This component requires a source to be provided (use the property "of"): ' +
|
|
99
96
|
functionalComponent.name);
|
|
100
97
|
return null;
|
|
@@ -138,7 +135,7 @@ function createLinkedSetComponentFn(registerPackageExport, registerComponent) {
|
|
|
138
135
|
var _a;
|
|
139
136
|
let [queryResult, setQueryResult] = (0, react_1.useState)(undefined);
|
|
140
137
|
let linkedProps = getLinkedSetComponentProps(props, shapeClass, functionalComponent);
|
|
141
|
-
let defaultLimit = actualQuery.
|
|
138
|
+
let defaultLimit = actualQuery.toJSON().limit || Package_1.DEFAULT_LIMIT;
|
|
142
139
|
let [limit, setLimit] = (0, react_1.useState)(defaultLimit);
|
|
143
140
|
let [offset, setOffset] = (0, react_1.useState)(0);
|
|
144
141
|
if (ref) {
|
|
@@ -147,7 +144,7 @@ function createLinkedSetComponentFn(registerPackageExport, registerComponent) {
|
|
|
147
144
|
let sourceIsValidQResult = Array.isArray(props.of) &&
|
|
148
145
|
props.of.length > 0 &&
|
|
149
146
|
typeof ((_a = props.of[0]) === null || _a === void 0 ? void 0 : _a.id) === 'string' &&
|
|
150
|
-
|
|
147
|
+
isValidSetQResult(props.of, actualQuery);
|
|
151
148
|
if (queryResult || sourceIsValidQResult) {
|
|
152
149
|
let dataResult;
|
|
153
150
|
if (queryResult) {
|
|
@@ -161,7 +158,7 @@ function createLinkedSetComponentFn(registerPackageExport, registerComponent) {
|
|
|
161
158
|
dataResult = props.of;
|
|
162
159
|
}
|
|
163
160
|
}
|
|
164
|
-
if (query instanceof
|
|
161
|
+
if (query instanceof QueryBuilder_1.QueryBuilder) {
|
|
165
162
|
linkedProps = Object.assign(linkedProps, {
|
|
166
163
|
linkedData: dataResult,
|
|
167
164
|
});
|
|
@@ -189,19 +186,18 @@ function createLinkedSetComponentFn(registerPackageExport, registerComponent) {
|
|
|
189
186
|
}
|
|
190
187
|
(0, react_1.useEffect)(() => {
|
|
191
188
|
if (usingStorage && !sourceIsValidQResult) {
|
|
192
|
-
|
|
193
|
-
requestQuery
|
|
189
|
+
// QueryBuilder is immutable — chain calls to set subjects, limit, offset.
|
|
190
|
+
let requestQuery = actualQuery;
|
|
191
|
+
if (linkedProps.sources) {
|
|
192
|
+
requestQuery = requestQuery.forAll(Array.from(linkedProps.sources).map((s) => ({ id: s.id })));
|
|
193
|
+
}
|
|
194
194
|
if (limit) {
|
|
195
|
-
requestQuery.
|
|
195
|
+
requestQuery = requestQuery.limit(limit);
|
|
196
196
|
}
|
|
197
197
|
if (offset) {
|
|
198
|
-
requestQuery.
|
|
198
|
+
requestQuery = requestQuery.offset(offset);
|
|
199
199
|
}
|
|
200
|
-
|
|
201
|
-
if (!parser) {
|
|
202
|
-
throw new Error(`No query parser configured for ${(shapeClass === null || shapeClass === void 0 ? void 0 : shapeClass.name) || 'shape'}.`);
|
|
203
|
-
}
|
|
204
|
-
parser.selectQuery(requestQuery).then((result) => {
|
|
200
|
+
(0, queryDispatch_1.getQueryDispatch)().selectQuery(requestQuery.build()).then((result) => {
|
|
205
201
|
setQueryResult(result);
|
|
206
202
|
});
|
|
207
203
|
}
|
|
@@ -247,26 +243,27 @@ function getLinkedComponentProps(props, shapeClass) {
|
|
|
247
243
|
function processQuery(requiredData, setComponent = false) {
|
|
248
244
|
let shapeClass;
|
|
249
245
|
let query;
|
|
250
|
-
if (requiredData instanceof
|
|
246
|
+
if (requiredData instanceof QueryBuilder_1.QueryBuilder) {
|
|
251
247
|
query = requiredData;
|
|
252
|
-
|
|
248
|
+
// QueryBuilder._shape is private; extract shape IRI via toJSON and resolve the class.
|
|
249
|
+
shapeClass = (0, ShapeClass_1.getShapeClass)(requiredData.toJSON().shape);
|
|
253
250
|
}
|
|
254
251
|
else if (typeof requiredData === 'object' && setComponent) {
|
|
255
252
|
if (Object.keys(requiredData).length > 1) {
|
|
256
253
|
throw new Error('Only one key is allowed to map a query to a property for linkedSetComponents');
|
|
257
254
|
}
|
|
258
255
|
for (let key in requiredData) {
|
|
259
|
-
if (requiredData[key] instanceof
|
|
260
|
-
shapeClass = requiredData[key].shape;
|
|
256
|
+
if (requiredData[key] instanceof QueryBuilder_1.QueryBuilder) {
|
|
257
|
+
shapeClass = (0, ShapeClass_1.getShapeClass)(requiredData[key].toJSON().shape);
|
|
261
258
|
query = requiredData[key];
|
|
262
259
|
}
|
|
263
260
|
else {
|
|
264
|
-
throw new Error('Unknown value type for query object. Keep to this format: {propName: Shape.
|
|
261
|
+
throw new Error('Unknown value type for query object. Keep to this format: {propName: Shape.select(s => ...)}');
|
|
265
262
|
}
|
|
266
263
|
}
|
|
267
264
|
}
|
|
268
265
|
else {
|
|
269
|
-
throw new Error('Unknown data query type. Expected a
|
|
266
|
+
throw new Error('Unknown data query type. Expected a QueryBuilder (from Shape.select()) or an object with 1 key whose value is a QueryBuilder');
|
|
270
267
|
}
|
|
271
268
|
return [shapeClass, query];
|
|
272
269
|
}
|
|
@@ -294,7 +291,12 @@ function getLinkedSetComponentProps(props, shapeClass, functionalComponent) {
|
|
|
294
291
|
return newProps;
|
|
295
292
|
}
|
|
296
293
|
function getSourceFromInputProps(props, shapeClass) {
|
|
297
|
-
|
|
294
|
+
let input = props === null || props === void 0 ? void 0 : props.of;
|
|
295
|
+
// Unwrap single-element arrays (e.g. from preloadFor on maxCount:1 properties
|
|
296
|
+
// where the result mapper returns an array with one item).
|
|
297
|
+
if (Array.isArray(input) && input.length === 1) {
|
|
298
|
+
input = input[0];
|
|
299
|
+
}
|
|
298
300
|
if (input instanceof Shape_1.Shape) {
|
|
299
301
|
if (input.nodeShape !== shapeClass.shape &&
|
|
300
302
|
!(0, ShapeClass_1.hasSuperClass)((0, ShapeClass_1.getShapeClass)(input.nodeShape.id), shapeClass)) {
|
|
@@ -308,9 +310,23 @@ function getSourceFromInputProps(props, shapeClass) {
|
|
|
308
310
|
// If nothing is provided, keep undefined; callers handle required source checks.
|
|
309
311
|
return input;
|
|
310
312
|
}
|
|
313
|
+
/**
|
|
314
|
+
* Check if a QResult has all the fields the query selects.
|
|
315
|
+
*/
|
|
311
316
|
function isValidQResult(of, query) {
|
|
312
|
-
|
|
313
|
-
|
|
317
|
+
if (typeof (of === null || of === void 0 ? void 0 : of.id) !== 'string')
|
|
318
|
+
return false;
|
|
319
|
+
const fieldSet = query.fields();
|
|
320
|
+
if (!fieldSet)
|
|
321
|
+
return false;
|
|
322
|
+
const labels = fieldSet.labels();
|
|
323
|
+
return labels.every((label) => label in of);
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Check if an array of QResults all have the fields the query selects.
|
|
327
|
+
*/
|
|
328
|
+
function isValidSetQResult(qResults, query) {
|
|
329
|
+
return qResults.every((qResult) => isValidQResult(qResult, query));
|
|
314
330
|
}
|
|
315
331
|
function createLoadingSpinner() {
|
|
316
332
|
return react_1.default.createElement('div', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedComponent.js","sourceRoot":"","sources":["../../../src/utils/LinkedComponent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LinkedComponent.js","sourceRoot":"","sources":["../../../src/utils/LinkedComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { LinkedComponentProps } from './LinkedComponent.js';
|
|
|
5
5
|
* Class component base for linked components.
|
|
6
6
|
*/
|
|
7
7
|
export declare class LinkedComponentClass<ShapeClass extends Shape, P = {}, S = any> extends React.Component<P & LinkedComponentProps<ShapeClass>, S> {
|
|
8
|
+
props: Readonly<P & LinkedComponentProps<ShapeClass>> & Readonly<React.PropsWithChildren>;
|
|
8
9
|
private _shape;
|
|
9
10
|
get sourceShape(): ShapeClass;
|
|
10
11
|
componentDidUpdate(prevProps: Readonly<P & LinkedComponentProps<ShapeClass>>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedComponentClass.js","sourceRoot":"","sources":["../../../src/utils/LinkedComponentClass.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAI1B;;GAEG;AACH,MAAa,oBAIX,SAAQ,eAAK,CAAC,SAAkD;
|
|
1
|
+
{"version":3,"file":"LinkedComponentClass.js","sourceRoot":"","sources":["../../../src/utils/LinkedComponentClass.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAI1B;;GAEG;AACH,MAAa,oBAIX,SAAQ,eAAK,CAAC,SAAkD;IAIhE,IAAI,WAAW;QACb,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,2BAA2B,CAAC,CAAC;gBACvE,CAAC;gBACD,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAe,CAAC;YAChE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,kBAAkB,CAChB,SAAyD;QAEzD,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;CACF;AA9BD,oDA8BC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Shape } from '@_linked/core/shapes/Shape';
|
|
2
|
+
/**
|
|
3
|
+
* React hook that registers a value in the global query context.
|
|
4
|
+
* Keeps the context in sync with the component's state — sets on
|
|
5
|
+
* mount / value change and clears on unmount.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useQueryContext(name: string, value: any, shapeType?: new (...args: any[]) => Shape): void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useQueryContext = useQueryContext;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const QueryContext_1 = require("@_linked/core/queries/QueryContext");
|
|
6
|
+
/**
|
|
7
|
+
* React hook that registers a value in the global query context.
|
|
8
|
+
* Keeps the context in sync with the component's state — sets on
|
|
9
|
+
* mount / value change and clears on unmount.
|
|
10
|
+
*/
|
|
11
|
+
function useQueryContext(name, value, shapeType) {
|
|
12
|
+
(0, react_1.useEffect)(() => {
|
|
13
|
+
if (value) {
|
|
14
|
+
(0, QueryContext_1.setQueryContext)(name, value, shapeType);
|
|
15
|
+
}
|
|
16
|
+
}, [name, value, shapeType]);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=useQueryContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useQueryContext.js","sourceRoot":"","sources":["../../../src/utils/useQueryContext.ts"],"names":[],"mappings":";;AASA,0CAUC;AAnBD,iCAAgC;AAChC,qEAAmE;AAGnE;;;;GAIG;AACH,SAAgB,eAAe,CAC7B,IAAY,EACZ,KAAU,EACV,SAAyC;IAEzC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,KAAK,EAAE,CAAC;YACV,IAAA,8BAAe,EAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAC/B,CAAC"}
|
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.js
CHANGED
|
@@ -2,4 +2,6 @@ export * from './package.js';
|
|
|
2
2
|
export * from './utils/LinkedComponent.js';
|
|
3
3
|
export * from './utils/LinkedComponentClass.js';
|
|
4
4
|
export * from './utils/Hooks.js';
|
|
5
|
+
export * from './utils/ClassNames.js';
|
|
6
|
+
export * from './utils/useQueryContext.js';
|
|
5
7
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC"}
|
package/lib/esm/package.d.ts
CHANGED
|
@@ -2,9 +2,9 @@ import { Shape } from '@_linked/core/shapes/Shape';
|
|
|
2
2
|
declare const linkedUtil: (constructor: any) => any, linkedOntology: (allFileExports: any, nameSpace: (term: string) => import("@_linked/core/utils/NodeReference.js").NodeReferenceValue, suggestedPrefixAndFileName: string, loadDataFunction?: () => Promise<any>, dataSource?: string | string[]) => void, linkedShape: {
|
|
3
3
|
<T extends typeof Shape>(constructor: T): void;
|
|
4
4
|
<T extends typeof Shape>(config?: import("@_linked/core/utils/Package").ShapeConfig): (constructor: T) => void;
|
|
5
|
-
}, registerPackageExport: (exportedObject: any) => void, registerPackageModule: (_module: any) => void, packageExports: any, getPackageShape: (name: string) =>
|
|
6
|
-
declare const linkedComponent: <QueryType extends import("@_linked/core/queries/
|
|
7
|
-
declare const linkedSetComponent: <QueryType extends import("@_linked/core/queries/
|
|
8
|
-
[key: string]: import("@_linked/core/queries/
|
|
9
|
-
} = null, CustomProps = {}, ShapeType extends Shape = import("@_linked/core/queries/
|
|
5
|
+
}, registerPackageExport: (exportedObject: any) => void, registerPackageModule: (_module: any) => void, packageExports: any, getPackageShape: (name: string) => import("@_linked/core/shapes/Shape").ShapeConstructor | undefined;
|
|
6
|
+
declare const linkedComponent: <QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<any> = null, CustomProps = {}, ShapeType extends Shape = QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<infer S extends Shape, any, any> ? S : never, Res = QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<any, infer R, any> ? R : QueryType extends import("@_linked/core/queries/FieldSet.js").FieldSet<infer R_1, any> ? R_1 : QueryType>(query: QueryType, functionalComponent: import("./utils/LinkedComponent.js").LinkableComponent<CustomProps & import("@_linked/core/queries/SelectQuery.js").QueryResponseToResultType<Res, ShapeType>, ShapeType>) => import("./utils/LinkedComponent.js").LinkedComponent<CustomProps, ShapeType, Res>;
|
|
7
|
+
declare const linkedSetComponent: <QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<any> | {
|
|
8
|
+
[key: string]: import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<any>;
|
|
9
|
+
} = null, CustomProps = {}, ShapeType extends Shape = QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<infer S extends Shape, any, any> ? S : never, Res = import("@_linked/core/queries/SelectQuery.js").ToQueryResultSet<QueryType>>(query: QueryType, functionalComponent: import("./utils/LinkedComponent.js").LinkableSetComponent<CustomProps & import("@_linked/core/queries/SelectQuery.js").GetCustomObjectKeys<QueryType> & import("@_linked/core/queries/SelectQuery.js").QueryControllerProps, ShapeType>) => import("./utils/LinkedComponent.js").LinkedSetComponent<CustomProps, ShapeType, Res>;
|
|
10
10
|
export { linkedComponent, linkedSetComponent, linkedShape, linkedUtil, linkedOntology, registerPackageExport, registerPackageModule, packageExports, getPackageShape, };
|
package/lib/esm/package.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAEL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,IAAI,iBAAiB,GAA0C,IAAI,GAAG,EAAE,CAAC;AAEzE,MAAM,EACJ,UAAU,EACV,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,eAAe,GAChB,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAEpC,SAAS,iBAAiB,CAAC,iBAA4B,EAAE,KAAoB;IAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC;YACtE,OAAO,CAAC,IAAI,CACV,
|
|
1
|
+
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAEL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,IAAI,iBAAiB,GAA0C,IAAI,GAAG,EAAE,CAAC;AAEzE,MAAM,EACJ,UAAU,EACV,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,eAAe,GAChB,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAEpC,SAAS,iBAAiB,CAAC,iBAA4B,EAAE,KAAoB;IAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC;YACtE,OAAO,CAAC,IAAI,CACV,aACG,iBAAyB,CAAC,WAAW,IAAK,iBAAyB,CAAC,IACvE,4BAA4B,CAC7B,CAAC;YACF,OAAO;QACT,CAAC;QACD,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,OAAO,EAAO,CAAC,CAAC;IACnD,CAAC;IAED,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,eAAe,GAAG,uBAAuB,CAC7C,qBAAqB,EACrB,iBAAiB,CAClB,CAAC;AAEF,MAAM,kBAAkB,GAAG,0BAA0B,CACnD,qBAAqB,EACrB,iBAAiB,CAClB,CAAC;AAEF,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,eAAe,GAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClassNames.js","sourceRoot":"","sources":["../../../src/utils/ClassNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAC,EAAE,EAAC,CAAC"}
|
|
@@ -1,8 +1,25 @@
|
|
|
1
|
-
import { GetCustomObjectKeys,
|
|
1
|
+
import { GetCustomObjectKeys, QResult, QueryControllerProps, QueryResponseToResultType, ToQueryResultSet } from '@_linked/core/queries/SelectQuery';
|
|
2
2
|
import { Shape } from '@_linked/core/shapes/Shape';
|
|
3
|
+
import { QueryBuilder } from '@_linked/core/queries/QueryBuilder';
|
|
4
|
+
import { FieldSet } from '@_linked/core/queries/FieldSet';
|
|
3
5
|
import React from 'react';
|
|
4
6
|
import { ShapeSet } from '@_linked/core/collections/ShapeSet';
|
|
5
7
|
import { NodeReferenceValue } from '@_linked/core/utils/NodeReference';
|
|
8
|
+
/**
|
|
9
|
+
* Extract the Shape type parameter from a QueryBuilder.
|
|
10
|
+
*/
|
|
11
|
+
type GetQueryShapeType<Q> = Q extends QueryBuilder<infer S, any, any> ? S : never;
|
|
12
|
+
/**
|
|
13
|
+
* Extract the query response type from a QueryBuilder or FieldSet.
|
|
14
|
+
* Falls through to Q itself if neither matches (preserves legacy behaviour).
|
|
15
|
+
*/
|
|
16
|
+
type GetQueryResponseType<Q> = Q extends QueryBuilder<any, infer R, any> ? R : Q extends FieldSet<infer R, any> ? R : Q;
|
|
17
|
+
/**
|
|
18
|
+
* A wrapper object mapping a single key to a QueryBuilder (used by linkedSetComponent).
|
|
19
|
+
*/
|
|
20
|
+
type QueryWrapperObject<ShapeType extends Shape = any> = {
|
|
21
|
+
[key: string]: QueryBuilder<ShapeType>;
|
|
22
|
+
};
|
|
6
23
|
export type Component<P = any, ShapeType extends Shape = Shape> = ClassComponent<P, ShapeType> | LinkedComponent<P, ShapeType> | LinkedSetComponent<P, ShapeType>;
|
|
7
24
|
export interface ClassComponent<P, ShapeType extends Shape = Shape> extends React.ComponentClass<P & LinkedComponentProps<ShapeType>> {
|
|
8
25
|
props: P & LinkedComponentProps<ShapeType>;
|
|
@@ -10,12 +27,12 @@ export interface ClassComponent<P, ShapeType extends Shape = Shape> extends Reac
|
|
|
10
27
|
}
|
|
11
28
|
export interface LinkedComponent<P, ShapeType extends Shape = Shape, ResultType = any> extends React.FC<P & LinkedComponentInputProps<ShapeType> & React.ComponentPropsWithRef<any>> {
|
|
12
29
|
original?: LinkableComponent<P, ShapeType>;
|
|
13
|
-
query:
|
|
30
|
+
query: QueryBuilder<any>;
|
|
14
31
|
shape?: typeof Shape;
|
|
15
32
|
}
|
|
16
33
|
export interface LinkedSetComponent<P, ShapeType extends Shape = Shape, Res = any> extends React.FC<P & LinkedSetComponentInputProps<ShapeType> & React.ComponentPropsWithRef<any>> {
|
|
17
34
|
original?: LinkableSetComponent<P, ShapeType>;
|
|
18
|
-
query:
|
|
35
|
+
query: QueryBuilder<any> | QueryWrapperObject<ShapeType>;
|
|
19
36
|
shape?: typeof Shape;
|
|
20
37
|
}
|
|
21
38
|
export type LinkableComponent<P, ShapeType extends Shape = Shape> = React.FC<P & LinkedComponentProps<ShapeType>>;
|
|
@@ -40,13 +57,13 @@ interface LinkedComponentInputBaseProps extends React.PropsWithChildren {
|
|
|
40
57
|
className?: string | string[];
|
|
41
58
|
style?: React.CSSProperties;
|
|
42
59
|
}
|
|
43
|
-
export type LinkedSetComponentFactoryFn = <QueryType extends
|
|
44
|
-
[key: string]:
|
|
60
|
+
export type LinkedSetComponentFactoryFn = <QueryType extends QueryBuilder<any> | {
|
|
61
|
+
[key: string]: QueryBuilder<any>;
|
|
45
62
|
} = null, CustomProps = {}, ShapeType extends Shape = GetQueryShapeType<QueryType>, Res = ToQueryResultSet<QueryType>>(requiredData: QueryType, functionalComponent: LinkableSetComponent<CustomProps & GetCustomObjectKeys<QueryType> & QueryControllerProps, ShapeType, Res>) => LinkedSetComponent<CustomProps, ShapeType, Res>;
|
|
46
|
-
export type LinkedComponentFactoryFn = <QueryType extends
|
|
47
|
-
export declare function createLinkedComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends
|
|
48
|
-
export declare function createLinkedSetComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends
|
|
49
|
-
[key: string]:
|
|
63
|
+
export type LinkedComponentFactoryFn = <QueryType extends QueryBuilder<any> = null, CustomProps = {}, ShapeType extends Shape = GetQueryShapeType<QueryType>, Response = GetQueryResponseType<QueryType>, ResultType = QueryResponseToResultType<Response, ShapeType>>(query: QueryType, functionalComponent: LinkableComponent<CustomProps & ResultType, ShapeType>) => LinkedComponent<CustomProps, ShapeType, ResultType>;
|
|
64
|
+
export declare function createLinkedComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends QueryBuilder<any> = null, CustomProps = {}, ShapeType extends Shape = GetQueryShapeType<QueryType>, Res = GetQueryResponseType<QueryType>>(query: QueryType, functionalComponent: LinkableComponent<CustomProps & QueryResponseToResultType<Res, ShapeType>, ShapeType>) => LinkedComponent<CustomProps, ShapeType, Res>;
|
|
65
|
+
export declare function createLinkedSetComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends QueryBuilder<any> | {
|
|
66
|
+
[key: string]: QueryBuilder<any>;
|
|
50
67
|
} = null, CustomProps = {}, ShapeType extends Shape = GetQueryShapeType<QueryType>, Res = ToQueryResultSet<QueryType>>(query: QueryType, functionalComponent: LinkableSetComponent<CustomProps & GetCustomObjectKeys<QueryType> & QueryControllerProps, ShapeType>) => LinkedSetComponent<CustomProps, ShapeType, Res>;
|
|
51
68
|
export declare function getSourceFromInputProps(props: any, shapeClass: any): any;
|
|
52
69
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { SelectQueryFactory, } from '@_linked/core/queries/SelectQuery';
|
|
2
1
|
import { Shape } from '@_linked/core/shapes/Shape';
|
|
2
|
+
import { QueryBuilder } from '@_linked/core/queries/QueryBuilder';
|
|
3
|
+
import { getQueryDispatch } from '@_linked/core/queries/queryDispatch';
|
|
3
4
|
import React, { useCallback, useEffect, useState } from 'react';
|
|
4
5
|
import { LinkedStorage } from '@_linked/core/utils/LinkedStorage';
|
|
5
6
|
import { DEFAULT_LIMIT } from '@_linked/core/utils/Package';
|
|
@@ -18,19 +19,15 @@ export function createLinkedComponentFn(registerPackageExport, registerComponent
|
|
|
18
19
|
linkedProps.ref = ref;
|
|
19
20
|
}
|
|
20
21
|
const loadData = () => {
|
|
21
|
-
var _a
|
|
22
|
+
var _a;
|
|
22
23
|
const sourceId = (_a = linkedProps.source) === null || _a === void 0 ? void 0 : _a.id;
|
|
23
24
|
if (!loadingData || loadingData !== sourceId) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
setLoadingData(sourceId ||
|
|
29
|
-
|
|
30
|
-
if (!parser) {
|
|
31
|
-
throw new Error(`No query parser configured for ${(shapeClass === null || shapeClass === void 0 ? void 0 : shapeClass.name) || 'shape'}.`);
|
|
32
|
-
}
|
|
33
|
-
parser.selectQuery(requestQuery).then((result) => {
|
|
25
|
+
// QueryBuilder is immutable — chain calls produce new instances.
|
|
26
|
+
let requestQuery = linkedProps.source
|
|
27
|
+
? actualQuery.for(linkedProps.source)
|
|
28
|
+
: actualQuery;
|
|
29
|
+
setLoadingData(sourceId || requestQuery.toJSON().subject);
|
|
30
|
+
getQueryDispatch().selectQuery(requestQuery.build()).then((result) => {
|
|
34
31
|
setQueryResult(result);
|
|
35
32
|
setLoadingData(null);
|
|
36
33
|
});
|
|
@@ -39,7 +36,7 @@ export function createLinkedComponentFn(registerPackageExport, registerComponent
|
|
|
39
36
|
console.warn(`Already loading data for source ${loadingData}, ignoring request`);
|
|
40
37
|
}
|
|
41
38
|
};
|
|
42
|
-
let sourceIsValidQResult = isValidQResult(props.of,
|
|
39
|
+
let sourceIsValidQResult = isValidQResult(props.of, actualQuery);
|
|
43
40
|
if (queryResult || sourceIsValidQResult) {
|
|
44
41
|
linkedProps = Object.assign(linkedProps, queryResult || props.of);
|
|
45
42
|
}
|
|
@@ -56,7 +53,7 @@ export function createLinkedComponentFn(registerPackageExport, registerComponent
|
|
|
56
53
|
loadData();
|
|
57
54
|
}
|
|
58
55
|
}, [queryResult, props.of]);
|
|
59
|
-
if (!linkedProps.source && !actualQuery.subject) {
|
|
56
|
+
if (!linkedProps.source && !actualQuery.toJSON().subject) {
|
|
60
57
|
console.warn('This component requires a source to be provided (use the property "of"): ' +
|
|
61
58
|
functionalComponent.name);
|
|
62
59
|
return null;
|
|
@@ -100,7 +97,7 @@ export function createLinkedSetComponentFn(registerPackageExport, registerCompon
|
|
|
100
97
|
var _a;
|
|
101
98
|
let [queryResult, setQueryResult] = useState(undefined);
|
|
102
99
|
let linkedProps = getLinkedSetComponentProps(props, shapeClass, functionalComponent);
|
|
103
|
-
let defaultLimit = actualQuery.
|
|
100
|
+
let defaultLimit = actualQuery.toJSON().limit || DEFAULT_LIMIT;
|
|
104
101
|
let [limit, setLimit] = useState(defaultLimit);
|
|
105
102
|
let [offset, setOffset] = useState(0);
|
|
106
103
|
if (ref) {
|
|
@@ -109,7 +106,7 @@ export function createLinkedSetComponentFn(registerPackageExport, registerCompon
|
|
|
109
106
|
let sourceIsValidQResult = Array.isArray(props.of) &&
|
|
110
107
|
props.of.length > 0 &&
|
|
111
108
|
typeof ((_a = props.of[0]) === null || _a === void 0 ? void 0 : _a.id) === 'string' &&
|
|
112
|
-
|
|
109
|
+
isValidSetQResult(props.of, actualQuery);
|
|
113
110
|
if (queryResult || sourceIsValidQResult) {
|
|
114
111
|
let dataResult;
|
|
115
112
|
if (queryResult) {
|
|
@@ -123,7 +120,7 @@ export function createLinkedSetComponentFn(registerPackageExport, registerCompon
|
|
|
123
120
|
dataResult = props.of;
|
|
124
121
|
}
|
|
125
122
|
}
|
|
126
|
-
if (query instanceof
|
|
123
|
+
if (query instanceof QueryBuilder) {
|
|
127
124
|
linkedProps = Object.assign(linkedProps, {
|
|
128
125
|
linkedData: dataResult,
|
|
129
126
|
});
|
|
@@ -151,19 +148,18 @@ export function createLinkedSetComponentFn(registerPackageExport, registerCompon
|
|
|
151
148
|
}
|
|
152
149
|
useEffect(() => {
|
|
153
150
|
if (usingStorage && !sourceIsValidQResult) {
|
|
154
|
-
|
|
155
|
-
requestQuery
|
|
151
|
+
// QueryBuilder is immutable — chain calls to set subjects, limit, offset.
|
|
152
|
+
let requestQuery = actualQuery;
|
|
153
|
+
if (linkedProps.sources) {
|
|
154
|
+
requestQuery = requestQuery.forAll(Array.from(linkedProps.sources).map((s) => ({ id: s.id })));
|
|
155
|
+
}
|
|
156
156
|
if (limit) {
|
|
157
|
-
requestQuery.
|
|
157
|
+
requestQuery = requestQuery.limit(limit);
|
|
158
158
|
}
|
|
159
159
|
if (offset) {
|
|
160
|
-
requestQuery.
|
|
160
|
+
requestQuery = requestQuery.offset(offset);
|
|
161
161
|
}
|
|
162
|
-
|
|
163
|
-
if (!parser) {
|
|
164
|
-
throw new Error(`No query parser configured for ${(shapeClass === null || shapeClass === void 0 ? void 0 : shapeClass.name) || 'shape'}.`);
|
|
165
|
-
}
|
|
166
|
-
parser.selectQuery(requestQuery).then((result) => {
|
|
162
|
+
getQueryDispatch().selectQuery(requestQuery.build()).then((result) => {
|
|
167
163
|
setQueryResult(result);
|
|
168
164
|
});
|
|
169
165
|
}
|
|
@@ -209,26 +205,27 @@ function getLinkedComponentProps(props, shapeClass) {
|
|
|
209
205
|
function processQuery(requiredData, setComponent = false) {
|
|
210
206
|
let shapeClass;
|
|
211
207
|
let query;
|
|
212
|
-
if (requiredData instanceof
|
|
208
|
+
if (requiredData instanceof QueryBuilder) {
|
|
213
209
|
query = requiredData;
|
|
214
|
-
|
|
210
|
+
// QueryBuilder._shape is private; extract shape IRI via toJSON and resolve the class.
|
|
211
|
+
shapeClass = getShapeClass(requiredData.toJSON().shape);
|
|
215
212
|
}
|
|
216
213
|
else if (typeof requiredData === 'object' && setComponent) {
|
|
217
214
|
if (Object.keys(requiredData).length > 1) {
|
|
218
215
|
throw new Error('Only one key is allowed to map a query to a property for linkedSetComponents');
|
|
219
216
|
}
|
|
220
217
|
for (let key in requiredData) {
|
|
221
|
-
if (requiredData[key] instanceof
|
|
222
|
-
shapeClass = requiredData[key].shape;
|
|
218
|
+
if (requiredData[key] instanceof QueryBuilder) {
|
|
219
|
+
shapeClass = getShapeClass(requiredData[key].toJSON().shape);
|
|
223
220
|
query = requiredData[key];
|
|
224
221
|
}
|
|
225
222
|
else {
|
|
226
|
-
throw new Error('Unknown value type for query object. Keep to this format: {propName: Shape.
|
|
223
|
+
throw new Error('Unknown value type for query object. Keep to this format: {propName: Shape.select(s => ...)}');
|
|
227
224
|
}
|
|
228
225
|
}
|
|
229
226
|
}
|
|
230
227
|
else {
|
|
231
|
-
throw new Error('Unknown data query type. Expected a
|
|
228
|
+
throw new Error('Unknown data query type. Expected a QueryBuilder (from Shape.select()) or an object with 1 key whose value is a QueryBuilder');
|
|
232
229
|
}
|
|
233
230
|
return [shapeClass, query];
|
|
234
231
|
}
|
|
@@ -256,7 +253,12 @@ function getLinkedSetComponentProps(props, shapeClass, functionalComponent) {
|
|
|
256
253
|
return newProps;
|
|
257
254
|
}
|
|
258
255
|
export function getSourceFromInputProps(props, shapeClass) {
|
|
259
|
-
|
|
256
|
+
let input = props === null || props === void 0 ? void 0 : props.of;
|
|
257
|
+
// Unwrap single-element arrays (e.g. from preloadFor on maxCount:1 properties
|
|
258
|
+
// where the result mapper returns an array with one item).
|
|
259
|
+
if (Array.isArray(input) && input.length === 1) {
|
|
260
|
+
input = input[0];
|
|
261
|
+
}
|
|
260
262
|
if (input instanceof Shape) {
|
|
261
263
|
if (input.nodeShape !== shapeClass.shape &&
|
|
262
264
|
!hasSuperClass(getShapeClass(input.nodeShape.id), shapeClass)) {
|
|
@@ -270,9 +272,23 @@ export function getSourceFromInputProps(props, shapeClass) {
|
|
|
270
272
|
// If nothing is provided, keep undefined; callers handle required source checks.
|
|
271
273
|
return input;
|
|
272
274
|
}
|
|
275
|
+
/**
|
|
276
|
+
* Check if a QResult has all the fields the query selects.
|
|
277
|
+
*/
|
|
273
278
|
function isValidQResult(of, query) {
|
|
274
|
-
|
|
275
|
-
|
|
279
|
+
if (typeof (of === null || of === void 0 ? void 0 : of.id) !== 'string')
|
|
280
|
+
return false;
|
|
281
|
+
const fieldSet = query.fields();
|
|
282
|
+
if (!fieldSet)
|
|
283
|
+
return false;
|
|
284
|
+
const labels = fieldSet.labels();
|
|
285
|
+
return labels.every((label) => label in of);
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Check if an array of QResults all have the fields the query selects.
|
|
289
|
+
*/
|
|
290
|
+
function isValidSetQResult(qResults, query) {
|
|
291
|
+
return qResults.every((qResult) => isValidQResult(qResult, query));
|
|
276
292
|
}
|
|
277
293
|
function createLoadingSpinner() {
|
|
278
294
|
return React.createElement('div', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedComponent.js","sourceRoot":"","sources":["../../../src/utils/LinkedComponent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LinkedComponent.js","sourceRoot":"","sources":["../../../src/utils/LinkedComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { LinkedComponentProps } from './LinkedComponent.js';
|
|
|
5
5
|
* Class component base for linked components.
|
|
6
6
|
*/
|
|
7
7
|
export declare class LinkedComponentClass<ShapeClass extends Shape, P = {}, S = any> extends React.Component<P & LinkedComponentProps<ShapeClass>, S> {
|
|
8
|
+
props: Readonly<P & LinkedComponentProps<ShapeClass>> & Readonly<React.PropsWithChildren>;
|
|
8
9
|
private _shape;
|
|
9
10
|
get sourceShape(): ShapeClass;
|
|
10
11
|
componentDidUpdate(prevProps: Readonly<P & LinkedComponentProps<ShapeClass>>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedComponentClass.js","sourceRoot":"","sources":["../../../src/utils/LinkedComponentClass.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;GAEG;AACH,MAAM,OAAO,oBAIX,SAAQ,KAAK,CAAC,SAAkD;
|
|
1
|
+
{"version":3,"file":"LinkedComponentClass.js","sourceRoot":"","sources":["../../../src/utils/LinkedComponentClass.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;GAEG;AACH,MAAM,OAAO,oBAIX,SAAQ,KAAK,CAAC,SAAkD;IAIhE,IAAI,WAAW;QACb,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,2BAA2B,CAAC,CAAC;gBACvE,CAAC;gBACD,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAe,CAAC;YAChE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,kBAAkB,CAChB,SAAyD;QAEzD,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Shape } from '@_linked/core/shapes/Shape';
|
|
2
|
+
/**
|
|
3
|
+
* React hook that registers a value in the global query context.
|
|
4
|
+
* Keeps the context in sync with the component's state — sets on
|
|
5
|
+
* mount / value change and clears on unmount.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useQueryContext(name: string, value: any, shapeType?: new (...args: any[]) => Shape): void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { setQueryContext } from '@_linked/core/queries/QueryContext';
|
|
3
|
+
/**
|
|
4
|
+
* React hook that registers a value in the global query context.
|
|
5
|
+
* Keeps the context in sync with the component's state — sets on
|
|
6
|
+
* mount / value change and clears on unmount.
|
|
7
|
+
*/
|
|
8
|
+
export function useQueryContext(name, value, shapeType) {
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
if (value) {
|
|
11
|
+
setQueryContext(name, value, shapeType);
|
|
12
|
+
}
|
|
13
|
+
}, [name, value, shapeType]);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=useQueryContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useQueryContext.js","sourceRoot":"","sources":["../../../src/utils/useQueryContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAChC,OAAO,EAAC,eAAe,EAAC,MAAM,oCAAoC,CAAC;AAGnE;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,KAAU,EACV,SAAyC;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,EAAE,CAAC;YACV,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAC/B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@_linked/react",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-next.20260325035613",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "React bindings for @_linked/core",
|
|
6
6
|
"repository": {
|
|
@@ -45,19 +45,20 @@
|
|
|
45
45
|
"test": "npx jest --config jest.config.js"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
|
-
"@_linked/core": "^
|
|
48
|
+
"@_linked/core": "^2.2.1",
|
|
49
49
|
"react": "^18.2.0"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
+
"classnames": "^2.5.1",
|
|
52
53
|
"react-usestateref": "^1.0.8"
|
|
53
54
|
},
|
|
54
55
|
"devDependencies": {
|
|
56
|
+
"@_linked/core": "^2.2.1",
|
|
57
|
+
"@_linked/rdf-mem-store": "^1.0.0",
|
|
55
58
|
"@changesets/changelog-github": "^0.5.2",
|
|
56
59
|
"@changesets/cli": "^2.29.8",
|
|
57
|
-
"@_linked/core": "^1.0.0",
|
|
58
|
-
"@_linked/rdf-mem-store": "^1.0.0",
|
|
59
|
-
"@testing-library/react": "^14.2.1",
|
|
60
60
|
"@jest/globals": "^29.7.0",
|
|
61
|
+
"@testing-library/react": "^14.2.1",
|
|
61
62
|
"@types/jest": "^29.5.12",
|
|
62
63
|
"@types/node": "^20.12.7",
|
|
63
64
|
"@types/react": "^18.2.61",
|