UNPKG

ashish-sdk

Version:
25 lines 1.17 kB
import React from 'react'; import { SearchEmbed as _SearchEmbed } from '../embed/search'; import { AppEmbed as _AppEmbed } from '../embed/app'; import { LiveboardEmbed as _LiveboardEmbed, } from '../embed/liveboard'; import { getViewPropsAndListeners } from './util'; const componentFactory = (EmbedConstructor) => (props) => { const ref = React.useRef(null); const { className, ...embedProps } = props; const { viewConfig, listeners } = getViewPropsAndListeners(embedProps); React.useEffect(() => { const tsEmbed = new EmbedConstructor(ref.current, { ...viewConfig, }); Object.keys(listeners).forEach((eventName) => { tsEmbed.on(eventName, listeners[eventName]); }); tsEmbed.render(); }, [embedProps]); return React.createElement("div", { "data-testid": "tsEmbed", className: className, ref: ref }); }; export const SearchEmbed = componentFactory(_SearchEmbed); export const AppEmbed = componentFactory(_AppEmbed); export const LiveboardEmbed = componentFactory(_LiveboardEmbed); export const PinboardEmbed = componentFactory(_LiveboardEmbed); //# sourceMappingURL=index.js.map