╭ changed ────────╮ │src/ui/widget.zig│ ╰─────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────╮ │← previous│ ╰──────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1082 self.clearGrid(); │ │1083 const selected_id = self.box.getFocus().child_id; │ │1084 for (self.box.children.keys(), self.box.children.values()) |id, *child| { │ │1085 - child.widget.text_box.options.border_style = if (id == selected_id) .single else .hidden;│ │1085 + child.widget.text_box.options.border = if (id == selected_id) .single else .hidden; │ │1086 } │ │1087 try self.box.build(allocator, constraint, root_focus); │ │1088 } │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1127 text: ?[]const u8, │ │1128 show_input: bool, │ │1129 ) !SearchHeader { │ │1130 - var box = try wgt.Box(Widget).init(allocator, .{ .border_style = null, .direction = .horiz });│ │1130 + var box = try wgt.Box(Widget).init(allocator, .{ .border = null, .direction = .horiz }); │ │1131 errdefer box.deinit(allocator); │ │1132 │ │1133 // the search box only appears where an index can serve it. │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1333 box: wgt.Box(Widget), │ │1334 │ │1335 pub fn init(allocator: std.mem.Allocator, content: []const u8) !SectionLabel { │ │1336 - var box = try wgt.Box(Widget).init(allocator, .{ .border_style = null, .direction = .horiz });│ │1336 + var box = try wgt.Box(Widget).init(allocator, .{ .border = null, .direction = .horiz }); │ │1337 errdefer box.deinit(allocator); │ │1338 │ │1339 { │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1343 } │ │1344 │ │1345 { │ │1346 - var tb = try wgt.TextBox.init(allocator, content, .{ .border_style = .single, .round_corners = true, .wrap_kind = .none });│ │1346 + var tb = try wgt.TextBox.init(allocator, content, .{ .border = .single, .round_corners = true, .wrap_kind = .none }); │ │1347 errdefer tb.deinit(allocator); │ │1348 tb.getFocus().mode = .all; │ │1349 try box.children.put(allocator, tb.getFocus().id, .{ .widget = .{ .text_box = tb }, .rect = null, .min_size = null }); │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1391 } │ │1392 │ │1393 pub fn initLabeled(allocator: std.mem.Allocator, label: []const u8) !SubmitButton { │ │1394 - var box = try wgt.Box(Widget).init(allocator, .{ .border_style = null, .direction = .horiz });│ │1394 + var box = try wgt.Box(Widget).init(allocator, .{ .border = null, .direction = .horiz }); │ │1395 errdefer box.deinit(allocator); │ │1396 │ │1397 { │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1401 } │ │1402 │ │1403 { │ │1404 - var button = try wgt.TextBox.init(allocator, label, .{ .border_style = .single, .round_corners = true, .wrap_kind = .none });│ │1404 + var button = try wgt.TextBox.init(allocator, label, .{ .border = .single, .round_corners = true, .wrap_kind = .none }); │ │1405 errdefer button.deinit(allocator); │ │1406 button.getFocus().mode = .all; │ │1407 // the renderer distinguishes plain clickables from buttons that │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1875 const owned_choices = try allocator.dupe(Choice, choices); │ │1876 errdefer allocator.free(owned_choices); │ │1877 │ │1878 - var box = try wgt.Box(Widget).init(allocator, .{ .border_style = null, .direction = .horiz });│ │1878 + var box = try wgt.Box(Widget).init(allocator, .{ .border = null, .direction = .horiz }); │ │1879 errdefer box.deinit(allocator); │ │1880 │ │1881 if (choices.len > 1) for (choices) |choice| { │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1882 - var selector_box = try wgt.TextBox.init(allocator, choice.selector, .{ .border_style = .hidden, .round_corners = true, .wrap_kind = .none }); │ │1882 + var selector_box = try wgt.TextBox.init(allocator, choice.selector, .{ .border = .hidden, .round_corners = true, .wrap_kind = .none }); │ │1883 errdefer selector_box.deinit(allocator); │ │1884 selector_box.getFocus().mode = .all; │ │1885 try box.children.put(allocator, selector_box.getFocus().id, .{ .widget = .{ .text_box = selector_box }, .rect = null, .min_size = .{ .width = choice.selector.len + 2, .height = 3 } });│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────╮ │1886 }; │ │1887 │ │1888 var text_input = try wgt.TextInput.init(allocator, .{ │ │1889 - .border_style = .single, │ │1889 + .border = .single, │ │1890 .round_corners = true, │ │1891 - .label = choices[initial].label, │ │1892 - .bottom_label = choices[initial].bottom_label, │ │1891 + .top_label = .{ .text = choices[initial].label }, │ │1892 + .bottom_label = .{ .text = choices[initial].bottom_label },│ │1893 .read_only = true, │ │1894 .render_content = session.is_terminal, │ │1895 .visible_width = null, │ ╰─────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────╮ │1976 │ │1977 const focused = root_focus.grandchild_id == self.textInput().getFocus().id;│ │1978 for (0..self.choices.len) |i| { │ │1979 - self.selector(i).options.border_style = if (i == self.selected) │ │1979 + self.selector(i).options.border = if (i == self.selected) │ │1980 (if (focused) .double else .single) │ │1981 else │ │1982 .hidden; │ ╰─────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