primer_view_components 0.0.109 → 0.0.111
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +42 -0
- data/app/assets/javascripts/primer_view_components.js +1 -1
- data/app/assets/javascripts/primer_view_components.js.map +1 -1
- data/app/assets/styles/primer_view_components.css +1 -1
- data/app/assets/styles/primer_view_components.css.map +1 -1
- data/app/components/primer/alpha/action_list/item.rb +2 -2
- data/app/components/primer/{beta → alpha}/banner.css +0 -0
- data/app/components/primer/alpha/banner.css.json +1 -0
- data/app/components/primer/{beta → alpha}/banner.css.map +1 -1
- data/app/components/primer/{beta → alpha}/banner.html.erb +0 -0
- data/app/components/primer/{beta → alpha}/banner.pcss +1 -0
- data/app/components/primer/{beta → alpha}/banner.rb +12 -12
- data/app/components/primer/alpha/segmented_control.css.map +1 -1
- data/app/components/primer/alpha/segmented_control.pcss +1 -0
- data/app/components/primer/alpha/toggle_switch.css +1 -0
- data/app/components/primer/alpha/toggle_switch.css.json +1 -0
- data/app/components/primer/alpha/toggle_switch.css.map +1 -0
- data/app/components/primer/alpha/toggle_switch.pcss +244 -0
- data/app/components/primer/{beta → alpha}/x_banner.d.ts +2 -1
- data/app/components/primer/{beta → alpha}/x_banner.js +0 -1
- data/app/components/primer/{beta → alpha}/x_banner.ts +1 -1
- data/app/components/primer/beta/avatar.css +1 -0
- data/app/components/primer/beta/avatar.css.json +1 -0
- data/app/components/primer/beta/avatar.css.map +1 -0
- data/app/components/primer/beta/avatar.pcss +73 -0
- data/app/components/primer/beta/avatar_stack.css +1 -0
- data/app/components/primer/beta/avatar_stack.css.json +1 -0
- data/app/components/primer/beta/avatar_stack.css.map +1 -0
- data/app/components/primer/beta/avatar_stack.pcss +141 -0
- data/app/components/primer/beta/blankslate.css +1 -0
- data/app/components/primer/beta/blankslate.css.json +1 -0
- data/app/components/primer/beta/blankslate.css.map +1 -0
- data/app/components/primer/beta/blankslate.pcss +90 -0
- data/app/components/primer/beta/breadcrumbs.css +1 -0
- data/app/components/primer/beta/breadcrumbs.css.json +1 -0
- data/app/components/primer/beta/breadcrumbs.css.map +1 -0
- data/app/components/primer/beta/breadcrumbs.pcss +30 -0
- data/app/components/primer/beta/button.css.map +1 -1
- data/app/components/primer/beta/button.pcss +0 -4
- data/app/components/primer/beta/button.rb +1 -1
- data/app/components/primer/beta/counter.css +1 -0
- data/app/components/primer/beta/counter.css.json +1 -0
- data/app/components/primer/beta/counter.css.map +1 -0
- data/app/components/primer/beta/counter.pcss +35 -0
- data/app/components/primer/beta/flash.css +1 -0
- data/app/components/primer/beta/flash.css.json +1 -0
- data/app/components/primer/beta/flash.css.map +1 -0
- data/app/components/primer/beta/flash.pcss +143 -0
- data/app/components/primer/beta/label.css +1 -0
- data/app/components/primer/beta/label.css.json +1 -0
- data/app/components/primer/beta/label.css.map +1 -0
- data/app/components/primer/beta/label.pcss +103 -0
- data/app/components/primer/beta/progress_bar.css +1 -0
- data/app/components/primer/beta/progress_bar.css.json +1 -0
- data/app/components/primer/beta/progress_bar.css.map +1 -0
- data/app/components/primer/{progress_bar_component.html.erb → beta/progress_bar.html.erb} +0 -0
- data/app/components/primer/beta/progress_bar.pcss +26 -0
- data/app/components/primer/beta/progress_bar.rb +72 -0
- data/app/components/primer/beta/truncate.css +1 -0
- data/app/components/primer/beta/truncate.css.json +1 -0
- data/app/components/primer/beta/truncate.css.map +1 -0
- data/app/components/primer/beta/truncate.pcss +31 -0
- data/app/components/primer/dropdown.css +1 -0
- data/app/components/primer/dropdown.css.json +1 -0
- data/app/components/primer/dropdown.css.map +1 -0
- data/app/components/primer/dropdown.pcss +260 -0
- data/app/components/primer/popover_component.css +1 -0
- data/app/components/primer/popover_component.css.json +1 -0
- data/app/components/primer/popover_component.css.map +1 -0
- data/app/components/primer/popover_component.pcss +225 -0
- data/app/components/primer/primer.d.ts +1 -1
- data/app/components/primer/primer.js +1 -1
- data/app/components/primer/primer.pcss +18 -2
- data/app/components/primer/primer.ts +1 -1
- data/app/components/primer/progress_bar_component.rb +2 -65
- data/app/components/primer/state_component.css +1 -0
- data/app/components/primer/state_component.css.json +1 -0
- data/app/components/primer/state_component.css.map +1 -0
- data/app/components/primer/state_component.pcss +50 -0
- data/app/components/primer/subhead_component.css +1 -0
- data/app/components/primer/subhead_component.css.json +1 -0
- data/app/components/primer/subhead_component.css.map +1 -0
- data/app/components/primer/subhead_component.pcss +49 -0
- data/app/components/primer/timeline_item_component.css +1 -0
- data/app/components/primer/timeline_item_component.css.json +1 -0
- data/app/components/primer/timeline_item_component.css.map +1 -0
- data/app/components/primer/timeline_item_component.pcss +93 -0
- data/app/components/primer/truncate.css +1 -0
- data/app/components/primer/truncate.css.json +1 -0
- data/app/components/primer/truncate.css.map +1 -0
- data/app/components/primer/truncate.pcss +30 -0
- data/lib/primer/deprecations.rb +2 -2
- data/lib/primer/view_components/version.rb +1 -1
- data/lib/tasks/docs.rake +3 -3
- data/lib/tasks/test.rake +8 -0
- data/previews/primer/alpha/banner_preview/with_action_button.html.erb +4 -0
- data/previews/primer/{beta → alpha}/banner_preview/with_action_content.html.erb +1 -1
- data/previews/primer/alpha/banner_preview.rb +97 -0
- data/previews/primer/alpha/segmented_control_preview.rb +106 -20
- data/previews/primer/beta/avatar_preview.rb +61 -5
- data/previews/primer/beta/avatar_stack_preview.rb +54 -12
- data/previews/primer/beta/blankslate_preview.rb +29 -5
- data/previews/primer/beta/counter_preview.rb +55 -8
- data/previews/primer/beta/flash_preview.rb +45 -8
- data/previews/primer/beta/label_preview.rb +86 -8
- data/previews/primer/beta/progress_bar_preview.rb +60 -0
- data/previews/primer/dropdown_preview.rb +161 -10
- data/static/arguments.json +76 -76
- data/static/audited_at.json +2 -2
- data/static/constants.json +34 -34
- data/static/statuses.json +3 -3
- metadata +81 -17
- data/app/components/primer/beta/banner.css.json +0 -1
- data/app/components/primer/counter_component.rb +0 -7
- data/previews/primer/beta/banner_preview/with_action_button.html.erb +0 -4
- data/previews/primer/beta/banner_preview.rb +0 -54
- data/previews/primer/progress_bar_component_preview.rb +0 -28
@@ -23,53 +23,139 @@ module Primer
|
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
-
# @
|
27
|
-
|
28
|
-
|
29
|
-
render(Primer::Alpha::SegmentedControl.new("aria-label": "File view", full_width: full_width, size: size)) do |c|
|
26
|
+
# @label Default
|
27
|
+
def default
|
28
|
+
render(Primer::Alpha::SegmentedControl.new("aria-label": "File view")) do |c|
|
30
29
|
c.with_item(label: "Preview", selected: true)
|
31
30
|
c.with_item(label: "Raw")
|
32
31
|
c.with_item(label: "Blame")
|
33
32
|
end
|
34
33
|
end
|
35
34
|
|
36
|
-
#
|
37
|
-
# @
|
38
|
-
def
|
39
|
-
render(Primer::Alpha::SegmentedControl.new("aria-label": "File view", full_width: true,
|
40
|
-
c.with_item(label: "Preview",
|
41
|
-
c.with_item(label: "Raw"
|
42
|
-
c.with_item(label: "Blame"
|
35
|
+
# @!group Full width
|
36
|
+
# @label Size small
|
37
|
+
def full_width_small(hide_labels: false, size: :small)
|
38
|
+
render(Primer::Alpha::SegmentedControl.new("aria-label": "File view", full_width: true, size: :small)) do |c|
|
39
|
+
c.with_item(label: "Preview", selected: true)
|
40
|
+
c.with_item(label: "Raw")
|
41
|
+
c.with_item(label: "Blame")
|
43
42
|
end
|
44
43
|
end
|
45
44
|
|
46
|
-
# @
|
47
|
-
|
48
|
-
|
49
|
-
|
45
|
+
# @label Size medium
|
46
|
+
def full_width_medium(hide_labels: false, size: :medium)
|
47
|
+
render(Primer::Alpha::SegmentedControl.new("aria-label": "File view", full_width: true, size: :medium)) do |c|
|
48
|
+
c.with_item(label: "Preview", selected: true)
|
49
|
+
c.with_item(label: "Raw")
|
50
|
+
c.with_item(label: "Blame")
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
# @label Size large
|
55
|
+
def full_width_large(hide_labels: false, size: :large)
|
56
|
+
render(Primer::Alpha::SegmentedControl.new("aria-label": "File view", full_width: true, size: :large)) do |c|
|
57
|
+
c.with_item(label: "Preview", selected: true)
|
58
|
+
c.with_item(label: "Raw")
|
59
|
+
c.with_item(label: "Blame")
|
60
|
+
end
|
61
|
+
end
|
62
|
+
# @!endgroup
|
63
|
+
|
64
|
+
# @!group Icons and text
|
65
|
+
# @label Size small
|
66
|
+
def icons_and_text_small
|
67
|
+
render(Primer::Alpha::SegmentedControl.new("aria-label": "File view", size: :small)) do |c|
|
50
68
|
c.with_item(label: "Preview", icon: :eye, selected: true)
|
51
69
|
c.with_item(label: "Raw", icon: :"file-code")
|
52
70
|
c.with_item(label: "Blame", icon: :people)
|
53
71
|
end
|
54
72
|
end
|
55
73
|
|
56
|
-
# @
|
57
|
-
|
58
|
-
|
59
|
-
|
74
|
+
# @label Size medium
|
75
|
+
def icons_and_text_medium
|
76
|
+
render(Primer::Alpha::SegmentedControl.new("aria-label": "File view", size: :medium)) do |c|
|
77
|
+
c.with_item(label: "Preview", icon: :eye, selected: true)
|
78
|
+
c.with_item(label: "Raw", icon: :"file-code")
|
79
|
+
c.with_item(label: "Blame", icon: :people)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
# @label Size large
|
84
|
+
def icons_and_text_large
|
85
|
+
render(Primer::Alpha::SegmentedControl.new("aria-label": "File view", size: :large)) do |c|
|
86
|
+
c.with_item(label: "Preview", icon: :eye, selected: true)
|
87
|
+
c.with_item(label: "Raw", icon: :"file-code")
|
88
|
+
c.with_item(label: "Blame", icon: :people)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
# @!endgroup
|
92
|
+
|
93
|
+
# @!group Icons only
|
94
|
+
# @label Size small
|
95
|
+
def icon_only_small
|
96
|
+
render(Primer::Alpha::SegmentedControl.new("aria-label": "File view", hide_labels: true, size: :small)) do |c|
|
97
|
+
c.with_item(label: "Preview", icon: :eye, selected: true)
|
98
|
+
c.with_item(label: "Raw", icon: :"file-code")
|
99
|
+
c.with_item(label: "Blame", icon: :people)
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
# @label Size medium
|
104
|
+
def icon_only_medium
|
105
|
+
render(Primer::Alpha::SegmentedControl.new("aria-label": "File view", hide_labels: true, size: :medium)) do |c|
|
106
|
+
c.with_item(label: "Preview", icon: :eye, selected: true)
|
107
|
+
c.with_item(label: "Raw", icon: :"file-code")
|
108
|
+
c.with_item(label: "Blame", icon: :people)
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
# @label Size large
|
113
|
+
def icon_only_large
|
114
|
+
render(Primer::Alpha::SegmentedControl.new("aria-label": "File view", hide_labels: true, size: :large)) do |c|
|
115
|
+
c.with_item(label: "Preview", icon: :eye, selected: true)
|
116
|
+
c.with_item(label: "Raw", icon: :"file-code")
|
117
|
+
c.with_item(label: "Blame", icon: :people)
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
# @label Full width, size small
|
122
|
+
def icon_only_full_width_small
|
123
|
+
render(Primer::Alpha::SegmentedControl.new("aria-label": "File view", hide_labels: true, full_width: true, size: :small)) do |c|
|
124
|
+
c.with_item(label: "Preview", icon: :eye, selected: true)
|
125
|
+
c.with_item(label: "Raw", icon: :"file-code")
|
126
|
+
c.with_item(label: "Blame", icon: :people)
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
# @label Full width, size medium
|
131
|
+
def icon_only_full_width_medium
|
132
|
+
render(Primer::Alpha::SegmentedControl.new("aria-label": "File view", hide_labels: true, full_width: true, size: :medium)) do |c|
|
133
|
+
c.with_item(label: "Preview", icon: :eye, selected: true)
|
134
|
+
c.with_item(label: "Raw", icon: :"file-code")
|
135
|
+
c.with_item(label: "Blame", icon: :people)
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
# @label Full width, size large
|
140
|
+
def icon_only_full_width_large
|
141
|
+
render(Primer::Alpha::SegmentedControl.new("aria-label": "File view", hide_labels: true, full_width: true, size: :large)) do |c|
|
60
142
|
c.with_item(label: "Preview", icon: :eye, selected: true)
|
61
143
|
c.with_item(label: "Raw", icon: :"file-code")
|
62
144
|
c.with_item(label: "Blame", icon: :people)
|
63
145
|
end
|
64
146
|
end
|
147
|
+
# @!endgroup
|
65
148
|
|
66
|
-
|
149
|
+
# NOTE: this preview uses a group to force it's display below the other groups
|
150
|
+
# @!group With link as tag
|
151
|
+
def with_link_as_tag
|
67
152
|
render(Primer::Alpha::SegmentedControl.new) do |c|
|
68
153
|
c.with_item(tag: :a, href: "#", label: "Preview", icon: :eye, selected: true)
|
69
154
|
c.with_item(tag: :a, href: "#", label: "Raw", icon: :"file-code")
|
70
155
|
c.with_item(tag: :a, href: "#", label: "Blame", icon: :people)
|
71
156
|
end
|
72
157
|
end
|
158
|
+
# @!endgroup
|
73
159
|
end
|
74
160
|
end
|
75
161
|
end
|
@@ -13,14 +13,70 @@ module Primer
|
|
13
13
|
render(Primer::Beta::Avatar.new(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser", size: size, shape: shape, href: href))
|
14
14
|
end
|
15
15
|
|
16
|
-
# @label Default
|
16
|
+
# @label Default
|
17
|
+
def default
|
18
|
+
render(Primer::Beta::Avatar.new(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
|
19
|
+
end
|
20
|
+
|
21
|
+
# @label As link
|
17
22
|
#
|
18
|
-
# @param size [Integer] select [16, 20, 24, 32, 40, 48, 80]
|
19
|
-
# @param shape [Symbol] select [circle, square]
|
20
23
|
# @param href [String] text
|
21
|
-
def
|
22
|
-
render(Primer::Beta::Avatar.new(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"
|
24
|
+
def as_link(href: "#")
|
25
|
+
render(Primer::Beta::Avatar.new(href: href, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
|
26
|
+
end
|
27
|
+
|
28
|
+
# @!group Sizes
|
29
|
+
#
|
30
|
+
# @label 16px
|
31
|
+
def size_16
|
32
|
+
render(Primer::Beta::Avatar.new(size: 16, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
|
33
|
+
end
|
34
|
+
|
35
|
+
# @label 20px
|
36
|
+
def size_20
|
37
|
+
render(Primer::Beta::Avatar.new(size: 20, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
|
38
|
+
end
|
39
|
+
|
40
|
+
# @label 24px
|
41
|
+
def size_24
|
42
|
+
render(Primer::Beta::Avatar.new(size: 24, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
|
43
|
+
end
|
44
|
+
|
45
|
+
# @label 32px
|
46
|
+
def size_32
|
47
|
+
render(Primer::Beta::Avatar.new(size: 32, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
|
23
48
|
end
|
49
|
+
|
50
|
+
# @label 40px
|
51
|
+
def size_40
|
52
|
+
render(Primer::Beta::Avatar.new(size: 40, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
|
53
|
+
end
|
54
|
+
|
55
|
+
# @label 48px
|
56
|
+
def size_48
|
57
|
+
render(Primer::Beta::Avatar.new(size: 48, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
|
58
|
+
end
|
59
|
+
|
60
|
+
# @label 80px
|
61
|
+
def size_80
|
62
|
+
render(Primer::Beta::Avatar.new(size: 80, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
|
63
|
+
end
|
64
|
+
#
|
65
|
+
# @!endgroup
|
66
|
+
|
67
|
+
# @!group Shape
|
68
|
+
#
|
69
|
+
# @label Circle
|
70
|
+
def shape_circle
|
71
|
+
render(Primer::Beta::Avatar.new(shape: :circle, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
|
72
|
+
end
|
73
|
+
|
74
|
+
# @label Square
|
75
|
+
def shape_square
|
76
|
+
render(Primer::Beta::Avatar.new(shape: :square, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
|
77
|
+
end
|
78
|
+
#
|
79
|
+
# @!endgroup
|
24
80
|
end
|
25
81
|
end
|
26
82
|
end
|
@@ -19,23 +19,64 @@ module Primer
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
# @label Default
|
22
|
+
# @label Default
|
23
|
+
def default
|
24
|
+
render(Primer::Beta::AvatarStack.new) do |c|
|
25
|
+
c.avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
# @!group Multiple avatars
|
23
30
|
#
|
24
|
-
# @
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
# @param tooltip_label text
|
29
|
-
def default(number_of_avatars: 1, tag: :div, align: :left, tooltipped: false, tooltip_label: "This is a tooltip!")
|
30
|
-
render(Primer::Beta::AvatarStack.new(tag: tag, align: align, tooltipped: tooltipped, body_arguments: { label: tooltip_label })) do |c|
|
31
|
-
Array.new(number_of_avatars || 1) do
|
32
|
-
c.avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
|
33
|
-
end
|
31
|
+
# @label 1 avatar
|
32
|
+
def avatar_1
|
33
|
+
render(Primer::Beta::AvatarStack.new) do |c|
|
34
|
+
c.avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
|
34
35
|
end
|
35
36
|
end
|
36
37
|
|
37
|
-
#
|
38
|
+
# @label 2 avatars
|
39
|
+
def avatar_2
|
40
|
+
render(Primer::Beta::AvatarStack.new) do |c|
|
41
|
+
c.avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
|
42
|
+
c.avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
|
43
|
+
end
|
44
|
+
end
|
38
45
|
|
46
|
+
# @label 3 avatars
|
47
|
+
def avatar_3
|
48
|
+
render(Primer::Beta::AvatarStack.new) do |c|
|
49
|
+
c.avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
|
50
|
+
c.avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
|
51
|
+
c.avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
# @label 4 avatars
|
56
|
+
def avatar_4
|
57
|
+
render(Primer::Beta::AvatarStack.new) do |c|
|
58
|
+
c.avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
|
59
|
+
c.avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
|
60
|
+
c.avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
|
61
|
+
c.avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
# @label 5 avatars
|
66
|
+
def avatar_5
|
67
|
+
render(Primer::Beta::AvatarStack.new) do |c|
|
68
|
+
c.avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
|
69
|
+
c.avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
|
70
|
+
c.avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
|
71
|
+
c.avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
|
72
|
+
c.avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
|
73
|
+
end
|
74
|
+
end
|
75
|
+
#
|
76
|
+
# @!endgroup
|
77
|
+
|
78
|
+
# @!group More options
|
79
|
+
#
|
39
80
|
# @label Align right
|
40
81
|
def align_right
|
41
82
|
render(Primer::Beta::AvatarStack.new(align: :right)) do |c|
|
@@ -53,6 +94,7 @@ module Primer
|
|
53
94
|
c.avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
|
54
95
|
end
|
55
96
|
end
|
97
|
+
#
|
56
98
|
# @!endgroup
|
57
99
|
end
|
58
100
|
end
|
@@ -17,16 +17,40 @@ module Primer
|
|
17
17
|
end
|
18
18
|
|
19
19
|
# @label Default options
|
20
|
+
def default
|
21
|
+
render Primer::Beta::Blankslate.new do |c|
|
22
|
+
c.heading(tag: :h2).with_content("Title")
|
23
|
+
c.description { "Description" }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
# @!group Options
|
20
28
|
#
|
21
|
-
# @
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
29
|
+
# @label Narrow
|
30
|
+
def option_narrow
|
31
|
+
render Primer::Beta::Blankslate.new(narrow: true) do |c|
|
32
|
+
c.heading(tag: :h2).with_content("Title")
|
33
|
+
c.description { "Description" }
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
# @label Spacious
|
38
|
+
def option_spacious
|
39
|
+
render Primer::Beta::Blankslate.new(spacious: true) do |c|
|
40
|
+
c.heading(tag: :h2).with_content("Title")
|
41
|
+
c.description { "Description" }
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
# @label Border
|
46
|
+
def option_border
|
47
|
+
render Primer::Beta::Blankslate.new(border: true) do |c|
|
26
48
|
c.heading(tag: :h2).with_content("Title")
|
27
49
|
c.description { "Description" }
|
28
50
|
end
|
29
51
|
end
|
52
|
+
#
|
53
|
+
# @!endgroup
|
30
54
|
|
31
55
|
# @param narrow [Boolean] toggle
|
32
56
|
# @param spacious [Boolean] toggle
|
@@ -16,20 +16,67 @@ module Primer
|
|
16
16
|
end
|
17
17
|
|
18
18
|
# @label Default Options
|
19
|
-
|
20
|
-
|
21
|
-
# @param limit number
|
22
|
-
# @param hide_if_zero toggle
|
23
|
-
# @param round toggle
|
24
|
-
# @param scheme [Symbol] select [[Default, default], [Primary, primary], [Secondary, secondary]]]
|
25
|
-
def default(count: 1_000, limit: nil, round: false, hide_if_zero: false, scheme: :default)
|
26
|
-
render(Primer::Beta::Counter.new(count: count, round: round, limit: limit, hide_if_zero: hide_if_zero, scheme: scheme))
|
19
|
+
def default
|
20
|
+
render(Primer::Beta::Counter.new(count: 1_000))
|
27
21
|
end
|
28
22
|
|
29
23
|
# @label With Text
|
30
24
|
def with_text
|
31
25
|
render(Primer::Beta::Counter.new(text: "∞"))
|
32
26
|
end
|
27
|
+
|
28
|
+
# @!group Color Schemes
|
29
|
+
#
|
30
|
+
# @label Default
|
31
|
+
def color_scheme_default
|
32
|
+
render(Primer::Beta::Counter.new(count: 1_000))
|
33
|
+
end
|
34
|
+
|
35
|
+
# @label Primary
|
36
|
+
def color_scheme_primary
|
37
|
+
render(Primer::Beta::Counter.new(count: 1_000, scheme: :primary))
|
38
|
+
end
|
39
|
+
|
40
|
+
# @label Secondary
|
41
|
+
def color_scheme_secondary
|
42
|
+
render(Primer::Beta::Counter.new(count: 1_000, scheme: :secondary))
|
43
|
+
end
|
44
|
+
#
|
45
|
+
# @!endgroup
|
46
|
+
|
47
|
+
# @!group Rounded Number
|
48
|
+
#
|
49
|
+
# @label Default (No Rounding)
|
50
|
+
def rounding_default
|
51
|
+
render(Primer::Beta::Counter.new(count: 1_234))
|
52
|
+
end
|
53
|
+
|
54
|
+
# @label Rounded Above 1,000
|
55
|
+
def rounding_above_1000
|
56
|
+
render(Primer::Beta::Counter.new(count: 1_234, round: true))
|
57
|
+
end
|
58
|
+
|
59
|
+
# @label Rounded Below 1,000
|
60
|
+
def rounding_below_1000
|
61
|
+
render(Primer::Beta::Counter.new(count: 999, round: true))
|
62
|
+
end
|
63
|
+
|
64
|
+
# @label Rounded Large Numbers w/ Default Limit
|
65
|
+
def rounding_large_number
|
66
|
+
render(Primer::Beta::Counter.new(count: 4_567_890, round: true))
|
67
|
+
end
|
68
|
+
|
69
|
+
# @label Rounded Large Numbers, Less Than Custom Limit
|
70
|
+
def rounding_large_number_less_than_custom_limit
|
71
|
+
render(Primer::Beta::Counter.new(count: 4_567_890, limit: 1_000_000_000, round: true))
|
72
|
+
end
|
73
|
+
|
74
|
+
# @label Rounded Large Numbers, Greater Than Custom Limit
|
75
|
+
def rounding_large_number_greater_than_custom_limit
|
76
|
+
render(Primer::Beta::Counter.new(count: 4_567_890, limit: 1_000_000, round: true))
|
77
|
+
end
|
78
|
+
#
|
79
|
+
# @!endgroup
|
33
80
|
end
|
34
81
|
end
|
35
82
|
end
|
@@ -18,15 +18,52 @@ module Primer
|
|
18
18
|
|
19
19
|
# @label Default
|
20
20
|
#
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
#
|
26
|
-
#
|
27
|
-
|
28
|
-
|
21
|
+
def default
|
22
|
+
render(Primer::Beta::Flash.new) { "This is a flash message!" }
|
23
|
+
end
|
24
|
+
|
25
|
+
# @!group Color Schemes
|
26
|
+
#
|
27
|
+
# @label Default
|
28
|
+
def color_scheme_default
|
29
|
+
render(Primer::Beta::Flash.new) { "This is a flash message!" }
|
30
|
+
end
|
31
|
+
|
32
|
+
# @label Warning
|
33
|
+
def color_scheme_warning
|
34
|
+
render(Primer::Beta::Flash.new(scheme: :warning)) { "This is a warning flash message!" }
|
29
35
|
end
|
36
|
+
|
37
|
+
# @label Danger
|
38
|
+
def color_scheme_danger
|
39
|
+
render(Primer::Beta::Flash.new(scheme: :danger)) { "This is a danger flash message!" }
|
40
|
+
end
|
41
|
+
|
42
|
+
# @label Success
|
43
|
+
def color_scheme_success
|
44
|
+
render(Primer::Beta::Flash.new(scheme: :success)) { "This is a success flash message!" }
|
45
|
+
end
|
46
|
+
#
|
47
|
+
# @!endgroup
|
48
|
+
|
49
|
+
# @!group More options
|
50
|
+
#
|
51
|
+
# @label Full width
|
52
|
+
def options_full
|
53
|
+
render(Primer::Beta::Flash.new(full: true)) { "This is a full width flash message!" }
|
54
|
+
end
|
55
|
+
|
56
|
+
# @label Dismissible
|
57
|
+
def options_dismissible
|
58
|
+
render(Primer::Beta::Flash.new(dismissible: true)) { "This is a dismissible flash message!" }
|
59
|
+
end
|
60
|
+
|
61
|
+
# @label With icon
|
62
|
+
def options_with_icon
|
63
|
+
render(Primer::Beta::Flash.new(icon: :info)) { "This is a flash message with an icon!" }
|
64
|
+
end
|
65
|
+
#
|
66
|
+
# @!endgroup
|
30
67
|
end
|
31
68
|
end
|
32
69
|
end
|
@@ -4,23 +4,101 @@ module Primer
|
|
4
4
|
module Beta
|
5
5
|
# @label Label
|
6
6
|
class LabelPreview < ViewComponent::Preview
|
7
|
-
# @label
|
7
|
+
# @label Playground
|
8
8
|
#
|
9
9
|
# @param size [Symbol] select [medium, large]
|
10
10
|
# @param tag [Symbol] select [span, summary, a, div]
|
11
11
|
# @param inline [Boolean] toggle
|
12
|
-
def
|
12
|
+
def playground(size: :medium, tag: :span, inline: false)
|
13
13
|
render(Primer::Beta::Label.new(tag: tag, size: size, inline: inline)) { "Label" }
|
14
14
|
end
|
15
15
|
|
16
|
-
# @label
|
16
|
+
# @label Default Options
|
17
|
+
def default
|
18
|
+
render(Primer::Beta::Label.new) { "Label" }
|
19
|
+
end
|
20
|
+
|
21
|
+
# @!group Color Schemes
|
17
22
|
#
|
18
|
-
# @
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
+
# @label Default
|
24
|
+
def color_scheme_default
|
25
|
+
render(Primer::Beta::Label.new) { "Default" }
|
26
|
+
end
|
27
|
+
|
28
|
+
# @label Primary
|
29
|
+
def color_scheme_primary
|
30
|
+
render(Primer::Beta::Label.new(scheme: :primary)) { "Primary" }
|
31
|
+
end
|
32
|
+
|
33
|
+
# @label Secondary
|
34
|
+
def color_scheme_secondary
|
35
|
+
render(Primer::Beta::Label.new(scheme: :secondary)) { "Secondary" }
|
36
|
+
end
|
37
|
+
|
38
|
+
# @label Accent
|
39
|
+
def color_scheme_accent
|
40
|
+
render(Primer::Beta::Label.new(scheme: :accent)) { "Accent" }
|
41
|
+
end
|
42
|
+
|
43
|
+
# @label Success
|
44
|
+
def color_scheme_success
|
45
|
+
render(Primer::Beta::Label.new(scheme: :success)) { "Success" }
|
46
|
+
end
|
47
|
+
|
48
|
+
# @label Attention
|
49
|
+
def color_scheme_attention
|
50
|
+
render(Primer::Beta::Label.new(scheme: :attention)) { "Attention" }
|
23
51
|
end
|
52
|
+
|
53
|
+
# @label Danger
|
54
|
+
def color_scheme_danger
|
55
|
+
render(Primer::Beta::Label.new(scheme: :danger)) { "Danger" }
|
56
|
+
end
|
57
|
+
|
58
|
+
# @label Severe
|
59
|
+
def color_scheme_severe
|
60
|
+
render(Primer::Beta::Label.new(scheme: :severe)) { "Severe" }
|
61
|
+
end
|
62
|
+
|
63
|
+
# @label Done
|
64
|
+
def color_scheme_done
|
65
|
+
render(Primer::Beta::Label.new(scheme: :done)) { "Done" }
|
66
|
+
end
|
67
|
+
|
68
|
+
# @label Sponsors
|
69
|
+
def color_scheme_sponsors
|
70
|
+
render(Primer::Beta::Label.new(scheme: :sponsors)) { "Sponsors" }
|
71
|
+
end
|
72
|
+
#
|
73
|
+
# @!endgroup
|
74
|
+
|
75
|
+
# @!group Sizes
|
76
|
+
#
|
77
|
+
# @label Default
|
78
|
+
def size_default
|
79
|
+
render(Primer::Beta::Label.new) { "Default" }
|
80
|
+
end
|
81
|
+
|
82
|
+
# @label Large
|
83
|
+
def size_large
|
84
|
+
render(Primer::Beta::Label.new(size: :large)) { "Large" }
|
85
|
+
end
|
86
|
+
#
|
87
|
+
# @!endgroup
|
88
|
+
|
89
|
+
# @!group Inline
|
90
|
+
#
|
91
|
+
# @label Default
|
92
|
+
def inline_default
|
93
|
+
render(Primer::Beta::Label.new) { "Default" }
|
94
|
+
end
|
95
|
+
|
96
|
+
# @label Inline
|
97
|
+
def inline_inline
|
98
|
+
render(Primer::Beta::Label.new(inline: true)) { "Inline" }
|
99
|
+
end
|
100
|
+
#
|
101
|
+
# @!endgroup
|
24
102
|
end
|
25
103
|
end
|
26
104
|
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Primer
|
4
|
+
module Beta
|
5
|
+
# @label ProgressBar
|
6
|
+
class ProgressBarPreview < ViewComponent::Preview
|
7
|
+
# @label Playground
|
8
|
+
#
|
9
|
+
# @param size [Symbol] select [default, small, large]
|
10
|
+
def playground(size: :default)
|
11
|
+
render(Primer::Beta::ProgressBar.new(size: size)) do |component|
|
12
|
+
component.with_item(percentage: 10)
|
13
|
+
component.with_item(bg: :accent_emphasis, percentage: 20)
|
14
|
+
component.with_item(bg: :danger_emphasis, percentage: 30)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
# @label Default
|
19
|
+
#
|
20
|
+
# @param size [Symbol] select [default, small, large]
|
21
|
+
def default(size: :default)
|
22
|
+
render(Primer::Beta::ProgressBar.new(size: size)) do |component|
|
23
|
+
component.with_item(percentage: 10)
|
24
|
+
component.with_item(bg: :accent_emphasis, percentage: 20)
|
25
|
+
component.with_item(bg: :danger_emphasis, percentage: 30)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
# @!group Sizes
|
30
|
+
#
|
31
|
+
# @label Size small
|
32
|
+
def size_small
|
33
|
+
render(Primer::Beta::ProgressBar.new(size: :small)) do |component|
|
34
|
+
component.with_item(percentage: 10)
|
35
|
+
component.with_item(bg: :accent_emphasis, percentage: 20)
|
36
|
+
component.with_item(bg: :danger_emphasis, percentage: 30)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
# @label Size default
|
41
|
+
def size_default
|
42
|
+
render(Primer::Beta::ProgressBar.new(size: :default)) do |component|
|
43
|
+
component.with_item(percentage: 10)
|
44
|
+
component.with_item(bg: :accent_emphasis, percentage: 20)
|
45
|
+
component.with_item(bg: :danger_emphasis, percentage: 30)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
# @label Size large
|
50
|
+
def size_large
|
51
|
+
render(Primer::Beta::ProgressBar.new(size: :large)) do |component|
|
52
|
+
component.with_item(percentage: 10)
|
53
|
+
component.with_item(bg: :accent_emphasis, percentage: 20)
|
54
|
+
component.with_item(bg: :danger_emphasis, percentage: 30)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
# @!endgroup
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|