ResponsiveGridPlugin
Plugin based on react-grid-system npm package which is a Bootstrap-like responsive grid system.
Passing views
ResponsiveGridPlugin config takes a list of rows.
 "config": {
    "type": "PLUGINS:dm-core-plugins/responsive_grid/ResponsiveGridPluginConfig",
    "rows": []
 }
A list of rows expects a column attribute which contains a list of ColumnItems. A ColumnItem expects a viewConfig and also allows you set what kind of width the column item should have based on various breakpoints.
 "config": {
    "type": "PLUGINS:dm-core-plugins/responsive_grid/ResponsiveGridPluginConfig",
    "rows": [
        {
            "type": "PLUGINS:dm-core-plugins/responsive_grid/RowItem",
            "columns": [
                {
                    "type": "PLUGINS:dm-core-plugins/responsive_grid/ColumnItem",
                    "viewConfig": {},
                    "size": {
                        "type": "PLUGINS:dm-core-plugins/responsive_grid/ColumnSize",
                        "sm": 12,
                        "md": 4
                    }
                },
                {
                    "type": "PLUGINS:dm-core-plugins/responsive_grid/ColumnItem",
                    "viewConfig": {},
                    "size": {
                        "type": "PLUGINS:dm-core-plugins/responsive_grid/ColumnSize",
                        "sm": 12,
                        "md": 4
                    }
                }
            ]
        },
    ]
 }
Sizing and breakpoints
Breakpoints
CSS breakpoints allow you to style the website and specify layout according to the device width it's being viewed on. This plugin uses react-grid-system default breakpoints.
| size | pixels | 
|---|---|
| xs | 576 | 
| sm | 768 | 
| md | 992 | 
| lg | 1200 | 
| xl | 1600 | 
| xxl | 1920 | 
Sizing
A grid is based on 12 grid columns, meaning that you can split these 12 columns/section on the column items you have passed in the row. A full width item would have to span all 12 columns so we would pass a 12 to a breakpoint.
"size": {
    "type": "PLUGINS:dm-core-plugins/responsive_grid/ColumnSize",
    "xs": 12,
}
Sizing based on breakpoints
When sizing for a breakpoint we define the value it's supposed to be for the width the breakpoint it represents and anything wider UNLESS a bigger breakpoint has been defined with another value.
In this example: on small devices the configured item would span 12 grid columns on devices smaller than 992px in width and span 4 grid columns on bigger than 992px in width.
"size": {
    "type": "PLUGINS:dm-core-plugins/responsive_grid/ColumnSize",
    "xs": 12,
    "md": 4,
}