"?string", ]; protected function getRowTags($options): array { md::ensure_schema($options, self::ROW_OPTIONS_SCHEMA); return [ v::sdiv(["class" => ["row", $options["class"]]]), v::ediv(), ]; } const COL_OPTIONS_SCHEMA = [ "class" => "?string", ]; protected function getColTags($size, $options): array { md::ensure_schema($options, self::COL_OPTIONS_SCHEMA); return [ v::sdiv(["class" => ["col", $options["class"]]]), v::ediv(), ]; } const PANEL_OPTIONS_SCHEMA = [ "class" => "?string", ]; protected function getPanelTags($title, $options): array { md::ensure_schema($options, self::PANEL_OPTIONS_SCHEMA); return [ v::sdiv([ "class" => ["panel", $options["class"]], v::h2($title), ]), v::ediv(), ]; } }