import Adw public extension PasswordEntryRow { /// Creates a PasswordEntryRow with static text and optional entry contents. /// /// Values are applied once when the widget mounts. /// - Parameter title: The row title. /// - Parameter text: The optional entry text. @_disfavoredOverload init(_ title: S, text: String? = nil) { self.init() self = self.title(String(title)) if let text { self = self.text(text) } } /// Creates a PasswordEntryRow whose title and text follow bindings. /// /// Binding modifiers update the widget in place and write widget changes back. /// - Parameter title: The title binding. /// - Parameter text: The optional text binding. init(_ title: Portico.Binding, text: Portico.Binding? = nil) { self.init() self = self.title(title) if let text { self = self.text(text) } } /// Creates a PasswordEntryRow with live interpolated text values. /// /// Interpolated segments are re-evaluated when their dependencies change. /// - Parameter title: The interpolated title. /// - Parameter text: The optional interpolated entry text. init(_ title: Portico.InterpolatedText, text: Portico.InterpolatedText? = nil) { self.init() self = self.title(title) if let text { self = self.text(text) } } /// Creates a PasswordEntryRow with a static title and bound text. /// /// Use `PasswordEntryRow("Password: \(value)").text(binding)` when both values are reactive. /// - Parameter title: The row title. /// - Parameter text: The required text binding. init(_ title: S, text: Portico.Binding) { self.init() self = self.title(String(title)) self = self.text(text) } }