UNPKG

@trycourier/courier-react

Version:

The React components for the Courier web UI

60 lines (59 loc) 2.72 kB
import { Courier } from "@trycourier/courier-js"; import { DEFAULT_COURIER_API_URLS, EU_COURIER_API_URLS, getCourierApiUrls, getCourierApiUrlsForRegion } from "@trycourier/courier-js"; import { jsx } from "react/jsx-runtime"; import { forwardRef } from "react"; import { CourierRenderContext, CourierInboxComponent, CourierInboxPopupMenuComponent, CourierToastComponent } from "@trycourier/courier-react-components"; import { useCourier } from "@trycourier/courier-react-components"; import { flushSync } from "react-dom"; import { createRoot } from "react-dom/client"; import { archiveMessage, clickMessage, defaultActions, defaultDarkTheme, defaultFeeds, defaultLightTheme, defaultListItemActions, markAsRead, markAsUnread, mergeTheme, openMessage } from "@trycourier/courier-ui-inbox"; import { defaultDarkTheme as defaultDarkTheme2, defaultLightTheme as defaultLightTheme2, mergeTheme as mergeTheme2 } from "@trycourier/courier-ui-toast"; function reactNodeToHTMLElement(node) { const container = document.createElement("div"); const root = createRoot(container); flushSync(() => { root.render(node); }); container.style.display = "contents"; container.setAttribute("data-react-root", "true"); return container; } const CourierInbox = forwardRef((props, ref) => { return /* @__PURE__ */ jsx(CourierRenderContext.Provider, { value: reactNodeToHTMLElement, children: /* @__PURE__ */ jsx(CourierInboxComponent, { ...props, ref }) }); }); CourierInbox.displayName = "CourierInbox"; const CourierInboxPopupMenu = forwardRef((props, ref) => { return /* @__PURE__ */ jsx(CourierRenderContext.Provider, { value: reactNodeToHTMLElement, children: /* @__PURE__ */ jsx(CourierInboxPopupMenuComponent, { ...props, ref }) }); }); CourierInboxPopupMenu.displayName = "CourierInboxPopupMenu"; const CourierToast = forwardRef((props, ref) => { return /* @__PURE__ */ jsx(CourierRenderContext.Provider, { value: reactNodeToHTMLElement, children: /* @__PURE__ */ jsx(CourierToastComponent, { ...props, ref }) }); }); CourierToast.displayName = "CourierToast"; Courier.shared.courierUserAgentName = "courier-react"; Courier.shared.courierUserAgentVersion = "9.0.6"; export { CourierInbox, CourierInboxPopupMenu, CourierToast, DEFAULT_COURIER_API_URLS, EU_COURIER_API_URLS, archiveMessage, clickMessage, defaultActions, defaultDarkTheme, defaultFeeds, defaultLightTheme, defaultListItemActions, defaultDarkTheme2 as defaultToastDarkTheme, defaultLightTheme2 as defaultToastLightTheme, getCourierApiUrls, getCourierApiUrlsForRegion, markAsRead, markAsUnread, mergeTheme, mergeTheme2 as mergeToastTheme, openMessage, useCourier }; //# sourceMappingURL=index.mjs.map