npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@superblocksteam/embed-react

v1.2.0

Published

This repo contains the Superblocks Embedded Apps React SDK

Downloads

148

Readme

Superblocks Embed React Library

The Superblocks Embed React Library allows you to seamlessly integrate Superblocks applications into your React application by embedding them within an iframe. This library provides a simple yet powerful interface for embedding, managing events, and interacting with the embedded application.

Features

  • Dynamic Embedding: Easily embed Superblocks applications using a React component.
  • Event Handling: Listen to various events from the embedded application such as app loaded, authentication errors, and navigation events.
  • Secure Communication: Ensures secure message passing between your application and the embedded Superblocks application.

Installation

To install the Superblocks Embed library, run the following command in your project directory:

npm install @superblocksteam/embed-react

Usage

  1. Import the Component: First, import the SuperblocksEmbed component from the library.

    import { SuperblocksEmbed } from "@superblocksteam/embed-react";
  2. Embed a Superblocks Application: Use the SuperblocksEmbed component in your React application, passing the required props.

    <SuperblocksEmbed src="https://app.superblocks.com/embed/applications/:APP_ID" />
  3. Custom Authentication: Pass a token generated from the Superblocks token endpoint to the embed

    <SuperblocksEmbed
      src="https://app.superblocks.com/embed/applications/:APP_ID"
      token=":ID_TOKEN"
    />
  4. Properties Pass in a properties object. These will be accessible in your Superblocks App using {{embed.propertyName.value}}

    <SuperblocksEmbed
      src="https://app.superblocks.com/embed/applications/:APP_ID"
      token=":ID_TOKEN"
      properties={{ property1: "test", property2: 123 }}
    />

Props

  • src: string: The URL of the Superblocks application to embed.
  • id?: string (optional): An identifier for the embed element.
  • token?: string (optional): Authentication token for the Superblocks application.
  • properties?: Record<string, unknown> (optional): Initial properties to pass to the Superblocks application.
  • style?: React.CSSProperties (optional): Styles set on the embedding iframe. By default, height and width are set to 100%.
  • onAppLoaded?: (event: AppLoadedEvent) => void (optional): Callback for the app loaded event.
  • onNavigation?: (event: NavigationEvent) => void (optional): Callback for navigation events.
  • onAuthError?: (event: AuthErrorEvent) => void (optional): Callback for authentication error events.
  • onEvent?: (eventName: string, payload: object) => void (optional): Callback for custom events emitted by the embedded application. Payload is an object of argument name to value.

Methods

Trigger custom events on the embedded application using the trigger function:

const sbApp = useRef(null);
const triggerEvent = () => sbApp.current.trigger("eventName", { arg1: "foo", arg2: "bar" });

return <SuperblocksEmbed src={src} ref={sbApp} >

Event Types

  • AppLoadedEvent: Fired when the Superblocks application has loaded successfully.

    • id: string: Identifier of the loaded application.
    • name: string: Name of the loaded application.
  • NavigationEvent: Fired on navigation events within the Superblocks application.

    • url: URL being navigated to.
    • appId?: string (optional): Identifier of the application.
  • AuthErrorEvent: Fired when there is an authentication error within the Superblocks application.

    • error: string: Description of the authentication error.

Error Handling

If there is an issue with initializing the embed or if the provided properties are invalid, the component will render the error message.