slack-blockx

jsx for Slack block-kit

Usage no npm install needed!

<script type="module">
  import slackBlockx from 'https://cdn.skypack.dev/slack-blockx';
</script>

README

slack-blockx

jsx for Slack block-kit

Installation

yarn add slack-blockx

Usage

/** @jsx createBlock */
import { createBlock } from 'slack-blockx';

console.log(
  <blocks>
    <actions>
      <button>Button</button>
    </actions>
  </blocks>
);
// Logs:
// {
//   "blocks": [
//     {
//       "type": "actions",
//       "elements": [
//         {
//           "type": "button",
//           "text": {
//             "type": "plain_text",
//             "emoji": true,
//             "text": "Button"
//           }
//         }
//       ]
//     }
//   ]
// }

View it on Block Kit Builder

Usage without compiler

const { jsx } = require('slack-blockx');

console.log(jsx`
  <blocks>
    <actions>
      <button>Button</button>
    </actions>
  </blocks>
`); // Same as above

View it on Block Kit Builder

Documentation

WIP