Class ColumnWidthCalculator

java.lang.Object
dev.jcputney.mjml.util.ColumnWidthCalculator

public final class ColumnWidthCalculator extends Object
Calculates column pixel widths and responsive width specifications from a list of column nodes and a container width. Shared by MjSection and MjGroup.
  • Method Details

    • calculatePixelWidths

      public static double[] calculatePixelWidths(List<MjmlNode> columns, double containerWidth, boolean usePercentAuto)
      Calculates pixel widths for each column. Columns with explicit widths get their specified value; auto columns share remaining space equally using percentage-based distribution to match MJML's floating-point behavior.
      Parameters:
      columns - the column nodes
      containerWidth - the available width in pixels
      usePercentAuto - if true, auto columns use pct*containerWidth/100 (MJML section behavior); if false, auto columns use (remaining)/count (MJML group behavior)
      Returns:
      an array of pixel widths corresponding to each column
    • calculateWidthSpecs

      public static String[] calculateWidthSpecs(List<MjmlNode> columns)
      Calculates column width specifications for responsive media queries. Returns strings like "100" (percentage), "33.33" (percentage), or "150px" (pixel).
      Parameters:
      columns - the list of column nodes to calculate width specs for
      Returns:
      an array of width specification strings for each column