Node Promiscuous Modules
Publish your own packages to the world's most popular software ecosystem with npm Pro.Get started »

adaptivecards-fabric

1.0.3 • Public • Published

Adaptive Cards Fabric

This package "lights-up" the Adaptive Card renderer with Office Fabric UI input controls.

Adaptive cards fabric animation

Extended Controls

AdaptiveCard Element Office Fabric UI Control
Input.Date DatePicker
Input.Number, Input.Text, Input.Time TextField
Input.Toggle Toggle
Input.ChoiceSet (style:compact) Dropdown
Input.ChoiceSet (style:expanded, isMultiSelect:false) ChoiceGroup
Input.ChoiceSet (style:expanded, isMultiSelect:true) Checkbox
Actions Button

Install

npm install adaptivecards-fabric

NOTE: you must also install the necessary peer dependencies:

  • adaptivecards
  • office-ui-fabric-react
  • react
  • react-dom

Usage

Import the module

// Import modules:
import * as AdaptiveCards from "adaptivecards";
import * as ACFabric from "adaptivecards-fabric";

Render a card

// Author a card
// In practice you'll probably get this from a service
// see http://adaptivecards.io/samples/ for inspiration
let card = {
    "type": "AdaptiveCard",
    "version": "1.0",
    "body": [
        {
            "type": "Image",
            "url": "http://adaptivecards.io/content/adaptive-card-50.png"
        },
        {
            "type": "TextBlock",
            "text": "Hello **Adaptive Cards!**"
        }
    ],
    "actions": [
        {
            "type": "Action.OpenUrl",
            "title": "Learn more",
            "url": "http://adaptivecards.io"
        },
        {
            "type": "Action.OpenUrl",
            "title": "GitHub",
            "url": "http://github.com/Microsoft/AdaptiveCards"
        }
    ]
};
 
// Create an AdaptiveCard instance
let adaptiveCard = new AdaptiveCards.AdaptiveCard();
 
// Use Fabric controls when rendering Adaptive Cards
ACFabric.useFabricComponents();
 
// Set its hostConfig property unless you want to use the default Host Config
// Host Config defines the style and behavior of a card
adaptiveCard.hostConfig = new AdaptiveCards.HostConfig({
    fontFamily: "Segoe UI, Helvetica Neue, sans-serif"
    // More host config options
});
 
// Set the adaptive card's event handlers. onExecuteAction is invoked
// whenever an action is clicked in the card
adaptiveCard.onExecuteAction = function(action) { alert("Ow!"); }
 
// Parse the card payload
adaptiveCard.parse(card);
 
// Render the card to an HTML element:
let renderedCard = adaptiveCard.render();
 
// And finally insert it somewhere in your page:
document.body.appendChild(renderedCard);

Install

npm i adaptivecards-fabric

DownloadsWeekly Downloads

26

Version

1.0.3

License

MIT

Unpacked Size

329 kB

Total Files

74

Last publish

Collaborators

  • avatar