constructor({
    width = 100,
    height = 100,
    border_radius = 4.5,
    colors = {},
    customTitle,
    defaultTitle = "",
    titlePrefixIcon,
  }) {
    this.width = width;
    this.height = height;

    this.hideBorder = false;
    this.hideTitle = false;

    this.border_radius = border_radius;

    // returns theme based colors with proper overrides and defaults
    this.colors = colors;
    this.title =
      customTitle === undefined
        ? encodeHTML(defaultTitle)
        : encodeHTML(customTitle);

    this.css = "";

    this.paddingX = 25;
    this.paddingY = 35;
    this.titlePrefixIcon = titlePrefixIcon;
    this.animations = true;
    this.a11yTitle = "";
    this.a11yDesc = "";
  }
Creates a new card instance.

@param {object} args Card arguments.
@param {number?=} args.width Card width.
@param {number?=} args.height Card height.
@param {number?=} args.border_radius Card border radius.
@param {string?=} args.customTitle Card custom title.
@param {string?=} args.defaultTitle Card default title.
@param {string?=} args.titlePrefixIcon Card title prefix icon.
@param {object?=} args.colors Card colors arguments.
@param {string} args.colors.titleColor Card title color.
@param {string} args.colors.textColor Card text color.
@param {string} args.colors.iconColor Card icon color.
@param {string|Array} args.colors.bgColor Card background color.
@param {string} args.colors.borderColor Card border color.
@returns {Card} Card instance.