primer_view_components 0.1.8 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +79 -0
  3. data/README.md +1 -1
  4. data/app/assets/javascripts/primer_view_components.js +1 -1
  5. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  6. data/app/assets/styles/primer_view_components.css +1 -3
  7. data/app/assets/styles/primer_view_components.css.map +1 -1
  8. data/app/components/primer/alpha/action_list/item.rb +3 -5
  9. data/app/components/primer/alpha/action_list.css +1 -1
  10. data/app/components/primer/alpha/action_list.css.json +16 -16
  11. data/app/components/primer/alpha/action_list.css.map +1 -1
  12. data/app/components/primer/alpha/action_list.pcss +145 -145
  13. data/app/components/primer/alpha/action_list.rb +30 -15
  14. data/app/components/primer/alpha/action_menu/action_menu_element.d.ts +2 -1
  15. data/app/components/primer/alpha/action_menu/action_menu_element.js +44 -34
  16. data/app/components/primer/alpha/action_menu/action_menu_element.ts +32 -30
  17. data/app/components/primer/alpha/action_menu/list.rb +6 -1
  18. data/app/components/primer/alpha/action_menu.rb +1 -1
  19. data/app/components/primer/alpha/auto_complete.css +1 -1
  20. data/app/components/primer/alpha/auto_complete.css.map +1 -1
  21. data/app/components/primer/alpha/auto_complete.pcss +3 -3
  22. data/app/components/primer/alpha/banner.css +1 -1
  23. data/app/components/primer/alpha/banner.css.map +1 -1
  24. data/app/components/primer/alpha/banner.pcss +11 -11
  25. data/app/components/primer/alpha/button_marketing.css.map +1 -1
  26. data/app/components/primer/alpha/button_marketing.pcss +5 -12
  27. data/app/components/primer/alpha/button_marketing.rb +3 -0
  28. data/app/components/primer/alpha/dialog.css +1 -1
  29. data/app/components/primer/alpha/dialog.css.map +1 -1
  30. data/app/components/primer/alpha/dialog.pcss +36 -36
  31. data/app/components/primer/alpha/dropdown.css +1 -1
  32. data/app/components/primer/alpha/dropdown.css.map +1 -1
  33. data/app/components/primer/alpha/dropdown.pcss +12 -12
  34. data/app/components/primer/alpha/form_control.html.erb +1 -1
  35. data/app/components/primer/alpha/hellip_button.rb +3 -1
  36. data/app/components/primer/alpha/layout.css +1 -1
  37. data/app/components/primer/alpha/layout.css.map +1 -1
  38. data/app/components/primer/alpha/layout.pcss +4 -4
  39. data/app/components/primer/alpha/menu.css +1 -1
  40. data/app/components/primer/alpha/menu.css.map +1 -1
  41. data/app/components/primer/alpha/menu.pcss +21 -21
  42. data/app/components/primer/alpha/modal_dialog.js +17 -4
  43. data/app/components/primer/alpha/modal_dialog.ts +17 -4
  44. data/app/components/primer/alpha/nav_list/item.rb +2 -0
  45. data/app/components/primer/alpha/nav_list.js +6 -0
  46. data/app/components/primer/alpha/nav_list.rb +55 -36
  47. data/app/components/primer/alpha/nav_list.ts +8 -0
  48. data/app/components/primer/alpha/octicon_symbols.html.erb +1 -1
  49. data/app/components/primer/alpha/overlay/header.html.erb +5 -3
  50. data/app/components/primer/alpha/overlay/header.rb +4 -1
  51. data/app/components/primer/alpha/overlay.css +1 -1
  52. data/app/components/primer/alpha/overlay.css.json +1 -2
  53. data/app/components/primer/alpha/overlay.css.map +1 -1
  54. data/app/components/primer/alpha/overlay.pcss +14 -4
  55. data/app/components/primer/alpha/overlay.rb +1 -0
  56. data/app/components/primer/alpha/segmented_control.css +1 -1
  57. data/app/components/primer/alpha/segmented_control.css.map +1 -1
  58. data/app/components/primer/alpha/segmented_control.pcss +24 -33
  59. data/app/components/primer/alpha/tab_nav.css +1 -1
  60. data/app/components/primer/alpha/tab_nav.css.map +1 -1
  61. data/app/components/primer/alpha/tab_nav.pcss +12 -12
  62. data/app/components/primer/alpha/text_field.css +1 -3
  63. data/app/components/primer/alpha/text_field.css.json +1 -0
  64. data/app/components/primer/alpha/text_field.css.map +1 -1
  65. data/app/components/primer/alpha/text_field.pcss +87 -83
  66. data/app/components/primer/alpha/toggle_switch.css +1 -1
  67. data/app/components/primer/alpha/toggle_switch.css.json +11 -11
  68. data/app/components/primer/alpha/toggle_switch.css.map +1 -1
  69. data/app/components/primer/alpha/toggle_switch.d.ts +1 -1
  70. data/app/components/primer/alpha/toggle_switch.html.erb +2 -2
  71. data/app/components/primer/alpha/toggle_switch.js +44 -42
  72. data/app/components/primer/alpha/toggle_switch.pcss +16 -16
  73. data/app/components/primer/alpha/toggle_switch.rb +7 -0
  74. data/app/components/primer/alpha/toggle_switch.ts +50 -41
  75. data/app/components/primer/alpha/underline_nav.css +1 -1
  76. data/app/components/primer/alpha/underline_nav.css.map +1 -1
  77. data/app/components/primer/alpha/underline_nav.pcss +11 -11
  78. data/app/components/primer/beta/auto_complete.rb +1 -1
  79. data/app/components/primer/beta/avatar.css +1 -1
  80. data/app/components/primer/beta/avatar.css.map +1 -1
  81. data/app/components/primer/beta/avatar.pcss +18 -18
  82. data/app/components/primer/beta/avatar_stack.css +1 -1
  83. data/app/components/primer/beta/avatar_stack.css.map +1 -1
  84. data/app/components/primer/beta/avatar_stack.pcss +5 -5
  85. data/app/components/primer/beta/base_button.rb +11 -0
  86. data/app/components/primer/beta/blankslate.css +1 -1
  87. data/app/components/primer/beta/blankslate.css.map +1 -1
  88. data/app/components/primer/beta/blankslate.pcss +16 -16
  89. data/app/components/primer/beta/border_box.css +1 -1
  90. data/app/components/primer/beta/border_box.css.json +1 -1
  91. data/app/components/primer/beta/border_box.css.map +1 -1
  92. data/app/components/primer/beta/border_box.pcss +40 -42
  93. data/app/components/primer/beta/button.css +1 -1
  94. data/app/components/primer/beta/button.css.json +4 -0
  95. data/app/components/primer/beta/button.css.map +1 -1
  96. data/app/components/primer/beta/button.pcss +39 -24
  97. data/app/components/primer/beta/button.rb +3 -0
  98. data/app/components/primer/beta/button_group.css +1 -0
  99. data/app/components/primer/beta/button_group.css.json +14 -0
  100. data/app/components/primer/beta/button_group.css.map +1 -0
  101. data/app/components/primer/beta/button_group.pcss +27 -0
  102. data/app/components/primer/beta/button_group.rb +19 -19
  103. data/app/components/primer/beta/close_button.rb +3 -1
  104. data/app/components/primer/beta/counter.css +1 -1
  105. data/app/components/primer/beta/counter.css.map +1 -1
  106. data/app/components/primer/beta/counter.pcss +5 -5
  107. data/app/components/primer/beta/details.html.erb +6 -2
  108. data/app/components/primer/beta/details.rb +18 -10
  109. data/app/components/primer/beta/flash.css +1 -1
  110. data/app/components/primer/beta/flash.css.map +1 -1
  111. data/app/components/primer/beta/flash.pcss +12 -12
  112. data/app/components/primer/beta/icon_button.rb +7 -3
  113. data/app/components/primer/beta/label.css +1 -1
  114. data/app/components/primer/beta/label.css.map +1 -1
  115. data/app/components/primer/beta/label.pcss +3 -3
  116. data/app/components/primer/beta/popover.css +1 -1
  117. data/app/components/primer/beta/popover.css.map +1 -1
  118. data/app/components/primer/beta/popover.pcss +4 -4
  119. data/app/components/primer/beta/state.css +1 -1
  120. data/app/components/primer/beta/state.css.map +1 -1
  121. data/app/components/primer/beta/state.pcss +7 -7
  122. data/app/components/primer/beta/subhead.css +1 -1
  123. data/app/components/primer/beta/subhead.css.map +1 -1
  124. data/app/components/primer/beta/subhead.pcss +9 -9
  125. data/app/components/primer/beta/timeline_item.css +1 -1
  126. data/app/components/primer/beta/timeline_item.css.map +1 -1
  127. data/app/components/primer/beta/timeline_item.pcss +18 -18
  128. data/app/components/primer/beta/truncate.css +1 -1
  129. data/app/components/primer/beta/truncate.css.map +1 -1
  130. data/app/components/primer/beta/truncate.pcss +1 -1
  131. data/app/components/primer/focus_group.js +8 -13
  132. data/app/components/primer/focus_group.ts +8 -12
  133. data/app/components/primer/primer.d.ts +1 -0
  134. data/app/components/primer/primer.js +1 -0
  135. data/app/components/primer/primer.pcss +1 -0
  136. data/app/components/primer/primer.ts +1 -0
  137. data/lib/postcss_mixins/activeIndicatorLine.pcss +4 -4
  138. data/lib/primer/accessibility.rb +74 -0
  139. data/lib/primer/forms/dsl/input.rb +4 -8
  140. data/lib/primer/forms/dsl/text_field_input.rb +0 -4
  141. data/lib/primer/forms/dsl/toggle_switch_input.rb +4 -0
  142. data/lib/primer/forms/form_control.html.erb +3 -5
  143. data/lib/primer/forms/primer_base_component_wrapper.html.erb +3 -0
  144. data/lib/primer/forms/primer_base_component_wrapper.rb +24 -0
  145. data/lib/primer/forms/toggle_switch.html.erb +3 -3
  146. data/lib/primer/forms/toggle_switch.rb +6 -2
  147. data/lib/primer/forms/toggle_switch_input.js +7 -2
  148. data/lib/primer/forms/toggle_switch_input.ts +9 -2
  149. data/lib/primer/static/generate_info_arch.rb +3 -0
  150. data/lib/primer/static/generate_previews.rb +15 -8
  151. data/lib/primer/view_components/linters/deprecated_components_counter.rb +37 -13
  152. data/lib/primer/view_components/version.rb +2 -2
  153. data/lib/primer/yard/component_manifest.rb +1 -1
  154. data/lib/primer/yard/lookbook_pages_backend.rb +8 -2
  155. data/lib/primer/yard/registry.rb +4 -0
  156. data/previews/pages/forms/03_caption_templates.md.erb +1 -1
  157. data/previews/pages/forms/04_after_content.md.erb +1 -1
  158. data/previews/pages/forms/06_miscellaneous_inputs.md.erb +1 -1
  159. data/previews/pages/forms/07_toggle_switch_forms.md.erb +1 -1
  160. data/previews/primer/alpha/action_menu_preview/two_menus.html.erb +13 -0
  161. data/previews/primer/alpha/action_menu_preview/with_actions.html.erb +21 -0
  162. data/previews/primer/alpha/action_menu_preview.rb +5 -13
  163. data/previews/primer/alpha/button_marketing_preview.rb +3 -2
  164. data/previews/primer/alpha/dialog_preview.rb +4 -3
  165. data/previews/primer/alpha/hellip_button_preview.rb +3 -2
  166. data/previews/primer/alpha/nav_list_preview.rb +1 -1
  167. data/previews/primer/alpha/overlay_preview/middle_of_page_with_relative_container.html.erb +19 -0
  168. data/previews/primer/alpha/overlay_preview.rb +31 -0
  169. data/previews/primer/beta/base_button_preview.rb +9 -2
  170. data/previews/primer/beta/button_group_preview/action_menus.html.erb +8 -0
  171. data/previews/primer/beta/button_group_preview.rb +49 -11
  172. data/previews/primer/beta/button_preview/trailing_counter.html.erb +1 -1
  173. data/previews/primer/beta/button_preview.rb +5 -2
  174. data/previews/primer/beta/close_button_preview.rb +3 -2
  175. data/previews/primer/beta/details_preview.rb +11 -8
  176. data/previews/primer/forms_preview.rb +44 -0
  177. data/static/arguments.json +11 -5
  178. data/static/classes.json +378 -372
  179. data/static/constants.json +0 -1
  180. data/static/info_arch.json +5457 -1364
  181. data/static/previews.json +5197 -1428
  182. metadata +40 -36
  183. data/lib/tasks/docs.rake +0 -185
  184. data/lib/tasks/helpers/ast_processor.rb +0 -44
  185. data/lib/tasks/helpers/ast_traverser.rb +0 -77
  186. data/lib/tasks/primer_view_components.rake +0 -47
  187. data/lib/tasks/static.rake +0 -29
  188. data/lib/tasks/test.rake +0 -83
  189. data/lib/tasks/utilities.rake +0 -109
  190. data/previews/primer/forms/forms_preview.rb +0 -48
  191. /data/previews/primer/{forms/forms_preview → forms_preview}/after_content_form.html.erb +0 -0
  192. /data/previews/primer/{forms/forms_preview → forms_preview}/array_check_box_group_form.html.erb +0 -0
  193. /data/previews/primer/{forms/forms_preview → forms_preview}/caption_template_form.html.erb +0 -0
  194. /data/previews/primer/{forms/forms_preview → forms_preview}/check_box_group_form.html.erb +0 -0
  195. /data/previews/primer/{forms/forms_preview → forms_preview}/check_box_with_nested_form.html.erb +0 -0
  196. /data/previews/primer/{forms/forms_preview → forms_preview}/composed_form.html.erb +0 -0
  197. /data/previews/primer/{forms/forms_preview → forms_preview}/example_toggle_switch_form.html.erb +0 -0
  198. /data/previews/primer/{forms/forms_preview → forms_preview}/horizontal_form.html.erb +0 -0
  199. /data/previews/primer/{forms/forms_preview → forms_preview}/immediate_validation_form.html.erb +0 -0
  200. /data/previews/primer/{forms/forms_preview → forms_preview}/invalid_form.html.erb +0 -0
  201. /data/previews/primer/{forms/forms_preview → forms_preview}/multi_input_form.html.erb +0 -0
  202. /data/previews/primer/{forms/forms_preview → forms_preview}/multi_text_field_form.html.erb +0 -0
  203. /data/previews/primer/{forms/forms_preview → forms_preview}/name_with_question_mark_form.html.erb +0 -0
  204. /data/previews/primer/{forms/forms_preview → forms_preview}/radio_button_group_form.html.erb +0 -0
  205. /data/previews/primer/{forms/forms_preview → forms_preview}/radio_button_with_nested_form.html.erb +0 -0
  206. /data/previews/primer/{forms/forms_preview → forms_preview}/select_form.html.erb +0 -0
  207. /data/previews/primer/{forms/forms_preview → forms_preview}/single_text_field_form.html.erb +0 -0
  208. /data/previews/primer/{forms/forms_preview → forms_preview}/submit_button_form.html.erb +0 -0
  209. /data/previews/primer/{forms/forms_preview → forms_preview}/text_field_and_checkbox_form.html.erb +0 -0
