Repository navigation
Releases: linked-fw/react
Release list
v1.4.2
Patch Changes
- #31
efed05eThanks @flyon! -classnamesis now inlined (theclhelper's API is unchanged) and the externalclassnamesdependency is dropped. The external package is CJS and broke native-ESM standalone bundles; consumers already importclfrom@_linked/react/utils/ClassNames, so no change is needed on their side.
v1.4.1
Patch Changes
- #26
c7d61ffThanks @flyon! - Fix build against current@_linked/core: define the query-driven-component types (QueryController,QueryControllerProps,ToQueryResultSet,GetCustomObjectKeys) locally instead of importing them from@_linked/core/queries/SelectQuery, where core removed them as "dead" (only react used them; same pattern as the already-localGetQueryResponseType/QueryWrapperObject). Bump the@_linked/corepeer to^2.13. Also drops the deaddevelopmentexport condition.
v1.4.0
Minor Changes
-
#23
b436d21Thanks @flyon! - ESM-only build + core 2.10.x compatibility fix..build()removal: the client preload path inLinkedComponentcalled
getQueryDispatch().selectQuery(requestQuery.build()).QueryBuilder.build()
was removed in@_linked/core2.10.x — datasets now receive the live/closed
query directly. Both the single and set component paths now passrequestQuery
straight toselectQuery. Required for consumers on core ≥ 2.10.x.- ESM-only: the package now ships ESM only.
package.jsongains
"type": "module",main/module/typespoint atlib/esm, and every
requirecondition is dropped fromexports. The dual (CJS+ESM) build and the
dual-packagepost-step are removed;buildis a singletsc -p tsconfig-esm.json.
v1.3.1
Patch Changes
-
#17
582f100Thanks @flyon! - Fixed an infinite recursion inlinkedPackage. The exported function was spreadinglinkedPackage(packageName)(itself) into its own return value instead of delegating tocoreLinkedPackage(packageName)from@_linked/core, so any call toimport { linkedPackage } from '@_linked/react/package'followed bylinkedPackage(...)immediately blew the stack withMaximum call stack size exceeded. Almost certainly the root cause of the "stack overflow during client hydration" symptom reported against 1.3.0.linkedPackage(name)now correctly returns{ linkedComponent, linkedSetComponent, ...coreLinkedPackage(name) }— i.e. the React-only helpers plus everything@_linked/core'slinkedPackageprovides (linkedShape,linkedUtil,linkedOntology,registerPackageExport,packageExports,packageName, …).
v1.3.0
Minor Changes
-
#13
f4688d5Thanks @flyon! - Loader / errorElement resolution chain,_refreshonlinkedSetComponent, factory overloads,LinkedInfinityLoaderopt-in export.New: factory overloads.
linkedComponentandlinkedSetComponentnow accept three forms:linkedComponent(query, fn); // existing linkedComponent(query, fn, { loader, errorElement }); // new — positional options linkedComponent({ query, component, loader, errorElement }); // new — config object
New: loader resolution. Resolves in order — per-instance
loader={<X/>}prop → factoryoptions.loader→LinkedComponentDefaults.loader→ built-in<svg class="ld-loader"/>. Apps style.ld-loader(default styles ship in@_linked/css'sloader.css) or replace the element viaLinkedComponentDefaults.loader = <MyLoader />.New: error handling. Both wrappers now capture query errors and resolve an
errorElementin the same chain (per-instance prop → factory option → global default → built-in<svg class="ld-error"/>). Pass the sentinel'rethrow'(per-instance or as a global default) to let an external<ErrorBoundary>handle the error instead.New:
_refreshonlinkedSetComponent. Mirrors thelinkedComponentAPI —_refresh()re-runs the query,_refresh(updatedProps)patches local query-result state for optimistic UI.New:
LinkedInfinityLoader. Opt-in branded loader exported from@_linked/react. Tree-shake-safe via the package's newsideEffectsarray form.Tree-shaking.
package.jsonnow declares"sideEffects": ["./lib/cjs/package.js", "./lib/esm/package.js"]so bundlers drop unused named exports (the package-registration module is whitelisted).No breaking changes — all existing
linkedComponent(query, fn)andlinkedSetComponent(query, fn)call sites work unchanged.
v1.2.1
v1.2.0
Minor Changes
- #5
ed0e99dThanks @linked-cm! - Migrate fromSelectQueryFactorytoQueryBuilderfor compatibility with@_linked/corev2.x. Replace removedShape.queryParserwithgetQueryDispatch(), update all type signatures and runtime code to use the immutableQueryBuilderAPI (.for(),.forAll(),.limit(),.offset(),.build()). Query result types are now correctly inferred fromQueryBuildergeneric parameters. Requires@_linked/core^2.2.0 as peer dependency.
Patch Changes
- #4
58522a9Thanks @flyon! - Upgrade to @_linked/core@2.2.1
FixpreloadForrendering wrong entity and add Fuseki integration tests.
Added 7 Fuseki-backed integration tests coveringlinkedComponentandlinkedSetComponent:
Tests use a custom Jest environment (jest-environment-jsdom-with-fetch) that restores Node's nativefetchin jsdom, and auto-start Fuseki via Docker when needed.
v1.0.0
Major Changes
Initial extraction from the LINCD monolith. Moves React-specific linked component wrappers into a standalone package.
linkedComponent(...)andlinkedSetComponent(...)extracted fromlincd.LinkedComponentClassbase class for class-based linked components.useStyles(...)hook for component styling.- Pagination API (
nextPage,previousPage,setPage,setLimit) on linked set components. _refresh(updatedProps?)for optimistic UI updates on linked components.