piral-core 0.14.22 → 0.14.23-beta.4131

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.
@@ -53,6 +53,10 @@ export interface PageComponentProps<T = any, S = any> extends RouteBaseProps<T,
53
53
  */
54
54
  export interface PiralPageMeta extends PiralCustomPageMeta {
55
55
  }
56
+ /**
57
+ * Shorthand for the definition of an extension component.
58
+ */
59
+ export declare type AnyExtensionComponent<TName> = TName extends keyof PiralExtensionSlotMap ? AnyComponent<ExtensionComponentProps<TName>> : TName extends string ? AnyComponent<ExtensionComponentProps<any>> : AnyComponent<ExtensionComponentProps<TName>>;
56
60
  /**
57
61
  * Defines the Pilet API from piral-core.
58
62
  * This interface will be consumed by pilet developers so that their pilet can interact with the piral instance.
@@ -93,14 +97,14 @@ export interface PiletCoreApi {
93
97
  * @param Component The component to be rendered.
94
98
  * @param defaults Optionally, sets the default values for the expected data.
95
99
  */
96
- registerExtension<TName>(name: TName extends string ? TName : string, Component: AnyComponent<ExtensionComponentProps<TName>>, defaults?: Partial<ExtensionParams<TName>>): RegistrationDisposer;
100
+ registerExtension<TName>(name: TName extends string ? TName : string, Component: AnyExtensionComponent<TName>, defaults?: Partial<ExtensionParams<TName>>): RegistrationDisposer;
97
101
  /**
98
102
  * Unregisters a global extension component.
99
103
  * Only previously registered extension components can be unregistered.
100
104
  * @param name The name of the extension slot to unregister from.
101
105
  * @param Component The registered extension component to unregister.
102
106
  */
103
- unregisterExtension<TName>(name: TName extends string ? TName : string, Component: AnyComponent<ExtensionComponentProps<TName>>): void;
107
+ unregisterExtension<TName>(name: TName extends string ? TName : string, Component: AnyExtensionComponent<TName>): void;
104
108
  /**
105
109
  * React component for displaying extensions for a given name.
106
110
  * @param props The extension's rendering props.
@@ -53,6 +53,10 @@ export interface PageComponentProps<T = any, S = any> extends RouteBaseProps<T,
53
53
  */
54
54
  export interface PiralPageMeta extends PiralCustomPageMeta {
55
55
  }
56
+ /**
57
+ * Shorthand for the definition of an extension component.
58
+ */
59
+ export declare type AnyExtensionComponent<TName> = TName extends keyof PiralExtensionSlotMap ? AnyComponent<ExtensionComponentProps<TName>> : TName extends string ? AnyComponent<ExtensionComponentProps<any>> : AnyComponent<ExtensionComponentProps<TName>>;
56
60
  /**
57
61
  * Defines the Pilet API from piral-core.
58
62
  * This interface will be consumed by pilet developers so that their pilet can interact with the piral instance.
@@ -93,14 +97,14 @@ export interface PiletCoreApi {
93
97
  * @param Component The component to be rendered.
94
98
  * @param defaults Optionally, sets the default values for the expected data.
95
99
  */
96
- registerExtension<TName>(name: TName extends string ? TName : string, Component: AnyComponent<ExtensionComponentProps<TName>>, defaults?: Partial<ExtensionParams<TName>>): RegistrationDisposer;
100
+ registerExtension<TName>(name: TName extends string ? TName : string, Component: AnyExtensionComponent<TName>, defaults?: Partial<ExtensionParams<TName>>): RegistrationDisposer;
97
101
  /**
98
102
  * Unregisters a global extension component.
99
103
  * Only previously registered extension components can be unregistered.
100
104
  * @param name The name of the extension slot to unregister from.
101
105
  * @param Component The registered extension component to unregister.
102
106
  */
103
- unregisterExtension<TName>(name: TName extends string ? TName : string, Component: AnyComponent<ExtensionComponentProps<TName>>): void;
107
+ unregisterExtension<TName>(name: TName extends string ? TName : string, Component: AnyExtensionComponent<TName>): void;
104
108
  /**
105
109
  * React component for displaying extensions for a given name.
106
110
  * @param props The extension's rendering props.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "piral-core",
3
- "version": "0.14.22",
3
+ "version": "0.14.23-beta.4131",
4
4
  "description": "The core library for creating a Piral instance.",
5
5
  "keywords": [
6
6
  "portal",
@@ -63,8 +63,8 @@
63
63
  },
64
64
  "dependencies": {
65
65
  "@dbeining/react-atom": "^4.0.0",
66
- "piral-base": "^0.14.22",
67
- "piral-debug-utils": "^0.14.22"
66
+ "piral-base": "0.14.23-beta.4131",
67
+ "piral-debug-utils": "0.14.23-beta.4131"
68
68
  },
69
69
  "peerDependencies": {
70
70
  "react": ">=16.8.0",
@@ -91,5 +91,5 @@
91
91
  "@libre/atom",
92
92
  "@dbeining/react-atom"
93
93
  ],
94
- "gitHead": "5b6e4ac5e478900d398c71adb6a4af9fd35bd1d7"
94
+ "gitHead": "94b0dd7a96bfe2c941b7130ad735be8ea253b052"
95
95
  }
package/src/types/api.ts CHANGED
@@ -61,6 +61,15 @@ export interface PageComponentProps<T = any, S = any> extends RouteBaseProps<T,
61
61
  */
62
62
  export interface PiralPageMeta extends PiralCustomPageMeta {}
63
63
 
64
+ /**
65
+ * Shorthand for the definition of an extension component.
66
+ */
67
+ export type AnyExtensionComponent<TName> = TName extends keyof PiralExtensionSlotMap
68
+ ? AnyComponent<ExtensionComponentProps<TName>>
69
+ : TName extends string
70
+ ? AnyComponent<ExtensionComponentProps<any>>
71
+ : AnyComponent<ExtensionComponentProps<TName>>
72
+
64
73
  /**
65
74
  * Defines the Pilet API from piral-core.
66
75
  * This interface will be consumed by pilet developers so that their pilet can interact with the piral instance.
@@ -103,7 +112,7 @@ export interface PiletCoreApi {
103
112
  */
104
113
  registerExtension<TName>(
105
114
  name: TName extends string ? TName : string,
106
- Component: AnyComponent<ExtensionComponentProps<TName>>,
115
+ Component: AnyExtensionComponent<TName>,
107
116
  defaults?: Partial<ExtensionParams<TName>>,
108
117
  ): RegistrationDisposer;
109
118
  /**
@@ -114,7 +123,7 @@ export interface PiletCoreApi {
114
123
  */
115
124
  unregisterExtension<TName>(
116
125
  name: TName extends string ? TName : string,
117
- Component: AnyComponent<ExtensionComponentProps<TName>>,
126
+ Component: AnyExtensionComponent<TName>,
118
127
  ): void;
119
128
  /**
120
129
  * React component for displaying extensions for a given name.