@@ -1,109 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- namespace :utilities do
4
- task :build do
5
- require "yaml"
6
- require "json"
7
- ENV["RAILS_ENV"] = "test"
8
- require File.expand_path("./../../demo/config/environment.rb", __dir__)
9
- require "primer/classify/utilities"
10
-
11
- # Keys that are looked for to be included in the utilities.yml file
12
- # rubocop:disable Lint/ConstantDefinitionInBlock
13
- SUPPORTED_KEYS = [
14
- /^anim\b/,
15
- /^color-bg\b/,
16
- /^color-border\b/,
17
- /^color-fg\b/,
18
- /^col\b/,
19
- /^container\b/,
20
- /^clearfix\b/,
21
- /^d\b/,
22
- /^float\b/,
23
- /^height\b/,
24
- /^hide\b/,
25
- /^m[trblxy]?\b/,
26
- /^p[trblxy]?\b/,
27
- /^position\b/,
28
- /^wb\b/,
29
- /^width\b/,
30
- /^v\b/
31
- ].freeze
32
-
33
- BREAKPOINTS = [nil, "sm", "md", "lg", "xl"].freeze
34
- # rubocop:enable Lint/ConstantDefinitionInBlock
35
-
36
- utility_data = JSON.parse(File.read("app/lib/primer/css/utilities.css.json"))["selectors"]
37
- layout_data = JSON.parse(File.read("app/lib/primer/css/layout.css.json"))["selectors"]
38
- css_data = utility_data + layout_data
39
-
40
- output = {}
41
-
42
- css_data.each do |selector|
43
- selector.sub!(/^./, "")
44
- selector.sub!(/:[^\s]*$/, "")
45
-
46
- # Next if selector has ancestors or sibling selectors
47
- next if selector.match?(/[:><~\[.]/)
48
- next unless SUPPORTED_KEYS.any? { |key| selector =~ key }
49
-
50
- # Dupe so we still have the selector at the end of slicing it up
51
- classname = selector.dup
52
- key = ""
53
-
54
- # Look for a replacement key
55
- Primer::Classify::Utilities::REPLACEMENT_KEYS.each do |k, v|
56
- next unless classname.match?(Regexp.new(k))
57
-
58
- key = v
59
- classname.sub!(Regexp.new("#{k}-"), "")
60
- end
61
-
62
- # If we didn't find a replacement, grab the first text before hyphen
63
- if classname == selector
64
- key = classname.split("-").first
65
- classname.sub!(/^[^-]+-/, "")
66
- end
67
-
68
- # Check if the next bit of the classname is a breakpoint
69
- if classname.match?(/^(sm-|md-|lg-|xl-)/)
70
- breakpoint = classname.split("-").first
71
- classname.sub!(/^[^-]+-/, "")
72
- end
73
-
74
- # Change the rest from hyphens to underscores
75
- classname.sub!(/-/, "_")
76
-
77
- # convert padding/margin negative values ie n7 to -7
78
- classname.sub!(/^n/, "-") if classname.match?(/^n[0-9]/)
79
-
80
- # If key and classname are equal, then classname is boolean
81
- classname = true if key == classname
82
-
83
- key = key.to_sym
84
-
85
- if classname.is_a?(String)
86
- classname = classname.match?(/\A[-+]?[0-9]+\z/) ? classname.to_i : classname.to_sym
87
- end
88
-
89
- if output[key].nil?
90
- output[key] = { classname => Array.new(5, nil) }
91
- elsif output[key][classname].nil?
92
- output[key][classname] = Array.new(5, nil)
93
- end
94
-
95
- output[key][classname][BREAKPOINTS.index(breakpoint)] = selector
96
- end
97
-
98
- output.transform_values! do |x|
99
- x.transform_values { |y| y.reverse.drop_while(&:nil?).reverse }
100
- end
101
-
102
- custom_utility_data = YAML.load_file("lib/tasks/custom_utilities.yml")
103
- output.merge!(custom_utility_data)
104
-
105
- File.open("lib/primer/classify/utilities.yml", "w") do |f|
106
- f.puts YAML.dump(output)
107
- end
108
- end
109
- end
@@ -1,48 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- module Forms
5
- # :nodoc:
6
- #
7
- # @logical_path primer/
8
- class FormsPreview < ViewComponent::Preview
9
- def single_text_field_form; end
10
-
11
- def multi_text_field_form; end
12
-
13
- def text_field_and_checkbox_form; end
14
-
15
- def horizontal_form; end
16
-
17
- def composed_form; end
18
-
19
- def submit_button_form; end
20
-
21
- def radio_button_group_form; end
22
-
23
- def check_box_group_form; end
24
-
25
- def array_check_box_group_form; end
26
-
27
- def select_form; end
28
-
29
- def radio_button_with_nested_form; end
30
-
31
- def check_box_with_nested_form; end
32
-
33
- def caption_template_form; end
34
-
35
- def after_content_form; end
36
-
37
- def invalid_form; end
38
-
39
- def multi_input_form; end
40
-
41
- def name_with_question_mark_form; end
42
-
43
- def immediate_validation_form; end
44
-
45
- def example_toggle_switch_form; end
46
- end
47
- end
48
- end