@memberjunction/interactive-component-types 2.133.0 → 3.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/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";
|
|
2
|
+
import { ComponentDataRequirements } from "./data-requirements";
|
|
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":""}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { ComponentChildSpec } from "./child-spec";
|
|
2
|
+
import { ComponentDataRequirements } from "./data-requirements";
|
|
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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/interactive-component-types",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "MemberJunction: Interactive Component - Type specifications for MJ Interactive UI Componentry",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"typescript": "^5.4.5"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@memberjunction/core": "
|
|
23
|
-
"@memberjunction/ai-vectors-memory": "
|
|
22
|
+
"@memberjunction/core": "3.0.0",
|
|
23
|
+
"@memberjunction/ai-vectors-memory": "3.0.0"
|
|
24
24
|
},
|
|
25
25
|
"repository": {
|
|
26
26
|
"type": "git",
|