@memberjunction/interactive-component-types 4.3.1 → 5.0.0
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/child-spec.d.ts +67 -0
- package/dist/child-spec.d.ts.map +1 -0
- package/dist/child-spec.js +3 -0
- package/dist/child-spec.js.map +1 -0
- package/dist/data-requirements.d.ts +34 -4
- package/dist/data-requirements.d.ts.map +1 -1
- package/dist/data-requirements.js +19 -0
- package/dist/data-requirements.js.map +1 -1
- package/dist/root-spec.d.ts +72 -0
- package/dist/root-spec.d.ts.map +1 -0
- package/dist/root-spec.js +3 -0
- package/dist/root-spec.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { ComponentEvent, ComponentProperty } from "./component-props-events.js";
|
|
2
|
+
import { ComponentDataRequirements } from "./data-requirements.js";
|
|
3
|
+
/**
|
|
4
|
+
* Represents a child component within a component hierarchy
|
|
5
|
+
*/
|
|
6
|
+
export interface ComponentChildSpec {
|
|
7
|
+
/**
|
|
8
|
+
* The programmatic name of the component
|
|
9
|
+
*/
|
|
10
|
+
componentName: string;
|
|
11
|
+
/**
|
|
12
|
+
* Example of the component being used in JSX format. This is used to provide a clear example on the properties and
|
|
13
|
+
* event handling that the component supports. This is used to teach the next AI exactly what we want it to generate for the
|
|
14
|
+
* child component.
|
|
15
|
+
*/
|
|
16
|
+
exampleUsage: string;
|
|
17
|
+
/**
|
|
18
|
+
* The code for the child component. This is generated LATER by a separate process after the parent
|
|
19
|
+
* component generation is complete. When the parent component generates this is undefined.
|
|
20
|
+
*/
|
|
21
|
+
componentCode?: string;
|
|
22
|
+
/**
|
|
23
|
+
* A summary of what this child component does that a user would understand.
|
|
24
|
+
* This should be a high-level, user-friendly description suitable for end users.
|
|
25
|
+
*/
|
|
26
|
+
description: string;
|
|
27
|
+
/**
|
|
28
|
+
* Functional requirements for this child component.
|
|
29
|
+
* This should be in markdown format and describe what the component should do from a functional perspective.
|
|
30
|
+
* Includes:
|
|
31
|
+
* - Component-specific functionality
|
|
32
|
+
* - How it integrates with the parent component
|
|
33
|
+
* - User interactions within this component
|
|
34
|
+
* - Business rules specific to this component
|
|
35
|
+
*/
|
|
36
|
+
functionalRequirements?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Data requirements for this child component. This section defines where a child component
|
|
39
|
+
* will **directly** access data as required using utilities methods like `rv.runView` and `rq.runQuery`
|
|
40
|
+
*/
|
|
41
|
+
dataRequirements?: ComponentDataRequirements;
|
|
42
|
+
/**
|
|
43
|
+
* An optional array of properties that the component uses. The names and descriptions
|
|
44
|
+
* allow consumers of the component to understand what is accepted by the component and the
|
|
45
|
+
* component. This can be used for shared data shared between components or for configuration
|
|
46
|
+
* settings.
|
|
47
|
+
*/
|
|
48
|
+
properties?: ComponentProperty[];
|
|
49
|
+
/**
|
|
50
|
+
* An optional array of events that the component emits.
|
|
51
|
+
* This allows consumers of the component to understand what events they can listen to.
|
|
52
|
+
*/
|
|
53
|
+
events?: ComponentEvent[];
|
|
54
|
+
/**
|
|
55
|
+
* Technical design details for this child component.
|
|
56
|
+
* This should be in markdown format and describe the implementation approach.
|
|
57
|
+
* Includes:
|
|
58
|
+
* - How the component is structured
|
|
59
|
+
* - Properites/events
|
|
60
|
+
*/
|
|
61
|
+
technicalDesign?: string;
|
|
62
|
+
/**
|
|
63
|
+
* An array of sub-components
|
|
64
|
+
*/
|
|
65
|
+
components: ComponentChildSpec[];
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=child-spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"child-spec.d.ts","sourceRoot":"","sources":["../src/child-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAE7C;;;;;OAKG;IACH,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAEjC;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAE1B;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,UAAU,EAAE,kBAAkB,EAAE,CAAC;CACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"child-spec.js","sourceRoot":"","sources":["../src/child-spec.ts"],"names":[],"mappings":""}
|
|
@@ -39,11 +39,10 @@ export type ComponentQueryDataRequirement = {
|
|
|
39
39
|
description?: string;
|
|
40
40
|
/**
|
|
41
41
|
* A list of the fields that the component will use out of the possible fields returned by the query.
|
|
42
|
-
* Uses the @see
|
|
43
|
-
*
|
|
44
|
-
* like the data type of the column and a description of the field.
|
|
42
|
+
* Uses the @see SimpleQueryFieldInfo type to describe each field, which extends SimpleEntityFieldInfo
|
|
43
|
+
* with query-specific properties like source entity tracking and summary field indicators.
|
|
45
44
|
*/
|
|
46
|
-
fields:
|
|
45
|
+
fields: SimpleQueryFieldInfo[];
|
|
47
46
|
/**
|
|
48
47
|
* A list of the entities that are part of this query. This is vital information for matching query requests
|
|
49
48
|
* against existing queries
|
|
@@ -197,6 +196,37 @@ export declare class SimpleEntityFieldInfo {
|
|
|
197
196
|
*/
|
|
198
197
|
ToEntityFieldInfo(): Partial<EntityFieldInfo>;
|
|
199
198
|
}
|
|
199
|
+
/**
|
|
200
|
+
* Extended field info class for query fields that includes data lineage tracking.
|
|
201
|
+
* Query fields may come from joins across multiple entities, so this class tracks
|
|
202
|
+
* the source entity and field for each column in the query result.
|
|
203
|
+
*
|
|
204
|
+
* Use this class for ComponentQueryDataRequirement.fields instead of SimpleEntityFieldInfo.
|
|
205
|
+
*/
|
|
206
|
+
export declare class SimpleQueryFieldInfo extends SimpleEntityFieldInfo {
|
|
207
|
+
/**
|
|
208
|
+
* The source entity this field originates from (for data lineage tracking).
|
|
209
|
+
* For query fields, this indicates which MemberJunction entity the data comes from.
|
|
210
|
+
* May be undefined for computed fields that don't map to a single entity.
|
|
211
|
+
*/
|
|
212
|
+
sourceEntity?: string;
|
|
213
|
+
/**
|
|
214
|
+
* The field name in the source entity (for data lineage tracking).
|
|
215
|
+
* Combined with sourceEntity, this provides full lineage back to the original data source.
|
|
216
|
+
*/
|
|
217
|
+
sourceFieldName?: string;
|
|
218
|
+
/**
|
|
219
|
+
* Whether this field represents a summary/aggregate value (COUNT, SUM, AVG, etc.).
|
|
220
|
+
* Important for chart axis choices, grid formatting, and data interpretation.
|
|
221
|
+
*/
|
|
222
|
+
isSummary?: boolean;
|
|
223
|
+
/**
|
|
224
|
+
* Description of the summary calculation (e.g., "Count of orders per customer").
|
|
225
|
+
* Provides context for how the aggregate value is computed.
|
|
226
|
+
*/
|
|
227
|
+
summaryDescription?: string;
|
|
228
|
+
constructor(init?: Partial<SimpleQueryFieldInfo>);
|
|
229
|
+
}
|
|
200
230
|
/**
|
|
201
231
|
* Lightweight class to share entity metadata for component validation and linting.
|
|
202
232
|
* Contains the entity name and complete list of all fields in the entity.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-requirements.d.ts","sourceRoot":"","sources":["../src/data-requirements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEnE,MAAM,WAAW,yBAAyB;IACtC;;;;;OAKG;IACH,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;IAErC;;OAEG;IACH,QAAQ,EAAE,8BAA8B,EAAE,CAAC;IAE3C;;OAEG;IACH,OAAO,EAAE,6BAA6B,EAAE,CAAC;IAEzC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IACxC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB
|
|
1
|
+
{"version":3,"file":"data-requirements.d.ts","sourceRoot":"","sources":["../src/data-requirements.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,25 @@ export class SimpleEntityFieldInfo {
|
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Extended field info class for query fields that includes data lineage tracking.
|
|
51
|
+
* Query fields may come from joins across multiple entities, so this class tracks
|
|
52
|
+
* the source entity and field for each column in the query result.
|
|
53
|
+
*
|
|
54
|
+
* Use this class for ComponentQueryDataRequirement.fields instead of SimpleEntityFieldInfo.
|
|
55
|
+
*/
|
|
56
|
+
export class SimpleQueryFieldInfo extends SimpleEntityFieldInfo {
|
|
57
|
+
constructor(init) {
|
|
58
|
+
super(init);
|
|
59
|
+
if (init) {
|
|
60
|
+
// Assign query-specific properties that aren't handled by super()
|
|
61
|
+
this.sourceEntity = init.sourceEntity;
|
|
62
|
+
this.sourceFieldName = init.sourceFieldName;
|
|
63
|
+
this.isSummary = init.isSummary;
|
|
64
|
+
this.summaryDescription = init.summaryDescription;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
49
68
|
/**
|
|
50
69
|
* Lightweight class to share entity metadata for component validation and linting.
|
|
51
70
|
* Contains the entity name and complete list of all fields in the entity.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-requirements.js","sourceRoot":"","sources":["../src/data-requirements.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data-requirements.js","sourceRoot":"","sources":["../src/data-requirements.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { ComponentChildSpec } from "./child-spec.js";
|
|
2
|
+
import { ComponentDataRequirements } from "./data-requirements.js";
|
|
3
|
+
/**
|
|
4
|
+
* Represents a complete specification for a generated Skip component, including its structure,
|
|
5
|
+
* requirements, code, and nested component hierarchy
|
|
6
|
+
*/
|
|
7
|
+
export type ComponentRootSpec = {
|
|
8
|
+
/**
|
|
9
|
+
* A description of what the component should do from a functional perspective.
|
|
10
|
+
* This should be in markdown format and include:
|
|
11
|
+
* - Core functionality
|
|
12
|
+
* - Business rules
|
|
13
|
+
* - Expected outcomes
|
|
14
|
+
* - UX considerations
|
|
15
|
+
*/
|
|
16
|
+
functionalRequirements: string;
|
|
17
|
+
/**
|
|
18
|
+
* Detailed data requirements, including how the component accesses and uses data.
|
|
19
|
+
*/
|
|
20
|
+
dataRequirements?: ComponentDataRequirements;
|
|
21
|
+
/**
|
|
22
|
+
* A technical description of how the component is designed and implemented.
|
|
23
|
+
* This should be in markdown format and include:
|
|
24
|
+
* - Architecture and design patterns
|
|
25
|
+
* - Key technical decisions
|
|
26
|
+
* - Component structure
|
|
27
|
+
* - State management
|
|
28
|
+
* - Integration points with parent/child components
|
|
29
|
+
*/
|
|
30
|
+
technicalDesign: string;
|
|
31
|
+
/**
|
|
32
|
+
* The code for the main component.
|
|
33
|
+
*/
|
|
34
|
+
componentCode: string;
|
|
35
|
+
/**
|
|
36
|
+
* Name of the component
|
|
37
|
+
*/
|
|
38
|
+
componentName: string;
|
|
39
|
+
/**
|
|
40
|
+
* The type of component: report, dashboard, form, or other.
|
|
41
|
+
*/
|
|
42
|
+
componentType: "report" | "dashboard" | "form" | "other";
|
|
43
|
+
/**
|
|
44
|
+
* A summary of what the component does that a user would understand.
|
|
45
|
+
*/
|
|
46
|
+
description: string;
|
|
47
|
+
/**
|
|
48
|
+
* The callback strategy used by this component (e.g., "hybrid", "direct", "none")
|
|
49
|
+
*/
|
|
50
|
+
callbackStrategy: string;
|
|
51
|
+
/**
|
|
52
|
+
* Describes the state structure managed by this component
|
|
53
|
+
*/
|
|
54
|
+
stateStructure: Record<string, string>;
|
|
55
|
+
/**
|
|
56
|
+
* An array of child component specifications
|
|
57
|
+
*/
|
|
58
|
+
childComponents: ComponentChildSpec[];
|
|
59
|
+
/**
|
|
60
|
+
* User-friendly name
|
|
61
|
+
*/
|
|
62
|
+
title: string;
|
|
63
|
+
/**
|
|
64
|
+
* A user-friendly explanation of what the component does
|
|
65
|
+
*/
|
|
66
|
+
userExplanation: string;
|
|
67
|
+
/**
|
|
68
|
+
* Summary of technical design
|
|
69
|
+
*/
|
|
70
|
+
techExplanation: string;
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=root-spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"root-spec.d.ts","sourceRoot":"","sources":["../src/root-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B;;;;;;;OAOG;IACH,sBAAsB,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAE7C;;;;;;;;OAQG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;IAEzD;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC;;OAEG;IACH,eAAe,EAAE,kBAAkB,EAAE,CAAC;IAEtC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;CAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"root-spec.js","sourceRoot":"","sources":["../src/root-spec.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/interactive-component-types",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "5.0.0",
|
|
5
5
|
"description": "MemberJunction: Interactive Component - Type specifications for MJ Interactive UI Componentry",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"typescript": "^5.9.3"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@memberjunction/core": "
|
|
24
|
-
"@memberjunction/ai-vectors-memory": "
|
|
23
|
+
"@memberjunction/core": "5.0.0",
|
|
24
|
+
"@memberjunction/ai-vectors-memory": "5.0.0"
|
|
25
25
|
},
|
|
26
26
|
"repository": {
|
|
27
27
|
"type": "git",
|