@_linked/react 1.6.0 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/loaders/LinkedInfinityLoader.js.map +1 -1
- package/lib/esm/native.js.map +1 -1
- package/lib/esm/package.js.map +1 -1
- package/lib/esm/utils/ClassNames.js.map +1 -1
- package/lib/esm/utils/Hooks.js.map +1 -1
- package/lib/esm/utils/LinkedComponent.js.map +1 -1
- package/lib/esm/utils/LinkedComponentClass.js.map +1 -1
- package/lib/esm/utils/useQueryContext.js.map +1 -1
- package/package.json +9 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.6.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#68](https://github.com/linked-fw/react/pull/68) [`21149f0`](https://github.com/linked-fw/react/commit/21149f0a0a84e17a990dac9394da55458261e205) Thanks [@flyon](https://github.com/flyon)! - Subpath imports written with a `.js` extension (`@_linked/react/<path>.js`) now resolve. The exports map had no `./*.js` entry, so `./*` turned them into `<path>.js.js` and Node, Vite and TypeScript (node16/bundler) all failed to find them. This matches the exports map of the other Linked packages.
|
|
8
|
+
|
|
9
|
+
## 1.6.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#55](https://github.com/linked-fw/react/pull/55) [`15d3a37`](https://github.com/linked-fw/react/commit/15d3a3796edac7fed655b80b194a6f3e491d8af9) Thanks [@flyon](https://github.com/flyon)! - Sourcemaps now embed their TypeScript source, so consumers no longer see 'points to missing source files' warnings.
|
|
14
|
+
|
|
3
15
|
## 1.6.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAC,oBAAoB,EAAC,MAAM,mCAAmC,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;AAC3C,OAAO,EAAC,oBAAoB,EAAC,MAAM,mCAAmC,CAAC","sourcesContent":["export * from './package.js';\nexport * from './utils/LinkedComponent.js';\nexport * from './utils/LinkedComponentClass.js';\nexport * from './utils/Hooks.js';\nexport * from './utils/ClassNames.js';\nexport * from './utils/useQueryContext.js';\nexport {LinkedInfinityLoader} from './loaders/LinkedInfinityLoader.js';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedInfinityLoader.js","sourceRoot":"","sources":["../../../src/loaders/LinkedInfinityLoader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,CACL,6BACE,SAAS,EAAC,+BAA+B,gBAC9B,SAAS,EACpB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B;QAElC,8BACE,CAAC,EAAC,8FAA8F,EAChG,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,GACrB,CACE,CACP,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"LinkedInfinityLoader.js","sourceRoot":"","sources":["../../../src/loaders/LinkedInfinityLoader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,CACL,6BACE,SAAS,EAAC,+BAA+B,gBAC9B,SAAS,EACpB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B;QAElC,8BACE,CAAC,EAAC,8FAA8F,EAChG,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,GACrB,CACE,CACP,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\n\n/**\n * Branded infinity-symbol loader. Opt-in: set\n * `LinkedComponentDefaults.loader = <LinkedInfinityLoader />` to use it as\n * the app-wide loading element, or pass `<X loader={<LinkedInfinityLoader/>}/>`\n * per-instance.\n *\n * Uses `stroke: currentColor` and an animated `stroke-dashoffset` that\n * traces along the figure-8 path. Styled by `.ld-loader--infinity` in\n * `@_linked/css/loader.css`.\n */\nexport function LinkedInfinityLoader(): React.ReactElement {\n return (\n <svg\n className=\"ld-loader ld-loader--infinity\"\n aria-label=\"Loading\"\n role=\"status\"\n viewBox=\"0 0 64 32\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16 16 C 16 4, 30 4, 32 16 C 34 28, 48 28, 48 16 C 48 4, 34 4, 32 16 C 30 28, 16 28, 16 16 Z\"\n fill=\"none\"\n stroke=\"currentColor\"\n />\n </svg>\n );\n}\n"]}
|
package/lib/esm/native.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.js","sourceRoot":"","sources":["../../src/native.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AACrD,OAAO,EAAC,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AAEnE,cAAc,YAAY,CAAC;AAE3B,uFAAuF;AACvF,MAAM,UAAU,kBAAkB;IAChC,OAAO,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE;QAC5C,MAAM,EAAE,eAAe;QACvB,kBAAkB,EAAE,SAAS;KAC9B,CAAC,CAAC;AACL,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,wBAAwB;IACtC,OAAO,KAAK,CAAC,aAAa,CACxB,IAAI,EACJ,EAAC,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAC,EACpD,gBAAgB,CACjB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,kBAAkB,EAAE,CAAC;AAC9B,CAAC;AAED,IAAI,uBAAuB,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;IACjD,uBAAuB,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;AACxD,CAAC;AACD,IAAI,uBAAuB,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;IACvD,uBAAuB,CAAC,YAAY,GAAG,wBAAwB,EAAE,CAAC;AACpE,CAAC"}
|
|
1
|
+
{"version":3,"file":"native.js","sourceRoot":"","sources":["../../src/native.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AACrD,OAAO,EAAC,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AAEnE,cAAc,YAAY,CAAC;AAE3B,uFAAuF;AACvF,MAAM,UAAU,kBAAkB;IAChC,OAAO,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE;QAC5C,MAAM,EAAE,eAAe;QACvB,kBAAkB,EAAE,SAAS;KAC9B,CAAC,CAAC;AACL,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,wBAAwB;IACtC,OAAO,KAAK,CAAC,aAAa,CACxB,IAAI,EACJ,EAAC,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAC,EACpD,gBAAgB,CACjB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,kBAAkB,EAAE,CAAC;AAC9B,CAAC;AAED,IAAI,uBAAuB,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;IACjD,uBAAuB,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;AACxD,CAAC;AACD,IAAI,uBAAuB,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;IACvD,uBAAuB,CAAC,YAAY,GAAG,wBAAwB,EAAE,CAAC;AACpE,CAAC","sourcesContent":["/**\n * React Native entry point: `import {...} from '@_linked/react/native'`.\n *\n * Re-exports the full root API and, on import, installs React Native render\n * defaults. The built-in loader and error elements (and `LinkedInfinityLoader`)\n * render `<svg>` host elements, which crash on React Native\n * (`View config getter callback for component 'svg'`).\n *\n * The defaults are written to `LinkedComponentDefaults` only where the app has\n * not already set them, so the normal resolution order still applies:\n * instance prop > definition options > LinkedComponentDefaults > built-in\n *\n * The root barrel (`@_linked/react`) never imports `react-native`; web\n * behaviour is unchanged.\n */\nimport React from 'react';\nimport {ActivityIndicator, Text} from 'react-native';\nimport {LinkedComponentDefaults} from './utils/LinkedComponent.js';\n\nexport * from './index.js';\n\n/** React Native loading element: an `ActivityIndicator` (`testID=\"linked-loader\"`). */\nexport function createNativeLoader(): React.ReactElement {\n return React.createElement(ActivityIndicator, {\n testID: 'linked-loader',\n accessibilityLabel: 'Loading',\n });\n}\n\n/** React Native error element: an alert `Text` (`testID=\"linked-error\"`). */\nexport function createNativeErrorElement(): React.ReactElement {\n return React.createElement(\n Text,\n {testID: 'linked-error', accessibilityRole: 'alert'},\n 'Failed to load',\n );\n}\n\n/**\n * React Native stand-in for the web `LinkedInfinityLoader` (an SVG), so code\n * that opts into it keeps working on native. Shadows the root re-export.\n */\nexport function LinkedInfinityLoader(): React.ReactElement {\n return createNativeLoader();\n}\n\nif (LinkedComponentDefaults.loader === undefined) {\n LinkedComponentDefaults.loader = createNativeLoader();\n}\nif (LinkedComponentDefaults.errorElement === undefined) {\n LinkedComponentDefaults.errorElement = createNativeErrorElement();\n}\n"]}
|
package/lib/esm/package.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAC,aAAa,IAAI,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAE/E,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,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAExC,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;AACF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,WAAmB,EAAE,EAAE;IACnD,uBACE,eAAe;QACf,kBAAkB,IACf,iBAAiB,CAAC,WAAW,CAAC,EACjC;AACJ,CAAC,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,IAAI,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAE/E,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,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAExC,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;AACF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,WAAmB,EAAE,EAAE;IACnD,uBACE,eAAe;QACf,kBAAkB,IACf,iBAAiB,CAAC,WAAW,CAAC,EACjC;AACJ,CAAC,CAAC;AAEF,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,eAAe,GAChB,CAAC","sourcesContent":["import {CoreSet} from '@_linked/core/collections/CoreSet';\nimport {linkedPackage as coreLinkedPackage} from '@_linked/core/utils/Package';\nimport {Shape} from '@_linked/core/shapes/Shape';\nimport {\n type Component,\n createLinkedComponentFn,\n createLinkedSetComponentFn,\n} from './utils/LinkedComponent.js';\n\nlet shapeToComponents: Map<typeof Shape, CoreSet<Component>> = new Map();\n\nconst {\n linkedUtil,\n linkedOntology,\n linkedShape,\n registerPackageExport,\n registerPackageModule,\n packageExports,\n getPackageShape,\n} = coreLinkedPackage('@_linked/react');\n\nfunction registerComponent(exportedComponent: Component, shape?: typeof Shape) {\n if (!shape) {\n if (!Object.prototype.hasOwnProperty.call(exportedComponent, 'shape')) {\n console.warn(\n `Component ${\n (exportedComponent as any).displayName || (exportedComponent as any).name\n } is not linked to a shape.`,\n );\n return;\n }\n shape = exportedComponent.shape;\n }\n\n if (!shapeToComponents.has(shape)) {\n shapeToComponents.set(shape, new CoreSet<any>());\n }\n\n shapeToComponents.get(shape).add(exportedComponent);\n}\n\nconst linkedComponent = createLinkedComponentFn(\n registerPackageExport,\n registerComponent,\n);\n\nconst linkedSetComponent = createLinkedSetComponentFn(\n registerPackageExport,\n registerComponent,\n);\nexport const linkedPackage = (packageName: string) => {\n return {\n linkedComponent,\n linkedSetComponent,\n ...coreLinkedPackage(packageName),\n };\n};\n\nexport {\n linkedComponent,\n linkedSetComponent,\n linkedShape,\n linkedUtil,\n linkedOntology,\n registerPackageExport,\n registerPackageModule,\n packageExports,\n getPackageShape,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClassNames.js","sourceRoot":"","sources":["../../../src/utils/ClassNames.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AAE/C,SAAS,UAAU,CAAC,GAAe;IACjC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3E,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACvD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;IAC1C,iFAAiF;IACjF,8CAA8C;IAC9C,IACE,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,SAAS,CAAC,QAAQ;QAC1C,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAClD,CAAC;QACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IACD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAK,GAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,EAAE,CAAC,GAAG,IAAkB;IACtC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM;YAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACtD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,eAAe,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"ClassNames.js","sourceRoot":"","sources":["../../../src/utils/ClassNames.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AAE/C,SAAS,UAAU,CAAC,GAAe;IACjC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3E,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACvD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;IAC1C,iFAAiF;IACjF,8CAA8C;IAC9C,IACE,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,SAAS,CAAC,QAAQ;QAC1C,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAClD,CAAC;QACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IACD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAK,GAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,EAAE,CAAC,GAAG,IAAkB;IACtC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM;YAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACtD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,eAAe,EAAE,CAAC","sourcesContent":["/**\n * `cl` — conditionally join classNames into a single string.\n *\n * Inlined (ESM, zero-dependency) replacement for the external `classnames` CJS\n * package. Keeping this out of `node_modules` matters for standalone linked apps:\n * their Vite build serves `@_linked/*` as native ESM, and a bare CJS module like\n * `classnames` has no ESM `default` export there (it needed an `optimizeDeps`\n * interop hack). Same API as `classnames`: strings/numbers pass through, arrays\n * recurse, and plain objects contribute each key whose value is truthy.\n */\ntype ClassValue =\n | string\n | number\n | null\n | undefined\n | boolean\n | ClassValue[]\n | {[key: string]: any};\n\nconst hasOwn = Object.prototype.hasOwnProperty;\n\nfunction parseValue(arg: ClassValue): string {\n if (typeof arg === 'string' || typeof arg === 'number') return String(arg);\n if (typeof arg !== 'object' || arg === null) return '';\n if (Array.isArray(arg)) return cl(...arg);\n // Objects with a custom `toString` (e.g. a CSS-module proxy) stringify directly;\n // plain objects contribute their truthy keys.\n if (\n arg.toString !== Object.prototype.toString &&\n !arg.toString.toString().includes('[native code]')\n ) {\n return arg.toString();\n }\n let out = '';\n for (const key in arg) {\n if (hasOwn.call(arg, key) && (arg as any)[key]) {\n out = out ? out + ' ' + key : key;\n }\n }\n return out;\n}\n\nexport function cl(...args: ClassValue[]): string {\n let out = '';\n for (const arg of args) {\n if (!arg) continue;\n const parsed = parseValue(arg);\n if (parsed) out = out ? out + ' ' + parsed : parsed;\n }\n return out;\n}\n\nexport default cl;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hooks.js","sourceRoot":"","sources":["../../../src/utils/Hooks.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,KAAK,EACL,kBAA4D,EAC5D,MAA4B,EAC5B,EAAE;IACF,IAAI,UAAU,CAAC;IACf,IAAI,cAAc,CAAC;IACnB,IAAI,SAAS,qBAAO,KAAK,CAAC,CAAC;IAC3B,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACxC,UAAU,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;QAC/B,CAAC;QACD,OAAO,SAAS,CAAC,SAAS,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC;QAC7B,OAAO,SAAS,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,IAAI,kBAAkB,EAAE,CAAC;QACvB,IAAI,SAAS,GAAG,OAAO,kBAAkB,CAAC;QAC1C,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACtC,IAAI,UAAU,EAAE,CAAC;oBACf,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,kBAAkB,CAAC;gBAClC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,cAAc,mCAAO,KAAK,CAAC,KAAK,GAAM,kBAA6B,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,cAAc,mCAAO,cAAc,GAAK,MAAM,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,uBACE,SAAS,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EACvD,KAAK,EAAE,cAAc,IAClB,SAAS,EACZ;AACJ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Hooks.js","sourceRoot":"","sources":["../../../src/utils/Hooks.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,KAAK,EACL,kBAA4D,EAC5D,MAA4B,EAC5B,EAAE;IACF,IAAI,UAAU,CAAC;IACf,IAAI,cAAc,CAAC;IACnB,IAAI,SAAS,qBAAO,KAAK,CAAC,CAAC;IAC3B,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACxC,UAAU,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;QAC/B,CAAC;QACD,OAAO,SAAS,CAAC,SAAS,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC;QAC7B,OAAO,SAAS,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,IAAI,kBAAkB,EAAE,CAAC;QACvB,IAAI,SAAS,GAAG,OAAO,kBAAkB,CAAC;QAC1C,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACtC,IAAI,UAAU,EAAE,CAAC;oBACf,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,kBAAkB,CAAC;gBAClC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,cAAc,mCAAO,KAAK,CAAC,KAAK,GAAM,kBAA6B,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,cAAc,mCAAO,cAAc,GAAK,MAAM,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,uBACE,SAAS,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EACvD,KAAK,EAAE,cAAc,IAClB,SAAS,EACZ;AACJ,CAAC,CAAC","sourcesContent":["import React from 'react';\n\n/**\n * Merge className/style props with local style inputs.\n */\nexport const useStyles = (\n props,\n classNamesOrStyles?: string | string[] | React.CSSProperties,\n styles?: React.CSSProperties,\n) => {\n let classNames;\n let combinedStyles;\n let propsCopy = {...props};\n if (props.className) {\n if (typeof props.className === 'string') {\n classNames = [props.className];\n } else if (Array.isArray(props.className)) {\n classNames = props.className;\n }\n delete propsCopy.className;\n }\n if (props.style) {\n combinedStyles = props.style;\n delete propsCopy.style;\n }\n\n if (classNamesOrStyles) {\n let paramType = typeof classNamesOrStyles;\n if (paramType === 'string') {\n if (classNames) {\n classNames.push(classNamesOrStyles);\n } else {\n classNames = [classNamesOrStyles];\n }\n } else if (paramType === 'object') {\n if (Array.isArray(classNamesOrStyles)) {\n if (classNames) {\n classNames = classNames.concat(classNamesOrStyles);\n } else {\n classNames = classNamesOrStyles;\n }\n } else {\n combinedStyles = {...props.style, ...(classNamesOrStyles as object)};\n }\n }\n if (styles) {\n combinedStyles = {...combinedStyles, ...styles};\n }\n }\n\n return {\n className: (classNames || []).filter(Boolean).join(' '),\n style: combinedStyles,\n ...propsCopy,\n };\n};\n"]}
|
|
@@ -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":";;;;;;;;;;;AAIA,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;AA8H5E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAGhC;IACF,MAAM,EAAE,SAAS;IACjB,YAAY,EAAE,SAAS;CACxB,CAAC;AA4EF,MAAM,UAAU,uBAAuB,CACrC,qBAAqB,EACrB,iBAAiB;IAuCjB,SAAS,eAAe,CAMtB,IAAS,EACT,IAAU,EACV,IAA6B;QAE7B,MAAM,UAAU,GAAG,oBAAoB,CACrC,IAAI,EACJ,IAAI,EACJ,IAAI,CACL,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC/B,MAAM,mBAAmB,GACvB,UAAU,CAAC,SAAsD,CAAC;QACpE,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAEnC,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;YACvD,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CACxC,SAAS,CACV,CAAC;YAEF,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,4DAA4D;YAC5D,+DAA+D;YAC/D,8BAA8B;YAC9B,MAAM,cAAc,GAAI,WAAmB,CAAC,MAE/B,CAAC;YACd,MAAM,oBAAoB,GAAI,WAAmB,CAAC,YAGrC,CAAC;YACd,OAAQ,WAAmB,CAAC,MAAM,CAAC;YACnC,OAAQ,WAAmB,CAAC,YAAY,CAAC;YAEzC,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,aAAa,CAAC,SAAS,CAAC,CAAC;oBACzB,gBAAgB,EAAE;yBACf,WAAW,CAAC,YAAY,CAAC;yBACzB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBACf,wDAAwD;wBACxD,mDAAmD;wBACnD,8BAA8B;wBAC9B,cAAc,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,CAAC;wBAC7B,cAAc,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBACb,aAAa,CACX,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CACpD,CAAC;wBACF,cAAc,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC,CAAC,CAAC;gBACP,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,4DAA4D;oBAC5D,OAAO,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBACvD,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;gBACD,IAAI,UAAU,EAAE,CAAC;oBACf,aAAa,CAAC,SAAS,CAAC,CAAC;gBAC3B,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,UAAU,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,mBAAmB,CAClC,oBAAoB,EACpB,OAAO,CAAC,YAAY,CACrB,CAAC;gBACF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,UAAU,CAAC;gBACnB,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,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,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACvD,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;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,qBAAqB,EACrB,iBAAiB;IA6CjB,SAAS,kBAAkB,CAQzB,IAAS,EACT,IAAU,EACV,IAA6B;QAE7B,MAAM,UAAU,GAAG,oBAAoB,CACrC,IAAI,EACJ,IAAI,EACJ,IAAI,CACL,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC/B,MAAM,mBAAmB,GACvB,UAAU,CAAC,SAAyD,CAAC;QACvE,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAEnC,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;YAC7D,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CACxC,SAAS,CACV,CAAC;YACF,6DAA6D;YAC7D,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;YAE1D,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,MAAM,cAAc,GAAI,WAAmB,CAAC,MAE/B,CAAC;YACd,MAAM,oBAAoB,GAAI,WAAmB,CAAC,YAGrC,CAAC;YACd,OAAQ,WAAmB,CAAC,MAAM,CAAC;YACnC,OAAQ,WAAmB,CAAC,YAAY,CAAC;YAEzC,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;YAEA,WAAmB,CAAC,QAAQ,GAAG,WAAW,CACzC,CAAC,YAAkB,EAAE,EAAE;gBACrB,IAAI,YAAY,EAAE,CAAC;oBACjB,cAAc,CAAC,CAAC,OAAY,EAAE,EAAE,CAC9B,OAAO,CAAC,CAAC,iCAAK,OAAO,GAAK,YAAY,EAAE,CAAC,CAAC,YAAY,CACvD,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,sDAAsD;oBACtD,2CAA2C;oBAC3C,aAAa,CAAC,SAAS,CAAC,CAAC;oBACzB,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC,EACD,EAAE,CACH,CAAC;YAEF,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,aAAa,CAAC,SAAS,CAAC,CAAC;oBACzB,gBAAgB,EAAE;yBACf,WAAW,CAAC,YAAY,CAAC;yBACzB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBACf,cAAc,CAAC,MAAM,CAAC,CAAC;oBACzB,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBACb,aAAa,CACX,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CACpD,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACP,CAAC;YACH,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;YAE5C,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,mBAAmB,CAClC,oBAAoB,EACpB,OAAO,CAAC,YAAY,CACrB,CAAC;gBACF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,UAAU,CAAC;gBACnB,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,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,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACvD,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;IAED,OAAO,kBAAkB,CAAC;AAC5B,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;;;;GAIG;AACH,SAAS,mBAAmB;IAC1B,OAAO,KAAK,CAAC,aAAa,CACxB,KAAK,EACL;QACE,SAAS,EAAE,WAAW;QACtB,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,4BAA4B;KACpC,EACD,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;QAC5B,SAAS,EAAE,kBAAkB;QAC7B,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,CAAC,EAAE,CAAC;QACJ,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,cAAc;KACvB,CAAC,EACF,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;QAC5B,SAAS,EAAE,gBAAgB;QAC3B,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,CAAC,EAAE,CAAC;QACJ,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,cAAc;KACvB,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB;IACzB,OAAO,KAAK,CAAC,aAAa,CACxB,KAAK,EACL;QACE,SAAS,EAAE,UAAU;QACrB,YAAY,EAAE,gBAAgB;QAC9B,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,4BAA4B;KACpC,EACD,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;QAC1B,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,MAAM,EAAE,cAAc;KACvB,CAAC,EACF,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;QAC1B,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,EAAE;QACN,MAAM,EAAE,cAAc;KACvB,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,cAA8C,EAC9C,gBAAgD;;IAEhD,OAAO,CACL,MAAA,MAAA,cAAc,aAAd,cAAc,cAAd,cAAc,GACd,gBAAgB,mCAChB,uBAAuB,CAAC,MAAM,mCAC9B,mBAAmB,EAAE,CACtB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAC1B,oBAAgE,EAChE,sBAAkE;;IAElE,OAAO,CACL,MAAA,MAAA,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GACpB,sBAAsB,mCACtB,uBAAuB,CAAC,YAAY,mCACpC,kBAAkB,EAAE,CACrB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAC3B,IAA4E,EAC5E,IAA2D,EAC3D,IAA6B;IAM7B,IACE,IAAI,KAAK,SAAS;QAClB,IAAI;QACJ,OAAO,IAAI,KAAK,QAAQ;QACxB,WAAW,IAAK,IAAY;QAC5B,OAAO,IAAK,IAAY,EACxB,CAAC;QACD,MAAM,MAAM,GAAG,IACoB,CAAC;QACpC,MAAM,EAAC,KAAK,EAAE,SAAS,KAAgB,MAAM,EAAjB,OAAO,UAAI,MAAM,EAAvC,sBAA8B,CAAS,CAAC;QAC9C,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAC,CAAC;IACrC,CAAC;IACD,OAAO;QACL,KAAK,EAAE,IAAS;QAChB,SAAS,EAAE,IAA4D;QACvE,OAAO,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE;KACpB,CAAC;AACJ,CAAC","sourcesContent":["import {\n QResult,\n QueryResponseToResultType,\n} from '@_linked/core/queries/SelectQuery';\nimport {Shape} from '@_linked/core/shapes/Shape';\nimport {QueryBuilder} from '@_linked/core/queries/QueryBuilder';\nimport {FieldSet} from '@_linked/core/queries/FieldSet';\nimport {getQueryDispatch} from '@_linked/core/queries/queryDispatch';\n\nimport React, {useCallback, useEffect, useState} from 'react';\nimport {LinkedStorage} from '@_linked/core/utils/LinkedStorage';\nimport {DEFAULT_LIMIT} from '@_linked/core/utils/Package';\nimport {ShapeSet} from '@_linked/core/collections/ShapeSet';\nimport {isNodeReferenceValue, NodeReferenceValue} from '@_linked/core/utils/NodeReference';\nimport {getShapeClass, hasSuperClass} from '@_linked/core/utils/ShapeClass';\n\n/**\n * Extract the Shape type parameter from a QueryBuilder.\n */\ntype GetQueryShapeType<Q> = Q extends QueryBuilder<infer S, any, any> ? S : never;\n\n/**\n * Extract the query response type from a QueryBuilder or FieldSet.\n * Falls through to Q itself if neither matches (preserves legacy behaviour).\n */\ntype GetQueryResponseType<Q> =\n Q extends QueryBuilder<any, infer R, any> ? R :\n Q extends FieldSet<infer R, any> ? R :\n Q;\n\n/**\n * A wrapper object mapping a single key to a QueryBuilder (used by linkedSetComponent).\n */\ntype QueryWrapperObject<ShapeType extends Shape = any> = {\n [key: string]: QueryBuilder<ShapeType>;\n};\n\n/**\n * Query-driven-component types — react-local. Core removed these from\n * SelectQuery as \"dead\" (commit 5ace0cf), but only react used them; they live\n * here now, same as `GetQueryResponseType`/`QueryWrapperObject` above.\n */\ntype QueryController = {\n nextPage: () => void;\n previousPage: () => void;\n setLimit: (limit: number) => void;\n setPage: (page: number) => void;\n};\ntype QueryControllerProps = {\n query?: QueryController;\n};\ntype ToQueryResultSet<T> =\n T extends FieldSet<infer ResponseType, any>\n ? QueryResponseToResultType<ResponseType>[]\n : null;\ntype GetCustomObjectKeys<T> = T extends QueryWrapperObject\n ? {\n [P in keyof T]: T[P] extends FieldSet<any, any>\n ? ToQueryResultSet<T[P]>\n : never;\n }\n : [];\n\ntype ProcessDataResultType<ShapeType extends Shape> = [\n typeof Shape,\n QueryBuilder<ShapeType>,\n];\n\nexport type Component<P = any, ShapeType extends Shape = Shape> =\n | ClassComponent<P, ShapeType>\n | LinkedComponent<P, ShapeType>\n | LinkedSetComponent<P, ShapeType>;\n\nexport interface ClassComponent<P, ShapeType extends Shape = Shape>\n extends React.ComponentClass<P & LinkedComponentProps<ShapeType>> {\n props: P & LinkedComponentProps<ShapeType>;\n shape?: typeof Shape;\n}\n\nexport interface LinkedComponent<\n P,\n ShapeType extends Shape = Shape,\n ResultType = any,\n> extends React.FC<\n P & LinkedComponentInputProps<ShapeType> & React.ComponentPropsWithRef<any>\n > {\n original?: LinkableComponent<P, ShapeType>;\n query: QueryBuilder<any>;\n shape?: typeof Shape;\n}\n\nexport interface LinkedSetComponent<\n P,\n ShapeType extends Shape = Shape,\n Res = any,\n> extends React.FC<\n P &\n LinkedSetComponentInputProps<ShapeType> &\n React.ComponentPropsWithRef<any>\n > {\n original?: LinkableSetComponent<P, ShapeType>;\n query: QueryBuilder<any> | QueryWrapperObject<ShapeType>;\n shape?: typeof Shape;\n}\n\nexport type LinkableComponent<P, ShapeType extends Shape = Shape> = React.FC<\n P & LinkedComponentProps<ShapeType>\n>;\n\n/**\n * Options accepted by both `linkedComponent` and `linkedSetComponent` at\n * definition time (3rd positional arg) and inside the config-object form.\n * `loader` replaces the framework's default loading element; `errorElement`\n * replaces the default error element. Pass the sentinel `'rethrow'` for\n * `errorElement` to let the error propagate to an external `<ErrorBoundary>`.\n */\nexport interface LinkedComponentOptions {\n loader?: React.ReactElement;\n errorElement?: React.ReactElement | 'rethrow';\n}\n\n/**\n * Config-object form of the factory:\n * linkedComponent({ query, component, loader, errorElement });\n */\nexport interface LinkedComponentConfig<Q, P, ShapeType extends Shape = Shape>\n extends LinkedComponentOptions {\n query: Q;\n component: LinkableComponent<P, ShapeType>;\n}\n\nexport interface LinkedSetComponentConfig<\n Q,\n P,\n ShapeType extends Shape = Shape,\n> extends LinkedComponentOptions {\n query: Q;\n component: LinkableSetComponent<P, ShapeType>;\n}\n\n/**\n * App-global override for loader and errorElement. Setting either of these\n * applies to every `linkedComponent` / `linkedSetComponent` that doesn't\n * specify its own. Resolution order:\n * instance prop > definition options > LinkedComponentDefaults > built-in\n */\nexport const LinkedComponentDefaults: {\n loader: React.ReactElement | undefined;\n errorElement: React.ReactElement | 'rethrow' | undefined;\n} = {\n loader: undefined,\n errorElement: undefined,\n};\nexport type LinkableSetComponent<\n P,\n ShapeType extends Shape = Shape,\n DataResultType = any,\n> = React.FC<LinkedSetComponentProps<ShapeType, DataResultType> & P>;\n\nexport interface LinkedSetComponentProps<\n ShapeType extends Shape,\n DataResultType = any,\n> extends LinkedComponentBaseProps<DataResultType>,\n QueryControllerProps {\n sources: ShapeSet<ShapeType>;\n}\n\nexport interface LinkedComponentProps<ShapeType extends Shape>\n extends LinkedComponentBaseProps {\n source: ShapeType;\n _refresh: (updatedProps?: any) => void;\n}\n\ninterface LinkedComponentBaseProps<DataResultType = any>\n extends React.PropsWithChildren {\n linkedData?: DataResultType;\n}\n\nexport interface LinkedSetComponentInputProps<ShapeType extends Shape = Shape>\n extends LinkedComponentInputBaseProps {\n of?: ShapeSet<ShapeType> | QResult<ShapeType>[];\n}\n\nexport interface LinkedComponentInputProps<ShapeType extends Shape = Shape>\n extends LinkedComponentInputBaseProps {\n of: NodeReferenceValue | ShapeType | QResult<ShapeType>;\n}\n\ninterface LinkedComponentInputBaseProps extends React.PropsWithChildren {\n className?: string | string[];\n style?: React.CSSProperties;\n // Per-instance override of the loading element. Falls through to the\n // factory's `options.loader`, then `LinkedComponentDefaults.loader`,\n // then the built-in `<svg class=\"ld-loader\" />`.\n loader?: React.ReactElement;\n // Per-instance override of the error element shown when the query fails.\n // Pass the sentinel `'rethrow'` to skip the internal error boundary and\n // let an external `<ErrorBoundary>` catch the error.\n errorElement?: React.ReactElement | 'rethrow';\n}\n\nexport type LinkedSetComponentFactoryFn = <\n QueryType extends\n | QueryBuilder<any>\n | {[key: string]: QueryBuilder<any>} = null,\n CustomProps = {},\n ShapeType extends Shape = GetQueryShapeType<QueryType>,\n Res = ToQueryResultSet<QueryType>,\n>(\n requiredData: QueryType,\n functionalComponent: LinkableSetComponent<\n CustomProps & GetCustomObjectKeys<QueryType> & QueryControllerProps,\n ShapeType,\n Res\n >,\n) => LinkedSetComponent<CustomProps, ShapeType, Res>;\n\nexport type LinkedComponentFactoryFn = <\n QueryType extends QueryBuilder<any> = null,\n CustomProps = {},\n ShapeType extends Shape = GetQueryShapeType<QueryType>,\n Response = GetQueryResponseType<QueryType>,\n ResultType = QueryResponseToResultType<Response, ShapeType>,\n>(\n query: QueryType,\n functionalComponent: LinkableComponent<CustomProps & ResultType, ShapeType>,\n) => LinkedComponent<CustomProps, ShapeType, ResultType>;\n\nexport function createLinkedComponentFn(\n registerPackageExport,\n registerComponent,\n) {\n function linkedComponent<\n QueryType extends QueryBuilder<any> = null,\n CustomProps = {},\n ShapeType extends Shape = GetQueryShapeType<QueryType>,\n Res = GetQueryResponseType<QueryType>,\n >(\n query: QueryType,\n functionalComponent: LinkableComponent<\n CustomProps & QueryResponseToResultType<Res, ShapeType>,\n ShapeType\n >,\n ): LinkedComponent<CustomProps, ShapeType, Res>;\n function linkedComponent<\n QueryType extends QueryBuilder<any> = null,\n CustomProps = {},\n ShapeType extends Shape = GetQueryShapeType<QueryType>,\n Res = GetQueryResponseType<QueryType>,\n >(\n query: QueryType,\n functionalComponent: LinkableComponent<\n CustomProps & QueryResponseToResultType<Res, ShapeType>,\n ShapeType\n >,\n options: LinkedComponentOptions,\n ): LinkedComponent<CustomProps, ShapeType, Res>;\n function linkedComponent<\n QueryType extends QueryBuilder<any> = null,\n CustomProps = {},\n ShapeType extends Shape = GetQueryShapeType<QueryType>,\n Res = GetQueryResponseType<QueryType>,\n >(\n config: LinkedComponentConfig<\n QueryType,\n CustomProps & QueryResponseToResultType<Res, ShapeType>,\n ShapeType\n >,\n ): LinkedComponent<CustomProps, ShapeType, Res>;\n function linkedComponent<\n QueryType extends QueryBuilder<any> = null,\n CustomProps = {},\n ShapeType extends Shape = GetQueryShapeType<QueryType>,\n Res = GetQueryResponseType<QueryType>,\n >(\n arg1: any,\n arg2?: any,\n arg3?: LinkedComponentOptions,\n ): LinkedComponent<CustomProps, ShapeType, Res> {\n const normalized = normalizeFactoryArgs<QueryType, CustomProps, ShapeType>(\n arg1,\n arg2,\n arg3,\n );\n const query = normalized.query;\n const functionalComponent =\n normalized.component as LinkableComponent<CustomProps, ShapeType>;\n const options = normalized.options;\n\n let [shapeClass, actualQuery] = processQuery<ShapeType>(query);\n\n let _wrappedComponent: LinkedComponent<CustomProps, ShapeType> =\n React.forwardRef<any, CustomProps & LinkedComponentInputProps<ShapeType>>(\n (props, ref) => {\n let [queryResult, setQueryResult] = useState<any>(undefined);\n let [loadingData, setLoadingData] = useState<string>();\n let [queryError, setQueryError] = useState<Error | undefined>(\n undefined,\n );\n\n let linkedProps: any = getLinkedComponentProps<\n ShapeType,\n CustomProps\n >(props as any, shapeClass);\n if (ref) {\n linkedProps.ref = ref;\n }\n\n // Strip framework-only input props before forwarding to the\n // wrapped component — `loader` / `errorElement` aren't part of\n // the user's render contract.\n const instanceLoader = (linkedProps as any).loader as\n | React.ReactElement\n | undefined;\n const instanceErrorElement = (linkedProps as any).errorElement as\n | React.ReactElement\n | 'rethrow'\n | undefined;\n delete (linkedProps as any).loader;\n delete (linkedProps as any).errorElement;\n\n const loadData = () => {\n const sourceId = linkedProps.source?.id;\n if (!loadingData || loadingData !== sourceId) {\n // QueryBuilder is immutable — chain calls produce new instances.\n let requestQuery = linkedProps.source\n ? actualQuery.for(linkedProps.source)\n : actualQuery;\n\n setLoadingData(sourceId || requestQuery.toJSON().subject);\n setQueryError(undefined);\n getQueryDispatch()\n .selectQuery(requestQuery)\n .then((result) => {\n // Use empty object when result is null/undefined so the\n // component renders with default values instead of\n // showing the loader forever.\n setQueryResult(result ?? {});\n setLoadingData(null);\n })\n .catch((err) => {\n setQueryError(\n err instanceof Error ? err : new Error(String(err)),\n );\n setLoadingData(null);\n });\n } else {\n console.warn(\n `Already loading data for source ${loadingData}, ignoring request`,\n );\n }\n };\n\n let sourceIsValidQResult = isValidQResult(props.of, actualQuery);\n\n if (queryResult || sourceIsValidQResult) {\n linkedProps = Object.assign(linkedProps, queryResult || props.of);\n }\n\n linkedProps._refresh = useCallback(\n (updatedProps) => {\n if (updatedProps) {\n if (queryResult) {\n setQueryResult({...queryResult, ...updatedProps});\n } else if (sourceIsValidQResult) {\n setQueryResult({...props.of, ...updatedProps});\n }\n } else {\n loadData();\n }\n },\n [queryResult, props.of],\n );\n\n // Resolve the current subject ID — for pending contexts this reads\n // from the live global Map, so it updates when auth sets the context.\n const resolvedSubjectId = actualQuery.toJSON().subject;\n\n if (!linkedProps.source && !resolvedSubjectId) {\n if (actualQuery.hasPendingContext()) {\n // Subject will resolve after auth — show loader until then.\n return resolveLoader(instanceLoader, options.loader);\n }\n console.warn(\n 'This component requires a source to be provided (use the property \"of\"): ' +\n functionalComponent.name,\n );\n return null;\n }\n\n let usingStorage = LinkedStorage.isInitialised();\n\n useEffect(() => {\n if (queryResult) {\n setQueryResult(undefined);\n }\n if (queryError) {\n setQueryError(undefined);\n }\n\n if (usingStorage && !sourceIsValidQResult) {\n loadData();\n }\n }, [linkedProps.source?.id, resolvedSubjectId]);\n\n if (queryError) {\n const resolved = resolveErrorElement(\n instanceErrorElement,\n options.errorElement,\n );\n if (resolved === 'rethrow') {\n throw queryError;\n }\n return resolved;\n }\n\n let dataIsLoaded =\n queryResult || !usingStorage || sourceIsValidQResult;\n\n // Keep legacy client-side guard to avoid hydration drift.\n if (dataIsLoaded && typeof window !== 'undefined') {\n return React.createElement(functionalComponent, linkedProps);\n } else {\n return resolveLoader(instanceLoader, options.loader);\n }\n },\n ) as any;\n\n _wrappedComponent.original = functionalComponent;\n _wrappedComponent.query = query;\n _wrappedComponent.shape = shapeClass;\n if (functionalComponent.name) {\n Object.defineProperty(_wrappedComponent, 'name', {\n value: functionalComponent.name,\n });\n registerPackageExport(_wrappedComponent);\n }\n\n registerComponent(_wrappedComponent, shapeClass);\n\n return _wrappedComponent;\n }\n\n return linkedComponent;\n}\n\nexport function createLinkedSetComponentFn(\n registerPackageExport,\n registerComponent,\n) {\n function linkedSetComponent<\n QueryType extends\n | QueryBuilder<any>\n | {[key: string]: QueryBuilder<any>} = null,\n CustomProps = {},\n ShapeType extends Shape = GetQueryShapeType<QueryType>,\n Res = ToQueryResultSet<QueryType>,\n >(\n query: QueryType,\n functionalComponent: LinkableSetComponent<\n CustomProps & GetCustomObjectKeys<QueryType> & QueryControllerProps,\n ShapeType\n >,\n ): LinkedSetComponent<CustomProps, ShapeType, Res>;\n function linkedSetComponent<\n QueryType extends\n | QueryBuilder<any>\n | {[key: string]: QueryBuilder<any>} = null,\n CustomProps = {},\n ShapeType extends Shape = GetQueryShapeType<QueryType>,\n Res = ToQueryResultSet<QueryType>,\n >(\n query: QueryType,\n functionalComponent: LinkableSetComponent<\n CustomProps & GetCustomObjectKeys<QueryType> & QueryControllerProps,\n ShapeType\n >,\n options: LinkedComponentOptions,\n ): LinkedSetComponent<CustomProps, ShapeType, Res>;\n function linkedSetComponent<\n QueryType extends\n | QueryBuilder<any>\n | {[key: string]: QueryBuilder<any>} = null,\n CustomProps = {},\n ShapeType extends Shape = GetQueryShapeType<QueryType>,\n Res = ToQueryResultSet<QueryType>,\n >(\n config: LinkedSetComponentConfig<\n QueryType,\n CustomProps & GetCustomObjectKeys<QueryType> & QueryControllerProps,\n ShapeType\n >,\n ): LinkedSetComponent<CustomProps, ShapeType, Res>;\n function linkedSetComponent<\n QueryType extends\n | QueryBuilder<any>\n | {[key: string]: QueryBuilder<any>} = null,\n CustomProps = {},\n ShapeType extends Shape = GetQueryShapeType<QueryType>,\n Res = ToQueryResultSet<QueryType>,\n >(\n arg1: any,\n arg2?: any,\n arg3?: LinkedComponentOptions,\n ): LinkedSetComponent<CustomProps, ShapeType, Res> {\n const normalized = normalizeFactoryArgs<QueryType, CustomProps, ShapeType>(\n arg1,\n arg2,\n arg3,\n );\n const query = normalized.query;\n const functionalComponent =\n normalized.component as LinkableSetComponent<CustomProps, ShapeType>;\n const options = normalized.options;\n\n let [shapeClass, actualQuery] = processQuery<ShapeType>(query as any, true);\n\n let usingStorage = LinkedStorage.isInitialised();\n\n let _wrappedComponent: LinkedSetComponent<CustomProps, ShapeType, Res> =\n React.forwardRef<\n any,\n CustomProps & LinkedSetComponentInputProps<ShapeType>\n >((props, ref) => {\n let [queryResult, setQueryResult] = useState<any>(undefined);\n let [queryError, setQueryError] = useState<Error | undefined>(\n undefined,\n );\n // Bumped by `_refresh()` to force the load-effect to re-run.\n let [refreshNonce, setRefreshNonce] = useState<number>(0);\n\n let linkedProps = getLinkedSetComponentProps<\n ShapeType,\n any\n >(props, shapeClass, functionalComponent);\n\n let defaultLimit = actualQuery.toJSON().limit || DEFAULT_LIMIT;\n let [limit, setLimit] = useState<number>(defaultLimit);\n let [offset, setOffset] = useState<number>(0);\n\n if (ref) {\n (linkedProps as any).ref = ref;\n }\n\n const instanceLoader = (linkedProps as any).loader as\n | React.ReactElement\n | undefined;\n const instanceErrorElement = (linkedProps as any).errorElement as\n | React.ReactElement\n | 'rethrow'\n | undefined;\n delete (linkedProps as any).loader;\n delete (linkedProps as any).errorElement;\n\n let sourceIsValidQResult =\n Array.isArray(props.of) &&\n props.of.length > 0 &&\n typeof (props.of[0] as QResult<any>)?.id === 'string' &&\n isValidSetQResult(props.of as QResult<any>[], actualQuery);\n\n if (queryResult || sourceIsValidQResult) {\n let dataResult;\n if (queryResult) {\n dataResult = queryResult;\n } else {\n if (limit) {\n dataResult = (props.of as Array<QResult<any>>).slice(\n offset || 0,\n offset + limit,\n );\n } else {\n dataResult = props.of;\n }\n }\n if (query instanceof QueryBuilder) {\n linkedProps = Object.assign(linkedProps, {\n linkedData: dataResult,\n });\n } else {\n let key = Object.keys(query)[0];\n linkedProps[key] = dataResult;\n }\n }\n\n if (limit) {\n linkedProps.query = {\n nextPage: () => {\n setOffset(offset + limit);\n },\n previousPage: () => {\n setOffset(Math.max(0, offset - limit));\n },\n setLimit: (newLimit: number) => {\n setLimit(newLimit);\n },\n setPage: (page: number) => {\n setOffset(page * limit);\n },\n } as QueryController;\n }\n\n (linkedProps as any)._refresh = useCallback(\n (updatedProps?: any) => {\n if (updatedProps) {\n setQueryResult((current: any) =>\n current ? {...current, ...updatedProps} : updatedProps,\n );\n } else {\n // Bump the nonce so the load-effect refires even when\n // props.of / limit / offset are unchanged.\n setQueryError(undefined);\n setRefreshNonce((n) => n + 1);\n }\n },\n [],\n );\n\n useEffect(() => {\n if (usingStorage && !sourceIsValidQResult) {\n // QueryBuilder is immutable — chain calls to set subjects, limit, offset.\n let requestQuery: QueryBuilder<any> = actualQuery;\n if (linkedProps.sources) {\n requestQuery = requestQuery.forAll(\n Array.from(linkedProps.sources).map((s: Shape) => ({id: s.id})),\n );\n }\n if (limit) {\n requestQuery = requestQuery.limit(limit);\n }\n if (offset) {\n requestQuery = requestQuery.offset(offset);\n }\n\n setQueryError(undefined);\n getQueryDispatch()\n .selectQuery(requestQuery)\n .then((result) => {\n setQueryResult(result);\n })\n .catch((err) => {\n setQueryError(\n err instanceof Error ? err : new Error(String(err)),\n );\n });\n }\n }, [props.of, limit, offset, refreshNonce]);\n\n if (queryError) {\n const resolved = resolveErrorElement(\n instanceErrorElement,\n options.errorElement,\n );\n if (resolved === 'rethrow') {\n throw queryError;\n }\n return resolved;\n }\n\n let dataIsLoaded = queryResult || !usingStorage || sourceIsValidQResult;\n\n if (\n typeof queryResult === 'undefined' &&\n usingStorage &&\n !sourceIsValidQResult\n ) {\n dataIsLoaded = false;\n }\n\n if (dataIsLoaded) {\n return React.createElement(functionalComponent, linkedProps);\n } else {\n return resolveLoader(instanceLoader, options.loader);\n }\n }) as any;\n\n _wrappedComponent.original = functionalComponent;\n _wrappedComponent.query = query;\n\n _wrappedComponent.shape = shapeClass;\n if (functionalComponent.name) {\n Object.defineProperty(_wrappedComponent, 'name', {\n value: functionalComponent.name,\n });\n registerPackageExport(_wrappedComponent);\n }\n\n registerComponent(_wrappedComponent, shapeClass);\n\n return _wrappedComponent;\n }\n\n return linkedSetComponent;\n}\n\nfunction getLinkedComponentProps<ShapeType extends Shape, P>(\n props: LinkedComponentInputProps<ShapeType> & P,\n shapeClass,\n): Omit<LinkedComponentProps<ShapeType>, '_refresh'> & P {\n let newProps = {\n ...props,\n source: getSourceFromInputProps(props, shapeClass),\n };\n\n if (newProps.of) {\n for (let key of Object.getOwnPropertyNames(newProps.of)) {\n if (key !== 'shape' && key !== 'id') {\n newProps[key] = (newProps.of as any)[key];\n }\n }\n }\n\n delete (newProps as any).of;\n return newProps;\n}\n\nfunction processQuery<ShapeType extends Shape>(\n requiredData: QueryBuilder<ShapeType> | QueryWrapperObject<ShapeType>,\n setComponent: boolean = false,\n): ProcessDataResultType<ShapeType> {\n let shapeClass: typeof Shape;\n let query: QueryBuilder<ShapeType>;\n\n if (requiredData instanceof QueryBuilder) {\n query = requiredData;\n // QueryBuilder._shape is private; extract shape IRI via toJSON and resolve the class.\n shapeClass = getShapeClass(requiredData.toJSON().shape) as unknown as typeof Shape;\n } else if (typeof requiredData === 'object' && setComponent) {\n if (Object.keys(requiredData).length > 1) {\n throw new Error(\n 'Only one key is allowed to map a query to a property for linkedSetComponents',\n );\n }\n for (let key in requiredData) {\n if (requiredData[key] instanceof QueryBuilder) {\n shapeClass = getShapeClass(requiredData[key].toJSON().shape) as unknown as typeof Shape;\n query = requiredData[key];\n } else {\n throw new Error(\n 'Unknown value type for query object. Keep to this format: {propName: Shape.select(s => ...)}',\n );\n }\n }\n } else {\n throw new Error(\n 'Unknown data query type. Expected a QueryBuilder (from Shape.select()) or an object with 1 key whose value is a QueryBuilder',\n );\n }\n return [shapeClass, query];\n}\n\nfunction getLinkedSetComponentProps<ShapeType extends Shape, P>(\n props: LinkedSetComponentInputProps<ShapeType>,\n shapeClass,\n functionalComponent,\n): LinkedSetComponentProps<ShapeType> & P {\n if (\n props.of &&\n !(props.of instanceof ShapeSet) &&\n !Array.isArray(props.of)\n ) {\n throw Error(\n \"Invalid argument 'of' provided to \" +\n functionalComponent.name.replace('_implementation', '') +\n ' component: ' +\n props.of +\n '. Make sure to provide a ShapeSet, an array of QResults, or no argument at all to load all instances.',\n );\n }\n\n let sources: ShapeSet<ShapeType>;\n if (props.of instanceof ShapeSet) {\n sources = props.of;\n } else if (Array.isArray(props.of)) {\n sources = new ShapeSet(\n props.of.map((item) => {\n return getSourceFromInputProps({of: item}, shapeClass);\n }),\n );\n }\n\n const newProps = {\n ...props,\n sources,\n };\n\n delete (newProps as any).of;\n return newProps as LinkedSetComponentProps<ShapeType> & P;\n}\n\nexport function getSourceFromInputProps(props, shapeClass) {\n let input = props?.of;\n\n // Unwrap single-element arrays (e.g. from preloadFor on maxCount:1 properties\n // where the result mapper returns an array with one item).\n if (Array.isArray(input) && input.length === 1) {\n input = input[0];\n }\n\n if (input instanceof Shape) {\n if (\n input.nodeShape !== shapeClass.shape &&\n !hasSuperClass(getShapeClass(input.nodeShape.id), shapeClass)\n ) {\n return new shapeClass(input.id);\n }\n return input;\n }\n\n if (isNodeReferenceValue(input)) {\n return new shapeClass(input);\n }\n\n // If nothing is provided, keep undefined; callers handle required source checks.\n return input;\n}\n\n/**\n * Check if a QResult has all the fields the query selects.\n */\nfunction isValidQResult(of: any, query: QueryBuilder<any>): boolean {\n if (typeof (of as QResult<any>)?.id !== 'string') return false;\n const fieldSet = query.fields();\n if (!fieldSet) return false;\n const labels = fieldSet.labels();\n return labels.every((label) => label in of);\n}\n\n/**\n * Check if an array of QResults all have the fields the query selects.\n */\nfunction isValidSetQResult(qResults: QResult<any>[], query: QueryBuilder<any>): boolean {\n return qResults.every((qResult) => isValidQResult(qResult, query));\n}\n\n/**\n * Built-in loading element used when nothing higher in the resolution chain\n * sets one. Renders an SVG ring; `stroke: currentColor` lets parent context\n * tint it. Style via `.ld-loader` in `@_linked/css/loader.css`.\n */\nfunction createDefaultLoader(): React.ReactElement {\n return React.createElement(\n 'svg',\n {\n className: 'ld-loader',\n 'aria-label': 'Loading',\n role: 'status',\n viewBox: '0 0 24 24',\n xmlns: 'http://www.w3.org/2000/svg',\n },\n React.createElement('circle', {\n className: 'ld-loader__track',\n cx: 12,\n cy: 12,\n r: 9,\n fill: 'none',\n stroke: 'currentColor',\n }),\n React.createElement('circle', {\n className: 'ld-loader__arc',\n cx: 12,\n cy: 12,\n r: 9,\n fill: 'none',\n stroke: 'currentColor',\n }),\n );\n}\n\n/**\n * Built-in error element used when a query rejects and nothing higher in the\n * resolution chain handles it. Renders a small cross SVG; styled by\n * `.ld-error` in `@_linked/css/error.css`.\n */\nfunction createDefaultError(): React.ReactElement {\n return React.createElement(\n 'svg',\n {\n className: 'ld-error',\n 'aria-label': 'Failed to load',\n role: 'alert',\n viewBox: '0 0 24 24',\n xmlns: 'http://www.w3.org/2000/svg',\n },\n React.createElement('line', {\n x1: 6,\n y1: 6,\n x2: 18,\n y2: 18,\n stroke: 'currentColor',\n }),\n React.createElement('line', {\n x1: 18,\n y1: 6,\n x2: 6,\n y2: 18,\n stroke: 'currentColor',\n }),\n );\n}\n\nfunction resolveLoader(\n instanceLoader: React.ReactElement | undefined,\n definitionLoader: React.ReactElement | undefined,\n): React.ReactElement {\n return (\n instanceLoader ??\n definitionLoader ??\n LinkedComponentDefaults.loader ??\n createDefaultLoader()\n );\n}\n\n/**\n * Resolves the error element. Returns either a React element to render, or\n * the literal `'rethrow'` — callers must rethrow the captured error when\n * they receive the sentinel.\n */\nfunction resolveErrorElement(\n instanceErrorElement: React.ReactElement | 'rethrow' | undefined,\n definitionErrorElement: React.ReactElement | 'rethrow' | undefined,\n): React.ReactElement | 'rethrow' {\n return (\n instanceErrorElement ??\n definitionErrorElement ??\n LinkedComponentDefaults.errorElement ??\n createDefaultError()\n );\n}\n\n/**\n * Normalizes the three factory signatures into a single shape:\n * (query, fn) -> { query, component: fn, options: {} }\n * (query, fn, options) -> { query, component: fn, options }\n * ({ query, component, ... }) -> { query, component, options: { loader, errorElement } }\n */\nfunction normalizeFactoryArgs<Q, P, S extends Shape>(\n arg1: Q | LinkedComponentConfig<Q, P, S> | LinkedSetComponentConfig<Q, P, S>,\n arg2?: LinkableComponent<P, S> | LinkableSetComponent<P, S>,\n arg3?: LinkedComponentOptions,\n): {\n query: Q;\n component: LinkableComponent<P, S> | LinkableSetComponent<P, S>;\n options: LinkedComponentOptions;\n} {\n if (\n arg2 === undefined &&\n arg1 &&\n typeof arg1 === 'object' &&\n 'component' in (arg1 as any) &&\n 'query' in (arg1 as any)\n ) {\n const config = arg1 as LinkedComponentConfig<Q, P, S> &\n LinkedSetComponentConfig<Q, P, S>;\n const {query, component, ...options} = config;\n return {query, component, options};\n }\n return {\n query: arg1 as Q,\n component: arg2 as LinkableComponent<P, S> | LinkableSetComponent<P, S>,\n options: arg3 ?? {},\n };\n}\n"]}
|
|
@@ -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;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"}
|
|
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","sourcesContent":["import React from 'react';\nimport {Shape} from '@_linked/core/shapes/Shape';\nimport type {LinkedComponentProps} from './LinkedComponent.js';\n\n/**\n * Class component base for linked components.\n */\nexport class LinkedComponentClass<\n ShapeClass extends Shape,\n P = {},\n S = any,\n> extends React.Component<P & LinkedComponentProps<ShapeClass>, S> {\n declare props: Readonly<P & LinkedComponentProps<ShapeClass>> & Readonly<React.PropsWithChildren>;\n private _shape: ShapeClass;\n\n get sourceShape(): ShapeClass {\n if (typeof this._shape === 'undefined') {\n if (!this.props.source) {\n this._shape = null;\n } else {\n let shapeClass = this.constructor['shape'];\n if (!shapeClass) {\n throw new Error(`${this.constructor.name} is not linked to a shape`);\n }\n this._shape = new shapeClass(this.props.source) as ShapeClass;\n }\n }\n return this._shape;\n }\n\n componentDidUpdate(\n prevProps: Readonly<P & LinkedComponentProps<ShapeClass>>,\n ) {\n if (prevProps.source !== this.props.source) {\n this._shape = undefined;\n }\n }\n}\n"]}
|
|
@@ -1 +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"}
|
|
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","sourcesContent":["import {useEffect} from 'react';\nimport {setQueryContext} from '@_linked/core/queries/QueryContext';\nimport type {Shape} from '@_linked/core/shapes/Shape';\n\n/**\n * React hook that registers a value in the global query context.\n * Keeps the context in sync with the component's state — sets on\n * mount / value change and clears on unmount.\n */\nexport function useQueryContext(\n name: string,\n value: any,\n shapeType?: new (...args: any[]) => Shape,\n): void {\n useEffect(() => {\n if (value) {\n setQueryContext(name, value, shapeType);\n }\n }, [name, value, shapeType]);\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@_linked/react",
|
|
3
|
-
"version": "1.6.
|
|
4
|
-
"packageManager": "npm@11.
|
|
3
|
+
"version": "1.6.2",
|
|
4
|
+
"packageManager": "npm@11.20.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"linkedPackage": true,
|
|
7
7
|
"type": "module",
|
|
@@ -21,6 +21,10 @@
|
|
|
21
21
|
"types": "./lib/esm/index.d.ts",
|
|
22
22
|
"import": "./lib/esm/index.js"
|
|
23
23
|
},
|
|
24
|
+
"./*.js": {
|
|
25
|
+
"types": "./lib/esm/*.d.ts",
|
|
26
|
+
"import": "./lib/esm/*.js"
|
|
27
|
+
},
|
|
24
28
|
"./*": {
|
|
25
29
|
"types": "./lib/esm/*.d.ts",
|
|
26
30
|
"import": "./lib/esm/*.js"
|
|
@@ -63,13 +67,13 @@
|
|
|
63
67
|
},
|
|
64
68
|
"devDependencies": {
|
|
65
69
|
"@_linked/core": "^2.22.8",
|
|
66
|
-
"@changesets/changelog-github": "^0.
|
|
67
|
-
"@changesets/cli": "^
|
|
70
|
+
"@changesets/changelog-github": "^1.0.0",
|
|
71
|
+
"@changesets/cli": "^3.0.0",
|
|
68
72
|
"@jest/globals": "^29.7.0",
|
|
69
73
|
"@testing-library/dom": "^10.4.2",
|
|
70
74
|
"@testing-library/react": "^16.3.3",
|
|
71
75
|
"@types/jest": "^29.5.12",
|
|
72
|
-
"@types/node": "^
|
|
76
|
+
"@types/node": "^24.0.0",
|
|
73
77
|
"@types/react": "^19.3.0",
|
|
74
78
|
"@types/react-dom": "^19.3.0",
|
|
75
79
|
"jest": "^29.7.0",
|