@trycourier/courier-react
Version:
The React components for the Courier web UI
60 lines (59 loc) • 2.72 kB
JavaScript
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