@_linked/react 1.0.0 → 1.2.0-next.20260329000308

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/lib/cjs/index.d.ts +2 -0
  3. package/lib/cjs/index.js +2 -0
  4. package/lib/cjs/index.js.map +1 -1
  5. package/lib/cjs/package.d.ts +5 -5
  6. package/lib/cjs/package.js.map +1 -1
  7. package/lib/cjs/utils/ClassNames.d.ts +2 -0
  8. package/lib/cjs/utils/ClassNames.js +9 -0
  9. package/lib/cjs/utils/ClassNames.js.map +1 -0
  10. package/lib/cjs/utils/LinkedComponent.d.ts +26 -9
  11. package/lib/cjs/utils/LinkedComponent.js +66 -37
  12. package/lib/cjs/utils/LinkedComponent.js.map +1 -1
  13. package/lib/cjs/utils/LinkedComponentClass.d.ts +1 -0
  14. package/lib/cjs/utils/LinkedComponentClass.js.map +1 -1
  15. package/lib/cjs/utils/useQueryContext.d.ts +7 -0
  16. package/lib/cjs/utils/useQueryContext.js +18 -0
  17. package/lib/cjs/utils/useQueryContext.js.map +1 -0
  18. package/lib/esm/index.d.ts +2 -0
  19. package/lib/esm/index.js +2 -0
  20. package/lib/esm/index.js.map +1 -1
  21. package/lib/esm/package.d.ts +5 -5
  22. package/lib/esm/package.js.map +1 -1
  23. package/lib/esm/utils/ClassNames.d.ts +2 -0
  24. package/lib/esm/utils/ClassNames.js +3 -0
  25. package/lib/esm/utils/ClassNames.js.map +1 -0
  26. package/lib/esm/utils/LinkedComponent.d.ts +26 -9
  27. package/lib/esm/utils/LinkedComponent.js +66 -37
  28. package/lib/esm/utils/LinkedComponent.js.map +1 -1
  29. package/lib/esm/utils/LinkedComponentClass.d.ts +1 -0
  30. package/lib/esm/utils/LinkedComponentClass.js.map +1 -1
  31. package/lib/esm/utils/useQueryContext.d.ts +7 -0
  32. package/lib/esm/utils/useQueryContext.js +15 -0
  33. package/lib/esm/utils/useQueryContext.js.map +1 -0
  34. package/package.json +6 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#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.
8
+
9
+ ### Patch Changes
10
+
11
+ - [#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
12
+ Fix `preloadFor` rendering wrong entity and add Fuseki integration tests.
13
+ Added 7 Fuseki-backed integration tests covering `linkedComponent` and `linkedSetComponent`:
14
+ 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.
15
+
16
+ - [#8](https://github.com/Semantu/linked-react/pull/8) [`fac333c`](https://github.com/Semantu/linked-react/commit/fac333c81c913d515ad70af53c13f0e9bc8737a4) Thanks [@flyon](https://github.com/flyon)! - `linkedComponent` now shows a loading spinner while a `PendingQueryContext` resolves instead of logging a warning and returning null. `loadData` handles null/error results gracefully. Fuseki test URL uses shared `FUSEKI_BASE_URL` constant.
17
+
3
18
  ## 1.0.0
4
19
 
5
20
  ### Major Changes
@@ -2,3 +2,5 @@ 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';
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
@@ -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"}
@@ -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) => typeof Shape;
6
- declare const linkedComponent: <QueryType extends import("@_linked/core/queries/SelectQuery.js").SelectQueryFactory<any> = null, CustomProps = {}, ShapeType extends Shape = import("@_linked/core/queries/SelectQuery.js").GetQueryShapeType<QueryType>, Res = import("@_linked/core/queries/SelectQuery.js").GetQueryResponseType<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/SelectQuery.js").SelectQueryFactory<any> | {
8
- [key: string]: import("@_linked/core/queries/SelectQuery.js").SelectQueryFactory<any>;
9
- } = null, CustomProps = {}, ShapeType extends Shape = import("@_linked/core/queries/SelectQuery.js").GetQueryShapeType<QueryType>, 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>;
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, };
@@ -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,aACE,iBAAiB,CAAC,WAAW,IAAI,iBAAiB,CAAC,IACrD,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"}
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,2 @@
1
+ import cl from 'classnames';
2
+ export { cl };
@@ -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, GetQueryResponseType, GetQueryShapeType, QResult, QueryControllerProps, QueryResponseToResultType, QueryWrapperObject, SelectQueryFactory, ToQueryResultSet } from '@_linked/core/queries/SelectQuery';
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: SelectQueryFactory<any>;
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: SelectQueryFactory<any> | QueryWrapperObject<ShapeType>;
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 SelectQueryFactory<any> | {
44
- [key: string]: SelectQueryFactory<any>;
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 SelectQueryFactory<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>;
47
- export declare function createLinkedComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends SelectQueryFactory<any> = null, CustomProps = {}, ShapeType extends Shape = GetQueryShapeType<QueryType>, Res = GetQueryResponseType<QueryType>>(query: QueryType, functionalComponent: LinkableComponent<CustomProps & QueryResponseToResultType<Res, ShapeType>, ShapeType>) => LinkedComponent<CustomProps, ShapeType, Res>;
48
- export declare function createLinkedSetComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends SelectQueryFactory<any> | {
49
- [key: string]: SelectQueryFactory<any>;
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,20 +57,22 @@ function createLinkedComponentFn(registerPackageExport, registerComponent) {
56
57
  linkedProps.ref = ref;
57
58
  }
58
59
  const loadData = () => {
59
- var _a, _b;
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
- let requestQuery = actualQuery.clone();
63
- if (linkedProps.source) {
64
- requestQuery.setSubject(linkedProps.source);
65
- }
66
- setLoadingData(sourceId || ((_b = requestQuery.subject) === null || _b === void 0 ? void 0 : _b.id));
67
- const parser = shapeClass.queryParser || Shape_1.Shape.queryParser;
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) => {
72
- setQueryResult(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) => {
69
+ // Use empty object when result is null/undefined so the component
70
+ // renders with default values instead of showing spinner forever.
71
+ setQueryResult(result !== null && result !== void 0 ? result : {});
72
+ setLoadingData(null);
73
+ }).catch((err) => {
74
+ console.error('linkedComponent loadData failed:', err);
75
+ setQueryResult({});
73
76
  setLoadingData(null);
74
77
  });
75
78
  }
@@ -77,7 +80,7 @@ function createLinkedComponentFn(registerPackageExport, registerComponent) {
77
80
  console.warn(`Already loading data for source ${loadingData}, ignoring request`);
78
81
  }
79
82
  };
80
- let sourceIsValidQResult = isValidQResult(props.of, query);
83
+ let sourceIsValidQResult = isValidQResult(props.of, actualQuery);
81
84
  if (queryResult || sourceIsValidQResult) {
82
85
  linkedProps = Object.assign(linkedProps, queryResult || props.of);
83
86
  }
@@ -94,7 +97,14 @@ function createLinkedComponentFn(registerPackageExport, registerComponent) {
94
97
  loadData();
95
98
  }
96
99
  }, [queryResult, props.of]);
97
- if (!linkedProps.source && !actualQuery.subject) {
100
+ // Resolve the current subject ID — for pending contexts this reads
101
+ // from the live global Map, so it updates when auth sets the context.
102
+ const resolvedSubjectId = actualQuery.toJSON().subject;
103
+ if (!linkedProps.source && !resolvedSubjectId) {
104
+ if (actualQuery.hasPendingContext()) {
105
+ // Subject will resolve after auth — show spinner until then.
106
+ return createLoadingSpinner();
107
+ }
98
108
  console.warn('This component requires a source to be provided (use the property "of"): ' +
99
109
  functionalComponent.name);
100
110
  return null;
@@ -107,7 +117,7 @@ function createLinkedComponentFn(registerPackageExport, registerComponent) {
107
117
  if (usingStorage && !sourceIsValidQResult) {
108
118
  loadData();
109
119
  }
110
- }, [(_a = linkedProps.source) === null || _a === void 0 ? void 0 : _a.id]);
120
+ }, [(_a = linkedProps.source) === null || _a === void 0 ? void 0 : _a.id, resolvedSubjectId]);
111
121
  let dataIsLoaded = queryResult || !usingStorage || sourceIsValidQResult;
