File tree Expand file tree Collapse file tree 6 files changed +69
-63
lines changed Expand file tree Collapse file tree 6 files changed +69
-63
lines changed Original file line number Diff line number Diff line change
1
+ # frozen_string_literal: true
2
+
3
+ module Components
4
+ module Steps
5
+ class Builder < Components ::Base
6
+ include DeferredRender
7
+
8
+ def initialize ( **attrs )
9
+ @attrs = attrs
10
+ @step_number = 0
11
+ @steps = [ ]
12
+ end
13
+
14
+ def view_template
15
+ div ( **@attrs ) do
16
+ @steps . each do |step |
17
+ render step
18
+ end
19
+ end
20
+ end
21
+
22
+ def add_step ( &)
23
+ @step_number += 1
24
+ step = Step . new ( number : @step_number , last : true , &)
25
+ @steps << step
26
+ # Last false for all steps except the last one
27
+ @steps [ 0 ..-2 ] . each { |s | s . last = false }
28
+ end
29
+ end
30
+ end
31
+ end
Original file line number Diff line number Diff line change
1
+ # frozen_string_literal: true
2
+
3
+ module Components
4
+ module Steps
5
+ class Container < Components ::Base
6
+ def view_template ( &)
7
+ div ( class : "space-y-4" , &)
8
+ end
9
+ end
10
+ end
11
+ end
Original file line number Diff line number Diff line change
1
+ # frozen_string_literal: true
2
+
3
+ module Components
4
+ module Steps
5
+ class Step < Components ::Base
6
+ def initialize ( number : 1 , last : false )
7
+ @number = number
8
+ @last = last
9
+ end
10
+
11
+ attr_writer :last
12
+
13
+ def view_template ( &block )
14
+ div ( class : "relative flex space-x-4 md:space-x-8" ) do
15
+ div ( class : "flex-shrink-0 h-full" ) do
16
+ div ( class : "flex-0 flex items-center justify-center h-6 w-6 rounded-md border border-amber-500/20 bg-amber-100 dark:bg-amber-100/20 text-amber-700 dark:text-amber-200" ) do
17
+ p ( class : "font-medium text-sm" ) { @number }
18
+ end
19
+ # vertical line unless last
20
+ hr ( class : "absolute left-3 top-6 -ml-px h-full w-px bg-amber-500/20" ) unless @last
21
+ end
22
+ div ( class : "flex-1 space-y-2 pb-10 overflow-hidden -mt-0.5" , &block )
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
Load Diff This file was deleted.
Load Diff This file was deleted.
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments