primer_view_components 0.0.34 → 0.0.39

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +131 -21
  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/components/primer/{auto_complete_component.rb → auto_complete.rb} +14 -12
  6. data/app/components/primer/{auto_complete_component.d.ts → auto_complete/auto_complete.d.ts} +0 -0
  7. data/app/components/primer/{auto_complete_component.html.erb → auto_complete/auto_complete.html.erb} +0 -0
  8. data/app/components/primer/{auto_complete_component.js → auto_complete/auto_complete.js} +0 -0
  9. data/app/components/primer/{auto_complete_component.ts → auto_complete/auto_complete.ts} +0 -0
  10. data/app/components/primer/auto_complete/auto_component.d.ts +1 -0
  11. data/app/components/primer/auto_complete/auto_component.js +1 -0
  12. data/app/components/primer/auto_complete/item.rb +42 -0
  13. data/app/components/primer/avatar_component.rb +22 -3
  14. data/app/components/primer/avatar_stack_component.rb +3 -1
  15. data/app/components/primer/base_button.rb +47 -0
  16. data/app/components/primer/base_component.rb +7 -8
  17. data/app/components/primer/blankslate_component.rb +4 -1
  18. data/app/components/primer/border_box_component.rb +1 -1
  19. data/app/components/primer/box_component.rb +1 -1
  20. data/app/components/primer/breadcrumb_component.rb +1 -1
  21. data/app/components/primer/button_component.html.erb +9 -0
  22. data/app/components/primer/button_component.rb +60 -21
  23. data/app/components/primer/{button_group_component.html.erb → button_group.html.erb} +0 -0
  24. data/app/components/primer/button_group.rb +61 -0
  25. data/app/components/primer/button_marketing_component.rb +4 -9
  26. data/app/components/primer/clipboard_copy.html.erb +8 -0
  27. data/app/components/primer/clipboard_copy.rb +26 -0
  28. data/app/components/primer/clipboard_copy_component.d.ts +1 -0
  29. data/app/components/primer/clipboard_copy_component.js +23 -0
  30. data/app/components/primer/clipboard_copy_component.ts +26 -0
  31. data/app/components/primer/close_button.rb +39 -0
  32. data/app/components/primer/component.rb +17 -2
  33. data/app/components/primer/counter_component.rb +1 -1
  34. data/app/components/primer/details_component.rb +1 -1
  35. data/app/components/primer/dropdown/menu_component.rb +1 -1
  36. data/app/components/primer/dropdown_component.rb +2 -2
  37. data/app/components/primer/dropdown_menu_component.rb +1 -1
  38. data/app/components/primer/flash_component.rb +1 -1
  39. data/app/components/primer/flex_component.rb +1 -1
  40. data/app/components/primer/flex_item_component.rb +20 -1
  41. data/app/components/primer/heading_component.rb +32 -4
  42. data/app/components/primer/hidden_text_expander.rb +41 -0
  43. data/app/components/primer/icon_button.rb +48 -0
  44. data/app/components/primer/label_component.rb +1 -1
  45. data/app/components/primer/layout_component.rb +1 -1
  46. data/app/components/primer/link_component.rb +1 -1
  47. data/app/components/primer/markdown_component.rb +1 -1
  48. data/app/components/primer/menu_component.rb +1 -1
  49. data/app/components/primer/navigation/tab_component.html.erb +9 -7
  50. data/app/components/primer/navigation/tab_component.rb +27 -3
  51. data/app/components/primer/octicon_component.rb +35 -14
  52. data/app/components/primer/popover_component.rb +1 -1
  53. data/app/components/primer/primer.d.ts +2 -1
  54. data/app/components/primer/primer.js +2 -1
  55. data/app/components/primer/primer.ts +2 -1
  56. data/app/components/primer/progress_bar_component.rb +1 -1
  57. data/app/components/primer/spinner_component.rb +1 -1
  58. data/app/components/primer/state_component.rb +2 -2
  59. data/app/components/primer/subhead_component.rb +1 -1
  60. data/app/components/primer/tab_container_component.rb +1 -1
  61. data/app/components/primer/tab_nav_component.html.erb +2 -2
  62. data/app/components/primer/tab_nav_component.rb +23 -9
  63. data/app/components/primer/text_component.rb +1 -1
  64. data/app/components/primer/time_ago_component.rb +1 -1
  65. data/app/components/primer/timeline_item_component.rb +1 -1
  66. data/app/components/primer/tooltip_component.rb +1 -1
  67. data/app/components/primer/{truncate_component.rb → truncate.rb} +8 -6
  68. data/app/components/primer/underline_nav_component.rb +47 -15
  69. data/app/lib/primer/classify.rb +8 -33
  70. data/app/lib/primer/classify/cache.rb +19 -14
  71. data/app/lib/primer/classify/flex.rb +111 -0
  72. data/app/lib/primer/classify/functional_border_colors.rb +1 -2
  73. data/app/lib/primer/fetch_or_fallback_helper.rb +2 -2
  74. data/app/lib/primer/octicon/cache.rb +38 -0
  75. data/app/lib/primer/tabbed_component_helper.rb +4 -0
  76. data/lib/primer/view_components/version.rb +1 -1
  77. data/static/statuses.json +1 -1
  78. metadata +116 -32
  79. data/app/assets/javascripts/primer_view_components.js.map.orig +0 -5
  80. data/app/assets/javascripts/primer_view_components.js.orig +0 -6
  81. data/app/components/primer/auto_complete_item_component.rb +0 -38
  82. data/app/components/primer/button_group_component.rb +0 -35
