Giter Club home page Giter Club logo

ui-extensions's Introduction

UI Extensions

This repo contains the public definition of Shopify’s UI extension API. App developers can use these libraries for a strongly-typed, optimized development experience that lets them focus on integrating their app’s features deep into Shopify workflows. You can learn more about what is possible with UI extensions in Shopify’s developer documentation.

Note: UI extensions are a versioned API. This branch contains the APIs for the unstable API version. The following API versions are available as separate branches in this repo: 2023-04, 2023-07

Shopify provides different “variants” of UI extension APIs that are suitable for different developers:

What are “UI extensions”?

A UI extension is a JavaScript-based module that can hook in to client-side behaviors on any of Shopify’s first party UI surface areas. The most minimal definition of a UI extension has the following properties, which are configured in a shopify.extension.toml file in your project:

  • A name that is presented to merchants when interacting with the extension.
  • The target that the UI extension wishes to inject into. These are represented with string identifiers that describe the surface and responsibility of the extension. For example, purchase.checkout.cart-line-item.render-after target gives a UI Extension the ability to render UI after the each cart line in a checkout.
  • The JavaScript module in your local project that will be run to render UI.

The types in this package allow us to represent additional details about the targets developers can implement. Each target can have a custom set of APIs available to it, which includes:

  • What UI Components are available to be rendered, and what properties those UI components accept
  • What imperative APIs are provided by the host application, for reading and writing data relevant to the extension

UI extensions are built on an open source project called, remote-ui, which allows them to render native UI elements while being safely sandboxed. If you want to learn more, we’ve written a technical explanation of how extensions work under the hood.

ui-extensions's People

Contributors

henrytao-me avatar lemonmade avatar jamesvidler avatar vividviolet avatar olavoasantos avatar robin-drexler avatar alanthai avatar js-goupil avatar t6d avatar iainmcampbell avatar jffortier avatar elanalynn avatar mitchlillie avatar heltisace avatar igor10k avatar tmlayton avatar nathanjolly avatar brianshen1990 avatar fionoble avatar dave-pelletier avatar alxclark avatar vctrchu avatar mathieulag avatar steve-d-powell avatar belalsj avatar andrewjtech123 avatar lsit avatar cpeddecord avatar kimhawthorne-shopify avatar antoinegrant avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.