@formsort/react-embed
Advanced tools
Comparing version 1.3.0 to 2.0.0
import { IEventMap, IFormsortWebEmbedConfig } from '@formsort/web-embed-api'; | ||
import React from 'react'; | ||
declare type LiteralUnion<T extends U, U = string> = T | (U & Record<never, never>); | ||
declare type FormsortEnv = LiteralUnion<'staging' | 'production'>; | ||
interface ILoadProps { | ||
@@ -8,8 +10,17 @@ clientLabel: string; | ||
responderUuid?: string; | ||
formsortEnv?: 'staging' | 'production'; | ||
formsortEnv?: FormsortEnv; | ||
queryParams?: Array<[string, string]>; | ||
embedConfig?: IFormsortWebEmbedConfig; | ||
} | ||
export declare type EmbedFlowProps = ILoadProps & IEventMap; | ||
export interface IReactEmbedEventMap { | ||
onRedirect?: IEventMap['redirect']; | ||
onFlowLoaded?: IEventMap['FlowLoaded']; | ||
onFlowClosed?: IEventMap['FlowClosed']; | ||
onFlowFinalized?: IEventMap['FlowFinalized']; | ||
onStepLoaded?: IEventMap['StepLoaded']; | ||
onStepCompleted?: IEventMap['StepCompleted']; | ||
} | ||
export declare type EmbedFlowProps = ILoadProps & IReactEmbedEventMap; | ||
export declare const eventMapping: Record<keyof IReactEmbedEventMap, keyof IEventMap>; | ||
declare const EmbedFlow: React.FunctionComponent<EmbedFlowProps>; | ||
export default EmbedFlow; |
@@ -26,6 +26,15 @@ "use strict"; | ||
var react_1 = __importStar(require("react")); | ||
exports.eventMapping = { | ||
onRedirect: 'redirect', | ||
onFlowLoaded: 'FlowLoaded', | ||
onFlowClosed: 'FlowClosed', | ||
onFlowFinalized: 'FlowFinalized', | ||
onStepLoaded: 'StepLoaded', | ||
onStepCompleted: 'StepCompleted', | ||
}; | ||
var attachEventListenersToEmbed = function (embed, events) { | ||
Object.entries(events).forEach(function (_a) { | ||
var eventName = _a[0], listener = _a[1]; | ||
embed.addEventListener(eventName, listener); | ||
var reactEventName = _a[0], listener = _a[1]; | ||
var embedEventName = exports.eventMapping[reactEventName]; | ||
embed.addEventListener(embedEventName, listener); | ||
}); | ||
@@ -32,0 +41,0 @@ }; |
{ | ||
"name": "@formsort/react-embed", | ||
"version": "1.3.0", | ||
"version": "2.0.0", | ||
"description": "Embed formsort flows in react components", | ||
@@ -41,5 +41,5 @@ "main": "lib/index.js", | ||
"devDependencies": { | ||
"@formsort/eslint-config": "^1.3.5", | ||
"@formsort/eslint-config": "^1.3.6", | ||
"@testing-library/react": "^11.2.2", | ||
"@types/jest": "^26.0.19", | ||
"@types/jest": "^27.0.1", | ||
"@types/react": "^16.9.23", | ||
@@ -52,11 +52,11 @@ "@typescript-eslint/eslint-plugin": "^4.11.0", | ||
"eslint-plugin-react": "^7.21.5", | ||
"jest": "^26.6.3", | ||
"jest": "^27.1.0", | ||
"prettier": "^2.2.1", | ||
"react": "^16.13.0", | ||
"react-dom": "^16.13.0", | ||
"ts-jest": "^26.4.4", | ||
"ts-jest": "^27.0.5", | ||
"typescript": "^3.8.3" | ||
}, | ||
"dependencies": { | ||
"@formsort/web-embed-api": "^1.3.0" | ||
"@formsort/web-embed-api": "^2.0.0" | ||
}, | ||
@@ -66,3 +66,3 @@ "peerDependencies": { | ||
}, | ||
"gitHead": "4ecfbe813aa53676f397813ee9f9bb173eb83582" | ||
"gitHead": "a7891bd6929364983f5a2652265e0bc9c8356484" | ||
} |
@@ -36,3 +36,3 @@ # @formsort/react-embed | ||
You can add event listeners to flows like `flowloaded`, `redirect` etc. See [all event listeners](https://github.com/formsort/oss/packages/web-embed-api/#event-listeners) | ||
You can add event listeners to flows like `Flowloaded`, `redirect` etc. See [all event listeners](https://github.com/formsort/oss/tree/master/packages/web-embed-api#event-listeners) | ||
@@ -49,7 +49,9 @@ #### Props | ||
| queryParams | additional query params, to pre-populate answers in the form | no | `[['name', 'Olivia']], ['age', '3']]` | | ||
| embedConfig | config passed to the underlying [`FormsortWebEmbed`](https://github.com/formsort/oss/packages/web-embed-api) | no | `{ style: { height: '100%' } }` | | ||
| flowloaded | [event listener](https://github.com/formsort/oss/packages/web-embed-api#flowloaded) | no | `() => { console.log('flow loaded') }` | | ||
| flowclosed | [event listener](https://github.com/formsort/oss/packages/web-embed-api#flowclosed) | no | `() => { console.log('flow closed') }` | | ||
| flowfinalized | [event listener](https://github.com/formsort/oss/packages/web-embed-api#flowfinalized) | no | `() => { console.log('flow finalized') }` | | ||
| redirect | [event listener](https://github.com/formsort/oss/packages/web-embed-api#redirect) | no | `(url: string) => { console.log('redirecting to:', url) }` | | ||
| embedConfig | config passed to the underlying [`FormsortWebEmbed`](https://github.com/formsort/oss/tree/master/packages/web-embed-api) | no | `{ style: { height: '100%' } }` | | ||
| onFlowLoaded | [event listener](https://github.com/formsort/oss/tree/master/packages/web-embed-api#flowloaded-answers--key-string-any----void) | no | `() => { console.log('flow loaded') }` | | ||
| onFlowClosed | [event listener](https://github.com/formsort/oss/tree/master/packages/web-embed-api#flowclosed-answers--key-string-any---void) | no | `() => { console.log('flow closed') }` | | ||
| onFlowFinalized | [event listener](https://github.com/formsort/oss/tree/master/packages/web-embed-api#flowfinalized-answers--key-string-any---void) | no | `() => { console.log('flow finalized') }` | | ||
| onStepLoaded | [event listener](https://github.com/formsort/oss/tree/master/packages/web-embed-api#steploaded-answers--key-string-any---void) | no | `() => { console.log('step loaded') }` | | ||
| onStepCompleted | [event listener](https://github.com/formsort/oss/tree/master/packages/web-embed-api#steploaded-answers--key-string-any---void) | no | `() => { console.log('step loaded') }` | | ||
| onRedirect | [event listener](https://github.com/formsort/oss/tree/master/packages/web-embed-api#redirect--url-string-answers--key-string-any-----cancel-boolean---undefined) | no | `(url: string) => { console.log('redirecting to:', url) }` | | ||
@@ -56,0 +58,0 @@ ## Testing |
10190
92
67
+ Added@formsort/embed-messaging-manager@0.2.0(transitive)
+ Added@formsort/web-embed-api@2.7.0(transitive)
- Removed@formsort/web-embed-api@1.3.0(transitive)