@memberjunction/skip-types 2.63.1 → 2.65.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.
@@ -0,0 +1,67 @@
1
+ import { SkipComponentDataRequirements } from "./data-requirements";
2
+ /**
3
+ * Represents a child component within a component hierarchy
4
+ */
5
+ export interface SkipComponentChildSpec {
6
+ /**
7
+ * The programmatic name of the component
8
+ */
9
+ componentName: string;
10
+ /**
11
+ * Example of the component being used in JSX format. This is used to provide a clear example on the properties and
12
+ * event handling that the component supports. This is used to teach the next AI exactly what we want it to generate for the
13
+ * child component.
14
+ */
15
+ exampleUsage: string;
16
+ /**
17
+ * The code for the child component. This is generated LATER by a separate process after the parent
18
+ * component generation is complete. When the parent component generates this is undefined.
19
+ */
20
+ componentCode?: string;
21
+ /**
22
+ * A summary of what this child component does that a user would understand.
23
+ * This should be a high-level, user-friendly description suitable for end users.
24
+ */
25
+ description: string;
26
+ /**
27
+ * Functional requirements for this child component.
28
+ * This should be in markdown format and describe what the component should do from a functional perspective.
29
+ * Includes:
30
+ * - Component-specific functionality
31
+ * - How it integrates with the parent component
32
+ * - User interactions within this component
33
+ * - Business rules specific to this component
34
+ *
35
+ * @since 2.1.0 - Enhanced documentation for clarity
36
+ */
37
+ functionalRequirements?: string;
38
+ /**
39
+ * Data requirements for this child component.
40
+ * Child components inherit static data from their parent component's data context.
41
+ * However, they can define their own dynamic data requirements for entities they need to access at runtime.
42
+ *
43
+ * @since 2.1.0 - Enhanced documentation for clarity
44
+ */
45
+ dataRequirements?: SkipComponentDataRequirements;
46
+ /**
47
+ * Technical design details for this child component.
48
+ * This should be in markdown format and describe the implementation approach.
49
+ * Includes:
50
+ * - How the component is structured
51
+ * - State management within the component
52
+ * - Props interface and event handlers
53
+ * - Performance optimizations specific to this component
54
+ *
55
+ * @since 2.1.0 - Enhanced documentation for clarity
56
+ */
57
+ technicalDesign?: string;
58
+ /**
59
+ * The path in the state tree where this component's state is stored
60
+ */
61
+ statePath: string;
62
+ /**
63
+ * An array of sub-components (recursive structure)
64
+ */
65
+ components: SkipComponentChildSpec[];
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,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC;;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;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;IAEjD;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,sBAAsB,EAAE,CAAC;CACxC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=child-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"child-spec.js","sourceRoot":"","sources":["../src/child-spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { SkipComponentRootSpec } from "./root-spec";
2
+ /**
3
+ * Defines a given option for a generated component that the user can choose. The code/componentObjectName properties are used to render the component in the UI.
4
+ */
5
+ export type SkipComponentOption = {
6
+ /**
7
+ * Full details of the generated component option including functional, technical, code, and child componentry.
8
+ */
9
+ option: SkipComponentRootSpec;
10
+ /**
11
+ * If multiple component options are provided for a given @interface SkipAPIAnalysisCompleteResponse, a "judge" AI will evaluate all the functional
12
+ * responses and will rank order them with an explanation of why they were each ranked that way. Rankings are not absolute, they are relative to the
13
+ * # of components contained within an array of SkipComponentOption types.
14
+ */
15
+ AIRank: number | undefined;
16
+ /**
17
+ * The AI's explanation of why it ranked the component the way it did. This is useful for understanding the AI's reasoning and can be used to improve future components
18
+ * as well as provide context to the user about why a particular component was chosen as the best option.
19
+ */
20
+ AIRankExplanation: string | undefined;
21
+ /**
22
+ * The user's provided feedback on the component option. Unlike the AIRank, this is a subjective rating provided by the user and is
23
+ * a number between 1 and 10, where 1 is the lowest rating and 10 is the highest rating.
24
+ */
25
+ UserRank: number | undefined;
26
+ /**
27
+ * If the host application provides a way for the user to provide feedback on the component option,
28
+ * this is the explanation of why the user rated the component the way they did if they provided feedback.
29
+ */
30
+ UserRankExplanation: string | undefined;
31
+ };
32
+ //# sourceMappingURL=component-option.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-option.d.ts","sourceRoot":"","sources":["../src/component-option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAC9B;;OAEG;IACH,MAAM,EAAE,qBAAqB,CAAC;IAE9B;;;;OAIG;IACH,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B;;;OAGG;IACH,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;OAGG;IACH,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=component-option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-option.js","sourceRoot":"","sources":["../src/component-option.ts"],"names":[],"mappings":""}
@@ -0,0 +1,111 @@
1
+ import { DataContext } from "@memberjunction/data-context";
2
+ /**
3
+ * Defines the data requirements for a Skip component, supporting three different data access modes.
4
+ * This interface is critical for understanding how components interact with MemberJunction data
5
+ * and helps optimize performance by clearly defining data access patterns.
6
+ */
7
+ export interface SkipComponentDataRequirements {
8
+ /**
9
+ * The primary data access mode for this component.
10
+ * - 'static': Data is pre-loaded and passed to the component during initialization
11
+ * - 'dynamic': Component fetches data at runtime using MJ utilities
12
+ * - 'hybrid': Component uses both static and dynamic data access patterns
13
+ */
14
+ mode: 'static' | 'dynamic' | 'hybrid';
15
+ /**
16
+ * For static mode: References to data context items that this component uses.
17
+ * These are pre-loaded data snapshots that are passed to the component during initialization.
18
+ * Static mode is preferred for:
19
+ * - Reports with fixed datasets
20
+ * - Components where users don't need entity-level permissions
21
+ * - Scenarios requiring reduced database load
22
+ */
23
+ staticData?: {
24
+ /**
25
+ * Reference to the data context that this component uses.
26
+ * Points to a DataContext object containing pre-loaded data.
27
+ */
28
+ dataContext: DataContext;
29
+ /**
30
+ * Optional description of how the static data is used by the component
31
+ */
32
+ description?: string;
33
+ };
34
+ /**
35
+ * For dynamic mode: Defines which MemberJunction entities this component needs access to.
36
+ * The component will use the RunView/RunQuery utilities to fetch data at runtime.
37
+ * Dynamic mode is preferred for:
38
+ * - Interactive dashboards with drill-down capabilities
39
+ * - Components requiring real-time data
40
+ * - Scenarios where users need entity-level permission validation
41
+ */
42
+ dynamicData?: {
43
+ /**
44
+ * Array of objects specifying the exact entities and fields the component will
45
+ * need to fulfill user requirements. This detail also allows other components
46
+ * to not have to know the database schema.
47
+ */
48
+ requiredEntities: SkipComponentEntityDataRequirement[];
49
+ /**
50
+ * Optional description of the dynamic data access patterns
51
+ */
52
+ description?: string;
53
+ };
54
+ /**
55
+ * For hybrid mode: Components can use both static and dynamic data access.
56
+ * Both staticData and dynamicData sections should be populated.
57
+ * Hybrid mode is useful for:
58
+ * - Components with both summary (static) and detail (dynamic) views
59
+ * - Optimizing performance while maintaining interactivity
60
+ */
61
+ hybridStrategy?: {
62
+ /**
63
+ * Description of how the component decides when to use static vs dynamic data
64
+ */
65
+ description: string;
66
+ /**
67
+ * Optional performance considerations for the hybrid approach
68
+ */
69
+ performanceNotes?: string;
70
+ };
71
+ /**
72
+ * General description of the component's data requirements and access patterns.
73
+ * This should provide a high-level overview of the data strategy.
74
+ */
75
+ description?: string;
76
+ /**
77
+ * Security considerations for data access
78
+ * @since 2.1.0
79
+ */
80
+ securityNotes?: string;
81
+ }
82
+ /**
83
+ * Specifications for the use of a single entity within a Skip component.
84
+ */
85
+ export type SkipComponentEntityDataRequirement = {
86
+ /**
87
+ * The name of the entity as defined in the metadata.
88
+ */
89
+ entityName: string;
90
+ /**
91
+ * Description of the entityt as defined in the metadata.
92
+ */
93
+ entityDescription?: string;
94
+ /**
95
+ * These fields can be shown to the user as determined by each component.
96
+ */
97
+ displayFields: string[];
98
+ /**
99
+ * These fields can be used when filtering data as appropriately determined by each component.
100
+ */
101
+ filterFields?: string[];
102
+ /**
103
+ * These fields can be used when sorting data as appropriately determined by each component.
104
+ */
105
+ sortFields?: string[];
106
+ /**
107
+ * Optional, description of when/where/how components should use this entity.
108
+ */
109
+ usageContext?: string;
110
+ };
111
+ //# sourceMappingURL=data-requirements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-requirements.d.ts","sourceRoot":"","sources":["../src/data-requirements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC1C;;;;;OAKG;IACH,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAEtC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE;QACT;;;WAGG;QACH,WAAW,EAAE,WAAW,CAAC;QAEzB;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IAEF;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE;QACV;;;;WAIG;QACH,gBAAgB,EAAE,kCAAkC,EAAE,CAAC;QAEvD;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IAEF;;;;;;OAMG;IACH,cAAc,CAAC,EAAE;QACb;;WAEG;QACH,WAAW,EAAE,MAAM,CAAC;QAEpB;;WAEG;QACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IAEF;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC7C;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data-requirements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-requirements.js","sourceRoot":"","sources":["../src/data-requirements.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -6,7 +6,11 @@ export * from './query-types';
6
6
  export * from './agent-types';
7
7
  export * from './artifact-types';
8
8
  export * from './auth-types';
9
- export * from './component-types';
9
+ export * from './root-spec';
10
+ export * from './child-spec';
11
+ export * from './data-requirements';
12
+ export * from './component-option';
13
+ export * from './runtime-types';
10
14
  export * from './shared';
11
15
  export * from './util';
12
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AAEzB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AAEzB,cAAc,QAAQ,CAAC"}
package/dist/index.js CHANGED
@@ -23,7 +23,11 @@ __exportStar(require("./query-types"), exports);
23
23
  __exportStar(require("./agent-types"), exports);
24
24
  __exportStar(require("./artifact-types"), exports);
25
25
  __exportStar(require("./auth-types"), exports);
26
- __exportStar(require("./component-types"), exports);
26
+ __exportStar(require("./root-spec"), exports);
27
+ __exportStar(require("./child-spec"), exports);
28
+ __exportStar(require("./data-requirements"), exports);
29
+ __exportStar(require("./component-option"), exports);
30
+ __exportStar(require("./runtime-types"), exports);
27
31
  __exportStar(require("./shared"), exports);
28
32
  __exportStar(require("./util"), exports);
29
33
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA6C;AAC7C,8CAA4B;AAC5B,uDAAqC;AACrC,mDAAiC;AACjC,0DAAwC;AACxC,gDAA8B;AAC9B,gDAA8B;AAC9B,mDAAiC;AACjC,+CAA6B;AAC7B,oDAAkC;AAClC,2CAAyB;AAEzB,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA6C;AAC7C,8CAA4B;AAC5B,uDAAqC;AACrC,mDAAiC;AACjC,0DAAwC;AACxC,gDAA8B;AAC9B,gDAA8B;AAC9B,mDAAiC;AACjC,+CAA6B;AAC7B,8CAA4B;AAC5B,+CAA6B;AAC7B,sDAAoC;AACpC,qDAAmC;AACnC,kDAAgC;AAChC,2CAAyB;AAEzB,yCAAuB"}
@@ -26,7 +26,7 @@ import type { SkipColumnInfo } from './entity-metadata-types';
26
26
  import type { SkipDataRequest } from './query-types';
27
27
  import type { SkipAPIArtifactRequest } from './artifact-types';
28
28
  import { SimpleDataContext } from './shared';
29
- import { SkipComponentOption } from './component-types';
29
+ import { SkipComponentOption } from './component-option';
30
30
  /**
31
31
  * Defines an individual filter that will be used to filter the data in the view to the specific row or rows that the user clicked on for a drill down
32
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"response-types.d.ts","sourceRoot":"","sources":["../src/response-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD;;GAEG;AACH,qBAAa,8BAA8B;IACvC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,qBAAa,wBAAwB;IACjC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,8BAA8B,EAAE,CAAC;CAC7C;AAED;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,eAAe;IAChE;;OAEG;IACH,WAAW,EAAE,iBAAiB,CAAC;IAC/B;;;;;OAKG;IACH,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC;IACnD;;OAEG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACjD;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAC;IACpC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAErC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC5C;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;OAIG;IACH,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IAEjC;;OAEG;IACH,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAEzC;;;;OAIG;IACH,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC5C;AAED;;GAEG;AACH,qBAAa,iCAAkC,SAAQ,eAAe;IAClE;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,eAAe;IAC3D,WAAW,EAAE,eAAe,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,eAAe;IAC9D;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;CACnB"}
1
+ {"version":3,"file":"response-types.d.ts","sourceRoot":"","sources":["../src/response-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;GAEG;AACH,qBAAa,8BAA8B;IACvC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,qBAAa,wBAAwB;IACjC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,8BAA8B,EAAE,CAAC;CAC7C;AAED;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,eAAe;IAChE;;OAEG;IACH,WAAW,EAAE,iBAAiB,CAAC;IAC/B;;;;;OAKG;IACH,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC;IACnD;;OAEG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACjD;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAC;IACpC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAErC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC5C;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;OAIG;IACH,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IAEjC;;OAEG;IACH,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAEzC;;;;OAIG;IACH,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC5C;AAED;;GAEG;AACH,qBAAa,iCAAkC,SAAQ,eAAe;IAClE;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,eAAe;IAC3D,WAAW,EAAE,eAAe,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,eAAe;IAC9D;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;CACnB"}
@@ -0,0 +1,87 @@
1
+ import { SkipComponentChildSpec } from "./child-spec";
2
+ import { SkipComponentDataRequirements } 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 SkipComponentRootSpec = {
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 and purpose
12
+ * - User interactions and behaviors
13
+ * - Business rules and logic
14
+ * - Expected outcomes and outputs
15
+ * - User experience considerations
16
+ * - Accessibility requirements
17
+ *
18
+ * @since 2.1.0 - Made required and enhanced documentation
19
+ */
20
+ functionalRequirements: string;
21
+ /**
22
+ * Detailed data requirements specification for the component.
23
+ * Defines how the component accesses and uses data, supporting static, dynamic, and hybrid modes.
24
+ * This field is critical for determining how the component will interact with MemberJunction data.
25
+ *
26
+ * @since 2.1.0 - Made required for better data architecture planning
27
+ */
28
+ dataRequirements?: SkipComponentDataRequirements;
29
+ /**
30
+ * A technical description of how the component is designed and implemented.
31
+ * This should be in markdown format and include:
32
+ * - Architecture and design patterns used
33
+ * - Key technical decisions and rationale
34
+ * - Component structure and organization
35
+ * - State management approach
36
+ * - Performance considerations
37
+ * - Integration points with parent/child components
38
+ * - Error handling strategies
39
+ *
40
+ * @since 2.1.0 - Made required and enhanced documentation
41
+ */
42
+ technicalDesign: string;
43
+ /**
44
+ * The actual code for the main component, typically wrapped in an IIFE that returns
45
+ * the component object with component, print, and refresh properties
46
+ */
47
+ componentCode: string;
48
+ /**
49
+ * The name of the main component
50
+ */
51
+ componentName: string;
52
+ /**
53
+ * The type of component: report, dashboard, form, chart, table, or other. Over time this list
54
+ * might grow to include more types as Skip evolves and new component types are needed.
55
+ */
56
+ componentType: "report" | "dashboard" | "form" | "other";
57
+ /**
58
+ * A summary of what the component does that a user would understand.
59
+ * This should be a high-level, user-friendly description suitable for end users.
60
+ */
61
+ description: string;
62
+ /**
63
+ * The callback strategy used by this component (e.g., "hybrid", "direct", "none")
64
+ */
65
+ callbackStrategy: string;
66
+ /**
67
+ * Describes the state structure managed by this component
68
+ */
69
+ stateStructure: Record<string, string>;
70
+ /**
71
+ * An array of child component specifications
72
+ */
73
+ childComponents: SkipComponentChildSpec[];
74
+ /**
75
+ * The title of the component
76
+ */
77
+ title: string;
78
+ /**
79
+ * A user-friendly explanation of what the component does
80
+ */
81
+ userExplanation: string;
82
+ /**
83
+ * A technical explanation of how the component works
84
+ */
85
+ techExplanation: string;
86
+ };
87
+ //# 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,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAChC;;;;;;;;;;;OAWG;IACH,sBAAsB,EAAE,MAAM,CAAC;IAE/B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;IAEjD;;;;;;;;;;;;OAYG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,aAAa,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;IAEzD;;;OAGG;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,sBAAsB,EAAE,CAAC;IAE1C;;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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=root-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root-spec.js","sourceRoot":"","sources":["../src/root-spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,219 @@
1
+ import { CompositeKey } from "@memberjunction/core";
2
+ import { SimpleDataContext } from "./shared";
3
+ import { SimpleMetadata, SimpleRunQuery, SimpleRunView } from "./shared";
4
+ /**
5
+ * This interface defines the available callback functions that a Skip component might call in the parent.
6
+ */
7
+ export interface SkipComponentCallbacks {
8
+ /**
9
+ * The component can invoke this method in the callbacks object, when provided, to refresh the data context
10
+ * and that will in turn result in the component's init function being called again with the new data context.
11
+ * @returns
12
+ */
13
+ RefreshData: () => void;
14
+ /**
15
+ * If an action occurs inside a component where it would be desirable for the containing UI to open a specific
16
+ * record, if supported, this event can be listened to and the container UI can then open the record.
17
+ * @param entityName - this is the Entity NAME from the Entity metadata, not the table name or base view name. Use Entity Metadata to provide the entity name here
18
+ * @param key - this is an array of key/value pairs representing the primary key. The format of a Composite Key is an array of KeyValuePair objects and KeyValuePair objects simply have FieldName and Value properties. In most cases entities have single-valued primary keys but this structure is here for complex entity types that have composite primary keys
19
+ * @returns
20
+ */
21
+ OpenEntityRecord: (entityName: string, key: CompositeKey) => void;
22
+ /**
23
+ * This event should be raised by the HTML component whenever something changes within the component that should be tracked as a change in state
24
+ * that will persist. userState is any valid, simple JavaScript object, meaning it can have scalars, arrays, objects, etc, it must be an object that
25
+ * can be serialized to JSON, but otherwise has no special requirements. The parent component will be responsible for tracking the user-specific states
26
+ * and passing them back to the HTML component each time it is loaded or if the user changes via the init function.
27
+ * @param userState
28
+ * @returns
29
+ */
30
+ UpdateUserState: (userState: any) => void;
31
+ /**
32
+ * Used for any other type of event notification that a component might want to send to the parent component.
33
+ * @param eventName
34
+ * @param eventData
35
+ * @returns
36
+ */
37
+ NotifyEvent: (eventName: string, eventData: any) => void;
38
+ }
39
+ /**
40
+ * This is the function signature for the initialization function provided by each Skip component via the SkipComponentObject so that a container can interact with it.
41
+ * This function is called when the component is loaded by its container. The function receives the data context, an optional userState property, and a set of callbacks that can be used to interact with the parent component.
42
+ * userState is an optional parameter that can be used to pass in any state information that the parent component wants to provide to the component that is specific
43
+ * to the CURRENT user. If the component modifies the userState, it should notify the parent component via the UserStateChanged event in the callbacks object so that the parent component can handle storage.
44
+ */
45
+ export type SkipComponentInitFunction = (params: SkipComponentInitParams) => void;
46
+ /**
47
+ * This is the function signature for the print function that is provided by the component via the SkipComponentObject
48
+ */
49
+ export type SkipComponentPrintFunction = () => void;
50
+ /**
51
+ * This is the function signature for the refresh function that is provided by the component via the SkipComponentObject
52
+ */
53
+ export type SkipComponentRefreshFunction = () => void;
54
+ /**
55
+ * Parameters that are passed to the SkipComponentInitFunction when it is called by the parent component.
56
+ */
57
+ export interface SkipComponentInitParams {
58
+ /**
59
+ * Contains the static data specified by the root component specification. This data is pre-loaded and passed to
60
+ * the component during initialization and anytime the component is refreshed.
61
+ */
62
+ staticData: SimpleDataContext;
63
+ /**
64
+ * Contains the dynamic data utilities that the component can use to access MemberJunction data. This includes
65
+ * the metadata, run view, and run query utilities that the component can use to access data dynamically at runtime.
66
+ * The component can use these utilities to fetch data at runtime based on the user's interactions with the component.
67
+ */
68
+ utilities?: SkipComponentUtilities;
69
+ /**
70
+ * Any valid serializable JavaScript object that represents the user-specific state for the component.
71
+ */
72
+ userState?: any;
73
+ /**
74
+ * Callbacks that the component can use to interact with the parent component. These callbacks allow the component to refresh data, open records, update user state, and send custom events.
75
+ */
76
+ callbacks?: SkipComponentCallbacks;
77
+ /**
78
+ * The default styles the component should use as specified by its parent (the container in the case of a root component, or a parent component in the case
79
+ * of a child component). The component can alter these styles based on the requirements specified by the user in its design documentation.
80
+ */
81
+ styles?: SkipComponentStyles;
82
+ }
83
+ /**
84
+ * This interface defines styles that can be applied to the component. The container can provide
85
+ * styles to the top level component. The top level component can alter these styles based on
86
+ * the prompting of the user, learned notes, etc, and adjust the styles of the component accordingly. In addition
87
+ * the top level component will pass in its computed styles to each sub-component so that the sub-components
88
+ * can do the same recursively down to any level of depth. This allows sub-components to inherit styles but
89
+ * also make adjustments as required based on functional needs and user input.
90
+ */
91
+ export interface SkipComponentStyles {
92
+ colors: {
93
+ primary: string;
94
+ primaryHover: string;
95
+ primaryLight?: string;
96
+ secondary: string;
97
+ secondaryHover?: string;
98
+ success: string;
99
+ successLight?: string;
100
+ warning?: string;
101
+ warningLight?: string;
102
+ error?: string;
103
+ errorLight?: string;
104
+ info?: string;
105
+ infoLight?: string;
106
+ background: string;
107
+ surface: string;
108
+ surfaceHover?: string;
109
+ text: string;
110
+ textSecondary: string;
111
+ textTertiary?: string;
112
+ textInverse?: string;
113
+ border: string;
114
+ borderLight?: string;
115
+ borderFocus?: string;
116
+ shadow?: string;
117
+ shadowMedium?: string;
118
+ shadowLarge?: string;
119
+ [key: string]: string | undefined;
120
+ };
121
+ spacing: {
122
+ xs: string;
123
+ sm: string;
124
+ md: string;
125
+ lg: string;
126
+ xl: string;
127
+ xxl?: string;
128
+ xxxl?: string;
129
+ [key: string]: string | undefined;
130
+ };
131
+ typography: {
132
+ fontFamily: string;
133
+ fontSize: {
134
+ xs?: string;
135
+ sm: string;
136
+ md: string;
137
+ lg: string;
138
+ xl: string;
139
+ xxl?: string;
140
+ xxxl?: string;
141
+ [key: string]: string | undefined;
142
+ };
143
+ fontWeight?: {
144
+ light?: string;
145
+ regular?: string;
146
+ medium?: string;
147
+ semibold?: string;
148
+ bold?: string;
149
+ [key: string]: string | undefined;
150
+ };
151
+ lineHeight?: {
152
+ tight?: string;
153
+ normal?: string;
154
+ relaxed?: string;
155
+ [key: string]: string | undefined;
156
+ };
157
+ };
158
+ borders: {
159
+ radius: string | {
160
+ sm?: string;
161
+ md?: string;
162
+ lg?: string;
163
+ xl?: string;
164
+ full?: string;
165
+ [key: string]: string | undefined;
166
+ };
167
+ width: string | {
168
+ thin?: string;
169
+ medium?: string;
170
+ thick?: string;
171
+ [key: string]: string | undefined;
172
+ };
173
+ };
174
+ shadows?: {
175
+ sm?: string;
176
+ md?: string;
177
+ lg?: string;
178
+ xl?: string;
179
+ inner?: string;
180
+ [key: string]: string | undefined;
181
+ };
182
+ transitions?: {
183
+ fast?: string;
184
+ normal?: string;
185
+ slow?: string;
186
+ [key: string]: string | undefined;
187
+ };
188
+ overflow: string;
189
+ }
190
+ /**
191
+ * This is the interface that each Skip component will expose to the parent component and assign it a name globally on the window object so that the parent component can call it.
192
+ * The component will create this object and it will include the members defined in this interface.
193
+ */
194
+ export interface SkipComponentObject {
195
+ /**
196
+ * The React component that Angular will render directly using ReactDOM.
197
+ * This component receives props including data, userState, callbacks, utilities, and styles.
198
+ */
199
+ component: any;
200
+ /**
201
+ * The optional print function that is called when the user clicks on the print button in the parent of the component. This function will never be called by the parent before the init function so the print function
202
+ * can assume the component has been initialized;
203
+ */
204
+ print?: SkipComponentPrintFunction;
205
+ /**
206
+ * The optional refresh function that is called when the user clicks on the refresh button in the parent of the component. This function will never be called by the parent before the init function so the refresh function
207
+ */
208
+ refresh?: SkipComponentRefreshFunction;
209
+ }
210
+ /**
211
+ * This interface defines the utilities that are available to the Skip component. These utilities are used to interact with the host MemberJunction system to
212
+ * retrieve metadata, run views, and run queries. The utilities are passed into the SkipComponentInitFunction by the container.
213
+ */
214
+ export interface SkipComponentUtilities {
215
+ md: SimpleMetadata;
216
+ rv: SimpleRunView;
217
+ rq: SimpleRunQuery;
218
+ }
219
+ //# sourceMappingURL=runtime-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-types.d.ts","sourceRoot":"","sources":["../src/runtime-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;;OAIG;IACH,WAAW,EAAE,MAAM,IAAI,CAAC;IAExB;;;;;;OAMG;IACH,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IAElE;;;;;;;OAOG;IACH,eAAe,EAAE,CAAC,SAAS,EAAE,GAAG,KAAK,IAAI,CAAC;IAE1C;;;;;OAKG;IACH,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,IAAI,CAAC;CAC5D;AAED;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAC;AAElF;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,MAAM,IAAI,CAAC;AACpD;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,MAAM,IAAI,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC;;;OAGG;IACH,UAAU,EAAE,iBAAiB,CAAC;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC;;OAEG;IACH,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC;;;OAGG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE;QAEJ,OAAO,EAAE,MAAM,CAAA;QACf,YAAY,EAAE,MAAM,CAAA;QACpB,YAAY,CAAC,EAAE,MAAM,CAAA;QAGrB,SAAS,EAAE,MAAM,CAAA;QACjB,cAAc,CAAC,EAAE,MAAM,CAAA;QAGvB,OAAO,EAAE,MAAM,CAAA;QACf,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAGlB,UAAU,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,MAAM,CAAA;QACf,YAAY,CAAC,EAAE,MAAM,CAAA;QAGrB,IAAI,EAAE,MAAM,CAAA;QACZ,aAAa,EAAE,MAAM,CAAA;QACrB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,WAAW,CAAC,EAAE,MAAM,CAAA;QAGpB,MAAM,EAAE,MAAM,CAAA;QACd,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,WAAW,CAAC,EAAE,MAAM,CAAA;QAGpB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,WAAW,CAAC,EAAE,MAAM,CAAA;QAGpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;KACrC,CAAC;IACF,OAAO,EAAE;QACL,EAAE,EAAE,MAAM,CAAA;QACV,EAAE,EAAE,MAAM,CAAA;QACV,EAAE,EAAE,MAAM,CAAA;QACV,EAAE,EAAE,MAAM,CAAA;QACV,EAAE,EAAE,MAAM,CAAA;QACV,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,IAAI,CAAC,EAAE,MAAM,CAAA;QAGb,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;KACrC,CAAC;IACF,UAAU,EAAE;QACR,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE;YACR,EAAE,CAAC,EAAE,MAAM,CAAA;YACX,EAAE,EAAE,MAAM,CAAA;YACV,EAAE,EAAE,MAAM,CAAA;YACV,EAAE,EAAE,MAAM,CAAA;YACV,EAAE,EAAE,MAAM,CAAA;YACV,GAAG,CAAC,EAAE,MAAM,CAAA;YACZ,IAAI,CAAC,EAAE,MAAM,CAAA;YAGb,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;SACnC,CAAC;QACF,UAAU,CAAC,EAAE;YACX,KAAK,CAAC,EAAE,MAAM,CAAA;YACd,OAAO,CAAC,EAAE,MAAM,CAAA;YAChB,MAAM,CAAC,EAAE,MAAM,CAAA;YACf,QAAQ,CAAC,EAAE,MAAM,CAAA;YACjB,IAAI,CAAC,EAAE,MAAM,CAAA;YAGb,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;SACnC,CAAC;QACF,UAAU,CAAC,EAAE;YACX,KAAK,CAAC,EAAE,MAAM,CAAA;YACd,MAAM,CAAC,EAAE,MAAM,CAAA;YACf,OAAO,CAAC,EAAE,MAAM,CAAA;YAGhB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;SACnC,CAAA;KACJ,CAAC;IACF,OAAO,EAAE;QACL,MAAM,EAAE,MAAM,GAAG;YACf,EAAE,CAAC,EAAE,MAAM,CAAA;YACX,EAAE,CAAC,EAAE,MAAM,CAAA;YACX,EAAE,CAAC,EAAE,MAAM,CAAA;YACX,EAAE,CAAC,EAAE,MAAM,CAAA;YACX,IAAI,CAAC,EAAE,MAAM,CAAA;YAGb,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;SACnC,CAAC;QACF,KAAK,EAAE,MAAM,GAAG;YACd,IAAI,CAAC,EAAE,MAAM,CAAA;YACb,MAAM,CAAC,EAAE,MAAM,CAAA;YACf,KAAK,CAAC,EAAE,MAAM,CAAA;YAGd,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;SACnC,CAAC;KACL,CAAA;IACD,OAAO,CAAC,EAAE;QACN,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,KAAK,CAAC,EAAE,MAAM,CAAA;QAGd,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;KACrC,CAAA;IACD,WAAW,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,IAAI,CAAC,EAAE,MAAM,CAAA;QAGb,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;KACrC,CAAA;IACD,QAAQ,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,SAAS,EAAE,GAAG,CAAC;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,0BAA0B,CAAC;IAEnC;;OAEG;IACH,OAAO,CAAC,EAAE,4BAA4B,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACnC,EAAE,EAAE,cAAc,CAAC;IACnB,EAAE,EAAE,aAAa,CAAC;IAClB,EAAE,EAAE,cAAc,CAAA;CACrB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=runtime-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-types.js","sourceRoot":"","sources":["../src/runtime-types.ts"],"names":[],"mappings":""}