@@ -3,35 +3,29 @@
3
3
  module Primer
4
4
  # :nodoc:
5
5
  class Classify
6
- DIRECTION_KEY = :direction
7
- JUSTIFY_CONTENT_KEY = :justify_content
8
- ALIGN_ITEMS_KEY = :align_items
9
6
  DISPLAY_KEY = :display
10
7
  SPACING_KEYS = Primer::Classify::Spacing::KEYS
11
- RESPONSIVE_KEYS = ([DISPLAY_KEY, DIRECTION_KEY, JUSTIFY_CONTENT_KEY, ALIGN_ITEMS_KEY, :col, :float] + SPACING_KEYS).freeze
12
- BREAKPOINTS = ["", "-sm", "-md", "-lg", "-xl"].freeze
13
8
 
14
9
  # Keys where we can simply translate { key: value } into ".key-value"
15
10
  CONCAT_KEYS = SPACING_KEYS + %i[hide position v float col text box_shadow].freeze
16
11
 
17
12
  INVALID_CLASS_NAME_PREFIXES =
18
- (["bg-", "color-", "text-", "d-", "v-align-", "wb-", "text-", "box-shadow-"] + CONCAT_KEYS.map { |k| "#{k}-" }).freeze
13
+ (["bg-", "color-", "text-", "d-", "v-align-", "wb-", "box-shadow-"] + CONCAT_KEYS.map { |k| "#{k}-" }).freeze
19
14
 
20
15
  COLOR_KEY = :color
21
16
  BG_KEY = :bg
22
17
  VERTICAL_ALIGN_KEY = :vertical_align
23
18
  WORD_BREAK_KEY = :word_break
24
19
  TEXT_KEYS = %i[text_align font_weight].freeze
25
- FLEX_KEY = :flex
26
- FLEX_GROW_KEY = :flex_grow
27
- FLEX_SHRINK_KEY = :flex_shrink
28
- ALIGN_SELF_KEY = :align_self
29
20
  WIDTH_KEY = :width
30
21
  HEIGHT_KEY = :height
31
22
  BOX_SHADOW_KEY = :box_shadow
32
23
  VISIBILITY_KEY = :visibility
33
24
  ANIMATION_KEY = :animation
34
25
 
