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.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +42 -0
  3. data/app/assets/javascripts/primer_view_components.js +1 -1
  4. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  5. data/app/assets/styles/primer_view_components.css +1 -1
  6. data/app/assets/styles/primer_view_components.css.map +1 -1
  7. data/app/components/primer/alpha/action_list/item.rb +2 -2
  8. data/app/components/primer/{beta → alpha}/banner.css +0 -0
  9. data/app/components/primer/alpha/banner.css.json +1 -0
  10. data/app/components/primer/{beta → alpha}/banner.css.map +1 -1
  11. data/app/components/primer/{beta → alpha}/banner.html.erb +0 -0
  12. data/app/components/primer/{beta → alpha}/banner.pcss +1 -0
  13. data/app/components/primer/{beta → alpha}/banner.rb +12 -12
  14. data/app/components/primer/alpha/segmented_control.css.map +1 -1
  15. data/app/components/primer/alpha/segmented_control.pcss +1 -0
  16. data/app/components/primer/alpha/toggle_switch.css +1 -0
  17. data/app/components/primer/alpha/toggle_switch.css.json +1 -0
  18. data/app/components/primer/alpha/toggle_switch.css.map +1 -0
  19. data/app/components/primer/alpha/toggle_switch.pcss +244 -0
  20. data/app/components/primer/{beta → alpha}/x_banner.d.ts +2 -1
  21. data/app/components/primer/{beta → alpha}/x_banner.js +0 -1
  22. data/app/components/primer/{beta → alpha}/x_banner.ts +1 -1
  23. data/app/components/primer/beta/avatar.css +1 -0
  24. data/app/components/primer/beta/avatar.css.json +1 -0
  25. data/app/components/primer/beta/avatar.css.map +1 -0
  26. data/app/components/primer/beta/avatar.pcss +73 -0
  27. data/app/components/primer/beta/avatar_stack.css +1 -0
  28. data/app/components/primer/beta/avatar_stack.css.json +1 -0
  29. data/app/components/primer/beta/avatar_stack.css.map +1 -0
  30. data/app/components/primer/beta/avatar_stack.pcss +141 -0
  31. data/app/components/primer/beta/blankslate.css +1 -0
  32. data/app/components/primer/beta/blankslate.css.json +1 -0
  33. data/app/components/primer/beta/blankslate.css.map +1 -0
  34. data/app/components/primer/beta/blankslate.pcss +90 -0
  35. data/app/components/primer/beta/breadcrumbs.css +1 -0
  36. data/app/components/primer/beta/breadcrumbs.css.json +1 -0
  37. data/app/components/primer/beta/breadcrumbs.css.map +1 -0
  38. data/app/components/primer/beta/breadcrumbs.pcss +30 -0
  39. data/app/components/primer/beta/button.css.map +1 -1
  40. data/app/components/primer/beta/button.pcss +0 -4
  41. data/app/components/primer/beta/button.rb +1 -1
  42. data/app/components/primer/beta/counter.css +1 -0
  43. data/app/components/primer/beta/counter.css.json +1 -0
  44. data/app/components/primer/beta/counter.css.map +1 -0
  45. data/app/components/primer/beta/counter.pcss +35 -0
  46. data/app/components/primer/beta/flash.css +1 -0
  47. data/app/components/primer/beta/flash.css.json +1 -0
  48. data/app/components/primer/beta/flash.css.map +1 -0
  49. data/app/components/primer/beta/flash.pcss +143 -0
  50. data/app/components/primer/beta/label.css +1 -0
  51. data/app/components/primer/beta/label.css.json +1 -0
  52. data/app/components/primer/beta/label.css.map +1 -0
  53. data/app/components/primer/beta/label.pcss +103 -0
  54. data/app/components/primer/beta/progress_bar.css +1 -0
  55. data/app/components/primer/beta/progress_bar.css.json +1 -0
  56. data/app/components/primer/beta/progress_bar.css.map +1 -0
  57. data/app/components/primer/{progress_bar_component.html.erb → beta/progress_bar.html.erb} +0 -0
  58. data/app/components/primer/beta/progress_bar.pcss +26 -0
  59. data/app/components/primer/beta/progress_bar.rb +72 -0
  60. data/app/components/primer/beta/truncate.css +1 -0
  61. data/app/components/primer/beta/truncate.css.json +1 -0
  62. data/app/components/primer/beta/truncate.css.map +1 -0
  63. data/app/components/primer/beta/truncate.pcss +31 -0
  64. data/app/components/primer/dropdown.css +1 -0
  65. data/app/components/primer/dropdown.css.json +1 -0
  66. data/app/components/primer/dropdown.css.map +1 -0
  67. data/app/components/primer/dropdown.pcss +260 -0
  68. data/app/components/primer/popover_component.css +1 -0
  69. data/app/components/primer/popover_component.css.json +1 -0
  70. data/app/components/primer/popover_component.css.map +1 -0
  71. data/app/components/primer/popover_component.pcss +225 -0
  72. data/app/components/primer/primer.d.ts +1 -1
  73. data/app/components/primer/primer.js +1 -1
  74. data/app/components/primer/primer.pcss +18 -2
  75. data/app/components/primer/primer.ts +1 -1
  76. data/app/components/primer/progress_bar_component.rb +2 -65
  77. data/app/components/primer/state_component.css +1 -0
  78. data/app/components/primer/state_component.css.json +1 -0
  79. data/app/components/primer/state_component.css.map +1 -0
  80. data/app/components/primer/state_component.pcss +50 -0
  81. data/app/components/primer/subhead_component.css +1 -0
  82. data/app/components/primer/subhead_component.css.json +1 -0
  83. data/app/components/primer/subhead_component.css.map +1 -0
  84. data/app/components/primer/subhead_component.pcss +49 -0
  85. data/app/components/primer/timeline_item_component.css +1 -0
  86. data/app/components/primer/timeline_item_component.css.json +1 -0
  87. data/app/components/primer/timeline_item_component.css.map +1 -0
  88. data/app/components/primer/timeline_item_component.pcss +93 -0
  89. data/app/components/primer/truncate.css +1 -0
  90. data/app/components/primer/truncate.css.json +1 -0
  91. data/app/components/primer/truncate.css.map +1 -0
  92. data/app/components/primer/truncate.pcss +30 -0
  93. data/lib/primer/deprecations.rb +2 -2
  94. data/lib/primer/view_components/version.rb +1 -1
  95. data/lib/tasks/docs.rake +3 -3
  96. data/lib/tasks/test.rake +8 -0
  97. data/previews/primer/alpha/banner_preview/with_action_button.html.erb +4 -0
  98. data/previews/primer/{beta → alpha}/banner_preview/with_action_content.html.erb +1 -1
  99. data/previews/primer/alpha/banner_preview.rb +97 -0
  100. data/previews/primer/alpha/segmented_control_preview.rb +106 -20
  101. data/previews/primer/beta/avatar_preview.rb +61 -5
  102. data/previews/primer/beta/avatar_stack_preview.rb +54 -12
  103. data/previews/primer/beta/blankslate_preview.rb +29 -5
  104. data/previews/primer/beta/counter_preview.rb +55 -8
  105. data/previews/primer/beta/flash_preview.rb +45 -8
  106. data/previews/primer/beta/label_preview.rb +86 -8
  107. data/previews/primer/beta/progress_bar_preview.rb +60 -0
  108. data/previews/primer/dropdown_preview.rb +161 -10
  109. data/static/arguments.json +76 -76
  110. data/static/audited_at.json +2 -2
  111. data/static/constants.json +34 -34
  112. data/static/statuses.json +3 -3
  113. metadata +81 -17
  114. data/app/components/primer/beta/banner.css.json +0 -1
  115. data/app/components/primer/counter_component.rb +0 -7
  116. data/previews/primer/beta/banner_preview/with_action_button.html.erb +0 -4
  117. data/previews/primer/beta/banner_preview.rb +0 -54
  118. 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
