@process.co/element-types 0.0.1-docs-2 → 0.0.1-validation-1
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/README.md +6 -4
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/package.json +11 -6
- package/src/index.ts +33 -25
package/README.md
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
# @process.co/element-types
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
# @process.co/element-types
|
|
4
2
|
|
|
3
|
+
[<img src="https://img.shields.io/npm/v/%40process.co%2Felement-types" />](https://www.npmjs.com/package/@process.co/element-types)
|
|
4
|
+
[<img src="https://img.shields.io/github/v/release/process-co/npm-element-types" />](https://github.com/process-co/npm-element-types/releases/latest)
|
|
5
|
+
[<img alt="GitHub package.json version (branch)" src="https://img.shields.io/github/package-json/v/process-co/npm-element-types/main?color=%23AA00AA" />
|
|
6
|
+
](https://github.com/process-co/npm-element-types#main)
|
|
5
7
|
|
|
6
8
|
|
|
7
9
|
TypeScript types and utilities for defining Process.co Elements.
|
|
@@ -57,4 +59,4 @@ export default processInternalApp;
|
|
|
57
59
|
|
|
58
60
|
## License
|
|
59
61
|
|
|
60
|
-
MIT
|
|
62
|
+
MIT
|
package/dist/index.d.ts
CHANGED
|
@@ -94,6 +94,14 @@ export type PropDefinition = {
|
|
|
94
94
|
};
|
|
95
95
|
export declare function defineApp<T extends object>(app: T & ThisType<DeriveAppInstance<T>>): T;
|
|
96
96
|
export declare function defineAction<T extends object>(action: T & ThisType<DeriveActionInstance<T>>): T;
|
|
97
|
+
export type OnChangeOpts = {
|
|
98
|
+
layoutShift?: boolean;
|
|
99
|
+
};
|
|
100
|
+
export type ElementUIProps<T> = {
|
|
101
|
+
onChange: (value: T, opts?: OnChangeOpts) => void;
|
|
102
|
+
onBlur: () => void;
|
|
103
|
+
value: T;
|
|
104
|
+
};
|
|
97
105
|
export type WithThis<T> = T extends {
|
|
98
106
|
methods: Record<string, any>;
|
|
99
107
|
props: Record<string, any>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACrF,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACrF,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACrF,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACvF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,CAAC,CAAA;CAAE,CAAC;AAGpD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5D,CAAC;AAGF,MAAM,MAAM,QAAQ,CAAC,CAAC,IACpB,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@process.co/element-types",
|
|
3
|
-
"version": "0.0.1-
|
|
3
|
+
"version": "0.0.1-validation-1",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"build": "tsc"
|
|
8
|
+
},
|
|
6
9
|
"repository": {
|
|
7
10
|
"type": "git",
|
|
8
11
|
"url": "git+https://github.com/process-co/npm-element-types.git"
|
|
@@ -22,9 +25,11 @@
|
|
|
22
25
|
"name": "Process.co Team",
|
|
23
26
|
"email": "developers@process.co"
|
|
24
27
|
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@repo/config-typescript": "workspace:^",
|
|
30
|
+
"@types/node": "^22.13.14",
|
|
31
|
+
"typescript": "^5.7.3"
|
|
32
|
+
},
|
|
25
33
|
"license": "ISC",
|
|
26
|
-
"registry": "https://registry.npmjs.org"
|
|
27
|
-
|
|
28
|
-
"build": "tsc"
|
|
29
|
-
}
|
|
30
|
-
}
|
|
34
|
+
"registry": "https://registry.npmjs.org"
|
|
35
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -16,12 +16,12 @@ export type ModuleDefinition = {
|
|
|
16
16
|
// Utility type for transforming prop definitions to their runtime types
|
|
17
17
|
export type PropType<T> =
|
|
18
18
|
T extends { props: Record<string, any>; methods: Record<string, any> }
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
? DeriveAppInstance<T>
|
|
20
|
+
: T extends { type: "string" } ? string
|
|
21
|
+
: T extends { type: "object" } ? Record<string, unknown>
|
|
22
|
+
: T extends { type: "number" } ? number
|
|
23
|
+
: T extends { type: "boolean" } ? boolean
|
|
24
|
+
: unknown;
|
|
25
25
|
|
|
26
26
|
// Base module shape type
|
|
27
27
|
export type ModuleShape = {
|
|
@@ -36,29 +36,29 @@ export type Spread<T> = { [K in keyof T]: T[K] };
|
|
|
36
36
|
// Helper type to derive instance type from app definition, fully flattened
|
|
37
37
|
export type DeriveAppInstance<T> =
|
|
38
38
|
T extends { methods: Record<string, any>; props: Record<string, any> }
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
39
|
+
? Spread<
|
|
40
|
+
Omit<T, "props" | "methods"> &
|
|
41
|
+
{ [K in keyof T["props"]]: PropType<T["props"][K]> } &
|
|
42
|
+
{ [K in keyof T["methods"]]: T["methods"][K] }
|
|
43
|
+
>
|
|
44
|
+
: never;
|
|
45
45
|
|
|
46
46
|
// Helper type to derive instance type from action/source definition, fully flattened
|
|
47
47
|
export type DeriveActionInstance<T> =
|
|
48
48
|
T extends { methods: Record<string, any>; props: Record<string, any> }
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
49
|
+
? Spread<
|
|
50
|
+
Omit<T, "props" | "methods"> &
|
|
51
|
+
{ [K in keyof T["props"]]: T["props"][K] extends { type: string }
|
|
52
|
+
? PropType<T["props"][K]>
|
|
53
|
+
: T["props"][K] extends { type: "app"; methods: Record<string, any> }
|
|
54
|
+
? { [M in keyof T["props"][K]["methods"]]: T["props"][K]["methods"][M] }
|
|
55
|
+
: T["props"][K] extends { methods: Record<string, any>; props: Record<string, any> }
|
|
56
|
+
? DeriveActionInstance<T["props"][K]>
|
|
57
|
+
: T["props"][K]
|
|
58
|
+
} &
|
|
59
|
+
{ [K in keyof T["methods"]]: T["methods"][K] }
|
|
60
|
+
>
|
|
61
|
+
: never;
|
|
62
62
|
|
|
63
63
|
// Helper type to create a module with proper this context
|
|
64
64
|
export type ModuleWithThis<T> = T & ThisType<DeriveActionInstance<T>>;
|
|
@@ -92,6 +92,14 @@ export function defineAction<T extends object>(action: T & ThisType<DeriveAction
|
|
|
92
92
|
return action;
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
+
export type OnChangeOpts = { layoutShift?: boolean };
|
|
96
|
+
|
|
97
|
+
export type ElementUIProps<T> = {
|
|
98
|
+
onChange: (value: T, opts?: OnChangeOpts) => void;
|
|
99
|
+
onBlur: () => void;
|
|
100
|
+
value: T;
|
|
101
|
+
}
|
|
102
|
+
|
|
95
103
|
// Utility type to automatically infer the correct this context for methods
|
|
96
104
|
export type WithThis<T> = T extends { methods: Record<string, any>; props: Record<string, any> }
|
|
97
105
|
? Omit<T, 'methods'> & {
|