GithubHelp home page GithubHelp logo

isabella232 / iot-cardboard-js Goto Github PK

View Code? Open in Web Editor NEW

This project forked from microsoft/iot-cardboard-js

0.0 0.0 0.0 14.76 MB

iot-cardboard-js is a React library for building experiences for IoT applications

Home Page: https://main--601c6b2fcd385c002100f14c.chromatic.com/

License: MIT License

Shell 0.01% JavaScript 1.20% TypeScript 96.54% SCSS 2.26%

iot-cardboard-js's Introduction

build Storybook npm (tag)

Quick start ๐Ÿ“ฆ

What is iot-cardboard-js?

iot-cardboard-js or Cardboard is an open source React component library for creating internet of things (IoT) web experiences.

The components in Cardboard are also used for building the experiences in Azure Digital Twins 3D Scenes Studio, and can be leveraged by Azure Digital Twins customers in their own applications. Learn more about leveraging Cardboard components for 3D Scenes in the wiki.

The 3D visualization components in this library leverage the fantastic BabylonJS library under the hood. If you haven't used it yet, we can't say enough great things about the library, definitely check it out!

Viewer Mode image

Builder mode image

Storybook ๐Ÿ“–

This project is developed using Storybook - an open source tool for building UI components in isolation. Our hosted storybook showcases the current library of iot-cardboard-js components. Learn more about Storybook.

Note: stories which require authentication or API interaction can be found in the local development storybook.

Using iot-cardboard-js components ๐Ÿ”ฅ

Installing

Install our beta package from npm with:

npm install @microsoft/iot-cardboard-js@beta

Styles

Import the iot-cardboard-js themes stylesheet at the top level of your application to get theming for cardboard components via CSS custom properties (variables). These variables can be edited if you'd like to change theme colors.

import '@microsoft/iot-cardboard-js/themes.css';

Importing components via named exports

import {
    StandalonePropertyInspector,
    ADTAdapter,
    MsalAuthService,
    KeyValuePairCard,
    //...
} from '@microsoft/iot-cardboard-js';

This is the easiest method of importing components and, in most cases, will allow unused code to be tree shaken from our library. If, however, you only need a few modules from our library, you can use the direct import pattern to be more explicit about what code is imported.

Importing components via direct imports

Adapters, Classes, Constants, Hooks, and Services each have their own entry point and can be imported as follows.

Adapters:

import { AdtAdapter } from '@microsoft/iot-cardboard-js/Adapters'

Classes:

import { SearchSpan } from '@microsoft/iot-cardboard-js/Classes'

Constants:

import { IMockAdapter } from '@microsoft/iot-cardboard-js/Constants'

Hooks:

import { useGuid } from '@microsoft/iot-cardboard-js/Hooks'

Services:

import { MsalAuthService, getFileType } from '@microsoft/iot-cardboard-js/Services'

All Cards and Components have their own direct import path.

Cards:

import KeyValuePairCard from '@microsoft/iot-cardboard-js/Cards/KeyValuePairCard'

Components:

import StandalonePropertyInspector from '@microsoft/iot-cardboard-js/Components/StandalonePropertyInspector'

Examples

Storybook stories are the best way to learn how to use our components. Files ending in *.stories.tsx showcase components set up with mock data. While files ending in *.stories.local.tsx showcase components which authenticate and communicate with APIs. Stories are a great way to learn about the different ways to consume each of our components.

Check out the KeyValuePairCard stories for an example of this.

You can also see the code required to use a component by opening either the live or local storybook, selecting the docs tab at the top of a story, and clicking show code at the bottom right of a story panel. This opens a view of the code used to render that story!

Questions for maintainers ๐Ÿ™

If you have a question for one of the project maintainers, please post the question here. We'll get back to you as soon as possible!

Issue templates

Contributing ๐Ÿš€

Contributor License Agreement ๐Ÿ“ƒ

This project welcomes contributions and suggestions! Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

Code of conduct ๐Ÿ“

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Trademarks โ„ข๏ธ

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

iot-cardboard-js's People

Contributors

abalogun-dev avatar brennacourtney avatar ccrowley96 avatar coryboyle avatar daniellemolinar95 avatar darsney avatar dependabot[bot] avatar iremgokce avatar jamiewilbraham avatar jl-g avatar microsoftopensource avatar msnyder-msft avatar niusoff avatar pasanchmsft avatar ptallettms avatar samjosephgates avatar waywardhayward 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.