- # @param full_width [Boolean] toggle
27
- # @param size select [small, medium, large]
28
- def default(full_width: false, size: :medium)
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
- # @param hide_labels [Boolean] toggle
37
- # @param size select [small, medium, large]
38
- def full_width(hide_labels: false, size: :medium)
39
- render(Primer::Alpha::SegmentedControl.new("aria-label": "File view", full_width: true, hide_labels: hide_labels, size: size)) do |c|
40
- c.with_item(label: "Preview", icon: (hide_labels ? :zap : nil), selected: true)
41
- c.with_item(label: "Raw", icon: (hide_labels ? :zap : nil))
42
- c.with_item(label: "Blame", icon: (hide_labels ? :zap : nil))
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
- # @param full_width [Boolean] toggle
47
- # @param size select [small, medium, large]
48
- def icons_and_text(full_width: false, size: :medium)
49
- render(Primer::Alpha::SegmentedControl.new("aria-label": "File view", full_width: full_width, size: size)) do |c|
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
- # @param full_width [Boolean] toggle
57
- # @param size select [small, medium, large]
58
- def icons_only(full_width: false, size: :medium)
59
- render(Primer::Alpha::SegmentedControl.new("aria-label": "File view", full_width: full_width, hide_labels: true, size: size)) do |c|
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
- def with_links_as_tags
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 options
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 default(size: 24, shape: :circle, href: nil)
22
- render(Primer::Beta::Avatar.new(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser", size: size, shape: shape, href: href))
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 options
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
- # @param number_of_avatars [Integer] number
25
- # @param tag select [["div", div], ["span", span]]
26
- # @param align select [["Left", left], ["Right", right]]
27
- # @param tooltipped toggle
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
- # @!group More Examples
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
- # @param narrow [Boolean] toggle
22
- # @param spacious [Boolean] toggle
23
- # @param border [Boolean] toggle
24
- def default(narrow: false, spacious: false, border: false)
25
- render Primer::Beta::Blankslate.new(narrow: narrow, spacious: spacious, border: border) do |c|
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
- # @param count number
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
- # @param full toggle
22
- # @param spacious toggle
23
- # @param dismissible toggle
24
- # @param icon [Symbol] select [alert, check, info, people]
25
- # @param scheme [Symbol] select [default, warning, danger, success]
26
- # @param content text
27
- def default(full: false, spacious: false, dismissible: false, icon: :people, scheme: Primer::Beta::Flash::DEFAULT_SCHEME, content: "This is a flash message!")
28
- render(Primer::Beta::Flash.new(full: full, spacious: spacious, dismissible: dismissible, icon: icon, scheme: scheme)) { content }
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 Default Options
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 default(size: :medium, tag: :span, inline: false)
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 Playground
16
+ # @label Default Options
17
+ def default
18
+ render(Primer::Beta::Label.new) { "Label" }
19
+ end
20
+
21
+ # @!group Color Schemes
17
22
  #
18
- # @param size [Symbol] select [medium, large]
19
- # @param tag [Symbol] select [span, summary, a, div]
20
- # @param inline [Boolean] toggle
21
- def playground(size: :medium, tag: :span, inline: false)
22
- render(Primer::Beta::Label.new(tag: tag, size: size, inline: inline)) { "Label" }
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