112
122
  // Keep legacy client-side guard to avoid hydration drift.
113
123
  if (dataIsLoaded && typeof window !== 'undefined') {
@@ -138,7 +148,7 @@ function createLinkedSetComponentFn(registerPackageExport, registerComponent) {
138
148
  var _a;
139
149
  let [queryResult, setQueryResult] = (0, react_1.useState)(undefined);
140
150
  let linkedProps = getLinkedSetComponentProps(props, shapeClass, functionalComponent);
141
- let defaultLimit = actualQuery.getLimit() || Package_1.DEFAULT_LIMIT;
151
+ let defaultLimit = actualQuery.toJSON().limit || Package_1.DEFAULT_LIMIT;
142
152
  let [limit, setLimit] = (0, react_1.useState)(defaultLimit);
143
153
  let [offset, setOffset] = (0, react_1.useState)(0);
144
154
  if (ref) {
@@ -147,7 +157,7 @@ function createLinkedSetComponentFn(registerPackageExport, registerComponent) {
147
157
  let sourceIsValidQResult = Array.isArray(props.of) &&
148
158
  props.of.length > 0 &&
149
159
  typeof ((_a = props.of[0]) === null || _a === void 0 ? void 0 : _a.id) === 'string' &&
150
- actualQuery.isValidSetResult(props.of);
160
+ isValidSetQResult(props.of, actualQuery);
151
161
  if (queryResult || sourceIsValidQResult) {
152
162
  let dataResult;
153
163
  if (queryResult) {
@@ -161,7 +171,7 @@ function createLinkedSetComponentFn(registerPackageExport, registerComponent) {
161
171
  dataResult = props.of;
162
172
  }
163
173
  }
164
- if (query instanceof SelectQuery_1.SelectQueryFactory) {
174
+ if (query instanceof QueryBuilder_1.QueryBuilder) {
165
175
  linkedProps = Object.assign(linkedProps, {
166
176
  linkedData: dataResult,
167
177
  });
@@ -189,19 +199,18 @@ function createLinkedSetComponentFn(registerPackageExport, registerComponent) {
189
199
  }
190
200
  (0, react_1.useEffect)(() => {
191
201
  if (usingStorage && !sourceIsValidQResult) {
192
- let requestQuery = actualQuery.clone();
193
- requestQuery.setSubject(linkedProps.sources);
202
+ // QueryBuilder is immutable — chain calls to set subjects, limit, offset.
203
+ let requestQuery = actualQuery;
204
+ if (linkedProps.sources) {
205
+ requestQuery = requestQuery.forAll(Array.from(linkedProps.sources).map((s) => ({ id: s.id })));
206
+ }
194
207
  if (limit) {
195
- requestQuery.setLimit(limit);
208
+ requestQuery = requestQuery.limit(limit);
196
209
  }
197
210
  if (offset) {
198
- requestQuery.setOffset(offset);
199
- }
200
- const parser = shapeClass.queryParser || Shape_1.Shape.queryParser;
201
- if (!parser) {
202
- throw new Error(`No query parser configured for ${(shapeClass === null || shapeClass === void 0 ? void 0 : shapeClass.name) || 'shape'}.`);
211
+ requestQuery = requestQuery.offset(offset);
203
212
  }
204
- parser.selectQuery(requestQuery).then((result) => {
213
+ (0, queryDispatch_1.getQueryDispatch)().selectQuery(requestQuery.build()).then((result) => {
205
214
  setQueryResult(result);
206
215
  });
207
216
  }
@@ -247,26 +256,27 @@ function getLinkedComponentProps(props, shapeClass) {
247
256
  function processQuery(requiredData, setComponent = false) {
248
257
  let shapeClass;
249
258
  let query;
250
- if (requiredData instanceof SelectQuery_1.SelectQueryFactory) {
259
+ if (requiredData instanceof QueryBuilder_1.QueryBuilder) {
251
260
  query = requiredData;
252
- shapeClass = requiredData.shape;
261
+ // QueryBuilder._shape is private; extract shape IRI via toJSON and resolve the class.
262
+ shapeClass = (0, ShapeClass_1.getShapeClass)(requiredData.toJSON().shape);
253
263
  }
254
264
  else if (typeof requiredData === 'object' && setComponent) {
255
265
  if (Object.keys(requiredData).length > 1) {
256
266
  throw new Error('Only one key is allowed to map a query to a property for linkedSetComponents');
257
267
  }
258
268
  for (let key in requiredData) {
259
- if (requiredData[key] instanceof SelectQuery_1.SelectQueryFactory) {
260
- shapeClass = requiredData[key].shape;
269
+ if (requiredData[key] instanceof QueryBuilder_1.QueryBuilder) {
270
+ shapeClass = (0, ShapeClass_1.getShapeClass)(requiredData[key].toJSON().shape);
261
271
  query = requiredData[key];
262
272
  }
263
273
  else {
264
- throw new Error('Unknown value type for query object. Keep to this format: {propName: Shape.query(s => ...)}');
274
+ throw new Error('Unknown value type for query object. Keep to this format: {propName: Shape.select(s => ...)}');
265
275
  }
266
276
  }
267
277
  }
268
278
  else {
269
- throw new Error('Unknown data query type. Expected a LinkedQuery (from Shape.query()) or an object with 1 key whose value is a LinkedQuery');
279
+ 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
280
  }
271
281
  return [shapeClass, query];
272
282
  }
@@ -294,7 +304,12 @@ function getLinkedSetComponentProps(props, shapeClass, functionalComponent) {
294
304
  return newProps;
295
305
  }
296
306
  function getSourceFromInputProps(props, shapeClass) {
297
- const input = props === null || props === void 0 ? void 0 : props.of;
307
+ let input = props === null || props === void 0 ? void 0 : props.of;
308
+ // Unwrap single-element arrays (e.g. from preloadFor on maxCount:1 properties
309
+ // where the result mapper returns an array with one item).
310
+ if (Array.isArray(input) && input.length === 1) {
311
+ input = input[0];
312
+ }
298
313
  if (input instanceof Shape_1.Shape) {
299
314
  if (input.nodeShape !== shapeClass.shape &&
300
315
  !(0, ShapeClass_1.hasSuperClass)((0, ShapeClass_1.getShapeClass)(input.nodeShape.id), shapeClass)) {
@@ -308,9 +323,23 @@ function getSourceFromInputProps(props, shapeClass) {
308
323
  // If nothing is provided, keep undefined; callers handle required source checks.
309
324
  return input;
310
325
  }
326
+ /**
327
+ * Check if a QResult has all the fields the query selects.
328
+ */
311
329
  function isValidQResult(of, query) {
312
- return (typeof (of === null || of === void 0 ? void 0 : of.id) === 'string' &&
313
- query.isValidResult(of));
330
+ if (typeof (of === null || of === void 0 ? void 0 : of.id) !== 'string')
331
+ return false;
332
+ const fieldSet = query.fields();
333
+ if (!fieldSet)
334
+ return false;
335
+ const labels = fieldSet.labels();
336
+ return labels.every((label) => label in of);
337
+ }
338
+ /**
339
+ * Check if an array of QResults all have the fields the query selects.
340
+ */
341
+ function isValidSetQResult(qResults, query) {
342
+ return qResults.every((qResult) => isValidQResult(qResult, query));
314
343
  }
315
344
  function createLoadingSpinner() {
316
345
  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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyJA,0DAsIC;AAED,gEA+IC;AAiGD,0DAyBC;AAliBD,sDAAiD;AACjD,qEAAgE;AAEhE,uEAAqE;AAErE,+CAA8D;AAC9D,qEAAgE;AAChE,yDAA0D;AAC1D,iEAA4D;AAC5D,qEAA2F;AAC3F,+DAA4E;AAuI5E,SAAgB,uBAAuB,CACrC,qBAAqB,EACrB,iBAAiB;IAEjB,OAAO,SAAS,eAAe,CAM7B,KAAgB,EAChB,mBAIC;QAED,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,YAAY,CAAY,KAAK,CAAC,CAAC;QAE/D,IAAI,iBAAiB,GACnB,eAAK,CAAC,UAAU,CACd,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;;YACb,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAM,SAAS,CAAC,CAAC;YAC7D,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,GAAU,CAAC;YAEvD,IAAI,WAAW,GAAQ,uBAAuB,CAG5C,KAAY,EAAE,UAAU,CAAC,CAAC;YAC5B,IAAI,GAAG,EAAE,CAAC;gBACR,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC;YACxB,CAAC;YAED,MAAM,QAAQ,GAAG,GAAG,EAAE;;gBACpB,MAAM,QAAQ,GAAG,MAAA,WAAW,CAAC,MAAM,0CAAE,EAAE,CAAC;gBACxC,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;oBAC7C,iEAAiE;oBACjE,IAAI,YAAY,GAAG,WAAW,CAAC,MAAM;wBACnC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;wBACrC,CAAC,CAAC,WAAW,CAAC;oBAEhB,cAAc,CAAC,QAAQ,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;oBAC1D,IAAA,gCAAgB,GAAE,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBACnE,kEAAkE;wBAClE,kEAAkE;wBAClE,cAAc,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,CAAC;wBAC7B,cAAc,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;wBACvD,cAAc,CAAC,EAAE,CAAC,CAAC;wBACnB,cAAc,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CACV,mCAAmC,WAAW,oBAAoB,CACnE,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,oBAAoB,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;YAEjE,IAAI,WAAW,IAAI,oBAAoB,EAAE,CAAC;gBACxC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,WAAW,CAAC,QAAQ,GAAG,IAAA,mBAAW,EAChC,CAAC,YAAY,EAAE,EAAE;gBACf,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,WAAW,EAAE,CAAC;wBAChB,cAAc,iCAAK,WAAW,GAAK,YAAY,EAAE,CAAC;oBACpD,CAAC;yBAAM,IAAI,oBAAoB,EAAE,CAAC;wBAChC,cAAc,iCAAK,KAAK,CAAC,EAAE,GAAK,YAAY,EAAE,CAAC;oBACjD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,QAAQ,EAAE,CAAC;gBACb,CAAC;YACH,CAAC,EACD,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,CACxB,CAAC;YAEF,mEAAmE;YACnE,sEAAsE;YACtE,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC;YAEvD,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC9C,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,CAAC;oBACpC,6DAA6D;oBAC7D,OAAO,oBAAoB,EAAE,CAAC;gBAChC,CAAC;gBACD,OAAO,CAAC,IAAI,CACV,2EAA2E;oBACzE,mBAAmB,CAAC,IAAI,CAC3B,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,YAAY,GAAG,6BAAa,CAAC,aAAa,EAAE,CAAC;YAEjD,IAAA,iBAAS,EAAC,GAAG,EAAE;gBACb,IAAI,WAAW,EAAE,CAAC;oBAChB,cAAc,CAAC,SAAS,CAAC,CAAC;gBAC5B,CAAC;gBAED,IAAI,YAAY,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC1C,QAAQ,EAAE,CAAC;gBACb,CAAC;YACH,CAAC,EAAE,CAAC,MAAA,WAAW,CAAC,MAAM,0CAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;YAEhD,IAAI,YAAY,GACd,WAAW,IAAI,CAAC,YAAY,IAAI,oBAAoB,CAAC;YAEvD,0DAA0D;YAC1D,IAAI,YAAY,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClD,OAAO,eAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,OAAO,oBAAoB,EAAE,CAAC;YAChC,CAAC;QACH,CAAC,CACK,CAAC;QAEX,iBAAiB,CAAC,QAAQ,GAAG,mBAAmB,CAAC;QACjD,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;QAChC,iBAAiB,CAAC,KAAK,GAAG,UAAU,CAAC;QACrC,IAAI,mBAAmB,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE;gBAC/C,KAAK,EAAE,mBAAmB,CAAC,IAAI;aAChC,CAAC,CAAC;YACH,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QAC3C,CAAC;QAED,iBAAiB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAEjD,OAAO,iBAAiB,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,0BAA0B,CACxC,qBAAqB,EACrB,iBAAiB;IAEjB,OAAO,SAAS,kBAAkB,CAQhC,KAAgB,EAChB,mBAGC;QAED,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,YAAY,CAAY,KAAY,EAAE,IAAI,CAAC,CAAC;QAE5E,IAAI,YAAY,GAAG,6BAAa,CAAC,aAAa,EAAE,CAAC;QAEjD,IAAI,iBAAiB,GACnB,eAAK,CAAC,UAAU,CAGd,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;;YACf,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAM,SAAS,CAAC,CAAC;YAE7D,IAAI,WAAW,GAAG,0BAA0B,CAG1C,KAAK,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;YAE1C,IAAI,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,uBAAa,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAS,YAAY,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAS,CAAC,CAAC,CAAC;YAE9C,IAAI,GAAG,EAAE,CAAC;gBACP,WAAmB,CAAC,GAAG,GAAG,GAAG,CAAC;YACjC,CAAC;YAED,IAAI,oBAAoB,GACtB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;gBACnB,OAAO,CAAA,MAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAkB,0CAAE,EAAE,CAAA,KAAK,QAAQ;gBACrD,iBAAiB,CAAC,KAAK,CAAC,EAAoB,EAAE,WAAW,CAAC,CAAC;YAE7D,IAAI,WAAW,IAAI,oBAAoB,EAAE,CAAC;gBACxC,IAAI,UAAU,CAAC;gBACf,IAAI,WAAW,EAAE,CAAC;oBAChB,UAAU,GAAG,WAAW,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,IAAI,KAAK,EAAE,CAAC;wBACV,UAAU,GAAI,KAAK,CAAC,EAA0B,CAAC,KAAK,CAClD,MAAM,IAAI,CAAC,EACX,MAAM,GAAG,KAAK,CACf,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC;oBACxB,CAAC;gBACH,CAAC;gBACD,IAAI,KAAK,YAAY,2BAAY,EAAE,CAAC;oBAClC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;wBACvC,UAAU,EAAE,UAAU;qBACvB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChC,WAAW,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,WAAW,CAAC,KAAK,GAAG;oBAClB,QAAQ,EAAE,GAAG,EAAE;wBACb,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;oBAC5B,CAAC;oBACD,YAAY,EAAE,GAAG,EAAE;wBACjB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;oBACzC,CAAC;oBACD,QAAQ,EAAE,CAAC,QAAgB,EAAE,EAAE;wBAC7B,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACrB,CAAC;oBACD,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE;wBACxB,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;oBAC1B,CAAC;iBACiB,CAAC;YACvB,CAAC;YAED,IAAA,iBAAS,EAAC,GAAG,EAAE;gBACb,IAAI,YAAY,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC1C,0EAA0E;oBAC1E,IAAI,YAAY,GAAsB,WAAW,CAAC;oBAClD,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;wBACxB,YAAY,GAAG,YAAY,CAAC,MAAM,CAChC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,EAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,CAChE,CAAC;oBACJ,CAAC;oBACD,IAAI,KAAK,EAAE,CAAC;wBACV,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC3C,CAAC;oBACD,IAAI,MAAM,EAAE,CAAC;wBACX,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC7C,CAAC;oBAED,IAAA,gCAAgB,GAAE,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBACnE,cAAc,CAAC,MAAM,CAAC,CAAC;oBACzB,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAE9B,IAAI,YAAY,GAAG,WAAW,IAAI,CAAC,YAAY,IAAI,oBAAoB,CAAC;YAExE,IACE,OAAO,WAAW,KAAK,WAAW;gBAClC,YAAY;gBACZ,CAAC,oBAAoB,EACrB,CAAC;gBACD,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,eAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,OAAO,oBAAoB,EAAE,CAAC;YAChC,CAAC;QACH,CAAC,CAAQ,CAAC;QAEZ,iBAAiB,CAAC,QAAQ,GAAG,mBAAmB,CAAC;QACjD,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;QAEhC,iBAAiB,CAAC,KAAK,GAAG,UAAU,CAAC;QACrC,IAAI,mBAAmB,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE;gBAC/C,KAAK,EAAE,mBAAmB,CAAC,IAAI;aAChC,CAAC,CAAC;YACH,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QAC3C,CAAC;QAED,iBAAiB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAEjD,OAAO,iBAAiB,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAA+C,EAC/C,UAAU;IAEV,IAAI,QAAQ,mCACP,KAAK,KACR,MAAM,EAAE,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,GACnD,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACxD,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACpC,QAAQ,CAAC,GAAG,CAAC,GAAI,QAAQ,CAAC,EAAU,CAAC,GAAG,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAQ,QAAgB,CAAC,EAAE,CAAC;IAC5B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CACnB,YAAqE,EACrE,eAAwB,KAAK;IAE7B,IAAI,UAAwB,CAAC;IAC7B,IAAI,KAA8B,CAAC;IAEnC,IAAI,YAAY,YAAY,2BAAY,EAAE,CAAC;QACzC,KAAK,GAAG,YAAY,CAAC;QACrB,sFAAsF;QACtF,UAAU,GAAG,IAAA,0BAAa,EAAC,YAAY,CAAC,MAAM,EAAE,CAAC,KAAK,CAA4B,CAAC;IACrF,CAAC;SAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,EAAE,CAAC;QAC5D,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QACD,KAAK,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;YAC7B,IAAI,YAAY,CAAC,GAAG,CAAC,YAAY,2BAAY,EAAE,CAAC;gBAC9C,UAAU,GAAG,IAAA,0BAAa,EAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAA4B,CAAC;gBACxF,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,8FAA8F,CAC/F,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,8HAA8H,CAC/H,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,0BAA0B,CACjC,KAA8C,EAC9C,UAAU,EACV,mBAAmB;IAEnB,IACE,KAAK,CAAC,EAAE;QACR,CAAC,CAAC,KAAK,CAAC,EAAE,YAAY,mBAAQ,CAAC;QAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EACxB,CAAC;QACD,MAAM,KAAK,CACT,oCAAoC;YAClC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACvD,cAAc;YACd,KAAK,CAAC,EAAE;YACR,uGAAuG,CAC1G,CAAC;IACJ,CAAC;IAED,IAAI,OAA4B,CAAC;IACjC,IAAI,KAAK,CAAC,EAAE,YAAY,mBAAQ,EAAE,CAAC;QACjC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;IACrB,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QACnC,OAAO,GAAG,IAAI,mBAAQ,CACpB,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,OAAO,uBAAuB,CAAC,EAAC,EAAE,EAAE,IAAI,EAAC,EAAE,UAAU,CAAC,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,mCACT,KAAK,KACR,OAAO,GACR,CAAC;IAEF,OAAQ,QAAgB,CAAC,EAAE,CAAC;IAC5B,OAAO,QAAkD,CAAC;AAC5D,CAAC;AAED,SAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU;IACvD,IAAI,KAAK,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,CAAC;IAEtB,8EAA8E;IAC9E,2DAA2D;IAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,KAAK,YAAY,aAAK,EAAE,CAAC;QAC3B,IACE,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC,KAAK;YACpC,CAAC,IAAA,0BAAa,EAAC,IAAA,0BAAa,EAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAC7D,CAAC;YACD,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,IAAA,oCAAoB,EAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,iFAAiF;IACjF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,EAAO,EAAE,KAAwB;IACvD,IAAI,OAAO,CAAC,EAAmB,aAAnB,EAAE,uBAAF,EAAE,CAAmB,EAAE,CAAA,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IAChC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;IACjC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,QAAwB,EAAE,KAAwB;IAC3E,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,eAAK,CAAC,aAAa,CACxB,KAAK,EACL;QACE,SAAS,EAAE,WAAW;QACtB,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,QAAQ;KACf,CACF,CAAC;AACJ,CAAC"}
@@ -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;IAGhE,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;AA7BD,oDA6BC"}
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"}
@@ -2,3 +2,5 @@ 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';
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
@@ -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"}
@@ -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) => typeof Shape;
6
- declare const linkedComponent: <QueryType extends import("@_linked/core/queries/SelectQuery.js").SelectQueryFactory<any> = null, CustomProps = {}, ShapeType extends Shape = import("@_linked/core/queries/SelectQuery.js").GetQueryShapeType<QueryType>, Res = import("@_linked/core/queries/SelectQuery.js").GetQueryResponseType<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/SelectQuery.js").SelectQueryFactory<any> | {
8
- [key: string]: import("@_linked/core/queries/SelectQuery.js").SelectQueryFactory<any>;
9
- } = null, CustomProps = {}, ShapeType extends Shape = import("@_linked/core/queries/SelectQuery.js").GetQueryShapeType<QueryType>, 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>;
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, };
@@ -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,aACE,iBAAiB,CAAC,WAAW,IAAI,iBAAiB,CAAC,IACrD,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"}
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,2 @@
1
+ import cl from 'classnames';
2
+ export { cl };
@@ -0,0 +1,3 @@
1
+ import cl from 'classnames';
2
+ export { cl };
3
+ //# sourceMappingURL=ClassNames.js.map
@@ -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, GetQueryResponseType, GetQueryShapeType, QResult, QueryControllerProps, QueryResponseToResultType, QueryWrapperObject, SelectQueryFactory, ToQueryResultSet } from '@_linked/core/queries/SelectQuery';
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: SelectQueryFactory<any>;
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: SelectQueryFactory<any> | QueryWrapperObject<ShapeType>;
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 SelectQueryFactory<any> | {
44
- [key: string]: SelectQueryFactory<any>;
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 SelectQueryFactory<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>;
47
- export declare function createLinkedComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends SelectQueryFactory<any> = null, CustomProps = {}, ShapeType extends Shape = GetQueryShapeType<QueryType>, Res = GetQueryResponseType<QueryType>>(query: QueryType, functionalComponent: LinkableComponent<CustomProps & QueryResponseToResultType<Res, ShapeType>, ShapeType>) => LinkedComponent<CustomProps, ShapeType, Res>;
48
- export declare function createLinkedSetComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends SelectQueryFactory<any> | {
49
- [key: string]: SelectQueryFactory<any>;
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,20 +19,22 @@ export function createLinkedComponentFn(registerPackageExport, registerComponent
18
19
  linkedProps.ref = ref;
19
20
  }
20
21
  const loadData = () => {
21
- var _a, _b;
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
- let requestQuery = actualQuery.clone();
25
- if (linkedProps.source) {
26
- requestQuery.setSubject(linkedProps.source);
27
- }
28
- setLoadingData(sourceId || ((_b = requestQuery.subject) === null || _b === void 0 ? void 0 : _b.id));
29
- const parser = shapeClass.queryParser || Shape.queryParser;
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) => {
34
- setQueryResult(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) => {
31
+ // Use empty object when result is null/undefined so the component
32
+ // renders with default values instead of showing spinner forever.
33
+ setQueryResult(result !== null && result !== void 0 ? result : {});
34
+ setLoadingData(null);
35
+ }).catch((err) => {
36
+ console.error('linkedComponent loadData failed:', err);
37
+ setQueryResult({});
35
38
  setLoadingData(null);
36
39
  });
37
40
  }
@@ -39,7 +42,7 @@ export function createLinkedComponentFn(registerPackageExport, registerComponent
39
42
  console.warn(`Already loading data for source ${loadingData}, ignoring request`);
40
43
  }
41
44
  };
42
- let sourceIsValidQResult = isValidQResult(props.of, query);
45
+ let sourceIsValidQResult = isValidQResult(props.of, actualQuery);
43
46
  if (queryResult || sourceIsValidQResult) {
44
47
  linkedProps = Object.assign(linkedProps, queryResult || props.of);
45
48
  }
@@ -56,7 +59,14 @@ export function createLinkedComponentFn(registerPackageExport, registerComponent
56
59
  loadData();
57
60
  }
58
61
  }, [queryResult, props.of]);
59
- if (!linkedProps.source && !actualQuery.subject) {
62
+ // Resolve the current subject ID — for pending contexts this reads
63
+ // from the live global Map, so it updates when auth sets the context.
64
+ const resolvedSubjectId = actualQuery.toJSON().subject;
65
+ if (!linkedProps.source && !resolvedSubjectId) {
66
+ if (actualQuery.hasPendingContext()) {
67
+ // Subject will resolve after auth — show spinner until then.
68
+ return createLoadingSpinner();
69
+ }
60
70
  console.warn('This component requires a source to be provided (use the property "of"): ' +
61
71
  functionalComponent.name);
62
72
  return null;
@@ -69,7 +79,7 @@ export function createLinkedComponentFn(registerPackageExport, registerComponent
69
79
  if (usingStorage && !sourceIsValidQResult) {
70
80
  loadData();
71
81
  }
72
- }, [(_a = linkedProps.source) === null || _a === void 0 ? void 0 : _a.id]);
82
+ }, [(_a = linkedProps.source) === null || _a === void 0 ? void 0 : _a.id, resolvedSubjectId]);
73
83
  let dataIsLoaded = queryResult || !usingStorage || sourceIsValidQResult;
74
84
  // Keep legacy client-side guard to avoid hydration drift.
75
85
  if (dataIsLoaded && typeof window !== 'undefined') {
@@ -100,7 +110,7 @@ export function createLinkedSetComponentFn(registerPackageExport, registerCompon
100
110
  var _a;
101
111
  let [queryResult, setQueryResult] = useState(undefined);
102
112
  let linkedProps = getLinkedSetComponentProps(props, shapeClass, functionalComponent);
103
- let defaultLimit = actualQuery.getLimit() || DEFAULT_LIMIT;
113
+ let defaultLimit = actualQuery.toJSON().limit || DEFAULT_LIMIT;
104
114
  let [limit, setLimit] = useState(defaultLimit);
105
115
  let [offset, setOffset] = useState(0);
106
116
  if (ref) {
@@ -109,7 +119,7 @@ export function createLinkedSetComponentFn(registerPackageExport, registerCompon
109
119
  let sourceIsValidQResult = Array.isArray(props.of) &&
110
120
  props.of.length > 0 &&
111
121
  typeof ((_a = props.of[0]) === null || _a === void 0 ? void 0 : _a.id) === 'string' &&
112
- actualQuery.isValidSetResult(props.of);
122
+ isValidSetQResult(props.of, actualQuery);
113
123
  if (queryResult || sourceIsValidQResult) {
114
124
  let dataResult;
115
125
  if (queryResult) {
@@ -123,7 +133,7 @@ export function createLinkedSetComponentFn(registerPackageExport, registerCompon
123
133
  dataResult = props.of;
124
134
  }
125
135
  }
126
- if (query instanceof SelectQueryFactory) {
136
+ if (query instanceof QueryBuilder) {
127
137
  linkedProps = Object.assign(linkedProps, {
128
138
  linkedData: dataResult,
129
139
  });
@@ -151,19 +161,18 @@ export function createLinkedSetComponentFn(registerPackageExport, registerCompon
151
161
  }
152
162
  useEffect(() => {
153
163
  if (usingStorage && !sourceIsValidQResult) {
154
- let requestQuery = actualQuery.clone();
155
- requestQuery.setSubject(linkedProps.sources);
164
+ // QueryBuilder is immutable — chain calls to set subjects, limit, offset.
165
+ let requestQuery = actualQuery;
166
+ if (linkedProps.sources) {
167
+ requestQuery = requestQuery.forAll(Array.from(linkedProps.sources).map((s) => ({ id: s.id })));
168
+ }
156
169
  if (limit) {
157
- requestQuery.setLimit(limit);
170
+ requestQuery = requestQuery.limit(limit);
158
171
  }
159
172
  if (offset) {
160
- requestQuery.setOffset(offset);
161
- }
162
- const parser = shapeClass.queryParser || Shape.queryParser;
163
- if (!parser) {
164
- throw new Error(`No query parser configured for ${(shapeClass === null || shapeClass === void 0 ? void 0 : shapeClass.name) || 'shape'}.`);
173
+ requestQuery = requestQuery.offset(offset);
165
174
  }
166
- parser.selectQuery(requestQuery).then((result) => {
175
+ getQueryDispatch().selectQuery(requestQuery.build()).then((result) => {
167
176
  setQueryResult(result);
168
177
  });
169
178
  }
@@ -209,26 +218,27 @@ function getLinkedComponentProps(props, shapeClass) {
209
218
  function processQuery(requiredData, setComponent = false) {
210
219
  let shapeClass;
211
220
  let query;
212
- if (requiredData instanceof SelectQueryFactory) {
221
+ if (requiredData instanceof QueryBuilder) {
213
222
  query = requiredData;
214
- shapeClass = requiredData.shape;
223
+ // QueryBuilder._shape is private; extract shape IRI via toJSON and resolve the class.
224
+ shapeClass = getShapeClass(requiredData.toJSON().shape);
215
225
  }
216
226
  else if (typeof requiredData === 'object' && setComponent) {
217
227
  if (Object.keys(requiredData).length > 1) {
218
228
  throw new Error('Only one key is allowed to map a query to a property for linkedSetComponents');
219
229
  }
220
230
  for (let key in requiredData) {
221
- if (requiredData[key] instanceof SelectQueryFactory) {
222
- shapeClass = requiredData[key].shape;
231
+ if (requiredData[key] instanceof QueryBuilder) {
232
+ shapeClass = getShapeClass(requiredData[key].toJSON().shape);
223
233
  query = requiredData[key];
224
234
  }
225
235
  else {
226
- throw new Error('Unknown value type for query object. Keep to this format: {propName: Shape.query(s => ...)}');
236
+ throw new Error('Unknown value type for query object. Keep to this format: {propName: Shape.select(s => ...)}');
227
237
  }
228
238
  }
229
239
  }
230
240
  else {
231
- throw new Error('Unknown data query type. Expected a LinkedQuery (from Shape.query()) or an object with 1 key whose value is a LinkedQuery');
241
+ 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
242
  }
233
243
  return [shapeClass, query];
234
244
  }
@@ -256,7 +266,12 @@ function getLinkedSetComponentProps(props, shapeClass, functionalComponent) {
256
266
  return newProps;
257
267
  }
258
268
  export function getSourceFromInputProps(props, shapeClass) {
259
- const input = props === null || props === void 0 ? void 0 : props.of;
269
+ let input = props === null || props === void 0 ? void 0 : props.of;
270
+ // Unwrap single-element arrays (e.g. from preloadFor on maxCount:1 properties
271
+ // where the result mapper returns an array with one item).
272
+ if (Array.isArray(input) && input.length === 1) {
273
+ input = input[0];
274
+ }
260
275
  if (input instanceof Shape) {
261
276
  if (input.nodeShape !== shapeClass.shape &&
262
277
  !hasSuperClass(getShapeClass(input.nodeShape.id), shapeClass)) {
@@ -270,9 +285,23 @@ export function getSourceFromInputProps(props, shapeClass) {
270
285
  // If nothing is provided, keep undefined; callers handle required source checks.
271
286
  return input;
272
287
  }
288
+ /**
289
+ * Check if a QResult has all the fields the query selects.
290
+ */
273
291
  function isValidQResult(of, query) {
274
- return (typeof (of === null || of === void 0 ? void 0 : of.id) === 'string' &&
275
- query.isValidResult(of));
292
+ if (typeof (of === null || of === void 0 ? void 0 : of.id) !== 'string')
293
+ return false;
294
+ const fieldSet = query.fields();
295
+ if (!fieldSet)
296
+ return false;
297
+ const labels = fieldSet.labels();
298
+ return labels.every((label) => label in of);
299
+ }
300
+ /**
301
+ * Check if an array of QResults all have the fields the query selects.
302
+ */
303
+ function isValidSetQResult(qResults, query) {
304
+ return qResults.every((qResult) => isValidQResult(qResult, query));
276
305
  }
277
306
  function createLoadingSpinner() {
278
307
  return React.createElement('div', {
@@ -1 +1 @@
1
- {"version":3,"file":"LinkedComponent.js","sourceRoot":"","sources":["../../../src/utils/LinkedComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,kBAAkB,GAEnB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,KAAK,EAAC,MAAM,4BAA4B,CAAC;AAEjD,OAAO,KAAK,EAAE,EAAgB,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAC,aAAa,EAAC,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAC,QAAQ,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAC,oBAAoB,EAAqB,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EAAC,aAAa,EAAE,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAmH5E,MAAM,UAAU,uBAAuB,CACrC,qBAAqB,EACrB,iBAAiB;IAEjB,OAAO,SAAS,eAAe,CAM7B,KAAgB,EAChB,mBAIC;QAED,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,YAAY,CAAY,KAAK,CAAC,CAAC;QAE/D,IAAI,iBAAiB,GACnB,KAAK,CAAC,UAAU,CACd,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;;YACb,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAM,SAAS,CAAC,CAAC;YAC7D,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAU,CAAC;YAEvD,IAAI,WAAW,GAAQ,uBAAuB,CAG5C,KAAY,EAAE,UAAU,CAAC,CAAC;YAC5B,IAAI,GAAG,EAAE,CAAC;gBACR,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC;YACxB,CAAC;YAED,MAAM,QAAQ,GAAG,GAAG,EAAE;;gBACpB,MAAM,QAAQ,GAAG,MAAA,WAAW,CAAC,MAAM,0CAAE,EAAE,CAAC;gBACxC,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;oBAC7C,IAAI,YAAY,GACd,WACD,CAAC,KAAK,EAAE,CAAC;oBACV,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;wBACvB,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBAC9C,CAAC;oBAED,cAAc,CAAC,QAAQ,KAAI,MAAA,YAAY,CAAC,OAAO,0CAAE,EAAE,CAAA,CAAC,CAAC;oBACrD,MAAM,MAAM,GACT,UAA2B,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC;oBAChE,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,IAAI,KAAK,CACb,kCAAkC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,KAAI,OAAO,GAAG,CACjE,CAAC;oBACJ,CAAC;oBACD,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC/C,cAAc,CAAC,MAAM,CAAC,CAAC;wBACvB,cAAc,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CACV,mCAAmC,WAAW,oBAAoB,CACnE,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,oBAAoB,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAE3D,IAAI,WAAW,IAAI,oBAAoB,EAAE,CAAC;gBACxC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,WAAW,CAAC,QAAQ,GAAG,WAAW,CAChC,CAAC,YAAY,EAAE,EAAE;gBACf,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,WAAW,EAAE,CAAC;wBAChB,cAAc,iCAAK,WAAW,GAAK,YAAY,EAAE,CAAC;oBACpD,CAAC;yBAAM,IAAI,oBAAoB,EAAE,CAAC;wBAChC,cAAc,iCAAK,KAAK,CAAC,EAAE,GAAK,YAAY,EAAE,CAAC;oBACjD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,QAAQ,EAAE,CAAC;gBACb,CAAC;YACH,CAAC,EACD,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,CACxB,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBAChD,OAAO,CAAC,IAAI,CACV,2EAA2E;oBACzE,mBAAmB,CAAC,IAAI,CAC3B,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,YAAY,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;YAEjD,SAAS,CAAC,GAAG,EAAE;gBACb,IAAI,WAAW,EAAE,CAAC;oBAChB,cAAc,CAAC,SAAS,CAAC,CAAC;gBAC5B,CAAC;gBAED,IAAI,YAAY,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC1C,QAAQ,EAAE,CAAC;gBACb,CAAC;YACH,CAAC,EAAE,CAAC,MAAA,WAAW,CAAC,MAAM,0CAAE,EAAE,CAAC,CAAC,CAAC;YAE7B,IAAI,YAAY,GACd,WAAW,IAAI,CAAC,YAAY,IAAI,oBAAoB,CAAC;YAEvD,0DAA0D;YAC1D,IAAI,YAAY,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClD,OAAO,KAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,OAAO,oBAAoB,EAAE,CAAC;YAChC,CAAC;QACH,CAAC,CACK,CAAC;QAEX,iBAAiB,CAAC,QAAQ,GAAG,mBAAmB,CAAC;QACjD,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;QAChC,iBAAiB,CAAC,KAAK,GAAG,UAAU,CAAC;QACrC,IAAI,mBAAmB,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE;gBAC/C,KAAK,EAAE,mBAAmB,CAAC,IAAI;aAChC,CAAC,CAAC;YACH,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QAC3C,CAAC;QAED,iBAAiB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAEjD,OAAO,iBAAiB,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,qBAAqB,EACrB,iBAAiB;IAEjB,OAAO,SAAS,kBAAkB,CAQhC,KAAgB,EAChB,mBAGC;QAED,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,YAAY,CAAY,KAAY,EAAE,IAAI,CAAC,CAAC;QAE5E,IAAI,YAAY,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;QAEjD,IAAI,iBAAiB,GACnB,KAAK,CAAC,UAAU,CAGd,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;;YACf,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAM,SAAS,CAAC,CAAC;YAE7D,IAAI,WAAW,GAAG,0BAA0B,CAG1C,KAAK,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;YAE1C,IAAI,YAAY,GAAG,WAAW,CAAC,QAAQ,EAAE,IAAI,aAAa,CAAC;YAC3D,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,YAAY,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;YAE9C,IAAI,GAAG,EAAE,CAAC;gBACP,WAAmB,CAAC,GAAG,GAAG,GAAG,CAAC;YACjC,CAAC;YAED,IAAI,oBAAoB,GACtB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;gBACnB,OAAO,CAAA,MAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAkB,0CAAE,EAAE,CAAA,KAAK,QAAQ;gBACrD,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAoB,CAAC,CAAC;YAE3D,IAAI,WAAW,IAAI,oBAAoB,EAAE,CAAC;gBACxC,IAAI,UAAU,CAAC;gBACf,IAAI,WAAW,EAAE,CAAC;oBAChB,UAAU,GAAG,WAAW,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,IAAI,KAAK,EAAE,CAAC;wBACV,UAAU,GAAI,KAAK,CAAC,EAA0B,CAAC,KAAK,CAClD,MAAM,IAAI,CAAC,EACX,MAAM,GAAG,KAAK,CACf,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC;oBACxB,CAAC;gBACH,CAAC;gBACD,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;oBACxC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;wBACvC,UAAU,EAAE,UAAU;qBACvB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChC,WAAW,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,WAAW,CAAC,KAAK,GAAG;oBAClB,QAAQ,EAAE,GAAG,EAAE;wBACb,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;oBAC5B,CAAC;oBACD,YAAY,EAAE,GAAG,EAAE;wBACjB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;oBACzC,CAAC;oBACD,QAAQ,EAAE,CAAC,QAAgB,EAAE,EAAE;wBAC7B,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACrB,CAAC;oBACD,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE;wBACxB,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;oBAC1B,CAAC;iBACiB,CAAC;YACvB,CAAC;YAED,SAAS,CAAC,GAAG,EAAE;gBACb,IAAI,YAAY,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC1C,IAAI,YAAY,GAAI,WAAuC,CAAC,KAAK,EAAE,CAAC;oBACpE,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBAE7C,IAAI,KAAK,EAAE,CAAC;wBACV,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC/B,CAAC;oBACD,IAAI,MAAM,EAAE,CAAC;wBACX,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBACjC,CAAC;oBAED,MAAM,MAAM,GACT,UAA2B,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC;oBAChE,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,IAAI,KAAK,CACb,kCAAkC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,KAAI,OAAO,GAAG,CACjE,CAAC;oBACJ,CAAC;oBACD,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC/C,cAAc,CAAC,MAAM,CAAC,CAAC;oBACzB,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAE9B,IAAI,YAAY,GAAG,WAAW,IAAI,CAAC,YAAY,IAAI,oBAAoB,CAAC;YAExE,IACE,OAAO,WAAW,KAAK,WAAW;gBAClC,YAAY;gBACZ,CAAC,oBAAoB,EACrB,CAAC;gBACD,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,KAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,OAAO,oBAAoB,EAAE,CAAC;YAChC,CAAC;QACH,CAAC,CAAQ,CAAC;QAEZ,iBAAiB,CAAC,QAAQ,GAAG,mBAAmB,CAAC;QACjD,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;QAEhC,iBAAiB,CAAC,KAAK,GAAG,UAAU,CAAC;QACrC,IAAI,mBAAmB,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE;gBAC/C,KAAK,EAAE,mBAAmB,CAAC,IAAI;aAChC,CAAC,CAAC;YACH,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QAC3C,CAAC;QAED,iBAAiB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAEjD,OAAO,iBAAiB,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAA+C,EAC/C,UAAU;IAEV,IAAI,QAAQ,mCACP,KAAK,KACR,MAAM,EAAE,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,GACnD,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACxD,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACpC,QAAQ,CAAC,GAAG,CAAC,GAAI,QAAQ,CAAC,EAAU,CAAC,GAAG,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAQ,QAAgB,CAAC,EAAE,CAAC;IAC5B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CACnB,YAA2E,EAC3E,eAAwB,KAAK;IAE7B,IAAI,UAAwB,CAAC;IAC7B,IAAI,KAAoC,CAAC;IAEzC,IAAI,YAAY,YAAY,kBAAkB,EAAE,CAAC;QAC/C,KAAK,GAAG,YAAY,CAAC;QACrB,UAAU,GAAG,YAAY,CAAC,KAAY,CAAC;IACzC,CAAC;SAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,EAAE,CAAC;QAC5D,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QACD,KAAK,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;YAC7B,IAAI,YAAY,CAAC,GAAG,CAAC,YAAY,kBAAkB,EAAE,CAAC;gBACpD,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAY,CAAC;gBAC5C,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,2HAA2H,CAC5H,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,0BAA0B,CACjC,KAA8C,EAC9C,UAAU,EACV,mBAAmB;IAEnB,IACE,KAAK,CAAC,EAAE;QACR,CAAC,CAAC,KAAK,CAAC,EAAE,YAAY,QAAQ,CAAC;QAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EACxB,CAAC;QACD,MAAM,KAAK,CACT,oCAAoC;YAClC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACvD,cAAc;YACd,KAAK,CAAC,EAAE;YACR,uGAAuG,CAC1G,CAAC;IACJ,CAAC;IAED,IAAI,OAA4B,CAAC;IACjC,IAAI,KAAK,CAAC,EAAE,YAAY,QAAQ,EAAE,CAAC;QACjC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;IACrB,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QACnC,OAAO,GAAG,IAAI,QAAQ,CACpB,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,OAAO,uBAAuB,CAAC,EAAC,EAAE,EAAE,IAAI,EAAC,EAAE,UAAU,CAAC,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,mCACT,KAAK,KACR,OAAO,GACR,CAAC;IAEF,OAAQ,QAAgB,CAAC,EAAE,CAAC;IAC5B,OAAO,QAAkD,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAK,EAAE,UAAU;IACvD,MAAM,KAAK,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,CAAC;IAExB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,IACE,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC,KAAK;YACpC,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAC7D,CAAC;YACD,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,iFAAiF;IACjF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,EAAE,EAAE,KAAK;IAC/B,OAAO,CACL,OAAO,CAAC,EAAmB,aAAnB,EAAE,uBAAF,EAAE,CAAmB,EAAE,CAAA,KAAK,QAAQ;QAC5C,KAAK,CAAC,aAAa,CAAC,EAAkB,CAAC,CACxC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,KAAK,CAAC,aAAa,CACxB,KAAK,EACL;QACE,SAAS,EAAE,WAAW;QACtB,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,QAAQ;KACf,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"LinkedComponent.js","sourceRoot":"","sources":["../../../src/utils/LinkedComponent.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,KAAK,EAAC,MAAM,4BAA4B,CAAC;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAC,gBAAgB,EAAC,MAAM,qCAAqC,CAAC;AAErE,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAC,aAAa,EAAC,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAC,QAAQ,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAC,oBAAoB,EAAqB,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EAAC,aAAa,EAAE,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAuI5E,MAAM,UAAU,uBAAuB,CACrC,qBAAqB,EACrB,iBAAiB;IAEjB,OAAO,SAAS,eAAe,CAM7B,KAAgB,EAChB,mBAIC;QAED,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,YAAY,CAAY,KAAK,CAAC,CAAC;QAE/D,IAAI,iBAAiB,GACnB,KAAK,CAAC,UAAU,CACd,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;;YACb,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAM,SAAS,CAAC,CAAC;YAC7D,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAU,CAAC;YAEvD,IAAI,WAAW,GAAQ,uBAAuB,CAG5C,KAAY,EAAE,UAAU,CAAC,CAAC;YAC5B,IAAI,GAAG,EAAE,CAAC;gBACR,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC;YACxB,CAAC;YAED,MAAM,QAAQ,GAAG,GAAG,EAAE;;gBACpB,MAAM,QAAQ,GAAG,MAAA,WAAW,CAAC,MAAM,0CAAE,EAAE,CAAC;gBACxC,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;oBAC7C,iEAAiE;oBACjE,IAAI,YAAY,GAAG,WAAW,CAAC,MAAM;wBACnC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;wBACrC,CAAC,CAAC,WAAW,CAAC;oBAEhB,cAAc,CAAC,QAAQ,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;oBAC1D,gBAAgB,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBACnE,kEAAkE;wBAClE,kEAAkE;wBAClE,cAAc,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,CAAC;wBAC7B,cAAc,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;wBACvD,cAAc,CAAC,EAAE,CAAC,CAAC;wBACnB,cAAc,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CACV,mCAAmC,WAAW,oBAAoB,CACnE,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,oBAAoB,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;YAEjE,IAAI,WAAW,IAAI,oBAAoB,EAAE,CAAC;gBACxC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,WAAW,CAAC,QAAQ,GAAG,WAAW,CAChC,CAAC,YAAY,EAAE,EAAE;gBACf,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,WAAW,EAAE,CAAC;wBAChB,cAAc,iCAAK,WAAW,GAAK,YAAY,EAAE,CAAC;oBACpD,CAAC;yBAAM,IAAI,oBAAoB,EAAE,CAAC;wBAChC,cAAc,iCAAK,KAAK,CAAC,EAAE,GAAK,YAAY,EAAE,CAAC;oBACjD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,QAAQ,EAAE,CAAC;gBACb,CAAC;YACH,CAAC,EACD,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,CACxB,CAAC;YAEF,mEAAmE;YACnE,sEAAsE;YACtE,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC;YAEvD,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC9C,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,CAAC;oBACpC,6DAA6D;oBAC7D,OAAO,oBAAoB,EAAE,CAAC;gBAChC,CAAC;gBACD,OAAO,CAAC,IAAI,CACV,2EAA2E;oBACzE,mBAAmB,CAAC,IAAI,CAC3B,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,YAAY,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;YAEjD,SAAS,CAAC,GAAG,EAAE;gBACb,IAAI,WAAW,EAAE,CAAC;oBAChB,cAAc,CAAC,SAAS,CAAC,CAAC;gBAC5B,CAAC;gBAED,IAAI,YAAY,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC1C,QAAQ,EAAE,CAAC;gBACb,CAAC;YACH,CAAC,EAAE,CAAC,MAAA,WAAW,CAAC,MAAM,0CAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;YAEhD,IAAI,YAAY,GACd,WAAW,IAAI,CAAC,YAAY,IAAI,oBAAoB,CAAC;YAEvD,0DAA0D;YAC1D,IAAI,YAAY,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClD,OAAO,KAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,OAAO,oBAAoB,EAAE,CAAC;YAChC,CAAC;QACH,CAAC,CACK,CAAC;QAEX,iBAAiB,CAAC,QAAQ,GAAG,mBAAmB,CAAC;QACjD,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;QAChC,iBAAiB,CAAC,KAAK,GAAG,UAAU,CAAC;QACrC,IAAI,mBAAmB,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE;gBAC/C,KAAK,EAAE,mBAAmB,CAAC,IAAI;aAChC,CAAC,CAAC;YACH,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QAC3C,CAAC;QAED,iBAAiB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAEjD,OAAO,iBAAiB,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,qBAAqB,EACrB,iBAAiB;IAEjB,OAAO,SAAS,kBAAkB,CAQhC,KAAgB,EAChB,mBAGC;QAED,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,YAAY,CAAY,KAAY,EAAE,IAAI,CAAC,CAAC;QAE5E,IAAI,YAAY,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;QAEjD,IAAI,iBAAiB,GACnB,KAAK,CAAC,UAAU,CAGd,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;;YACf,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAM,SAAS,CAAC,CAAC;YAE7D,IAAI,WAAW,GAAG,0BAA0B,CAG1C,KAAK,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;YAE1C,IAAI,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,aAAa,CAAC;YAC/D,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,YAAY,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;YAE9C,IAAI,GAAG,EAAE,CAAC;gBACP,WAAmB,CAAC,GAAG,GAAG,GAAG,CAAC;YACjC,CAAC;YAED,IAAI,oBAAoB,GACtB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;gBACnB,OAAO,CAAA,MAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAkB,0CAAE,EAAE,CAAA,KAAK,QAAQ;gBACrD,iBAAiB,CAAC,KAAK,CAAC,EAAoB,EAAE,WAAW,CAAC,CAAC;YAE7D,IAAI,WAAW,IAAI,oBAAoB,EAAE,CAAC;gBACxC,IAAI,UAAU,CAAC;gBACf,IAAI,WAAW,EAAE,CAAC;oBAChB,UAAU,GAAG,WAAW,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,IAAI,KAAK,EAAE,CAAC;wBACV,UAAU,GAAI,KAAK,CAAC,EAA0B,CAAC,KAAK,CAClD,MAAM,IAAI,CAAC,EACX,MAAM,GAAG,KAAK,CACf,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC;oBACxB,CAAC;gBACH,CAAC;gBACD,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;oBAClC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;wBACvC,UAAU,EAAE,UAAU;qBACvB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChC,WAAW,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,WAAW,CAAC,KAAK,GAAG;oBAClB,QAAQ,EAAE,GAAG,EAAE;wBACb,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;oBAC5B,CAAC;oBACD,YAAY,EAAE,GAAG,EAAE;wBACjB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;oBACzC,CAAC;oBACD,QAAQ,EAAE,CAAC,QAAgB,EAAE,EAAE;wBAC7B,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACrB,CAAC;oBACD,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE;wBACxB,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;oBAC1B,CAAC;iBACiB,CAAC;YACvB,CAAC;YAED,SAAS,CAAC,GAAG,EAAE;gBACb,IAAI,YAAY,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC1C,0EAA0E;oBAC1E,IAAI,YAAY,GAAsB,WAAW,CAAC;oBAClD,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;wBACxB,YAAY,GAAG,YAAY,CAAC,MAAM,CAChC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,EAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,CAChE,CAAC;oBACJ,CAAC;oBACD,IAAI,KAAK,EAAE,CAAC;wBACV,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC3C,CAAC;oBACD,IAAI,MAAM,EAAE,CAAC;wBACX,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC7C,CAAC;oBAED,gBAAgB,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBACnE,cAAc,CAAC,MAAM,CAAC,CAAC;oBACzB,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAE9B,IAAI,YAAY,GAAG,WAAW,IAAI,CAAC,YAAY,IAAI,oBAAoB,CAAC;YAExE,IACE,OAAO,WAAW,KAAK,WAAW;gBAClC,YAAY;gBACZ,CAAC,oBAAoB,EACrB,CAAC;gBACD,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,KAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,OAAO,oBAAoB,EAAE,CAAC;YAChC,CAAC;QACH,CAAC,CAAQ,CAAC;QAEZ,iBAAiB,CAAC,QAAQ,GAAG,mBAAmB,CAAC;QACjD,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;QAEhC,iBAAiB,CAAC,KAAK,GAAG,UAAU,CAAC;QACrC,IAAI,mBAAmB,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE;gBAC/C,KAAK,EAAE,mBAAmB,CAAC,IAAI;aAChC,CAAC,CAAC;YACH,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QAC3C,CAAC;QAED,iBAAiB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAEjD,OAAO,iBAAiB,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAA+C,EAC/C,UAAU;IAEV,IAAI,QAAQ,mCACP,KAAK,KACR,MAAM,EAAE,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,GACnD,CAAC;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACxD,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACpC,QAAQ,CAAC,GAAG,CAAC,GAAI,QAAQ,CAAC,EAAU,CAAC,GAAG,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAQ,QAAgB,CAAC,EAAE,CAAC;IAC5B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CACnB,YAAqE,EACrE,eAAwB,KAAK;IAE7B,IAAI,UAAwB,CAAC;IAC7B,IAAI,KAA8B,CAAC;IAEnC,IAAI,YAAY,YAAY,YAAY,EAAE,CAAC;QACzC,KAAK,GAAG,YAAY,CAAC;QACrB,sFAAsF;QACtF,UAAU,GAAG,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,KAAK,CAA4B,CAAC;IACrF,CAAC;SAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,EAAE,CAAC;QAC5D,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QACD,KAAK,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;YAC7B,IAAI,YAAY,CAAC,GAAG,CAAC,YAAY,YAAY,EAAE,CAAC;gBAC9C,UAAU,GAAG,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAA4B,CAAC;gBACxF,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,8FAA8F,CAC/F,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,8HAA8H,CAC/H,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,0BAA0B,CACjC,KAA8C,EAC9C,UAAU,EACV,mBAAmB;IAEnB,IACE,KAAK,CAAC,EAAE;QACR,CAAC,CAAC,KAAK,CAAC,EAAE,YAAY,QAAQ,CAAC;QAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EACxB,CAAC;QACD,MAAM,KAAK,CACT,oCAAoC;YAClC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACvD,cAAc;YACd,KAAK,CAAC,EAAE;YACR,uGAAuG,CAC1G,CAAC;IACJ,CAAC;IAED,IAAI,OAA4B,CAAC;IACjC,IAAI,KAAK,CAAC,EAAE,YAAY,QAAQ,EAAE,CAAC;QACjC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;IACrB,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QACnC,OAAO,GAAG,IAAI,QAAQ,CACpB,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,OAAO,uBAAuB,CAAC,EAAC,EAAE,EAAE,IAAI,EAAC,EAAE,UAAU,CAAC,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,mCACT,KAAK,KACR,OAAO,GACR,CAAC;IAEF,OAAQ,QAAgB,CAAC,EAAE,CAAC;IAC5B,OAAO,QAAkD,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAK,EAAE,UAAU;IACvD,IAAI,KAAK,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,CAAC;IAEtB,8EAA8E;IAC9E,2DAA2D;IAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,IACE,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC,KAAK;YACpC,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAC7D,CAAC;YACD,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,iFAAiF;IACjF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,EAAO,EAAE,KAAwB;IACvD,IAAI,OAAO,CAAC,EAAmB,aAAnB,EAAE,uBAAF,EAAE,CAAmB,EAAE,CAAA,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IAChC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;IACjC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,QAAwB,EAAE,KAAwB;IAC3E,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,KAAK,CAAC,aAAa,CACxB,KAAK,EACL;QACE,SAAS,EAAE,WAAW;QACtB,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,QAAQ;KACf,CACF,CAAC;AACJ,CAAC"}
@@ -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;IAGhE,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"}
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": "1.0.0",
3
+ "version": "1.2.0-next.20260329000308",
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": "^1.0.0",
48
+ "@_linked/core": "^2.2.3",
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.3",
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",