/// <summary> /// Generates a <c><p></c> block containing a component of the specified type, /// adding the given id and CSS class attributes to the <c><p></c> and setting its /// key, if provided. /// </summary> /// <remarks> /// Note: This block is automatically closed, so calling /// <see cref="FluentRenderTreeBuilder.Close(bool, int)">Close(...)</see> is unnecessary. /// </remarks> /// <typeparam name="TComponent">The <see cref="Type"/> of the component to add.</typeparam> /// <param name="frtb">The <see cref="FluentRenderTreeBuilder"/>.</param> /// <param name="class">The optional CSS class name.</param> /// <param name="id">The optional id attribute value.</param> /// <param name="key">The optional key to set for this element.</param> /// <param name="prettyPrint"><c>false</c> to prevent insertion of newline and indent /// whitespace before the markup for this element, even if /// <see cref="FluentRenderTreeBuilder.PrettyPrinting"/> is enabled.</param> /// <param name="line">The source code line number used to generate the sequence number.</param> public static FluentRenderTreeBuilder ComponentP <TComponent>(this FluentRenderTreeBuilder frtb, string? @class = null, string?id = null, object?key = null, bool prettyPrint = true, [CallerLineNumber] int line = 0) where TComponent : IComponent => frtb.ComponentElement <TComponent>("p", @class, id, key, prettyPrint, line);
/// <summary> /// Generates a <c><p></c> block containing a component of the given type, adding /// the given id and CSS class attributes to the <c><p></c> and setting its key, /// if provided. /// </summary> /// <remarks> /// Note: This block is automatically closed, so calling /// <see cref="FluentRenderTreeBuilder.Close(bool, int)">Close(...)</see> is unnecessary. /// </remarks> /// <param name="frtb">The <see cref="FluentRenderTreeBuilder"/>.</param> /// <param name="type">The <see cref="Type"/> of the component to add.</param> /// <param name="class">The optional CSS class name.</param> /// <param name="id">The optional id attribute value.</param> /// <param name="key">The optional key to set for this element.</param> /// <param name="prettyPrint"><c>false</c> to prevent insertion of newline and indent /// whitespace before the markup for this element, even if /// <see cref="FluentRenderTreeBuilder.PrettyPrinting"/> is enabled.</param> /// <param name="line">The source code line number used to generate the sequence number.</param> public static FluentRenderTreeBuilder ComponentP(this FluentRenderTreeBuilder frtb, Type type, string? @class = null, string?id = null, object?key = null, bool prettyPrint = true, [CallerLineNumber] int line = 0) => frtb.ComponentElement("p", type, @class, id, key, prettyPrint, line);