@contember/bindx-react 0.1.23 → 0.1.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/useAccessor.d.ts +16 -0
- package/dist/hooks/useAccessor.d.ts.map +1 -0
- package/dist/hooks/useField.d.ts +1 -4
- package/dist/hooks/useField.d.ts.map +1 -1
- package/dist/hooks/useHasMany.d.ts +2 -5
- package/dist/hooks/useHasMany.d.ts.map +1 -1
- package/dist/hooks/useHasOne.d.ts +2 -5
- package/dist/hooks/useHasOne.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/jsx/analyzer.d.ts.map +1 -1
- package/dist/jsx/componentBuilder.types.d.ts +16 -12
- package/dist/jsx/componentBuilder.types.d.ts.map +1 -1
- package/dist/jsx/componentFactory.d.ts.map +1 -1
- package/dist/jsx/components/Attribute.d.ts +38 -0
- package/dist/jsx/components/Attribute.d.ts.map +1 -0
- package/dist/jsx/components/Entity.d.ts +2 -2
- package/dist/jsx/components/Entity.d.ts.map +1 -1
- package/dist/jsx/components/EntityList.d.ts.map +1 -1
- package/dist/jsx/components/Field.d.ts.map +1 -1
- package/dist/jsx/components/HasMany.d.ts.map +1 -1
- package/dist/jsx/components/HasOne.d.ts.map +1 -1
- package/dist/jsx/components/index.d.ts +1 -0
- package/dist/jsx/components/index.d.ts.map +1 -1
- package/dist/jsx/devAnnotations.d.ts +12 -0
- package/dist/jsx/devAnnotations.d.ts.map +1 -0
- package/dist/jsx/index.d.ts +1 -0
- package/dist/jsx/index.d.ts.map +1 -1
- package/dist/jsx/types.d.ts +3 -3
- package/dist/jsx/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useAccessor.ts +64 -0
- package/src/hooks/useField.ts +4 -20
- package/src/hooks/useHasMany.ts +4 -17
- package/src/hooks/useHasOne.ts +4 -17
- package/src/index.ts +3 -0
- package/src/jsx/analyzer.ts +1 -84
- package/src/jsx/componentBuilder.types.ts +31 -16
- package/src/jsx/componentFactory.ts +47 -5
- package/src/jsx/components/Attribute.tsx +90 -0
- package/src/jsx/components/Entity.tsx +5 -3
- package/src/jsx/components/EntityList.tsx +3 -1
- package/src/jsx/components/Field.tsx +11 -3
- package/src/jsx/components/HasMany.tsx +10 -1
- package/src/jsx/components/HasOne.tsx +5 -1
- package/src/jsx/components/index.ts +3 -0
- package/src/jsx/devAnnotations.ts +33 -0
- package/src/jsx/index.ts +1 -0
- package/src/jsx/types.ts +3 -3
package/dist/hooks/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export { ContemberBindxProvider, schemaNamesToDef, } from './ContemberBindxProvi
|
|
|
6
6
|
export { useUndo, type UndoHookResult } from './useUndo.js';
|
|
7
7
|
export { useOnEvent, useOnEntityEvent, useOnFieldEvent, useIntercept, useInterceptEntity, useInterceptField, } from './useBindxEvents.js';
|
|
8
8
|
export { useEntityBeforePersist } from './useEntityBeforePersist.js';
|
|
9
|
+
export { useAccessor } from './useAccessor.js';
|
|
9
10
|
export { useField } from './useField.js';
|
|
10
11
|
export { useHasMany } from './useHasMany.js';
|
|
11
12
|
export { useHasOne } from './useHasOne.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACvB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EACN,UAAU,EACV,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACnB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACN,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,eAAe,GACpB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EACN,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,GACxB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EACN,sBAAsB,EACtB,gBAAgB,GAChB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AAE3D,OAAO,EACN,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,GACjB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EACN,eAAe,EACf,KAAK,iBAAiB,GACtB,MAAM,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACvB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EACN,UAAU,EACV,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACnB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACN,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,eAAe,GACpB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EACN,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,GACxB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EACN,sBAAsB,EACtB,gBAAgB,GAChB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AAE3D,OAAO,EACN,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,GACjB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EACN,eAAe,EACf,KAAK,iBAAiB,GACtB,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type FieldRef, type FieldAccessor, type HasManyRef, type HasManyAccessor, type HasOneRef, type HasOneAccessor, type EntityRef, type EntityAccessor, type AnyBrand } from '@contember/bindx';
|
|
2
|
+
/**
|
|
3
|
+
* Subscribes to a ref and returns the corresponding accessor with live data access.
|
|
4
|
+
*
|
|
5
|
+
* At runtime, ref proxies already have all accessor properties —
|
|
6
|
+
* this hook adds a store subscription so the component re-renders on changes,
|
|
7
|
+
* and widens the type to the accessor variant.
|
|
8
|
+
*
|
|
9
|
+
* Works with all ref types: FieldRef, HasOneRef, HasManyRef, EntityRef.
|
|
10
|
+
*/
|
|
11
|
+
export declare function useAccessor<T>(ref: FieldRef<T>): FieldAccessor<T>;
|
|
12
|
+
export declare function useAccessor<T>(ref: FieldRef<T> | null): FieldAccessor<T> | null;
|
|
13
|
+
export declare function useAccessor<TEntity, TSelected = TEntity, TBrand extends AnyBrand = AnyBrand, TEntityName extends string = string, TSchema extends Record<string, object> = Record<string, object>>(ref: HasManyRef<TEntity, TSelected, TBrand, TEntityName, TSchema>): HasManyAccessor<TEntity, TSelected, TBrand, TEntityName, TSchema>;
|
|
14
|
+
export declare function useAccessor<TEntity, TSelected = TEntity, TBrand extends AnyBrand = AnyBrand, TEntityName extends string = string, TSchema extends Record<string, object> = Record<string, object>>(ref: HasOneRef<TEntity, TSelected, TBrand, TEntityName, TSchema>): HasOneAccessor<TEntity, TSelected, TBrand, TEntityName, TSchema>;
|
|
15
|
+
export declare function useAccessor<TEntity, TSelected = TEntity, TBrand extends AnyBrand = AnyBrand, TEntityName extends string = string, TSchema extends Record<string, object> = Record<string, object>, TRoleMap extends Record<string, object> = Record<string, object>>(ref: EntityRef<TEntity, TSelected, TBrand, TEntityName, TSchema, TRoleMap>): EntityAccessor<TEntity, TSelected, TBrand, TEntityName, TSchema, TRoleMap>;
|
|
16
|
+
//# sourceMappingURL=useAccessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAccessor.d.ts","sourceRoot":"","sources":["../../src/hooks/useAccessor.ts"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,QAAQ,EAGb,MAAM,kBAAkB,CAAA;AAMzB;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;AAClE,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;AAChF,wBAAgB,WAAW,CAC1B,OAAO,EACP,SAAS,GAAG,OAAO,EACnB,MAAM,SAAS,QAAQ,GAAG,QAAQ,EAClC,WAAW,SAAS,MAAM,GAAG,MAAM,EACnC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9D,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;AACvI,wBAAgB,WAAW,CAC1B,OAAO,EACP,SAAS,GAAG,OAAO,EACnB,MAAM,SAAS,QAAQ,GAAG,QAAQ,EAClC,WAAW,SAAS,MAAM,GAAG,MAAM,EACnC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9D,GAAG,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;AACrI,wBAAgB,WAAW,CAC1B,OAAO,EACP,SAAS,GAAG,OAAO,EACnB,MAAM,SAAS,QAAQ,GAAG,QAAQ,EAClC,WAAW,SAAS,MAAM,GAAG,MAAM,EACnC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/D,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/D,GAAG,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA"}
|
package/dist/hooks/useField.d.ts
CHANGED
|
@@ -2,10 +2,7 @@ import { type FieldRef, type FieldAccessor } from '@contember/bindx';
|
|
|
2
2
|
/**
|
|
3
3
|
* Subscribes to a field ref and returns a FieldAccessor with live value access.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* this hook adds a store subscription so the component re-renders on changes,
|
|
7
|
-
* and widens the type to FieldAccessor.
|
|
8
|
-
*
|
|
5
|
+
* Thin wrapper over useAccessor for ergonomics.
|
|
9
6
|
* Accepts null — returns null without subscribing (useful for conditional fields).
|
|
10
7
|
*/
|
|
11
8
|
export declare function useField<T>(ref: FieldRef<T>): FieldAccessor<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useField.d.ts","sourceRoot":"","sources":["../../src/hooks/useField.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useField.d.ts","sourceRoot":"","sources":["../../src/hooks/useField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGpE;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;AAC/D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import { type HasManyRef, type HasManyAccessor } from '@contember/bindx';
|
|
2
|
-
import type { AnyBrand } from '@contember/bindx';
|
|
1
|
+
import { type HasManyRef, type HasManyAccessor, type AnyBrand } from '@contember/bindx';
|
|
3
2
|
/**
|
|
4
3
|
* Subscribes to a has-many ref and returns a HasManyAccessor with live collection access.
|
|
5
4
|
*
|
|
6
|
-
*
|
|
7
|
-
* this hook adds a store subscription so the component re-renders on changes,
|
|
8
|
-
* and widens the type to HasManyAccessor.
|
|
5
|
+
* Thin wrapper over useAccessor for ergonomics.
|
|
9
6
|
*/
|
|
10
7
|
export declare function useHasMany<TEntity, TSelected = TEntity, TBrand extends AnyBrand = AnyBrand, TEntityName extends string = string, TSchema extends Record<string, object> = Record<string, object>>(ref: HasManyRef<TEntity, TSelected, TBrand, TEntityName, TSchema>): HasManyAccessor<TEntity, TSelected, TBrand, TEntityName, TSchema>;
|
|
11
8
|
//# sourceMappingURL=useHasMany.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHasMany.d.ts","sourceRoot":"","sources":["../../src/hooks/useHasMany.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useHasMany.d.ts","sourceRoot":"","sources":["../../src/hooks/useHasMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAGvF;;;;GAIG;AACH,wBAAgB,UAAU,CACzB,OAAO,EACP,SAAS,GAAG,OAAO,EACnB,MAAM,SAAS,QAAQ,GAAG,QAAQ,EAClC,WAAW,SAAS,MAAM,GAAG,MAAM,EACnC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9D,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAEtI"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import { type HasOneRef, type HasOneAccessor } from '@contember/bindx';
|
|
2
|
-
import type { AnyBrand } from '@contember/bindx';
|
|
1
|
+
import { type HasOneRef, type HasOneAccessor, type AnyBrand } from '@contember/bindx';
|
|
3
2
|
/**
|
|
4
3
|
* Subscribes to a has-one ref and returns a HasOneAccessor with live state access.
|
|
5
4
|
*
|
|
6
|
-
*
|
|
7
|
-
* this hook adds a store subscription so the component re-renders on changes,
|
|
8
|
-
* and widens the type to HasOneAccessor.
|
|
5
|
+
* Thin wrapper over useAccessor for ergonomics.
|
|
9
6
|
*/
|
|
10
7
|
export declare function useHasOne<TEntity, TSelected = TEntity, TBrand extends AnyBrand = AnyBrand, TEntityName extends string = string, TSchema extends Record<string, object> = Record<string, object>>(ref: HasOneRef<TEntity, TSelected, TBrand, TEntityName, TSchema>): HasOneAccessor<TEntity, TSelected, TBrand, TEntityName, TSchema>;
|
|
11
8
|
//# sourceMappingURL=useHasOne.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHasOne.d.ts","sourceRoot":"","sources":["../../src/hooks/useHasOne.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useHasOne.d.ts","sourceRoot":"","sources":["../../src/hooks/useHasOne.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAGrF;;;;GAIG;AACH,wBAAgB,SAAS,CACxB,OAAO,EACP,SAAS,GAAG,OAAO,EACnB,MAAM,SAAS,QAAQ,GAAG,QAAQ,EAClC,WAAW,SAAS,MAAM,GAAG,MAAM,EACnC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9D,GAAG,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAEpI"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,10 +8,10 @@ export { scalar, hasOne, hasMany, defineSchema, entityDef, roleEntityDef, DEFAUL
|
|
|
8
8
|
export type { BindxProviderProps, BindxContextValue, BindxGraphQlClient, UseEntityOptions, UseEntityListOptions, LoadingEntityResult, ErrorEntityResult, NotFoundEntityResult, ReadyEntityResult, UseEntityResult, LoadingEntityListResult, ErrorEntityListResult, ReadyEntityListResult, UseEntityListResult, PersistApi, EntityPersistApi, AnyRefWithMeta, } from './hooks/index.js';
|
|
9
9
|
export type { DirtyEntity, PersistScope, AllScope, EntityScope as EntityPersistScope, FieldsScope, RelationScope, CustomScope, EntityPersistResult, PersistenceResult, BatchPersistOptions, } from '@contember/bindx';
|
|
10
10
|
export type { FieldProps, HasManyProps, HasOneProps, IfProps, EntityComponentProps, HasManyComponentOptions, ShowProps, SelectionPropMeta, SelectionProvider, EntityPropKeys, EntityFromProp, SelectionFromProp, ImplicitFragmentProperties, BindxComponentBase, BindxComponent, ComponentBuilder, ComponentBuilderState, CreateComponentOptions, InterfaceEntityPropConfig, ImplicitInterfaceEntityConfig, ExplicitInterfaceEntityConfig, AddInterfaces, InterfaceSelectorsMap, AnyEntityPropConfig, EntityPropConfig, ImplicitEntityConfig, ExplicitEntityConfig, AddImplicitEntity, AddExplicitEntity, AddImplicitInterfaceEntity, AddExplicitInterfaceEntity, SetScalarProps, BuildEntityProps, BuildProps, BuildFragmentProps, InitialBuilderState, } from './jsx/index.js';
|
|
11
|
-
export { BindxProvider, useBackendAdapter, useSnapshotStore, useDispatcher, useBatchPersister, useBindxContext, useSchemaRegistry, useEntity, useEntityList, usePersist, usePersistEntity, useUndo, useOnEvent, useOnEntityEvent, useOnFieldEvent, useIntercept, useInterceptEntity, useInterceptField, useField, useHasMany, useHasOne, ContemberBindxProvider, schemaNamesToDef, } from './hooks/index.js';
|
|
11
|
+
export { BindxProvider, useBackendAdapter, useSnapshotStore, useDispatcher, useBatchPersister, useBindxContext, useSchemaRegistry, useEntity, useEntityList, usePersist, usePersistEntity, useUndo, useOnEvent, useOnEntityEvent, useOnFieldEvent, useIntercept, useInterceptEntity, useInterceptField, useAccessor, useField, useHasMany, useHasOne, ContemberBindxProvider, schemaNamesToDef, } from './hooks/index.js';
|
|
12
12
|
export { RoleProvider, useHasRole, type RoleProviderProps } from './roles/index.js';
|
|
13
13
|
export type { UndoHookResult } from './hooks/useUndo.js';
|
|
14
|
-
export { Field, HasMany, HasOne, If, Show, Entity, type EntityProps, EntityList, type EntityListProps, HasRole, type HasRoleProps, BINDX_COMPONENT, SCOPE_REF, cond, type Condition, createComponent, withCollector, isBindxComponent, mergeFragments, COMPONENT_MARKER, COMPONENT_BRAND, COMPONENT_SELECTIONS, createComponentBuilder, getComponentBrand, setBrandValidation, validateBrand, } from './jsx/index.js';
|
|
14
|
+
export { Attribute, type AttributeProps, Field, HasMany, HasOne, If, Show, Entity, type EntityProps, EntityList, type EntityListProps, HasRole, type HasRoleProps, BINDX_COMPONENT, SCOPE_REF, cond, type Condition, createComponent, withCollector, isBindxComponent, mergeFragments, COMPONENT_MARKER, COMPONENT_BRAND, COMPONENT_SELECTIONS, createComponentBuilder, getComponentBrand, setBrandValidation, validateBrand, } from './jsx/index.js';
|
|
15
15
|
export { EntityScope, useEntityScope, useOptionalEntityScope, type EntityScopeProps, } from './components/EntityScope.js';
|
|
16
16
|
export { SelectionMetaCollector, mergeSelections, createEmptySelection, createCollectorProxy, analyzeJsx, collectSelection, convertToQuerySelection, debugSelection, } from './jsx/index.js';
|
|
17
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../src/jsx/analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,OAAO,CAAA;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAyC,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../src/jsx/analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,OAAO,CAAA;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAyC,MAAM,YAAY,CAAA;AACtF,OAAO,EAAE,sBAAsB,EAAmB,MAAM,oBAAoB,CAAA;AAE5E;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,sBAAsB,GAAG,IAAI,CA6FnF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,GAAG,sBAAsB,CAIvE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6B5F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,SAAI,GAAG,MAAM,CA0B3E"}
|
|
@@ -106,24 +106,28 @@ export type InterfaceSelectorsMap<TInterfaces extends Record<string, object>> =
|
|
|
106
106
|
*/
|
|
107
107
|
export type SetScalarProps<TState extends ComponentBuilderState, TNewScalarProps extends object> = ComponentBuilderState<TState['__entityProps'], TNewScalarProps, TState['__roles']>;
|
|
108
108
|
/**
|
|
109
|
-
* Build
|
|
110
|
-
*
|
|
111
|
-
* For explicit selection (selector provided): Returns EntityAccessor with full access
|
|
112
|
-
* - Allows direct field access: `entity.fieldName.value`
|
|
113
|
-
* - Allows relation access: `entity.relation.length`, `entity.relation.$entity`
|
|
114
|
-
*
|
|
115
|
-
* For implicit selection (no selector): Returns EntityRef with restricted access
|
|
116
|
-
* - Blocks direct field access to enforce declarative patterns
|
|
117
|
-
* - Users must use components: `<Field field={entity.fieldName} />`
|
|
118
|
-
* - Users must use condition DSL: `<If condition={cond.hasItems(entity.relation)} />`
|
|
109
|
+
* Build public entity props — always EntityRef (stable pointer, no live data).
|
|
110
|
+
* Used for the component's external React props.
|
|
119
111
|
*/
|
|
120
112
|
export type BuildEntityProps<TEntityProps extends Record<string, AnyEntityPropConfig>, TRoles extends readonly string[]> = {
|
|
113
|
+
readonly [K in keyof TEntityProps]: TEntityProps[K] extends EntityPropConfig<infer TEntity, infer TSelected, infer _TIsImplicit> ? EntityRef<TEntity, TSelected, AnyBrand, string> : TEntityProps[K] extends InterfaceEntityPropConfig<infer TInterface, infer _TIsImplicit> ? EntityRef<TInterface, TInterface, AnyBrand, string> : never;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Build render entity props — explicit selection → EntityAccessor (live data),
|
|
117
|
+
* implicit selection → EntityRef (pointer only, use <Field> components).
|
|
118
|
+
* Used for the render function's props type.
|
|
119
|
+
*/
|
|
120
|
+
export type BuildRenderEntityProps<TEntityProps extends Record<string, AnyEntityPropConfig>, TRoles extends readonly string[]> = {
|
|
121
121
|
readonly [K in keyof TEntityProps]: TEntityProps[K] extends EntityPropConfig<infer TEntity, infer TSelected, infer TIsImplicit> ? TIsImplicit extends true ? EntityRef<TEntity, TSelected, AnyBrand, string> : EntityAccessor<TEntity, TSelected, AnyBrand, string> : TEntityProps[K] extends InterfaceEntityPropConfig<infer TInterface, infer TIsImplicit> ? TIsImplicit extends true ? EntityRef<TInterface, TInterface, AnyBrand, string> : EntityAccessor<TInterface, TInterface, AnyBrand, string> : never;
|
|
122
122
|
};
|
|
123
123
|
/**
|
|
124
|
-
* Build complete props type from builder state.
|
|
124
|
+
* Build complete public props type from builder state.
|
|
125
125
|
*/
|
|
126
126
|
export type BuildProps<TState extends ComponentBuilderState> = TState['__scalarProps'] & BuildEntityProps<TState['__entityProps'], TState['__roles']>;
|
|
127
|
+
/**
|
|
128
|
+
* Build complete render props type from builder state.
|
|
129
|
+
*/
|
|
130
|
+
export type BuildRenderProps<TState extends ComponentBuilderState> = TState['__scalarProps'] & BuildRenderEntityProps<TState['__entityProps'], TState['__roles']>;
|
|
127
131
|
/**
|
|
128
132
|
* Build fragment properties ($propName) from entity config.
|
|
129
133
|
*/
|
|
@@ -251,7 +255,7 @@ export interface ComponentBuilder<TState extends ComponentBuilderState = Compone
|
|
|
251
255
|
* @param renderFn - React render function receiving typed props
|
|
252
256
|
* @returns Bindx component with fragment properties
|
|
253
257
|
*/
|
|
254
|
-
render(renderFn: (props:
|
|
258
|
+
render(renderFn: (props: BuildRenderProps<TState>) => ReactNode): BindxComponent<TState>;
|
|
255
259
|
}
|
|
256
260
|
/**
|
|
257
261
|
* Initial builder state with empty entity props and scalar props.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentBuilder.types.d.ts","sourceRoot":"","sources":["../../src/jsx/componentBuilder.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"componentBuilder.types.d.ts","sourceRoot":"","sources":["../../src/jsx/componentBuilder.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentFactory.d.ts","sourceRoot":"","sources":["../../src/jsx/componentFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAGX,gBAAgB,
|
|
1
|
+
{"version":3,"file":"componentFactory.d.ts","sourceRoot":"","sources":["../../src/jsx/componentFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAGX,gBAAgB,EAGhB,gBAAgB,EAChB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACN,cAAc,EAKd,MAAM,kBAAkB,CAAA;AAQzB,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,iBAAiB,CAAA;AAOnE;;GAEG;AACH,eAAO,MAAM,gBAAgB,eAA4B,CAAA;AAEzD;;GAEG;AACH,eAAO,MAAM,eAAe,eAA4B,CAAA;AAExD;;GAEG;AACH,eAAO,MAAM,oBAAoB,eAAiC,CAAA;AAMlE,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACnG,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAC1D;AAwBD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,SAAS,MAAM,EACnD,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACxC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,EACtC,iBAAiB,EAAE,OAAO,EAC1B,cAAc,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,EAC7D,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC,GAAG,IAAI,GAChD,OAAO,CAiIT"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type ReactElement } from 'react';
|
|
2
|
+
import type { FieldAccessor, FieldRef } from '../types.js';
|
|
3
|
+
import { BINDX_COMPONENT } from '../types.js';
|
|
4
|
+
import type { SelectionProvider } from '../types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Props for Attribute component.
|
|
7
|
+
*/
|
|
8
|
+
export interface AttributeProps<T> {
|
|
9
|
+
/** The field to subscribe to */
|
|
10
|
+
field: FieldRef<T>;
|
|
11
|
+
/** Maps the field accessor to props that get spread onto the child element */
|
|
12
|
+
format: (accessor: FieldAccessor<T>) => Record<string, unknown>;
|
|
13
|
+
/** Single child element — receives the formatted props via cloneElement */
|
|
14
|
+
children: ReactElement;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Attribute component — applies field-derived props to a child element.
|
|
18
|
+
*
|
|
19
|
+
* Like `<Field>` but for attributes (style, className, data-*) instead of text content.
|
|
20
|
+
* Subscribes to the field, calls `format` to produce props, and clones the child with merged props.
|
|
21
|
+
* During selection collection, both the field and children's fields are tracked.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* <Attribute field={tag.color} format={color => ({ style: { backgroundColor: color.value ?? '#666' } })}>
|
|
26
|
+
* <span>
|
|
27
|
+
* <Field field={tag.name} />
|
|
28
|
+
* </span>
|
|
29
|
+
* </Attribute>
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
declare function AttributeImpl<T>({ field, format, children }: AttributeProps<T>): ReactElement | null;
|
|
33
|
+
export declare const Attribute: typeof AttributeImpl;
|
|
34
|
+
declare const attributeWithSelection: typeof Attribute & SelectionProvider & {
|
|
35
|
+
[BINDX_COMPONENT]: true;
|
|
36
|
+
};
|
|
37
|
+
export { attributeWithSelection as AttributeWithMeta };
|
|
38
|
+
//# sourceMappingURL=Attribute.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Attribute.d.ts","sourceRoot":"","sources":["../../../src/jsx/components/Attribute.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAA;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAA+C,MAAM,aAAa,CAAA;AACvG,OAAO,EAAkB,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAIpD;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAChC,gCAAgC;IAChC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IAClB,8EAA8E;IAC9E,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/D,2EAA2E;IAC3E,QAAQ,EAAE,YAAY,CAAA;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,iBAAS,aAAa,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,IAAI,CAgB7F;AAED,eAAO,MAAM,SAAS,EAA0B,OAAO,aAAa,CAAA;AAGpE,QAAA,MAAM,sBAAsB,EAAgB,OAAO,SAAS,GAAG,iBAAiB,GAAG;IAAE,CAAC,eAAe,CAAC,EAAE,IAAI,CAAA;CAAE,CAAA;AAiC9G,OAAO,EAAE,sBAAsB,IAAI,iBAAiB,EAAE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { type ReactElement } from 'react';
|
|
2
|
-
import type {
|
|
2
|
+
import type { EntityRef } from '../types.js';
|
|
3
3
|
import { type EntityDef, type EntityUniqueWhere, type FieldError, type CommonEntity } from '@contember/bindx';
|
|
4
4
|
/**
|
|
5
5
|
* Base props shared by both edit and create modes.
|
|
@@ -9,7 +9,7 @@ interface EntityBaseProps<TRoleMap extends Record<string, object>> {
|
|
|
9
9
|
/** Entity definition reference */
|
|
10
10
|
entity: EntityDef<TRoleMap>;
|
|
11
11
|
/** Render function receiving typed entity accessor with direct field access */
|
|
12
|
-
children: (entity:
|
|
12
|
+
children: (entity: EntityRef<CommonEntity<TRoleMap>>) => React.ReactNode;
|
|
13
13
|
/** Error fallback */
|
|
14
14
|
error?: (error: FieldError) => React.ReactNode;
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../../src/jsx/components/Entity.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAuE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../../src/jsx/components/Entity.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAuE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AAKrH,OAAO,KAAK,EAAkB,SAAS,EAAiB,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,iBAAiB,EAAiB,KAAK,UAAU,EAAgF,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAI1M;;;GAGG;AACH,UAAU,eAAe,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAChE,kCAAkC;IAClC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC3B,+EAA+E;IAC/E,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,CAAA;IACxE,qBAAqB;IACrB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,KAAK,CAAC,SAAS,CAAA;CAC9C;AAED;;GAEG;AACH,UAAU,aAAa,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAE,SAAQ,eAAe,CAAC,QAAQ,CAAC;IACjG,sFAAsF;IACtF,EAAE,EAAE,iBAAiB,CAAA;IACrB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,uBAAuB;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED;;GAEG;AACH,UAAU,iBAAiB,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAE,SAAQ,eAAe,CAAC,QAAQ,CAAC;IACrG,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,8DAA8D;IAC9D,MAAM,EAAE,IAAI,CAAA;IACZ,wEAAwE;IACxE,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,OAAO,CAAC,EAAE,KAAK,CAAA;IACf,QAAQ,CAAC,EAAE,KAAK,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IACrF,aAAa,CAAC,QAAQ,CAAC,GACvB,iBAAiB,CAAC,QAAQ,CAAC,CAAA;AA8O9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,iBAAS,UAAU,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1D,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,GAC1B,YAAY,GAAG,IAAI,CA0BrB;AAGD,eAAO,MAAM,MAAM,EAAkC,OAAO,UAAU,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityList.d.ts","sourceRoot":"","sources":["../../../src/jsx/components/EntityList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAQ,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAG3H,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"EntityList.d.ts","sourceRoot":"","sources":["../../../src/jsx/components/EntityList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAQ,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAG3H,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGjD;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAChG,kCAAkC;IAClC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC3B,kEAAkE;IAClE,MAAM,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC5C,2DAA2D;IAC3D,OAAO,CAAC,EAAE,SAAS,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA;IAC1D,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+EAA+E;IAC/E,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAA;IAC5F,uBAAuB;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,qBAAqB;IACrB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,KAAK,CAAC,SAAS,CAAA;IAC9C,oDAAoD;IACpD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,iBAAS,mBAAmB,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EACrE,MAAM,EACN,MAAM,EACN,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,EACR,OAAO,EACP,KAAK,EAAE,aAAa,EACpB,KAAK,GACL,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,YAAY,GAAG,IAAI,CAyDjD;AAGD,eAAO,MAAM,UAAU,EAA2C,OAAO,mBAAmB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/jsx/components/Field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAsB,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpF,OAAO,EAAkB,eAAe,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/jsx/components/Field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAsB,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpF,OAAO,EAAkB,eAAe,EAAE,MAAM,aAAa,CAAA;AAI7D;;;;;;;;;;;;;;;;GAgBG;AACH,iBAAS,SAAS,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,IAAI,CA8BrF;AAED,eAAO,MAAM,KAAK,EAAsB,OAAO,SAAS,CAAA;AAGxD,QAAA,MAAM,kBAAkB,EAAY,OAAO,KAAK,GAAG,iBAAiB,GAAG;IAAE,CAAC,eAAe,CAAC,EAAE,IAAI,CAAA;CAAE,CAAA;AA4BlG,OAAO,EAAE,kBAAkB,IAAI,aAAa,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HasMany.d.ts","sourceRoot":"","sources":["../../../src/jsx/components/HasMany.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAQ,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAA;AACtE,OAAO,KAAK,EAAE,YAAY,EAAqC,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC/G,OAAO,EAAkB,eAAe,EAAa,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"HasMany.d.ts","sourceRoot":"","sources":["../../../src/jsx/components/HasMany.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAQ,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAA;AACtE,OAAO,KAAK,EAAE,YAAY,EAAqC,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC/G,OAAO,EAAkB,eAAe,EAAa,MAAM,aAAa,CAAA;AAMxE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,iBAAS,WAAW,CACnB,OAAO,EACP,SAAS,GAAG,OAAO,EACnB,MAAM,SAAS,QAAQ,GAAG,QAAQ,EAClC,WAAW,SAAS,MAAM,GAAG,MAAM,EACnC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9D,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,YAAY,CAgBnG;AAED,eAAO,MAAM,OAAO,EAAwB,OAAO,WAAW,CAAA;AAG9D,QAAA,MAAM,oBAAoB,EAAc,OAAO,OAAO,GAAG,iBAAiB,GAAG;IAAE,CAAC,eAAe,CAAC,EAAE,IAAI,CAAA;CAAE,CAAA;AA0DxG,OAAO,EAAE,oBAAoB,IAAI,eAAe,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HasOne.d.ts","sourceRoot":"","sources":["../../../src/jsx/components/HasOne.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAQ,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAA;AACtE,OAAO,KAAK,EAAE,WAAW,EAAqC,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC9G,OAAO,EAAkB,eAAe,EAAa,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"HasOne.d.ts","sourceRoot":"","sources":["../../../src/jsx/components/HasOne.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAQ,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAA;AACtE,OAAO,KAAK,EAAE,WAAW,EAAqC,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC9G,OAAO,EAAkB,eAAe,EAAa,MAAM,aAAa,CAAA;AAMxE;;;;;;;;;;;;;;GAcG;AACH,iBAAS,UAAU,CAClB,OAAO,EACP,SAAS,GAAG,OAAO,EACnB,MAAM,SAAS,QAAQ,GAAG,QAAQ,EAClC,WAAW,SAAS,MAAM,GAAG,MAAM,EACnC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9D,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,YAAY,CAQlG;AAED,eAAO,MAAM,MAAM,EAAuB,OAAO,UAAU,CAAA;AAG3D,QAAA,MAAM,mBAAmB,EAAa,OAAO,MAAM,GAAG,iBAAiB,GAAG;IAAE,CAAC,eAAe,CAAC,EAAE,IAAI,CAAA;CAAE,CAAA;AAuCrG,OAAO,EAAE,mBAAmB,IAAI,cAAc,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/jsx/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAGjD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAGvD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGpD,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGxC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAA;AAG9D,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAGtD,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/jsx/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAGlF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAGjD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAGvD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGpD,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGxC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAA;AAG9D,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAGtD,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* In dev mode, injects data attributes onto an existing React element via cloneElement.
|
|
4
|
+
* If annotations are disabled or the node is not a valid element, returns as-is.
|
|
5
|
+
*/
|
|
6
|
+
export declare function annotateElement(element: ReactNode, attrs: Record<string, string>): ReactNode;
|
|
7
|
+
/**
|
|
8
|
+
* Returns true if dev annotations are enabled.
|
|
9
|
+
* Use for conditional wrapping (e.g., Field text render in span).
|
|
10
|
+
*/
|
|
11
|
+
export declare function isDevAnnotationsEnabled(): boolean;
|
|
12
|
+
//# sourceMappingURL=devAnnotations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devAnnotations.d.ts","sourceRoot":"","sources":["../../src/jsx/devAnnotations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAYpE;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,SAAS,CAKX;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD"}
|
package/dist/jsx/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export { BINDX_COMPONENT, FIELD_REF_META, SCOPE_REF, type FieldRefMeta, type Fie
|
|
|
2
2
|
export { SelectionMetaCollector, mergeSelections, createEmptySelection, } from './SelectionMeta.js';
|
|
3
3
|
export { createCollectorProxy, } from './proxy.js';
|
|
4
4
|
export { analyzeJsx, collectSelection, convertToQuerySelection, debugSelection, } from './analyzer.js';
|
|
5
|
+
export { Attribute, AttributeWithMeta, type AttributeProps } from './components/Attribute.js';
|
|
5
6
|
export { Field, FieldWithMeta } from './components/Field.js';
|
|
6
7
|
export { HasMany, HasManyWithMeta } from './components/HasMany.js';
|
|
7
8
|
export { HasOne, HasOneWithMeta } from './components/HasOne.js';
|
package/dist/jsx/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/jsx/index.ts"],"names":[],"mappings":"AACA,OAAO,EACN,eAAe,EACf,cAAc,EACd,SAAS,EACT,KAAK,YAAY,EAEjB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,SAAS,EAEd,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEnB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EAEpB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,QAAQ,GACb,MAAM,YAAY,CAAA;AAGnB,OAAO,EACN,sBAAsB,EACtB,eAAe,EACf,oBAAoB,GACpB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACN,oBAAoB,GACpB,MAAM,YAAY,CAAA;AAGnB,OAAO,EACN,UAAU,EACV,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,GACd,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACzE,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGpE,OAAO,EACN,IAAI,EACJ,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,KAAK,SAAS,EACd,KAAK,aAAa,GAClB,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACN,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,GACb,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,YAAY,EACX,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EAEtB,yBAAyB,EACzB,6BAA6B,EAC7B,6BAA6B,EAC7B,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EAEnB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EAEpB,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,EAC1B,0BAA0B,EAC1B,cAAc,EAEd,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,mBAAmB,GACnB,MAAM,sBAAsB,CAAA;AAG7B,YAAY,EACX,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,0BAA0B,GAC1B,MAAM,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/jsx/index.ts"],"names":[],"mappings":"AACA,OAAO,EACN,eAAe,EACf,cAAc,EACd,SAAS,EACT,KAAK,YAAY,EAEjB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,SAAS,EAEd,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEnB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EAEpB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,QAAQ,GACb,MAAM,YAAY,CAAA;AAGnB,OAAO,EACN,sBAAsB,EACtB,eAAe,EACf,oBAAoB,GACpB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACN,oBAAoB,GACpB,MAAM,YAAY,CAAA;AAGnB,OAAO,EACN,UAAU,EACV,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,GACd,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC7F,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACzE,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGpE,OAAO,EACN,IAAI,EACJ,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,KAAK,SAAS,EACd,KAAK,aAAa,GAClB,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACN,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,GACb,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,YAAY,EACX,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EAEtB,yBAAyB,EACzB,6BAA6B,EAC7B,6BAA6B,EAC7B,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EAEnB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EAEpB,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,EAC1B,0BAA0B,EAC1B,cAAc,EAEd,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,mBAAmB,GACnB,MAAM,sBAAsB,CAAA;AAG7B,YAAY,EACX,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,0BAA0B,GAC1B,MAAM,kBAAkB,CAAA"}
|
package/dist/jsx/types.d.ts
CHANGED
|
@@ -45,7 +45,7 @@ export interface HasManyComponentOptions {
|
|
|
45
45
|
*/
|
|
46
46
|
export interface HasManyProps<TEntity, TSelected = TEntity, TBrand extends AnyBrand = AnyBrand, TEntityName extends string = string, TSchema extends Record<string, object> = Record<string, object>> {
|
|
47
47
|
field: HasManyRef<TEntity, TSelected, TBrand, TEntityName, TSchema>;
|
|
48
|
-
children: (item:
|
|
48
|
+
children: (item: EntityRef<TEntity, TSelected, TBrand, TEntityName, TSchema>, index: number) => ReactNode;
|
|
49
49
|
filter?: unknown;
|
|
50
50
|
orderBy?: unknown;
|
|
51
51
|
limit?: number;
|
|
@@ -64,7 +64,7 @@ export interface HasManyProps<TEntity, TSelected = TEntity, TBrand extends AnyBr
|
|
|
64
64
|
*/
|
|
65
65
|
export interface HasOneProps<TEntity, TSelected = TEntity, TBrand extends AnyBrand = AnyBrand, TEntityName extends string = string, TSchema extends Record<string, object> = Record<string, object>> {
|
|
66
66
|
field: HasOneRef<TEntity, TSelected, TBrand, TEntityName, TSchema>;
|
|
67
|
-
children: (entity:
|
|
67
|
+
children: (entity: EntityRef<TEntity, TSelected, TBrand, TEntityName, TSchema>) => ReactNode;
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
70
|
* Props for Entity component.
|
|
@@ -74,7 +74,7 @@ export interface HasOneProps<TEntity, TSelected = TEntity, TBrand extends AnyBra
|
|
|
74
74
|
export interface EntityComponentProps<TSchema extends Record<string, object>, K extends keyof TSchema & string> {
|
|
75
75
|
name: K;
|
|
76
76
|
id: string;
|
|
77
|
-
children: (entity:
|
|
77
|
+
children: (entity: EntityRef<TSchema[K], TSchema[K], import('@contember/bindx').AnyBrand, K, TSchema>) => ReactNode;
|
|
78
78
|
}
|
|
79
79
|
/**
|
|
80
80
|
* Props for If conditional component.
|
package/dist/jsx/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/jsx/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EACX,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACR,aAAa,EACb,UAAU,EACV,eAAe,EACf,SAAS,EACT,cAAc,EACd,SAAS,EACT,cAAc,EACd,QAAQ,EACR,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG3C,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAA;AAGjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,YAAY,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACR,aAAa,EACb,UAAU,EACV,eAAe,EACf,SAAS,EACT,cAAc,EACd,SAAS,EACT,cAAc,EACd,QAAQ,GACR,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,eAA4B,CAAA;AAExD;;;;GAIG;AACH,eAAO,MAAM,SAAS,eAAsB,CAAA;AAG5C;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC5B,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IAClB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,SAAS,CAAA;IACpD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,KAAK,SAAS,CAAA;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY,CAC5B,OAAO,EACP,SAAS,GAAG,OAAO,EACnB,MAAM,SAAS,QAAQ,GAAG,QAAQ,EAClC,WAAW,SAAS,MAAM,GAAG,MAAM,EACnC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAE/D,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IACnE,QAAQ,EAAE,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/jsx/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contember/bindx-react",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.25",
|
|
4
4
|
"description": "Type-safe React data binding framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./src/index.ts",
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
"react": ">=18.0.0"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@contember/bindx": "0.1.
|
|
19
|
-
"@contember/bindx-client": "0.1.
|
|
18
|
+
"@contember/bindx": "0.1.25",
|
|
19
|
+
"@contember/bindx-client": "0.1.25",
|
|
20
20
|
"@contember/graphql-client": "^2.1.0-beta.1",
|
|
21
21
|
"@radix-ui/primitive": "^1.1.3",
|
|
22
22
|
"@radix-ui/react-slot": "^1.2.4"
|
package/src/hooks/index.ts
CHANGED
|
@@ -56,6 +56,7 @@ export {
|
|
|
56
56
|
|
|
57
57
|
export { useEntityBeforePersist } from './useEntityBeforePersist.js'
|
|
58
58
|
|
|
59
|
+
export { useAccessor } from './useAccessor.js'
|
|
59
60
|
export { useField } from './useField.js'
|
|
60
61
|
export { useHasMany } from './useHasMany.js'
|
|
61
62
|
export { useHasOne } from './useHasOne.js'
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { useSyncExternalStore } from 'react'
|
|
2
|
+
import {
|
|
3
|
+
type FieldRef,
|
|
4
|
+
type FieldAccessor,
|
|
5
|
+
type HasManyRef,
|
|
6
|
+
type HasManyAccessor,
|
|
7
|
+
type HasOneRef,
|
|
8
|
+
type HasOneAccessor,
|
|
9
|
+
type EntityRef,
|
|
10
|
+
type EntityAccessor,
|
|
11
|
+
type AnyBrand,
|
|
12
|
+
FIELD_REF_META,
|
|
13
|
+
type FieldRefMeta,
|
|
14
|
+
} from '@contember/bindx'
|
|
15
|
+
import { useSnapshotStore } from './BackendAdapterContext.js'
|
|
16
|
+
|
|
17
|
+
const noopSubscribe = (): (() => void) => () => {}
|
|
18
|
+
const noopSnapshot = (): number => 0
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Subscribes to a ref and returns the corresponding accessor with live data access.
|
|
22
|
+
*
|
|
23
|
+
* At runtime, ref proxies already have all accessor properties —
|
|
24
|
+
* this hook adds a store subscription so the component re-renders on changes,
|
|
25
|
+
* and widens the type to the accessor variant.
|
|
26
|
+
*
|
|
27
|
+
* Works with all ref types: FieldRef, HasOneRef, HasManyRef, EntityRef.
|
|
28
|
+
*/
|
|
29
|
+
export function useAccessor<T>(ref: FieldRef<T>): FieldAccessor<T>
|
|
30
|
+
export function useAccessor<T>(ref: FieldRef<T> | null): FieldAccessor<T> | null
|
|
31
|
+
export function useAccessor<
|
|
32
|
+
TEntity,
|
|
33
|
+
TSelected = TEntity,
|
|
34
|
+
TBrand extends AnyBrand = AnyBrand,
|
|
35
|
+
TEntityName extends string = string,
|
|
36
|
+
TSchema extends Record<string, object> = Record<string, object>,
|
|
37
|
+
>(ref: HasManyRef<TEntity, TSelected, TBrand, TEntityName, TSchema>): HasManyAccessor<TEntity, TSelected, TBrand, TEntityName, TSchema>
|
|
38
|
+
export function useAccessor<
|
|
39
|
+
TEntity,
|
|
40
|
+
TSelected = TEntity,
|
|
41
|
+
TBrand extends AnyBrand = AnyBrand,
|
|
42
|
+
TEntityName extends string = string,
|
|
43
|
+
TSchema extends Record<string, object> = Record<string, object>,
|
|
44
|
+
>(ref: HasOneRef<TEntity, TSelected, TBrand, TEntityName, TSchema>): HasOneAccessor<TEntity, TSelected, TBrand, TEntityName, TSchema>
|
|
45
|
+
export function useAccessor<
|
|
46
|
+
TEntity,
|
|
47
|
+
TSelected = TEntity,
|
|
48
|
+
TBrand extends AnyBrand = AnyBrand,
|
|
49
|
+
TEntityName extends string = string,
|
|
50
|
+
TSchema extends Record<string, object> = Record<string, object>,
|
|
51
|
+
TRoleMap extends Record<string, object> = Record<string, object>,
|
|
52
|
+
>(ref: EntityRef<TEntity, TSelected, TBrand, TEntityName, TSchema, TRoleMap>): EntityAccessor<TEntity, TSelected, TBrand, TEntityName, TSchema, TRoleMap>
|
|
53
|
+
export function useAccessor(ref: { [FIELD_REF_META]: FieldRefMeta } | null): unknown {
|
|
54
|
+
const store = useSnapshotStore()
|
|
55
|
+
const meta = ref?.[FIELD_REF_META]
|
|
56
|
+
|
|
57
|
+
useSyncExternalStore(
|
|
58
|
+
meta ? (callback) => store.subscribeToEntity(meta.entityType, meta.entityId, callback) : noopSubscribe,
|
|
59
|
+
meta ? () => store.getVersion() : noopSnapshot,
|
|
60
|
+
meta ? () => store.getVersion() : noopSnapshot,
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
return ref
|
|
64
|
+
}
|
package/src/hooks/useField.ts
CHANGED
|
@@ -1,30 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { useSnapshotStore } from './BackendAdapterContext.js'
|
|
4
|
-
|
|
5
|
-
const noopSubscribe = () => () => {}
|
|
6
|
-
const noopSnapshot = () => 0
|
|
1
|
+
import { type FieldRef, type FieldAccessor } from '@contember/bindx'
|
|
2
|
+
import { useAccessor } from './useAccessor.js'
|
|
7
3
|
|
|
8
4
|
/**
|
|
9
5
|
* Subscribes to a field ref and returns a FieldAccessor with live value access.
|
|
10
6
|
*
|
|
11
|
-
*
|
|
12
|
-
* this hook adds a store subscription so the component re-renders on changes,
|
|
13
|
-
* and widens the type to FieldAccessor.
|
|
14
|
-
*
|
|
7
|
+
* Thin wrapper over useAccessor for ergonomics.
|
|
15
8
|
* Accepts null — returns null without subscribing (useful for conditional fields).
|
|
16
9
|
*/
|
|
17
10
|
export function useField<T>(ref: FieldRef<T>): FieldAccessor<T>
|
|
18
11
|
export function useField<T>(ref: FieldRef<T> | null): FieldAccessor<T> | null
|
|
19
12
|
export function useField<T>(ref: FieldRef<T> | null): FieldAccessor<T> | null {
|
|
20
|
-
|
|
21
|
-
const meta = ref?.[FIELD_REF_META]
|
|
22
|
-
|
|
23
|
-
useSyncExternalStore(
|
|
24
|
-
meta ? (callback) => store.subscribeToEntity(meta.entityType, meta.entityId, callback) : noopSubscribe,
|
|
25
|
-
meta ? () => store.getVersion() : noopSnapshot,
|
|
26
|
-
meta ? () => store.getVersion() : noopSnapshot,
|
|
27
|
-
)
|
|
28
|
-
|
|
29
|
-
return ref as unknown as FieldAccessor<T> | null
|
|
13
|
+
return useAccessor(ref)
|
|
30
14
|
}
|