ironhtml_bootstrap/
close_button.rs1use ironhtml::typed::Element;
7use ironhtml_elements::Button;
8
9#[must_use]
20pub fn close_button() -> Element<Button> {
21 Element::<Button>::new()
22 .attr("type", "button")
23 .class("btn-close")
24 .attr("aria-label", "Close")
25}
26
27#[must_use]
29pub fn close_button_disabled() -> Element<Button> {
30 Element::<Button>::new()
31 .attr("type", "button")
32 .class("btn-close")
33 .attr("aria-label", "Close")
34 .bool_attr("disabled")
35}
36
37#[must_use]
39pub fn close_button_white() -> Element<Button> {
40 Element::<Button>::new()
41 .attr("type", "button")
42 .class("btn-close btn-close-white")
43 .attr("aria-label", "Close")
44}
45
46#[must_use]
48pub fn close_button_dismiss_alert() -> Element<Button> {
49 Element::<Button>::new()
50 .attr("type", "button")
51 .class("btn-close")
52 .attr("data-bs-dismiss", "alert")
53 .attr("aria-label", "Close")
54}
55
56#[must_use]
58pub fn close_button_dismiss_modal() -> Element<Button> {
59 Element::<Button>::new()
60 .attr("type", "button")
61 .class("btn-close")
62 .attr("data-bs-dismiss", "modal")
63 .attr("aria-label", "Close")
64}
65
66#[must_use]
68pub fn close_button_dismiss_offcanvas() -> Element<Button> {
69 Element::<Button>::new()
70 .attr("type", "button")
71 .class("btn-close")
72 .attr("data-bs-dismiss", "offcanvas")
73 .attr("aria-label", "Close")
74}
75
76#[must_use]
78pub fn close_button_dismiss_toast() -> Element<Button> {
79 Element::<Button>::new()
80 .attr("type", "button")
81 .class("btn-close")
82 .attr("data-bs-dismiss", "toast")
83 .attr("aria-label", "Close")
84}
85
86#[cfg(test)]
87mod tests {
88 use super::*;
89
90 #[test]
91 fn test_close_button() {
92 let btn = close_button();
93 let html = btn.render();
94 assert!(html.contains("btn-close"));
95 assert!(html.contains(r#"aria-label="Close"#));
96 }
97
98 #[test]
99 fn test_close_button_disabled() {
100 let btn = close_button_disabled();
101 assert!(btn.render().contains("disabled"));
102 }
103
104 #[test]
105 fn test_close_button_white() {
106 let btn = close_button_white();
107 assert!(btn.render().contains("btn-close-white"));
108 }
109
110 #[test]
111 fn test_close_button_dismiss() {
112 let btn = close_button_dismiss_modal();
113 assert!(btn.render().contains(r#"data-bs-dismiss="modal"#));
114 }
115}