code: func (c *ButtonComponent) MarshalJSON() ([]byte, error) {
  	return json.Marshal(&struct {
  		Type    FlexComponentType        `json:"type"`
  		Action  TemplateAction           `json:"action"`
  		Flex    *int                     `json:"flex,omitempty"`
  		Margin  FlexComponentMarginType  `json:"margin,omitempty"`
  		Height  FlexButtonHeightType     `json:"height,omitempty"`
  		Style   FlexButtonStyleType      `json:"style,omitempty"`
  		Color   string                   `json:"color,omitempty"`
  		Gravity FlexComponentGravityType `json:"gravity,omitempty"`
  	}{
  		Type:    FlexComponentTypeButton,
  		Action:  c.Action,
  		Flex:    c.Flex,
  		Margin:  c.Margin,
  		Height:  c.Height,
  		Style:   c.Style,
  		Color:   c.Color,
  		Gravity: c.Gravity,
  	})
  }
docs: // MarshalJSON method of ButtonComponent