26
+ BREAKPOINTS = ["", "-sm", "-md", "-lg", "-xl"].freeze
27
+ RESPONSIVE_KEYS = ([DISPLAY_KEY, :col, :float] + SPACING_KEYS + Primer::Classify::Flex::RESPONSIVE_KEYS).freeze
28
+
35
29
  BOOLEAN_MAPPINGS = {
36
30
  underline: {
37
31
  mappings: [
@@ -89,6 +83,7 @@ module Primer
89
83
  BORDER_MARGIN_KEYS +
90
84
  TYPOGRAPHY_KEYS +
91
85
  TEXT_KEYS +
86
+ Primer::Classify::Flex::KEYS +
92
87
  [
93
88
  BORDER_KEY,
94
89
  BORDER_COLOR_KEY,
@@ -98,13 +93,6 @@ module Primer
98
93
  DISPLAY_KEY,
99
94
  VERTICAL_ALIGN_KEY,
100
95
  WORD_BREAK_KEY,
101
- DIRECTION_KEY,
102
- JUSTIFY_CONTENT_KEY,
103
- ALIGN_ITEMS_KEY,
104
- FLEX_KEY,
105
- FLEX_GROW_KEY,
106
- FLEX_SHRINK_KEY,
107
- ALIGN_SELF_KEY,
108
96
  WIDTH_KEY,
109
97
  HEIGHT_KEY,
110
98
  BOX_SHADOW_KEY,
@@ -120,7 +108,7 @@ module Primer
120
108
  extracted_results[:class] = [
121
109
  validated_class_names(classes),
122
110
  extracted_results.delete(:classes)
123
- ].compact.join(" ").presence
111
+ ].compact.join(" ").strip.presence
124
112
 
125
113
  extracted_results[:style] = [
126
114
  extracted_results.delete(:styles),
@@ -216,21 +204,8 @@ module Primer
216
204
  memo[:classes] << "#{key.to_s.dasherize}-#{val}"
217
205
  elsif key == BORDER_RADIUS_KEY
218
206
  memo[:classes] << "rounded-#{val}"
219
- elsif key == DIRECTION_KEY
220
- memo[:classes] << "flex#{breakpoint}-#{val.to_s.dasherize}"
221
- elsif key == JUSTIFY_CONTENT_KEY
222
- formatted_value = val.to_s.gsub(/(flex\_|space\_)/, "")
223
- memo[:classes] << "flex#{breakpoint}-justify-#{formatted_value}"
224
- elsif key == ALIGN_ITEMS_KEY
225
- memo[:classes] << "flex#{breakpoint}-items-#{val.to_s.gsub('flex_', '')}"
226
- elsif key == FLEX_KEY
227
- memo[:classes] << "flex-#{val}"
228
- elsif key == FLEX_GROW_KEY
229
- memo[:classes] << "flex-grow-#{val}"
230
- elsif key == FLEX_SHRINK_KEY
231
- memo[:classes] << "flex-shrink-#{val}"
232
- elsif key == ALIGN_SELF_KEY
233
- memo[:classes] << "flex-self-#{val}"
207
+ elsif Primer::Classify::Flex::KEYS.include?(key)
208
+ memo[:classes] << Primer::Classify::Flex.classes(key, val, breakpoint)
234
209
  elsif key == WIDTH_KEY || key == HEIGHT_KEY
235
210
  if val == :fit || val == :fill
236
211
  memo[:classes] << "#{key}-#{val}"
@@ -40,18 +40,18 @@ module Primer
40
40
  )
41
41
 
42
42
  preload(
43
- keys: Primer::Classify::DIRECTION_KEY,
44
- values: [:row, :column]
43
+ keys: Primer::Classify::Flex::DIRECTION_KEY,
44
+ values: Primer::Classify::Flex::DIRECTION_VALUES
45
45
  )
46
46
 
47
47
  preload(
48
- keys: Primer::Classify::JUSTIFY_CONTENT_KEY,
49
- values: [:flex_start, :flex_end, :center, :space_between, :space_around]
48
+ keys: Primer::Classify::Flex::JUSTIFY_CONTENT_KEY,
49
+ values: Primer::Classify::Flex::JUSTIFY_CONTENT_VALUES
50
50
  )
51
51
 
52
52
  preload(
53
- keys: Primer::Classify::ALIGN_ITEMS_KEY,
54
- values: [:flex_start, :flex_end, :center, :baseline, :stretch]
53
+ keys: Primer::Classify::Flex::ALIGN_ITEMS_KEY,
54
+ values: Primer::Classify::Flex::ALIGN_ITEMS_VALUES
55
55
  )
56
56
 
57
57
  preload(
@@ -61,12 +61,12 @@ module Primer
61
61
 
62
62
  preload(
63
63
  keys: [Primer::Classify::COLOR_KEY],
64
- values: [*Primer::Classify::FunctionalTextColors::OPTIONS, *Primer::Classify::FunctionalTextColors::DEPRECATED_OPTIONS]
64
+ values: Primer::Classify::FunctionalTextColors::OPTIONS
65
65
  )
66
66
 
67
67
  preload(
68
68
  keys: [Primer::Classify::BG_KEY],
69
- values: [*Primer::Classify::FunctionalBackgroundColors::OPTIONS, *Primer::Classify::FunctionalBackgroundColors::DEPRECATED_OPTIONS]
69
+ values: Primer::Classify::FunctionalBackgroundColors::OPTIONS
70
70
  )
71
71
 
72
72
  preload(
@@ -90,18 +90,23 @@ module Primer
90
90
  )
91
91
 
92
92
  preload(
93
- keys: Primer::Classify::FLEX_KEY,
94
- values: [1, :auto]
93
+ keys: Primer::Classify::Flex::FLEX_KEY,
94
+ values: Primer::Classify::Flex::FLEX_VALUES
95
95
  )
96
96
 
97
97
  preload(
98
- keys: [Primer::Classify::FLEX_GROW_KEY, Primer::Classify::FLEX_SHRINK_KEY],
99
- values: [0]
98
+ keys: Primer::Classify::Flex::GROW_KEY,
99
+ values: Primer::Classify::Flex::GROW_VALUES
100
100
  )
101
101
 
102
102
  preload(
103
- keys: [Primer::Classify::ALIGN_SELF_KEY],
104
- values: [:auto, :start, :end, :center, :baseline, :stretch]
103
+ keys: Primer::Classify::Flex::SHRINK_KEY,
104
+ values: Primer::Classify::Flex::SHRINK_VALUES
105
+ )
106
+
107
+ preload(
108
+ keys: Primer::Classify::Flex::ALIGN_SELF_KEY,
109
+ values: Primer::Classify::Flex::ALIGN_SELF_VALUES
105
110
  )
106
111
 
107
112
  preload(
@@ -0,0 +1,111 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Primer
4
+ class Classify
5
+ # Handler for PrimerCSS flex classes.
6
+ class Flex
7
+ extend Primer::FetchOrFallbackHelper
8
+
9
+ FLEX_KEY = :flex
10
+ FLEX_VALUES = [1, :auto].freeze
11
+
12
+ WRAP_KEY = :flex_wrap
13
+ WRAP_MAPPINGS = {
14
+ wrap: "flex-wrap",
15
+ nowrap: "flex-nowrap",
16
+ reverse: "flex-wrap-reverse"
17
+ }.freeze
18
+
19
+ SHRINK_KEY = :flex_shrink
20
+ SHRINK_VALUES = [0].freeze
21
+
22
+ GROW_KEY = :flex_grow
23
+ GROW_VALUES = [0].freeze
24
+
25
+ ALIGN_SELF_KEY = :align_self
26
+ ALIGN_SELF_VALUES = [:auto, :start, :end, :center, :baseline, :stretch].freeze
27
+
28
+ DIRECTION_KEY = :direction
29
+ DIRECTION_VALUES = [:column, :column_reverse, :row, :row_reverse].freeze
30
+
31
+ JUSTIFY_CONTENT_KEY = :justify_content
32
+ JUSTIFY_CONTENT_VALUES = [:flex_start, :flex_end, :center, :space_between, :space_around].freeze
33
+
34
+ ALIGN_ITEMS_KEY = :align_items
35
+ ALIGN_ITEMS_VALUES = [:flex_start, :flex_end, :center, :baseline, :stretch].freeze
36
+
37
+ KEYS = [FLEX_KEY, WRAP_KEY, SHRINK_KEY, GROW_KEY, ALIGN_SELF_KEY, DIRECTION_KEY, JUSTIFY_CONTENT_KEY, ALIGN_ITEMS_KEY].freeze
38
+ RESPONSIVE_KEYS = [DIRECTION_KEY, JUSTIFY_CONTENT_KEY, ALIGN_ITEMS_KEY].freeze
39
+
40
+ class << self
41
+ def classes(key, value, breakpoint)
42
+ send(key, value, breakpoint)
43
+ end
44
+
45
+ private
46
+
47
+ def flex(value, _breakpoint)
48
+ generate(
49
+ value: value,
50
+ allowed_values: FLEX_VALUES,
51
+ prefix: "flex"
52
+ )
53
+ end
54
+
55
+ def flex_shrink(value, _breakpoint)
56
+ generate(
57
+ value: value,
58
+ allowed_values: SHRINK_VALUES,
59
+ prefix: "flex-shrink"
60
+ )
61
+ end
62
+
63
+ def flex_grow(value, _breakpoint)
64
+ generate(
65
+ value: value,
66
+ allowed_values: GROW_VALUES,
67
+ prefix: "flex-grow"
68
+ )
69
+ end
70
+
71
+ def align_self(value, _breakpoint)
72
+ generate(
73
+ value: value,
74
+ allowed_values: ALIGN_SELF_VALUES,
75
+ prefix: "flex-self"
76
+ )
77
+ end
78
+
79
+ def flex_wrap(value, _breakpoint)
80
+ WRAP_MAPPINGS[fetch_or_fallback(WRAP_MAPPINGS.keys, value)]
81
+ end
82
+
83
+ def direction(value, breakpoint)
84
+ val = fetch_or_fallback(DIRECTION_VALUES, value)
85
+
86
+ "flex#{breakpoint}-#{val.to_s.dasherize}"
87
+ end
88
+
89
+ def justify_content(value, breakpoint)
90
+ val = fetch_or_fallback(JUSTIFY_CONTENT_VALUES, value)
91
+
92
+ formatted_value = val.to_s.gsub(/(flex\_|space\_)/, "")
93
+ "flex#{breakpoint}-justify-#{formatted_value}"
94
+ end
95
+
96
+ def align_items(value, breakpoint)
97
+ val = fetch_or_fallback(ALIGN_ITEMS_VALUES, value)
98
+
99
+ formatted_value = val.to_s.gsub("flex_", "")
100
+ "flex#{breakpoint}-items-#{formatted_value}"
101
+ end
102
+
103
+ def generate(value:, allowed_values:, prefix:)
104
+ val = fetch_or_fallback(allowed_values, value)
105
+
106
+ "#{prefix}-#{val}"
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end
@@ -13,8 +13,7 @@ module Primer
13
13
  success: :success,
14
14
  warning: :warning,
15
15
  danger: :danger,
16
- inverse: :inverse,
17
- overlay: :overlay
16
+ inverse: :inverse
18
17
  }.freeze
19
18
 
20
19
  MAPPINGS = {
@@ -25,10 +25,10 @@ module Primer
25
25
 
26
26
  InvalidValueError = Class.new(StandardError)
27
27
 
28
- def fetch_or_fallback(allowed_values, given_value, fallback = nil, deprecated_values: [])
28
+ def fetch_or_fallback(allowed_values, given_value, fallback = nil, deprecated_values: nil)
29
29
  if allowed_values.include?(given_value)
30
30
  given_value
31
- elsif deprecated_values.include?(given_value)
31
+ elsif deprecated_values&.include?(given_value)
32
32
  ActiveSupport::Deprecation.warn("#{given_value} is deprecated and will be removed in a future version.") unless Rails.env.production? || silence_deprecations?
33
33
 
34
34
  given_value
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Primer
4
+ module Octicon
5
+ # :nodoc:
6
+ class Cache
7
+ LOOKUP = {} # rubocop:disable Style/MutableConstant
8
+ # Preload the top 20 used icons.
9
+ PRELOADED_ICONS = [:alert, :check, :"chevron-down", :clippy, :clock, :"dot-fill", :info, :"kebab-horizontal", :link, :lock, :mail, :pencil, :plus, :question, :repo, :search, :"shield-lock", :star, :trash, :x].freeze
10
+
11
+ class << self
12
+ def read(key)
13
+ LOOKUP[key]
14
+ end
15
+
16
+ # Cache size limit.
17
+ def limit
18
+ 500
19
+ end
20
+
21
+ def set(key, value)
22
+ LOOKUP[key] = value
23
+
24
+ # Remove first item when the cache is too large.
25
+ LOOKUP.shift if LOOKUP.size > limit
26
+ end
27
+
28
+ def clear!
29
+ LOOKUP.clear
30
+ end
31
+
32
+ def preload!
33
+ PRELOADED_ICONS.each { |icon| Primer::OcticonComponent.new(icon: icon) }
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -16,6 +16,10 @@ module Primer
16
16
 
17
17
  private
18
18
 
19
+ def navigation_tag(with_panel)
20
+ with_panel ? :div : :nav
21
+ end
22
+
19
23
  def wrapper
20
24
  return yield unless @with_panel
21
25
 
@@ -5,7 +5,7 @@ module Primer
5
5
  module VERSION
6
6
  MAJOR = 0
7
7
  MINOR = 0
8
- PATCH = 34
8
+ PATCH = 39
9
9
 
10
10
  STRING = [MAJOR, MINOR, PATCH].join(".")
11
11
  end
data/static/statuses.json CHANGED
@@ -1 +1 @@
1
- {"Primer::AutoCompleteComponent":"alpha","Primer::AutoCompleteItemComponent":"alpha","Primer::AvatarComponent":"beta","Primer::AvatarStackComponent":"alpha","Primer::BaseComponent":"beta","Primer::BlankslateComponent":"beta","Primer::BorderBoxComponent":"beta","Primer::BoxComponent":"stable","Primer::BreadcrumbComponent":"beta","Primer::BreadcrumbComponent::ItemComponent":"alpha","Primer::ButtonComponent":"alpha","Primer::ButtonGroupComponent":"alpha","Primer::ButtonMarketingComponent":"alpha","Primer::CounterComponent":"beta","Primer::DetailsComponent":"beta","Primer::Dropdown::MenuComponent":"alpha","Primer::DropdownComponent":"alpha","Primer::DropdownMenuComponent":"deprecated","Primer::FlashComponent":"beta","Primer::FlexComponent":"alpha","Primer::FlexItemComponent":"alpha","Primer::HeadingComponent":"beta","Primer::LabelComponent":"beta","Primer::LayoutComponent":"alpha","Primer::LinkComponent":"beta","Primer::MarkdownComponent":"alpha","Primer::MenuComponent":"alpha","Primer::Navigation::TabComponent":"alpha","Primer::OcticonComponent":"beta","Primer::PopoverComponent":"beta","Primer::ProgressBarComponent":"beta","Primer::SpinnerComponent":"beta","Primer::StateComponent":"beta","Primer::SubheadComponent":"beta","Primer::TabContainerComponent":"alpha","Primer::TabNavComponent":"alpha","Primer::TextComponent":"beta","Primer::TimeAgoComponent":"beta","Primer::TimelineItemComponent":"beta","Primer::TimelineItemComponent::BadgeComponent":"alpha","Primer::TooltipComponent":"alpha","Primer::TruncateComponent":"alpha","Primer::UnderlineNavComponent":"alpha"}
1
+ {"Primer::AutoComplete":"beta","Primer::AutoComplete::Item":"beta","Primer::AvatarComponent":"beta","Primer::AvatarStackComponent":"beta","Primer::BaseButton":"beta","Primer::BaseComponent":"beta","Primer::BlankslateComponent":"beta","Primer::BorderBoxComponent":"beta","Primer::BoxComponent":"stable","Primer::BreadcrumbComponent":"beta","Primer::BreadcrumbComponent::ItemComponent":"alpha","Primer::ButtonComponent":"beta","Primer::ButtonGroup":"beta","Primer::ButtonMarketingComponent":"alpha","Primer::ClipboardCopy":"alpha","Primer::CloseButton":"beta","Primer::CounterComponent":"beta","Primer::DetailsComponent":"beta","Primer::Dropdown::MenuComponent":"alpha","Primer::DropdownComponent":"alpha","Primer::DropdownMenuComponent":"deprecated","Primer::FlashComponent":"beta","Primer::FlexComponent":"alpha","Primer::FlexItemComponent":"deprecated","Primer::HeadingComponent":"beta","Primer::HiddenTextExpander":"alpha","Primer::IconButton":"alpha","Primer::LabelComponent":"beta","Primer::LayoutComponent":"alpha","Primer::LinkComponent":"beta","Primer::MarkdownComponent":"alpha","Primer::MenuComponent":"alpha","Primer::Navigation::TabComponent":"alpha","Primer::OcticonComponent":"beta","Primer::PopoverComponent":"beta","Primer::ProgressBarComponent":"beta","Primer::SpinnerComponent":"beta","Primer::StateComponent":"beta","Primer::SubheadComponent":"beta","Primer::TabContainerComponent":"alpha","Primer::TabNavComponent":"alpha","Primer::TextComponent":"beta","Primer::TimeAgoComponent":"beta","Primer::TimelineItemComponent":"beta","Primer::TimelineItemComponent::BadgeComponent":"alpha","Primer::TooltipComponent":"alpha","Primer::Truncate":"beta","Primer::UnderlineNavComponent":"alpha"}
metadata CHANGED
@@ -1,45 +1,36 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: primer_view_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.34
4
+ version: 0.0.39
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub Open Source
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-01 00:00:00.000000000 Z
11
+ date: 2021-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: octicons_helper
14
+ name: actionview
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 9.0.0
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: 13.0.0
19
+ version: 5.0.0
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - ">="
28
25
  - !ruby/object:Gem::Version
29
- version: 9.0.0
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: 13.0.0
26
+ version: 5.0.0
33
27
  - !ruby/object:Gem::Dependency
34
- name: rails
28
+ name: activesupport
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
31
  - - ">="
38
32
  - !ruby/object:Gem::Version
39
33
  version: 5.0.0
40
- - - "<"
41
- - !ruby/object:Gem::Version
42
- version: '7.0'
43
34
  type: :runtime
44
35
  prerelease: false
45
36
  version_requirements: !ruby/object:Gem::Requirement
@@ -47,9 +38,20 @@ dependencies:
47
38
  - - ">="
48
39
  - !ruby/object:Gem::Version
49
40
  version: 5.0.0
50
- - - "<"
41
+ - !ruby/object:Gem::Dependency
42
+ name: octicons
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 13.0.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
51
53
  - !ruby/object:Gem::Version
52
- version: '7.0'
54
+ version: 13.0.0
53
55
  - !ruby/object:Gem::Dependency
54
56
  name: view_component
55
57
  requirement: !ruby/object:Gem::Requirement
@@ -98,6 +100,34 @@ dependencies:
98
100
  - - "~>"
99
101
  - !ruby/object:Gem::Version
100
102
  version: 2.8.4
103
+ - !ruby/object:Gem::Dependency
104
+ name: capybara
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '3'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '3'
117
+ - !ruby/object:Gem::Dependency
118
+ name: cuprite
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - '='
122
+ - !ruby/object:Gem::Version
123
+ version: '0.11'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - '='
129
+ - !ruby/object:Gem::Version
130
+ version: '0.11'
101
131
  - !ruby/object:Gem::Dependency
102
132
  name: listen
103
133
  requirement: !ruby/object:Gem::Requirement
@@ -116,16 +146,16 @@ dependencies:
116
146
  name: minitest
117
147
  requirement: !ruby/object:Gem::Requirement
118
148
  requirements:
119
- - - '='
149
+ - - "~>"
120
150
  - !ruby/object:Gem::Version
121
- version: 5.6.0
151
+ version: '5.0'
122
152
  type: :development
123
153
  prerelease: false
124
154
  version_requirements: !ruby/object:Gem::Requirement
125
155
  requirements:
126
- - - '='
156
+ - - "~>"
127
157
  - !ruby/object:Gem::Version
128
- version: 5.6.0
158
+ version: '5.0'
129
159
  - !ruby/object:Gem::Dependency
130
160
  name: mocha
131
161
  requirement: !ruby/object:Gem::Requirement
@@ -224,6 +254,48 @@ dependencies:
224
254
  - - "~>"
225
255
  - !ruby/object:Gem::Version
226
256
  version: 0.7.2
257
+ - !ruby/object:Gem::Dependency
258
+ name: sprockets
259
+ requirement: !ruby/object:Gem::Requirement
260
+ requirements:
261
+ - - ">="
262
+ - !ruby/object:Gem::Version
263
+ version: '0'
264
+ type: :development
265
+ prerelease: false
266
+ version_requirements: !ruby/object:Gem::Requirement
267
+ requirements:
268
+ - - ">="
269
+ - !ruby/object:Gem::Version
270
+ version: '0'
271
+ - !ruby/object:Gem::Dependency
272
+ name: sprockets-rails
273
+ requirement: !ruby/object:Gem::Requirement
274
+ requirements:
275
+ - - ">="
276
+ - !ruby/object:Gem::Version
277
+ version: '0'
278
+ type: :development
279
+ prerelease: false
280
+ version_requirements: !ruby/object:Gem::Requirement
281
+ requirements:
282
+ - - ">="
283
+ - !ruby/object:Gem::Version
284
+ version: '0'
285
+ - !ruby/object:Gem::Dependency
286
+ name: thor
287
+ requirement: !ruby/object:Gem::Requirement
288
+ requirements:
289
+ - - ">="
290
+ - !ruby/object:Gem::Version
291
+ version: '0'
292
+ type: :development
293
+ prerelease: false
294
+ version_requirements: !ruby/object:Gem::Requirement
295
+ requirements:
296
+ - - ">="
297
+ - !ruby/object:Gem::Version
298
+ version: '0'
227
299
  - !ruby/object:Gem::Dependency
228
300
  name: yard
229
301
  requirement: !ruby/object:Gem::Requirement
@@ -250,17 +322,18 @@ files:
250
322
  - README.md
251
323
  - app/assets/javascripts/primer_view_components.js
252
324
  - app/assets/javascripts/primer_view_components.js.map
253
- - app/assets/javascripts/primer_view_components.js.map.orig
254
- - app/assets/javascripts/primer_view_components.js.orig
255
- - app/components/primer/auto_complete_component.d.ts
256
- - app/components/primer/auto_complete_component.html.erb
257
- - app/components/primer/auto_complete_component.js
258
- - app/components/primer/auto_complete_component.rb
259
- - app/components/primer/auto_complete_component.ts
260
- - app/components/primer/auto_complete_item_component.rb
325
+ - app/components/primer/auto_complete.rb
326
+ - app/components/primer/auto_complete/auto_complete.d.ts
327
+ - app/components/primer/auto_complete/auto_complete.html.erb
328
+ - app/components/primer/auto_complete/auto_complete.js
329
+ - app/components/primer/auto_complete/auto_complete.ts
330
+ - app/components/primer/auto_complete/auto_component.d.ts
331
+ - app/components/primer/auto_complete/auto_component.js
332
+ - app/components/primer/auto_complete/item.rb
261
333
  - app/components/primer/avatar_component.rb
262
334
  - app/components/primer/avatar_stack_component.html.erb
263
335
  - app/components/primer/avatar_stack_component.rb
336
+ - app/components/primer/base_button.rb
264
337
  - app/components/primer/base_component.rb
265
338
  - app/components/primer/blankslate_component.html.erb
266
339
  - app/components/primer/blankslate_component.rb
@@ -269,10 +342,17 @@ files:
269
342
  - app/components/primer/box_component.rb
270
343
  - app/components/primer/breadcrumb_component.html.erb
271
344
  - app/components/primer/breadcrumb_component.rb
345
+ - app/components/primer/button_component.html.erb
272
346
  - app/components/primer/button_component.rb
273
- - app/components/primer/button_group_component.html.erb
274
- - app/components/primer/button_group_component.rb
347
+ - app/components/primer/button_group.html.erb
348
+ - app/components/primer/button_group.rb
275
349
  - app/components/primer/button_marketing_component.rb
350
+ - app/components/primer/clipboard_copy.html.erb
351
+ - app/components/primer/clipboard_copy.rb
352
+ - app/components/primer/clipboard_copy_component.d.ts
353
+ - app/components/primer/clipboard_copy_component.js
354
+ - app/components/primer/clipboard_copy_component.ts
355
+ - app/components/primer/close_button.rb
276
356
  - app/components/primer/component.rb
277
357
  - app/components/primer/counter_component.rb
278
358
  - app/components/primer/details_component.html.erb
@@ -288,6 +368,8 @@ files:
288
368
  - app/components/primer/flex_component.rb
289
369
  - app/components/primer/flex_item_component.rb
290
370
  - app/components/primer/heading_component.rb
371
+ - app/components/primer/hidden_text_expander.rb
372
+ - app/components/primer/icon_button.rb
291
373
  - app/components/primer/label_component.rb
292
374
  - app/components/primer/layout_component.html.erb
293
375
  - app/components/primer/layout_component.rb
@@ -324,12 +406,13 @@ files:
324
406
  - app/components/primer/timeline_item_component.html.erb
325
407
  - app/components/primer/timeline_item_component.rb
326
408
  - app/components/primer/tooltip_component.rb
327
- - app/components/primer/truncate_component.rb
409
+ - app/components/primer/truncate.rb
328
410
  - app/components/primer/underline_nav_component.html.erb
329
411
  - app/components/primer/underline_nav_component.rb
330
412
  - app/lib/primer/class_name_helper.rb
331
413
  - app/lib/primer/classify.rb
332
414
  - app/lib/primer/classify/cache.rb
415
+ - app/lib/primer/classify/flex.rb
333
416
  - app/lib/primer/classify/functional_background_colors.rb
334
417
  - app/lib/primer/classify/functional_border_colors.rb
335
418
  - app/lib/primer/classify/functional_colors.rb
@@ -337,6 +420,7 @@ files:
337
420
  - app/lib/primer/classify/spacing.rb
338
421
  - app/lib/primer/fetch_or_fallback_helper.rb
339
422
  - app/lib/primer/join_style_arguments_helper.rb
423
+ - app/lib/primer/octicon/cache.rb
340
424
  - app/lib/primer/status/dsl.rb
341
425
  - app/lib/primer/tabbed_component_helper.rb
342
426
  - app/lib/primer/test_selector_helper.rb