web-component-wrapper 0.0.338 → 0.0.339

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/React.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Mapping } from 'clientnode/type';
2
- import React from 'react';
2
+ import React, { HTMLAttributes } from 'react';
3
3
  import Web from './Web';
4
- import { ComponentType, ReactRenderItemFactory, ReactRenderItemsFactory, ReactRenderItems, WebComponentAPI } from './type';
4
+ import { ComponentAdapter, ComponentType, ReactRenderItemFactory, ReactRenderItemsFactory, ReactRenderItems, WebComponentAPI } from './type';
5
5
  /**
6
6
  * Adapter for exposing a react component as web-component.
7
7
  * @property static:attachWebComponentAdapterIfNotExists - Indicates whether to
@@ -18,7 +18,14 @@ import { ComponentType, ReactRenderItemFactory, ReactRenderItemsFactory, ReactRe
18
18
  * reacts memorizing wrapper to cache component render results.
19
19
  * @property isWrapped - Indicates whether react component is wrapped already.
20
20
  */
21
- export declare class ReactWeb<TElement = HTMLElement> extends Web<TElement> {
21
+ export declare class ReactWeb<TElement = HTMLElement, ExternalProperties extends Mapping<unknown> = Mapping<unknown>, InternalProperties extends Mapping<unknown> & {
22
+ children?: Array<React.ReactNode> | React.ReactNode;
23
+ dangerouslySetInnerHTML?: HTMLAttributes<TElement>['dangerouslySetInnerHTML'];
24
+ key?: string;
25
+ ref?: null | {
26
+ current?: ComponentAdapter;
27
+ };
28
+ } = Mapping<unknown>> extends Web<TElement, ExternalProperties, InternalProperties> {
22
29
  static attachWebComponentAdapterIfNotExists: boolean;
23
30
  static content: ComponentType | string;
24
31
  static react: typeof React;
@@ -51,7 +58,7 @@ export declare class ReactWeb<TElement = HTMLElement> extends Web<TElement> {
51
58
  *
52
59
  * @returns Nothing.
53
60
  */
54
- reflectExternalProperties(properties: Mapping<unknown>): void;
61
+ reflectExternalProperties(properties: ExternalProperties): void;
55
62
  /**
56
63
  * Method which does the rendering job. Should be called when ever state
57
64
  * changes should be projected to the hosts dom content.
@@ -167,7 +174,7 @@ export declare class ReactWeb<TElement = HTMLElement> extends Web<TElement> {
167
174
  *
168
175
  * @returns Nothing.
169
176
  */
170
- prepareProperties(properties: Mapping<unknown>): void;
177
+ prepareProperties(properties: InternalProperties): void;
171
178
  /**
172
179
  * Updates current component instance and reflects newly determined
173
180
  * properties.
package/Web.d.ts CHANGED
@@ -96,7 +96,7 @@ import { AttributesReflectionConfiguration, CompiledDomNodeTemplate, ComponentAd
96
96
  *
97
97
  * @property slots - Grabbed slots which where present in the connecting phase.
98
98
  */
99
- export declare class Web<TElement = HTMLElement> extends HTMLElement {
99
+ export declare class Web<TElement = HTMLElement, ExternalProperties extends Mapping<unknown> = Mapping<unknown>, InternalProperties extends Mapping<unknown> = Mapping<unknown>> extends HTMLElement {
100
100
  static applyRootBinding: boolean;
101
101
  static content: unknown;
102
102
  static determineRootBinding: boolean;
@@ -130,15 +130,15 @@ export declare class Web<TElement = HTMLElement> extends HTMLElement {
130
130
  scope: Mapping<unknown>;
131
131
  domNodeEventBindings: Map<Node, EventCallbackMapping>;
132
132
  domNodeTemplateCache: CompiledDomNodeTemplate;
133
- externalProperties: Mapping<unknown>;
133
+ externalProperties: ExternalProperties;
134
134
  ignoreAttributeUpdateObservations: boolean;
135
- internalProperties: Mapping<unknown>;
135
+ internalProperties: InternalProperties;
136
136
  outputEventNames: Set<string>;
137
137
  instance: null | {
138
138
  current?: ComponentAdapter;
139
139
  };
140
140
  isRoot: boolean;
141
- root: ShadowRoot | Web<TElement>;
141
+ root: ShadowRoot | Web<TElement, ExternalProperties, InternalProperties>;
142
142
  runDomConnectionAndRenderingInSameEventQueue: boolean;
143
143
  readonly self: typeof Web;
144
144
  slots: Mapping<HTMLElement> & {
@@ -417,7 +417,7 @@ export declare class Web<TElement = HTMLElement> extends HTMLElement {
417
417
  *
418
418
  * @returns Nothing.
419
419
  */
420
- reflectExternalProperties(properties: Mapping<unknown>): void;
420
+ reflectExternalProperties(properties: ExternalProperties): void;
421
421
  /**
422
422
  * Reflects wrapped component state back to web-component's attributes and
423
423
  * properties.
@@ -425,7 +425,7 @@ export declare class Web<TElement = HTMLElement> extends HTMLElement {
425
425
  *
426
426
  * @returns Nothing.
427
427
  */
428
- reflectProperties(properties: Mapping<unknown>): void;
428
+ reflectProperties(properties: ExternalProperties): void;
429
429
  /**
430
430
  * Triggers a new rendering cycle by respecting batch configuration.
431
431
  * @param reason - A description why rendering should be triggered.
@@ -441,7 +441,7 @@ export declare class Web<TElement = HTMLElement> extends HTMLElement {
441
441
  *
442
442
  * @returns Mapped properties or null if nothing could be mapped.
443
443
  */
444
- reflectEventToProperties(name: string, parameters: Array<unknown>): Mapping<unknown> | null;
444
+ reflectEventToProperties(name: string, parameters: Array<unknown>): ExternalProperties | null;
445
445
  /**
446
446
  * Evaluates given property value depending on its type specification and
447
447
  * registers in properties mapping object.
package/index.d.ts CHANGED
@@ -15,5 +15,5 @@ export declare const Web: typeof WebImport;
15
15
  *
16
16
  * @returns Generated object to register and retrieve generated web component.
17
17
  */
18
- export declare const wrapAsWebComponent: <Type extends ComponentType = ComponentType, ExternalPropertiesType = Mapping<unknown>, InternalPropertiesType = Mapping<unknown>>(component: Type, nameHint?: string, configuration?: WebComponentConfiguration<ExternalPropertiesType, InternalPropertiesType>) => WebComponentAPI;
18
+ export declare const wrapAsWebComponent: <Type extends ComponentType = ComponentType, ExternalProperties extends Mapping<unknown> = Mapping<unknown>, InternalProperties extends Mapping<unknown> = Mapping<unknown>, AdditionalEventToPropertyMapping = unknown>(component: Type, nameHint?: string, configuration?: WebComponentConfiguration<ExternalProperties, InternalProperties, AdditionalEventToPropertyMapping>) => WebComponentAPI;
19
19
  export default wrapAsWebComponent;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "web-component-wrapper",
3
- "version": "0.0.338",
3
+ "version": "0.0.339",
4
4
  "description": "Generic web-component base class and framework specific wrapper.",
5
5
  "keywords": [
6
6
  "component",
package/type.d.ts CHANGED
@@ -11,9 +11,9 @@ export declare type CompiledDomNodeTemplateItem = {
11
11
  };
12
12
  export declare type CompiledDomNodeTemplate<NodeType = Node> = Map<NodeType, CompiledDomNodeTemplateItem>;
13
13
  export declare type EventCallbackMapping = Map<string, () => void>;
14
- export declare type EventMapping<ExternalPropertiesType = Mapping<unknown>, InternalPropertiesType = Mapping<unknown>> = [ExternalPropertiesType, InternalPropertiesType] | ExternalPropertiesType;
15
- export declare type EventMapper<E = Mapping<unknown>, I = Mapping<unknown>> = (..._parameter: Array<unknown>) => EventMapping<E, I>;
16
- export declare type EventToPropertyMapping<E = Mapping<unknown>, I = Mapping<unknown>> = Mapping<true | EventMapper<E, I>>;
14
+ export declare type EventMapping<ExternalProperties extends Mapping<unknown> = Mapping<unknown>, InternalProperties extends Mapping<unknown> = Mapping<unknown>> = [ExternalProperties, InternalProperties] | ExternalProperties;
15
+ export declare type EventMapper<E extends Mapping<unknown> = Mapping<unknown>, I extends Mapping<unknown> = Mapping<unknown>> = (..._parameters: Array<unknown>) => EventMapping<E, I>;
16
+ export declare type EventToPropertyMapping<E extends Mapping<unknown> = Mapping<unknown>, I extends Mapping<unknown> = Mapping<unknown>, A = unknown> = A & Mapping<true | EventMapper<E, I>>;
17
17
  export declare type AttributesReflectionConfiguration = Array<string> | Map<string, string | ValueOf<typeof PropertyTypes>> | string | Mapping<ValueOf<typeof PropertyTypes> | string>;
18
18
  export declare type ScopeDeclaration = Array<string> | Mapping<unknown>;
19
19
  export declare type PreCompiledItem = {
@@ -26,11 +26,11 @@ export declare type ReactRenderItemsFactory = Array<ReactRenderItemFactory> | Re
26
26
  export declare type ReactRenderBaseItem = ReactElement | string | null;
27
27
  export declare type ReactRenderItem = ((..._parameters: Array<unknown>) => ReactRenderBaseItem) | ReactRenderBaseItem;
28
28
  export declare type ReactRenderItems = Array<ReactRenderItem> | ReactRenderItem;
29
- export interface WebComponentConfiguration<ExternalPropertiesType = Mapping<unknown>, InternalPropertiesType = Mapping<unknown>> {
29
+ export interface WebComponentConfiguration<ExternalProperties extends Mapping<unknown> = Mapping<unknown>, InternalProperties extends Mapping<unknown> = Mapping<unknown>, AdditionalEventToPropertyMapping = unknown> {
30
30
  attachWebComponentAdapterIfNotExists?: boolean;
31
31
  controllableProperties?: Array<string>;
32
- eventToPropertyMapping?: EventToPropertyMapping<ExternalPropertiesType, InternalPropertiesType>;
33
- internalProperties?: Mapping<unknown>;
32
+ eventToPropertyMapping?: EventToPropertyMapping<ExternalProperties, InternalProperties, AdditionalEventToPropertyMapping>;
33
+ internalProperties?: InternalProperties;
34
34
  propertiesToReflectAsAttributes?: AttributesReflectionConfiguration;
35
35
  propertyAliases?: Mapping;
36
36
  propTypes?: Mapping<ValueOf<typeof PropertyTypes>>;