JSFiddle - React, Tailwind, and code Playground

by Flexmonster Pivot Table

HTML

<link rel="stylesheet" href="https://s3.amazonaws.com/flexmonster/2.3/demo.css">
<script src="https://cdn.flexmonster.com/flexmonster.js"></script>

<div id="pivot-container"></div>

CSS

.fm-custom-cell .flag-icon{
  width: 21px !important;
  height: 16px !important;
  margin-top: 4px !important;
  margin-left: 0 !important;
  margin-right: 2px !important;
}

.fm-custom-cell .fm-expanded-icon, 
.fm-custom-cell .fm-collapsed-icon {
  margin-left: -2px !important;
  margin-right: 0 !important;
  margin-bottom: 4px !important;
  margin-top: 4px !important;
}

.fm-custom-cell i.fm-expanded-icon:before {
  font-size: 12px !important;
  margin-top: 2px !important;
}

.fm-custom-cell i.fm-collapsed-icon:before {
  font-size: 12px !important;
  margin-top: 2px !important;
}

JavaScript

new Flexmonster({
  container: "#pivot-container",
  componentFolder: "https://cdn.flexmonster.com/",
  width: "100%",
  height: 550,
  toolbar: true,
  report: {
    dataSource: {
      data: [
        ["row", "A", "B", "C", "D"],
        ["row1", 1, 1, 1, 1],
        ["row2", 0, 1, 1, 0],
        ["row3", 0, 1, 0, 1],
        ["row4", 1, 0, 1, 1],
      ]
    },
    "slice": {
      "rows": [{
        "uniqueName": "row"
      }],
      "columns": [{
        "uniqueName": "[Measures]"
      }],
      "measures": [{
          "uniqueName": "A",
          "aggregation": "sum"
        },
        {
          "uniqueName": "B",
          "aggregation": "sum"
        },
        {
          "uniqueName": "C",
          "aggregation": "sum"
        },
        {
          "uniqueName": "D",
          "aggregation": "sum"
        },
        {
          "uniqueName": "Formula #1",
          "formula": "if(\"A\" == \"D\" and \"A\" == 1, 1, 0)",
          "individual": true,
          "caption": "Formula #1"
        }
      ]
    },
  }
});