@@ -59,7 +59,7 @@ public struct List : Element
5959 //
6060 // MARK: Initialization
6161 //
62-
62+
6363 /// Create a new list, configured with the provided properties,
6464 /// configured with the provided `ListProperties` builder.
6565 public init (
@@ -76,13 +76,26 @@ public struct List : Element
7676 public init (
7777 measurement : List . Measurement = . fillParent,
7878 configure : ListProperties . Configure = { _ in } ,
79- @ListableBuilder < Section > sections : ( ) -> [ Section ]
79+ @ListableBuilder < Section > sections : ( ) -> [ Section ] ,
80+ @ListableOptionalBuilder < AnyHeaderFooterConvertible > containerHeader : ( ) -> AnyHeaderFooterConvertible ? = { nil } ,
81+ @ListableOptionalBuilder < AnyHeaderFooterConvertible > header : ( ) -> AnyHeaderFooterConvertible ? = { nil } ,
82+ @ListableOptionalBuilder < AnyHeaderFooterConvertible > footer : ( ) -> AnyHeaderFooterConvertible ? = { nil } ,
83+ @ListableOptionalBuilder < AnyHeaderFooterConvertible > overscrollFooter : ( ) -> AnyHeaderFooterConvertible ? = { nil }
8084 ) {
8185 self . measurement = measurement
8286
83- self . properties = . default( with: configure)
87+ var properties = ListProperties . default {
88+ $0. sections = sections ( )
89+
90+ $0. content. containerHeader = containerHeader ( )
91+ $0. content. header = header ( )
92+ $0. content. footer = footer ( )
93+ $0. content. overscrollFooter = overscrollFooter ( )
94+ }
95+
96+ configure ( & properties)
8497
85- self . properties. sections += sections ( )
98+ self . properties = properties
8699 }
87100
88101 //
0 commit comments