@contember/bindx-react 0.1.36 → 0.1.37
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/jsx/componentBuilder.d.ts +3 -1
- package/dist/jsx/componentBuilder.d.ts.map +1 -1
- package/dist/jsx/componentBuilder.types.d.ts +23 -0
- package/dist/jsx/componentBuilder.types.d.ts.map +1 -1
- package/dist/jsx/componentFactory.d.ts +1 -1
- package/dist/jsx/componentFactory.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/jsx/componentBuilder.ts +17 -0
- package/src/jsx/componentBuilder.types.ts +26 -0
- package/src/jsx/componentFactory.ts +17 -2
|
@@ -26,11 +26,13 @@ export declare class ComponentBuilderImpl<TState extends ComponentBuilderState>
|
|
|
26
26
|
private readonly roles;
|
|
27
27
|
private readonly hasInterfacesMode;
|
|
28
28
|
private readonly conditionFn;
|
|
29
|
-
|
|
29
|
+
private readonly slotNames;
|
|
30
|
+
constructor(schemaRegistry: SchemaRegistry<Record<string, object>> | null, entityConfigs: Map<string, EntityConfig>, roles: readonly string[], hasInterfacesMode?: boolean, conditionFn?: ((props: Record<string, unknown>) => Condition) | null, slotNames?: readonly string[]);
|
|
30
31
|
entity(propName: string, entity: EntityDef | string, selector?: (builder: SelectionBuilder<object>) => SelectionBuilder<object, object, object>): ComponentBuilderImpl<TState>;
|
|
31
32
|
interfaces(selectors?: Record<string, (builder: SelectionBuilder<object>) => SelectionBuilder<object, object, object>>): ComponentBuilderImpl<TState>;
|
|
32
33
|
props<TNewScalarProps extends object>(): ComponentBuilderImpl<TState>;
|
|
33
34
|
if(conditionFn: (props: Record<string, unknown>) => Condition): ComponentBuilderImpl<TState>;
|
|
35
|
+
slots(names: readonly string[]): ComponentBuilderImpl<TState>;
|
|
34
36
|
render(renderFn: (props: Record<string, unknown>) => ReactNode): unknown;
|
|
35
37
|
}
|
|
36
38
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentBuilder.d.ts","sourceRoot":"","sources":["../../src/jsx/componentBuilder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EACX,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACN,cAAc,EACd,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EACX,gBAAgB,EAChB,qBAAqB,EAErB,MAAM,6BAA6B,CAAA;AACpC,YAAY,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAGzE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAO/F;;;;;;;GAOG;AACH,qBAAa,oBAAoB,CAChC,MAAM,SAAS,qBAAqB;IAGnC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"componentBuilder.d.ts","sourceRoot":"","sources":["../../src/jsx/componentBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -249,6 +249,29 @@ export interface ComponentBuilder<TState extends ComponentBuilderState = Compone
|
|
|
249
249
|
* ```
|
|
250
250
|
*/
|
|
251
251
|
if(conditionFn: (props: BuildEntityProps<TState['__entityProps'], TState['__roles']>) => Condition): ComponentBuilder<TState>;
|
|
252
|
+
/**
|
|
253
|
+
* Declare which ReactNode-shaped props should be walked by selection analysis.
|
|
254
|
+
* Components inside these slots contribute their selections to the fetch plan.
|
|
255
|
+
*
|
|
256
|
+
* Default: `['children']`. Call with `[]` to opt out.
|
|
257
|
+
*
|
|
258
|
+
* @param names - Prop names to analyze. Must be keys of the props declared via `.props<>()`.
|
|
259
|
+
*
|
|
260
|
+
* @example
|
|
261
|
+
* ```typescript
|
|
262
|
+
* createComponent()
|
|
263
|
+
* .entity('entity', schema.Article)
|
|
264
|
+
* .props<{ header: ReactNode; children: ReactNode }>()
|
|
265
|
+
* .slots(['children', 'header'])
|
|
266
|
+
* .render(({ entity, header, children }) => (
|
|
267
|
+
* <article>
|
|
268
|
+
* <header>{header}</header>
|
|
269
|
+
* {children}
|
|
270
|
+
* </article>
|
|
271
|
+
* ))
|
|
272
|
+
* ```
|
|
273
|
+
*/
|
|
274
|
+
slots<TNames extends readonly (keyof TState['__scalarProps'] & string)[]>(names: TNames): ComponentBuilder<TState>;
|
|
252
275
|
/**
|
|
253
276
|
* Build the component with the render function.
|
|
254
277
|
*
|
|
@@ -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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"}
|
|
@@ -35,5 +35,5 @@ export interface EntityConfig {
|
|
|
35
35
|
* Note: Implicit selection collection is deferred (lazy) to avoid TDZ errors
|
|
36
36
|
* when components reference other components defined later in the same file.
|
|
37
37
|
*/
|
|
38
|
-
export declare function buildComponent<TProps extends object>(entityConfigs: Map<string, EntityConfig>, roles: readonly string[], renderFn: (props: TProps) => ReactNode, hasInterfacesMode: boolean, schemaRegistry: SchemaRegistry<Record<string, object>> | null, conditionFn: ((props: TProps) => Condition) | null): unknown;
|
|
38
|
+
export declare function buildComponent<TProps extends object>(entityConfigs: Map<string, EntityConfig>, roles: readonly string[], renderFn: (props: TProps) => ReactNode, hasInterfacesMode: boolean, schemaRegistry: SchemaRegistry<Record<string, object>> | null, conditionFn: ((props: TProps) => Condition) | null, slotNames: readonly string[]): unknown;
|
|
39
39
|
//# sourceMappingURL=componentFactory.d.ts.map
|
|
@@ -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,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,
|
|
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,EAClD,SAAS,EAAE,SAAS,MAAM,EAAE,GAC1B,OAAO,CAiIT"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contember/bindx-react",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.37",
|
|
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.37",
|
|
19
|
+
"@contember/bindx-client": "0.1.37",
|
|
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"
|
|
@@ -48,6 +48,7 @@ export class ComponentBuilderImpl<
|
|
|
48
48
|
private readonly roles: readonly string[],
|
|
49
49
|
private readonly hasInterfacesMode: boolean = false,
|
|
50
50
|
private readonly conditionFn: ((props: Record<string, unknown>) => Condition) | null = null,
|
|
51
|
+
private readonly slotNames: readonly string[] = ['children'],
|
|
51
52
|
) {}
|
|
52
53
|
|
|
53
54
|
entity(
|
|
@@ -65,6 +66,7 @@ export class ComponentBuilderImpl<
|
|
|
65
66
|
this.roles,
|
|
66
67
|
this.hasInterfacesMode,
|
|
67
68
|
this.conditionFn,
|
|
69
|
+
this.slotNames,
|
|
68
70
|
)
|
|
69
71
|
}
|
|
70
72
|
|
|
@@ -93,6 +95,7 @@ export class ComponentBuilderImpl<
|
|
|
93
95
|
this.roles,
|
|
94
96
|
true, // Enable interfaces mode for discovery of implicit interface props
|
|
95
97
|
this.conditionFn,
|
|
98
|
+
this.slotNames,
|
|
96
99
|
)
|
|
97
100
|
}
|
|
98
101
|
|
|
@@ -104,6 +107,7 @@ export class ComponentBuilderImpl<
|
|
|
104
107
|
this.roles,
|
|
105
108
|
this.hasInterfacesMode,
|
|
106
109
|
this.conditionFn,
|
|
110
|
+
this.slotNames,
|
|
107
111
|
)
|
|
108
112
|
}
|
|
109
113
|
|
|
@@ -114,6 +118,18 @@ export class ComponentBuilderImpl<
|
|
|
114
118
|
this.roles,
|
|
115
119
|
this.hasInterfacesMode,
|
|
116
120
|
conditionFn,
|
|
121
|
+
this.slotNames,
|
|
122
|
+
)
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
slots(names: readonly string[]): ComponentBuilderImpl<TState> {
|
|
126
|
+
return new ComponentBuilderImpl(
|
|
127
|
+
this.schemaRegistry,
|
|
128
|
+
this.entityConfigs,
|
|
129
|
+
this.roles,
|
|
130
|
+
this.hasInterfacesMode,
|
|
131
|
+
this.conditionFn,
|
|
132
|
+
names,
|
|
117
133
|
)
|
|
118
134
|
}
|
|
119
135
|
|
|
@@ -125,6 +141,7 @@ export class ComponentBuilderImpl<
|
|
|
125
141
|
this.hasInterfacesMode,
|
|
126
142
|
this.schemaRegistry,
|
|
127
143
|
this.conditionFn,
|
|
144
|
+
this.slotNames,
|
|
128
145
|
)
|
|
129
146
|
}
|
|
130
147
|
}
|
|
@@ -446,6 +446,32 @@ export interface ComponentBuilder<
|
|
|
446
446
|
*/
|
|
447
447
|
if(conditionFn: (props: BuildEntityProps<TState['__entityProps'], TState['__roles']>) => Condition): ComponentBuilder<TState>
|
|
448
448
|
|
|
449
|
+
/**
|
|
450
|
+
* Declare which ReactNode-shaped props should be walked by selection analysis.
|
|
451
|
+
* Components inside these slots contribute their selections to the fetch plan.
|
|
452
|
+
*
|
|
453
|
+
* Default: `['children']`. Call with `[]` to opt out.
|
|
454
|
+
*
|
|
455
|
+
* @param names - Prop names to analyze. Must be keys of the props declared via `.props<>()`.
|
|
456
|
+
*
|
|
457
|
+
* @example
|
|
458
|
+
* ```typescript
|
|
459
|
+
* createComponent()
|
|
460
|
+
* .entity('entity', schema.Article)
|
|
461
|
+
* .props<{ header: ReactNode; children: ReactNode }>()
|
|
462
|
+
* .slots(['children', 'header'])
|
|
463
|
+
* .render(({ entity, header, children }) => (
|
|
464
|
+
* <article>
|
|
465
|
+
* <header>{header}</header>
|
|
466
|
+
* {children}
|
|
467
|
+
* </article>
|
|
468
|
+
* ))
|
|
469
|
+
* ```
|
|
470
|
+
*/
|
|
471
|
+
slots<TNames extends readonly (keyof TState['__scalarProps'] & string)[]>(
|
|
472
|
+
names: TNames,
|
|
473
|
+
): ComponentBuilder<TState>
|
|
474
|
+
|
|
449
475
|
/**
|
|
450
476
|
* Build the component with the render function.
|
|
451
477
|
*
|
|
@@ -100,6 +100,7 @@ export function buildComponent<TProps extends object>(
|
|
|
100
100
|
hasInterfacesMode: boolean,
|
|
101
101
|
schemaRegistry: SchemaRegistry<Record<string, object>> | null,
|
|
102
102
|
conditionFn: ((props: TProps) => Condition) | null,
|
|
103
|
+
slotNames: readonly string[],
|
|
103
104
|
): unknown {
|
|
104
105
|
const selectionsMap = new Map<string, SelectionPropMeta>()
|
|
105
106
|
|
|
@@ -178,7 +179,7 @@ export function buildComponent<TProps extends object>(
|
|
|
178
179
|
collectNested,
|
|
179
180
|
): SelectionFieldMeta | SelectionFieldMeta[] | null => {
|
|
180
181
|
ensureImplicitCollected()
|
|
181
|
-
return createGetSelection(selectionsMap)(props, collectNested)
|
|
182
|
+
return createGetSelection(selectionsMap, slotNames)(props, collectNested)
|
|
182
183
|
}
|
|
183
184
|
|
|
184
185
|
// 6. Attach fragment properties ($propName) for explicit entities
|
|
@@ -393,10 +394,11 @@ function createFragment(
|
|
|
393
394
|
*/
|
|
394
395
|
function createGetSelection(
|
|
395
396
|
selectionsMap: Map<string, SelectionPropMeta>,
|
|
397
|
+
slotNames: readonly string[],
|
|
396
398
|
): SelectionProvider['getSelection'] {
|
|
397
399
|
return (
|
|
398
400
|
props: Record<string, unknown>,
|
|
399
|
-
|
|
401
|
+
collectNested,
|
|
400
402
|
): SelectionFieldMeta[] | null => {
|
|
401
403
|
const fields: SelectionFieldMeta[] = []
|
|
402
404
|
|
|
@@ -437,6 +439,19 @@ function createGetSelection(
|
|
|
437
439
|
}
|
|
438
440
|
}
|
|
439
441
|
|
|
442
|
+
// Walk configured slot props so nested bindx components inside children
|
|
443
|
+
// (or any other slot) contribute their selection to the fetch plan.
|
|
444
|
+
for (const slotName of slotNames) {
|
|
445
|
+
const slotValue = props[slotName]
|
|
446
|
+
if (slotValue === undefined || slotValue === null) {
|
|
447
|
+
continue
|
|
448
|
+
}
|
|
449
|
+
const nested = collectNested(slotValue as ReactNode)
|
|
450
|
+
for (const field of nested.fields.values()) {
|
|
451
|
+
fields.push({ ...field })
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
|
|
440
455
|
return fields.length > 0 ? fields : null
|
|
441
456
|
}
|
|
442
457
|
}
|