primer_view_components 0.34.0 → 0.35.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 (279) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/app/assets/javascripts/{app/components → components}/primer/primer.d.ts +3 -4
  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 -1
  7. data/app/assets/styles/primer_view_components.css.map +1 -1
  8. data/app/components/primer/alpha/action_bar.css.map +1 -1
  9. data/app/components/primer/alpha/action_bar.pcss +7 -4
  10. data/app/components/primer/alpha/action_bar_element.js +0 -3
  11. data/app/components/primer/alpha/action_bar_element.ts +0 -4
  12. data/app/components/primer/alpha/action_list.css +1 -1
  13. data/app/components/primer/alpha/action_list.css.map +1 -1
  14. data/app/components/primer/alpha/action_list.pcss +25 -8
  15. data/app/components/primer/alpha/action_list.rb +1 -1
  16. data/app/components/primer/alpha/auto_complete.css +1 -1
  17. data/app/components/primer/alpha/auto_complete.css.map +1 -1
  18. data/app/components/primer/alpha/auto_complete.pcss +7 -7
  19. data/app/components/primer/alpha/banner.css +1 -1
  20. data/app/components/primer/alpha/banner.css.map +1 -1
  21. data/app/components/primer/alpha/banner.pcss +6 -2
  22. data/app/components/primer/alpha/button_marketing.css.map +1 -1
  23. data/app/components/primer/alpha/button_marketing.pcss +11 -4
  24. data/app/components/primer/alpha/dialog.css +1 -1
  25. data/app/components/primer/alpha/dialog.css.json +2 -1
  26. data/app/components/primer/alpha/dialog.css.map +1 -1
  27. data/app/components/primer/alpha/dialog.pcss +39 -13
  28. data/app/components/primer/alpha/dialog.rb +5 -1
  29. data/app/components/primer/alpha/dropdown.css +1 -1
  30. data/app/components/primer/alpha/dropdown.css.map +1 -1
  31. data/app/components/primer/alpha/dropdown.pcss +45 -11
  32. data/app/components/primer/alpha/layout.css.map +1 -1
  33. data/app/components/primer/alpha/layout.pcss +3 -2
  34. data/app/components/primer/alpha/menu.css.map +1 -1
  35. data/app/components/primer/alpha/menu.pcss +7 -0
  36. data/app/components/primer/alpha/overlay.css.map +1 -1
  37. data/app/components/primer/alpha/overlay.pcss +3 -3
  38. data/app/components/primer/alpha/segmented_control.css.map +1 -1
  39. data/app/components/primer/alpha/segmented_control.pcss +15 -8
  40. data/app/components/primer/alpha/select_panel.html.erb +8 -5
  41. data/app/components/primer/alpha/select_panel.rb +26 -1
  42. data/app/components/primer/alpha/select_panel_element.js +9 -3
  43. data/app/components/primer/alpha/select_panel_element.ts +10 -4
  44. data/app/components/primer/alpha/stack.css +1 -0
  45. data/app/components/primer/alpha/stack.css.json +90 -0
  46. data/app/components/primer/alpha/stack.css.map +1 -0
  47. data/app/components/primer/alpha/stack.html.erb +3 -0
  48. data/app/components/primer/alpha/stack.pcss +297 -0
  49. data/app/components/primer/alpha/stack.rb +185 -0
  50. data/app/components/primer/alpha/stack_item.css +1 -0
  51. data/app/components/primer/alpha/stack_item.css.json +12 -0
  52. data/app/components/primer/alpha/stack_item.css.map +1 -0
  53. data/app/components/primer/alpha/stack_item.html.erb +3 -0
  54. data/app/components/primer/alpha/stack_item.pcss +31 -0
  55. data/app/components/primer/alpha/stack_item.rb +54 -0
  56. data/app/components/primer/alpha/tab_nav.css +1 -1
  57. data/app/components/primer/alpha/tab_nav.css.map +1 -1
  58. data/app/components/primer/alpha/tab_nav.pcss +12 -3
  59. data/app/components/primer/alpha/text_field.css +1 -1
  60. data/app/components/primer/alpha/text_field.css.map +1 -1
  61. data/app/components/primer/alpha/text_field.pcss +29 -22
  62. data/app/components/primer/alpha/toggle_switch.css +1 -1
  63. data/app/components/primer/alpha/toggle_switch.css.map +1 -1
  64. data/app/components/primer/alpha/toggle_switch.pcss +6 -3
  65. data/app/components/primer/alpha/underline_nav.css +1 -1
  66. data/app/components/primer/alpha/underline_nav.css.map +1 -1
  67. data/app/components/primer/alpha/underline_nav.pcss +8 -2
  68. data/app/components/primer/base_component.rb +1 -1
  69. data/app/components/primer/beta/avatar.css +1 -1
  70. data/app/components/primer/beta/avatar.css.map +1 -1
  71. data/app/components/primer/beta/avatar.pcss +4 -1
  72. data/app/components/primer/beta/avatar_stack.css +1 -1
  73. data/app/components/primer/beta/avatar_stack.css.map +1 -1
  74. data/app/components/primer/beta/avatar_stack.pcss +9 -2
  75. data/app/components/primer/beta/blankslate.css +1 -1
  76. data/app/components/primer/beta/blankslate.css.map +1 -1
  77. data/app/components/primer/beta/blankslate.pcss +24 -3
  78. data/app/components/primer/beta/border_box.css +1 -1
  79. data/app/components/primer/beta/border_box.css.map +1 -1
  80. data/app/components/primer/beta/border_box.pcss +8 -4
  81. data/app/components/primer/beta/breadcrumbs.css.map +1 -1
  82. data/app/components/primer/beta/breadcrumbs.pcss +5 -1
  83. data/app/components/primer/beta/button.css +1 -1
  84. data/app/components/primer/beta/button.css.map +1 -1
  85. data/app/components/primer/beta/button.pcss +31 -27
  86. data/app/components/primer/beta/button_group.css.map +1 -1
  87. data/app/components/primer/beta/button_group.pcss +1 -0
  88. data/app/components/primer/beta/counter.css +1 -1
  89. data/app/components/primer/beta/counter.css.map +1 -1
  90. data/app/components/primer/beta/counter.pcss +3 -1
  91. data/app/components/primer/beta/flash.css.map +1 -1
  92. data/app/components/primer/beta/flash.pcss +7 -4
  93. data/app/components/primer/beta/label.css.map +1 -1
  94. data/app/components/primer/beta/label.pcss +4 -0
  95. data/app/components/primer/beta/popover.css +1 -1
  96. data/app/components/primer/beta/popover.css.map +1 -1
  97. data/app/components/primer/beta/popover.pcss +15 -7
  98. data/app/components/primer/beta/progress_bar.css +1 -1
  99. data/app/components/primer/beta/progress_bar.css.map +1 -1
  100. data/app/components/primer/beta/progress_bar.pcss +2 -2
  101. data/app/components/primer/beta/state.css +1 -1
  102. data/app/components/primer/beta/state.css.map +1 -1
  103. data/app/components/primer/beta/state.pcss +6 -1
  104. data/app/components/primer/beta/subhead.css.map +1 -1
  105. data/app/components/primer/beta/subhead.pcss +3 -0
  106. data/app/components/primer/beta/timeline_item.css.map +1 -1
  107. data/app/components/primer/beta/timeline_item.pcss +11 -0
  108. data/app/components/primer/beta/truncate.css.map +1 -1
  109. data/app/components/primer/beta/truncate.pcss +1 -0
  110. data/app/components/primer/dialog_helper.js +0 -1
  111. data/app/components/primer/dialog_helper.ts +0 -1
  112. data/app/components/primer/primer.d.ts +3 -4
  113. data/app/components/primer/primer.js +3 -4
  114. data/app/components/primer/primer.pcss +6 -4
  115. data/app/components/primer/primer.ts +3 -4
  116. data/app/components/primer/responsive_arg.rb +66 -0
  117. data/app/forms/caption_template_form/places_bellevue_caption.html.erb +1 -0
  118. data/app/forms/caption_template_form/places_lopez_caption.html.erb +1 -0
  119. data/app/forms/caption_template_form/places_seattle_caption.html.erb +1 -0
  120. data/app/forms/caption_template_form.rb +6 -0
  121. data/app/forms/check_box_group_form.rb +1 -1
  122. data/app/forms/radio_button_group_form.rb +5 -1
  123. data/app/lib/primer/attributes_helper.rb +1 -1
  124. data/{lib → app/lib}/primer/forms/base_component.rb +0 -8
  125. data/{lib → app/lib}/primer/forms/button.rb +5 -2
  126. data/{lib → app/lib}/primer/forms/check_box_group.html.erb +3 -3
  127. data/{lib → app/lib}/primer/forms/check_box_group.rb +1 -1
  128. data/{lib → app/lib}/primer/forms/dsl/check_box_input.rb +4 -8
  129. data/{lib → app/lib}/primer/forms/dsl/input.rb +13 -1
  130. data/{lib → app/lib}/primer/forms/dsl/radio_button_input.rb +4 -0
  131. data/{lib → app/lib}/primer/forms/group.html.erb +1 -1
  132. data/{lib → app/lib}/primer/forms/group.rb +5 -0
  133. data/{lib → app/lib}/primer/forms/radio_button_group.html.erb +3 -3
  134. data/{lib → app/lib}/primer/forms/radio_button_group.rb +1 -1
  135. data/{lib → app/lib}/primer/forms/select.html.erb +0 -1
  136. data/lib/primer/view_components/linters/details_menu_migration.rb +3 -2
  137. data/lib/primer/view_components/version.rb +1 -1
  138. data/lib/primer/yard/component_manifest.rb +0 -1
  139. data/previews/primer/alpha/action_bar_preview/inline.html.erb +1 -1
  140. data/previews/primer/alpha/dialog_preview/autofocus_element.html.erb +1 -1
  141. data/previews/primer/alpha/dialog_preview/custom_header.html.erb +3 -1
  142. data/previews/primer/alpha/dialog_preview/dialog_inside_overlay.html.erb +4 -4
  143. data/previews/primer/alpha/dialog_preview/nested_dialog.html.erb +1 -1
  144. data/previews/primer/alpha/dialog_preview/scroll_container.html.erb +11 -2
  145. data/previews/primer/alpha/dialog_preview/with_footer.html.erb +2 -2
  146. data/previews/primer/alpha/dialog_preview/with_form.html.erb +2 -2
  147. data/previews/primer/alpha/dialog_preview/with_text_input.html.erb +1 -1
  148. data/previews/primer/alpha/dialog_preview.rb +4 -2
  149. data/previews/primer/alpha/overlay_preview/in_a_sticky_container.html.erb +1 -1
  150. data/previews/primer/alpha/overlay_preview/overlay_with_header_filter.html.erb +1 -1
  151. data/previews/primer/alpha/select_panel_preview/_interaction_subject_js.html.erb +1 -1
  152. data/previews/primer/alpha/select_panel_preview/custom_loading_description.html.erb +23 -0
  153. data/previews/primer/alpha/select_panel_preview/custom_loading_label.html.erb +21 -0
  154. data/previews/primer/alpha/select_panel_preview/remote_fetch_filter_failure.html.erb +4 -2
  155. data/previews/primer/alpha/select_panel_preview/scroll_container.html.erb +49 -0
  156. data/previews/primer/alpha/select_panel_preview.rb +40 -2
  157. data/previews/primer/alpha/stack_item_preview/default.html.erb +5 -0
  158. data/previews/primer/alpha/stack_item_preview/playground.html.erb +11 -0
  159. data/previews/primer/alpha/stack_item_preview.rb +40 -0
  160. data/previews/primer/alpha/stack_preview/playground.html.erb +5 -0
  161. data/previews/primer/alpha/stack_preview.rb +88 -0
  162. data/previews/primer/alpha/text_field_preview/input_group_leading_action_menu.html.erb +1 -2
  163. data/previews/primer/alpha/tooltip_preview/tooltip_inside_primer_overlay.html.erb +2 -2
  164. data/previews/primer/alpha/tooltip_preview/tooltip_with_dialog_moving_focus_to_input.html.erb +1 -1
  165. data/previews/primer/alpha/underline_nav_preview/default.html.erb +1 -1
  166. data/previews/primer/alpha/underline_nav_preview/playground.html.erb +1 -1
  167. data/previews/primer/beta/auto_complete_preview/with_submit_button.html.erb +18 -18
  168. data/previews/primer/beta/breadcrumbs_preview/with_deprecated_truncate.html.erb +3 -1
  169. data/previews/primer/beta/button_preview/summary_as_button.html.erb +0 -1
  170. data/previews/primer/beta/subhead_preview/actions.html.erb +0 -1
  171. data/static/arguments.json +112 -30
  172. data/static/audited_at.json +2 -1
  173. data/static/classes.json +6 -0
  174. data/static/constants.json +153 -7
  175. data/static/info_arch.json +248 -98
  176. data/static/previews.json +107 -47
  177. data/static/statuses.json +2 -1
  178. metadata +134 -117
  179. data/app/assets/javascripts/app/components/primer/alpha/image_crop.d.ts +0 -1
  180. data/app/components/primer/alpha/image_crop.d.ts +0 -1
  181. data/app/components/primer/alpha/image_crop.html.erb +0 -12
  182. data/app/components/primer/alpha/image_crop.js +0 -1
  183. data/app/components/primer/alpha/image_crop.rb +0 -28
  184. data/app/components/primer/alpha/image_crop.ts +0 -1
  185. data/previews/primer/alpha/image_crop_preview.rb +0 -31
  186. /data/app/assets/javascripts/{app/components → components}/primer/alpha/action_bar_element.d.ts +0 -0
  187. /data/app/assets/javascripts/{app/components → components}/primer/alpha/action_list.d.ts +0 -0
  188. /data/app/assets/javascripts/{app/components → components}/primer/alpha/action_menu/action_menu_element.d.ts +0 -0
  189. /data/app/assets/javascripts/{app/components → components}/primer/alpha/dropdown/menu.d.ts +0 -0
  190. /data/app/assets/javascripts/{app/components → components}/primer/alpha/dropdown.d.ts +0 -0
  191. /data/app/assets/javascripts/{app/components → components}/primer/alpha/modal_dialog.d.ts +0 -0
  192. /data/app/assets/javascripts/{app/components → components}/primer/alpha/segmented_control.d.ts +0 -0
  193. /data/app/assets/javascripts/{app/components → components}/primer/alpha/select_panel_element.d.ts +0 -0
  194. /data/app/assets/javascripts/{app/components → components}/primer/alpha/tab_container.d.ts +0 -0
  195. /data/app/assets/javascripts/{app/components → components}/primer/alpha/toggle_switch.d.ts +0 -0
  196. /data/app/assets/javascripts/{app/components → components}/primer/alpha/tool_tip.d.ts +0 -0
  197. /data/app/assets/javascripts/{app/components → components}/primer/alpha/x_banner.d.ts +0 -0
  198. /data/app/assets/javascripts/{app/components → components}/primer/anchored_position.d.ts +0 -0
  199. /data/app/assets/javascripts/{app/components → components}/primer/aria_live.d.ts +0 -0
  200. /data/app/assets/javascripts/{app/components → components}/primer/beta/auto_complete/auto_complete.d.ts +0 -0
  201. /data/app/assets/javascripts/{app/components → components}/primer/beta/clipboard_copy.d.ts +0 -0
  202. /data/app/assets/javascripts/{app/components → components}/primer/beta/nav_list.d.ts +0 -0
  203. /data/app/assets/javascripts/{app/components → components}/primer/beta/nav_list_group_element.d.ts +0 -0
  204. /data/app/assets/javascripts/{app/components → components}/primer/beta/relative_time.d.ts +0 -0
  205. /data/app/assets/javascripts/{app/components → components}/primer/dialog_helper.d.ts +0 -0
  206. /data/app/assets/javascripts/{app/components → components}/primer/focus_group.d.ts +0 -0
  207. /data/app/assets/javascripts/{app/components → components}/primer/scrollable_region.d.ts +0 -0
  208. /data/app/assets/javascripts/{app/components → components}/primer/shared_events.d.ts +0 -0
  209. /data/{lib → app/lib}/primer/forms/action_menu.html.erb +0 -0
  210. /data/{lib → app/lib}/primer/forms/action_menu.rb +0 -0
  211. /data/{lib → app/lib}/primer/forms/acts_as_component.rb +0 -0
  212. /data/{lib → app/lib}/primer/forms/auto_complete.html.erb +0 -0
  213. /data/{lib → app/lib}/primer/forms/auto_complete.rb +0 -0
  214. /data/{lib → app/lib}/primer/forms/base.html.erb +0 -0
  215. /data/{lib → app/lib}/primer/forms/base.rb +0 -0
  216. /data/{lib → app/lib}/primer/forms/buffer_rewriter.rb +0 -0
  217. /data/{lib → app/lib}/primer/forms/builder.rb +0 -0
  218. /data/{lib → app/lib}/primer/forms/button.html.erb +0 -0
  219. /data/{lib → app/lib}/primer/forms/caption.html.erb +0 -0
  220. /data/{lib → app/lib}/primer/forms/caption.rb +0 -0
  221. /data/{lib → app/lib}/primer/forms/check_box.html.erb +0 -0
  222. /data/{lib → app/lib}/primer/forms/check_box.rb +0 -0
  223. /data/{lib → app/lib}/primer/forms/dsl/action_menu_input.rb +0 -0
  224. /data/{lib → app/lib}/primer/forms/dsl/auto_complete_input.rb +0 -0
  225. /data/{lib → app/lib}/primer/forms/dsl/button_input.rb +0 -0
  226. /data/{lib → app/lib}/primer/forms/dsl/check_box_group_input.rb +0 -0
  227. /data/{lib → app/lib}/primer/forms/dsl/form_object.rb +0 -0
  228. /data/{lib → app/lib}/primer/forms/dsl/form_reference_input.rb +0 -0
  229. /data/{lib → app/lib}/primer/forms/dsl/hidden_input.rb +0 -0
  230. /data/{lib → app/lib}/primer/forms/dsl/input_group.rb +0 -0
  231. /data/{lib → app/lib}/primer/forms/dsl/input_methods.rb +0 -0
  232. /data/{lib → app/lib}/primer/forms/dsl/multi_input.rb +0 -0
  233. /data/{lib → app/lib}/primer/forms/dsl/radio_button_group_input.rb +0 -0
  234. /data/{lib → app/lib}/primer/forms/dsl/select_input.rb +0 -0
  235. /data/{lib → app/lib}/primer/forms/dsl/submit_button_input.rb +0 -0
  236. /data/{lib → app/lib}/primer/forms/dsl/text_area_input.rb +0 -0
  237. /data/{lib → app/lib}/primer/forms/dsl/text_field_input.rb +0 -0
  238. /data/{lib → app/lib}/primer/forms/dsl/toggle_switch_input.rb +0 -0
  239. /data/{lib → app/lib}/primer/forms/form_control.html.erb +0 -0
  240. /data/{lib → app/lib}/primer/forms/form_control.rb +0 -0
  241. /data/{lib → app/lib}/primer/forms/form_list.html.erb +0 -0
  242. /data/{lib → app/lib}/primer/forms/form_list.rb +0 -0
  243. /data/{lib → app/lib}/primer/forms/form_reference.html.erb +0 -0
  244. /data/{lib → app/lib}/primer/forms/form_reference.rb +0 -0
  245. /data/{lib → app/lib}/primer/forms/hidden_field.html.erb +0 -0
  246. /data/{lib → app/lib}/primer/forms/hidden_field.rb +0 -0
  247. /data/{lib → app/lib}/primer/forms/multi.html.erb +0 -0
  248. /data/{lib → app/lib}/primer/forms/multi.rb +0 -0
  249. /data/{lib → app/lib}/primer/forms/primer_base_component_wrapper.html.erb +0 -0
  250. /data/{lib → app/lib}/primer/forms/primer_base_component_wrapper.rb +0 -0
  251. /data/{lib → app/lib}/primer/forms/primer_multi_input.d.ts +0 -0
  252. /data/{lib → app/lib}/primer/forms/primer_multi_input.js +0 -0
  253. /data/{lib → app/lib}/primer/forms/primer_multi_input.ts +0 -0
  254. /data/{lib → app/lib}/primer/forms/primer_text_field.d.ts +0 -0
  255. /data/{lib → app/lib}/primer/forms/primer_text_field.js +0 -0
  256. /data/{lib → app/lib}/primer/forms/primer_text_field.ts +0 -0
  257. /data/{lib → app/lib}/primer/forms/radio_button.html.erb +0 -0
  258. /data/{lib → app/lib}/primer/forms/radio_button.rb +0 -0
  259. /data/{lib → app/lib}/primer/forms/select.rb +0 -0
  260. /data/{lib → app/lib}/primer/forms/separator.html.erb +0 -0
  261. /data/{lib → app/lib}/primer/forms/separator.rb +0 -0
  262. /data/{lib → app/lib}/primer/forms/spacing_wrapper.html.erb +0 -0
  263. /data/{lib → app/lib}/primer/forms/spacing_wrapper.rb +0 -0
  264. /data/{lib → app/lib}/primer/forms/submit_button.html.erb +0 -0
  265. /data/{lib → app/lib}/primer/forms/submit_button.rb +0 -0
  266. /data/{lib → app/lib}/primer/forms/text_area.html.erb +0 -0
  267. /data/{lib → app/lib}/primer/forms/text_area.rb +0 -0
  268. /data/{lib → app/lib}/primer/forms/text_field.html.erb +0 -0
  269. /data/{lib → app/lib}/primer/forms/text_field.rb +0 -0
  270. /data/{lib → app/lib}/primer/forms/toggle_switch.html.erb +0 -0
  271. /data/{lib → app/lib}/primer/forms/toggle_switch.rb +0 -0
  272. /data/{lib → app/lib}/primer/forms/toggle_switch_form.rb +0 -0
  273. /data/{lib → app/lib}/primer/forms/toggle_switch_input.d.ts +0 -0
  274. /data/{lib → app/lib}/primer/forms/toggle_switch_input.js +0 -0
  275. /data/{lib → app/lib}/primer/forms/toggle_switch_input.ts +0 -0
  276. /data/{lib → app/lib}/primer/forms/utils.rb +0 -0
  277. /data/{lib → app/lib}/primer/forms/validation_message.html.erb +0 -0
  278. /data/{lib → app/lib}/primer/forms/validation_message.rb +0 -0
  279. /data/{lib → app/lib}/primer/forms.rb +0 -0
@@ -3,7 +3,9 @@
3
3
  .TimelineItem {
4
4
  position: relative;
5
5
  display: flex;
6
+ /* stylelint-disable-next-line primer/spacing */
6
7
  padding: var(--stack-padding-normal) 0;
8
+ /* stylelint-disable-next-line primer/spacing */
7
9
  margin-left: var(--stack-gap-normal);
8
10
 
9
11
  /* The Timeline */
@@ -15,11 +17,13 @@
15
17
  display: block;
16
18
  width: var(--borderWidth-thick);
17
19
  content: '';
20
+ /* stylelint-disable-next-line primer/colors */
18
21
  background-color: var(--borderColor-muted);
19
22
  }
20
23
 
21
24
  &:target .TimelineItem-badge {
22
25
  border-color: var(--borderColor-accent-emphasis);
26
+ /* stylelint-disable-next-line primer/box-shadow */
23
27
  box-shadow: 0 0 0.2em var(--borderColor-accent-muted);
24
28
  }
25
29
  }
@@ -30,11 +34,14 @@
30
34
  display: flex;
31
35
  width: var(--control-medium-size);
32
36
  height: var(--control-medium-size);
37
+ /* stylelint-disable-next-line primer/spacing */
33
38
  margin-right: var(--controlStack-medium-gap-condensed);
39
+ /* stylelint-disable-next-line primer/spacing */
34
40
  margin-left: calc(var(--control-medium-size) / -2 + 1px);
35
41
  color: var(--fgColor-muted);
36
42
  align-items: center;
37
43
  background-color: var(--timelineBadge-bgColor);
44
+ /* stylelint-disable-next-line primer/colors */
38
45
  border: var(--borderWidth-thick) solid var(--bgColor-default);
39
46
  border-radius: 50%;
40
47
  justify-content: center;
@@ -57,6 +64,7 @@
57
64
 
58
65
  .TimelineItem-avatar {
59
66
  position: absolute;
67
+ /* stylelint-disable-next-line primer/spacing */
60
68
  left: -72px;
61
69
  z-index: 1;
62
70
  }
@@ -66,7 +74,9 @@
66
74
  z-index: 1;
67
75
  height: var(--stack-gap-spacious);
68
76
  margin: 0;
77
+ /* stylelint-disable-next-line primer/spacing */
69
78
  margin-bottom: calc(var(--stack-gap-normal) * -1);
79
+ /* stylelint-disable-next-line primer/spacing */
70
80
  margin-left: -56px;
71
81
  background-color: var(--bgColor-default);
72
82
  border: 0;
@@ -79,6 +89,7 @@
79
89
 
80
90
  /* TimelineItem--condensed is often grouped. (commits) */
81
91
  &:last-child {
92
+ /* stylelint-disable-next-line primer/spacing */
82
93
  padding-bottom: var(--stack-gap-normal);
83
94
  }
84
95
 
@@ -1 +1 @@
1
- {"version":3,"sources":["truncate.pcss"],"names":[],"mappings":"AAEA,UACE,mBAAoB,CAEpB,cAAe,CADf,WA0BF,CAvBE,yBAEE,0BAAsB,CAAtB,qBAAsB,CADtB,aAAc,CAEd,eAAgB,CAChB,sBAAuB,CACvB,kBAiBF,CAfE,6CACE,oCACF,CAEA,qDACE,eACF,CAEA,2LAKE,cAAe,CADf,aAAc,CADd,wBAGF","file":"truncate.css","sourcesContent":["/* Truncate */\n\n.Truncate {\n display: inline-flex;\n min-width: 0;\n max-width: 100%;\n\n & > .Truncate-text {\n min-width: 1ch;\n max-width: fit-content;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n & + .Truncate-text {\n margin-left: var(--control-small-gap);\n }\n\n &.Truncate-text--primary {\n flex-basis: 200%;\n }\n\n &.Truncate-text--expandable:hover,\n &.Truncate-text--expandable:focus,\n &.Truncate-text--expandable:active {\n max-width: 100% !important;\n flex-shrink: 0;\n cursor: pointer;\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["truncate.pcss"],"names":[],"mappings":"AAEA,UACE,mBAAoB,CAEpB,cAAe,CADf,WA2BF,CAxBE,yBAEE,0BAAsB,CAAtB,qBAAsB,CADtB,aAAc,CAEd,eAAgB,CAChB,sBAAuB,CACvB,kBAkBF,CAhBE,6CAEE,oCACF,CAEA,qDACE,eACF,CAEA,2LAKE,cAAe,CADf,aAAc,CADd,wBAGF","file":"truncate.css","sourcesContent":["/* Truncate */\n\n.Truncate {\n display: inline-flex;\n min-width: 0;\n max-width: 100%;\n\n & > .Truncate-text {\n min-width: 1ch;\n max-width: fit-content;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n & + .Truncate-text {\n /* stylelint-disable-next-line primer/spacing */\n margin-left: var(--control-small-gap);\n }\n\n &.Truncate-text--primary {\n flex-basis: 200%;\n }\n\n &.Truncate-text--expandable:hover,\n &.Truncate-text--expandable:focus,\n &.Truncate-text--expandable:active {\n max-width: 100% !important;\n flex-shrink: 0;\n cursor: pointer;\n }\n }\n}\n"]}
@@ -13,6 +13,7 @@
13
13
  white-space: nowrap;
14
14
 
15
15
  & + .Truncate-text {
16
+ /* stylelint-disable-next-line primer/spacing */
16
17
  margin-left: var(--control-small-gap);
17
18
  }
18
19
 
@@ -115,7 +115,6 @@ export class DialogHelperElement extends HTMLElement {
115
115
  _DialogHelperElement_abortController = new WeakMap(), _DialogHelperElement_instances = new WeakSet(), _DialogHelperElement_handleDialogOpenAttribute = function _DialogHelperElement_handleDialogOpenAttribute() {
116
116
  if (!this.dialog)
117
117
  return;
118
- this.ownerDocument.body.classList.toggle('has-modal', this.dialog.matches(':modal'));
119
118
  // We don't want to show the Dialog component as non-modal
120
119
  if (this.dialog.matches('[open]:not(:modal)')) {
121
120
  // eslint-disable-next-line no-restricted-syntax
@@ -96,7 +96,6 @@ export class DialogHelperElement extends HTMLElement {
96
96
 
97
97
  #handleDialogOpenAttribute() {
98
98
  if (!this.dialog) return
99
- this.ownerDocument.body.classList.toggle('has-modal', this.dialog.matches(':modal'))
100
99
  // We don't want to show the Dialog component as non-modal
101
100
  if (this.dialog.matches('[open]:not(:modal)')) {
102
101
  // eslint-disable-next-line no-restricted-syntax
@@ -9,7 +9,6 @@ import './focus_group';
9
9
  import './scrollable_region';
10
10
  import './aria_live';
11
11
  import './shared_events';
12
- import './alpha/image_crop';
13
12
  import './alpha/modal_dialog';
14
13
  import './beta/nav_list';
15
14
  import './beta/nav_list_group_element';
@@ -21,8 +20,8 @@ import './beta/auto_complete/auto_complete';
21
20
  import './beta/clipboard_copy';
22
21
  import './beta/relative_time';
23
22
  import './alpha/tab_container';
24
- import '../../../lib/primer/forms/primer_multi_input';
25
- import '../../../lib/primer/forms/primer_text_field';
26
- import '../../../lib/primer/forms/toggle_switch_input';
23
+ import '../../lib/primer/forms/primer_multi_input';
24
+ import '../../lib/primer/forms/primer_text_field';
25
+ import '../../lib/primer/forms/toggle_switch_input';
27
26
  import './alpha/action_menu/action_menu_element';
28
27
  import './alpha/select_panel_element';
@@ -9,7 +9,6 @@ import './focus_group';
9
9
  import './scrollable_region';
10
10
  import './aria_live';
11
11
  import './shared_events';
12
- import './alpha/image_crop';
13
12
  import './alpha/modal_dialog';
14
13
  import './beta/nav_list';
15
14
  import './beta/nav_list_group_element';
@@ -21,8 +20,8 @@ import './beta/auto_complete/auto_complete';
21
20
  import './beta/clipboard_copy';
22
21
  import './beta/relative_time';
23
22
  import './alpha/tab_container';
24
- import '../../../lib/primer/forms/primer_multi_input';
25
- import '../../../lib/primer/forms/primer_text_field';
26
- import '../../../lib/primer/forms/toggle_switch_input';
23
+ import '../../lib/primer/forms/primer_multi_input';
24
+ import '../../lib/primer/forms/primer_text_field';
25
+ import '../../lib/primer/forms/toggle_switch_input';
27
26
  import './alpha/action_menu/action_menu_element';
28
27
  import './alpha/select_panel_element';
@@ -4,17 +4,19 @@
4
4
  @import "./alpha/action_list.pcss";
5
5
  @import "./alpha/auto_complete.pcss";
6
6
  @import "./alpha/banner.pcss";
7
+ @import "./alpha/button_marketing.pcss";
7
8
  @import "./alpha/dialog.pcss";
8
9
  @import "./alpha/dropdown.pcss";
9
10
  @import "./alpha/layout.pcss";
11
+ @import "./alpha/menu.pcss";
12
+ @import "./alpha/segmented_control.pcss";
13
+ @import "./alpha/select_panel.pcss";
14
+ @import "./alpha/stack.pcss";
15
+ @import "./alpha/stack_item.pcss";
10
16
  @import "./alpha/tab_nav.pcss";
11
17
  @import "./alpha/text_field.pcss";
12
- @import "./alpha/button_marketing.pcss";
13
18
  @import "./alpha/toggle_switch.pcss";
14
19
  @import "./alpha/underline_nav.pcss";
15
- @import "./alpha/select_panel.pcss";
16
- @import "./alpha/segmented_control.pcss";
17
- @import "./alpha/menu.pcss";
18
20
 
19
21
  /* beta */
20
22
  @import "./beta/avatar.pcss";
@@ -9,7 +9,6 @@ import './focus_group'
9
9
  import './scrollable_region'
10
10
  import './aria_live'
11
11
  import './shared_events'
12
- import './alpha/image_crop'
13
12
  import './alpha/modal_dialog'
14
13
  import './beta/nav_list'
15
14
  import './beta/nav_list_group_element'
@@ -21,8 +20,8 @@ import './beta/auto_complete/auto_complete'
21
20
  import './beta/clipboard_copy'
22
21
  import './beta/relative_time'
23
22
  import './alpha/tab_container'
24
- import '../../../lib/primer/forms/primer_multi_input'
25
- import '../../../lib/primer/forms/primer_text_field'
26
- import '../../../lib/primer/forms/toggle_switch_input'
23
+ import '../../lib/primer/forms/primer_multi_input'
24
+ import '../../lib/primer/forms/primer_text_field'
25
+ import '../../lib/primer/forms/toggle_switch_input'
27
26
  import './alpha/action_menu/action_menu_element'
28
27
  import './alpha/select_panel_element'
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Primer
4
+ # Base class for responsive Stack and StackItem arguments. Used internally.
5
+ class ResponsiveArg
6
+ BREAKPOINTS = [:narrow, :regular, :wide].freeze
7
+
8
+ include FetchOrFallbackHelper
9
+
10
+ class << self
11
+ def for(values)
12
+ cache[[values, arg_name].hash] ||= new(values)
13
+ end
14
+
15
+ # :nocov:
16
+ def arg_name
17
+ raise NotImplementedError, "Subclasses must implement the `#{__method__}' method"
18
+ end
19
+ # :nocov:
20
+
21
+ private
22
+
23
+ def cache
24
+ Thread.current[:pvc_stack_cache] ||= {}
25
+ end
26
+ end
27
+
28
+ def to_data_attributes
29
+ @data_attributes ||= data_attributes_for(self.class.arg_name, values)
30
+ end
31
+
32
+ private
33
+
34
+ def data_attributes_for(property, values)
35
+ if values.is_a?(Hash)
36
+ values.slice(*BREAKPOINTS).each_with_object({}) do |(key, value), memo|
37
+ next unless value
38
+ property_with_breakpoint = "#{property}-#{key}"
39
+ memo[property_with_breakpoint] = value
40
+ end
41
+ else
42
+ values ? { property => values } : {}
43
+ end
44
+ end
45
+
46
+ def fetch_or_fallback_all(options, values, default)
47
+ if values.is_a?(Hash)
48
+ values.each_with_object({}) do |(key, value), memo|
49
+ memo[key] = fetch_or_fallback(options, value, default).yield_self do |value|
50
+ block_given? ? yield(value) : value
51
+ end
52
+ end
53
+ else
54
+ fetch_or_fallback(options, values, default).yield_self do |value|
55
+ block_given? ? yield(value) : value
56
+ end
57
+ end
58
+ end
59
+
60
+ # :nocov:
61
+ def values
62
+ raise NotImplementedError, "Subclasses must implement the `#{__method__}' method"
63
+ end
64
+ # :nocov:
65
+ end
66
+ end
@@ -0,0 +1 @@
1
+ <span>Bellevue caption</span>
@@ -0,0 +1 @@
1
+ <span>Lopez caption</span>
@@ -0,0 +1 @@
1
+ <span>Seattle caption</span>
@@ -18,5 +18,11 @@ class CaptionTemplateForm < ApplicationForm
18
18
  age_radios.radio_button(value: "young", label: "10-15")
19
19
  age_radios.radio_button(value: "middle_aged", label: "16-21")
20
20
  end
21
+
22
+ name_form.check_box_group(name: "places", label: "Cool places") do |check_group|
23
+ check_group.check_box(value: "lopez", label: "Lopez Island")
24
+ check_group.check_box(value: "bellevue", label: "Bellevue")
25
+ check_group.check_box(value: "seattle", label: "Seattle")
26
+ end
21
27
  end
22
28
  end
@@ -3,7 +3,7 @@
3
3
  # :nodoc:
4
4
  class CheckBoxGroupForm < ApplicationForm
5
5
  form do |check_form|
6
- check_form.check_box_group(label: "I like to eat, eat, eat:") do |check_group|
6
+ check_form.check_box_group(label: "I like to eat, eat, eat:", caption: "Nom nom nom") do |check_group|
7
7
  check_group.check_box(
8
8
  name: "long_a",
9
9
  label: "Ey-ples and ba-naynays",
@@ -3,7 +3,11 @@
3
3
  # :nodoc:
4
4
  class RadioButtonGroupForm < ApplicationForm
5
5
  form do |radio_form|
6
- radio_form.radio_button_group(name: "channel", label: "How did you hear about us?") do |radio_group|
6
+ radio_form.radio_button_group(
7
+ name: "channel",
8
+ label: "How did you hear about us?",
9
+ caption: "We love our listeners"
10
+ ) do |radio_group|
7
11
  radio_group.radio_button(value: "online", label: "Online advertisement", caption: "Facebook maybe?")
8
12
  radio_group.radio_button(value: "radio", label: "Radio advertisement", caption: "We love us some NPR")
9
13
  radio_group.radio_button(value: "friend", label: "From a friend", caption: "Wow, what a good person")
@@ -4,7 +4,7 @@ module Primer
4
4
  # :nodoc:
5
5
  module AttributesHelper
6
6
  PLURAL_ARIA_ATTRIBUTES = %i[describedby labelledby].freeze
7
- PLURAL_DATA_ATTRIBUTES = %i[target targets].freeze
7
+ PLURAL_DATA_ATTRIBUTES = %i[target targets action].freeze
8
8
 
9
9
  def aria(val, system_arguments)
10
10
  system_arguments[:"aria-#{val}"] || system_arguments.dig(:aria, val.to_sym)
@@ -61,14 +61,6 @@ module Primer
61
61
  self.class.compile! unless self.class.instance_methods(false).include?(:render_template)
62
62
  render_template
63
63
  end
64
-
65
- def content_tag_if(condition, tag, **kwargs, &block)
66
- if condition
67
- content_tag(tag, **kwargs, &block)
68
- else
69
- capture(&block)
70
- end
71
- end
72
64
  end
73
65
  end
74
66
  end
@@ -54,11 +54,14 @@ module Primer
54
54
  private
55
55
 
56
56
  def tag_attributes
57
+ attrs = { name: @input.name }
58
+ attrs[:value] = @input.value if @input.value
59
+
57
60
  case @type
58
61
  when :submit
59
- ButtonAttributeGenerator.submit_tag_attributes(@input.label, name: @input.name)
62
+ ButtonAttributeGenerator.submit_tag_attributes(@input.label, **attrs)
60
63
  else
61
- ButtonAttributeGenerator.button_tag_attributes(@input.label, name: @input.name)
64
+ ButtonAttributeGenerator.button_tag_attributes(@input.label, **attrs)
62
65
  end
63
66
  end
64
67
  end
@@ -5,6 +5,9 @@
5
5
  <%= @input.label %>
6
6
  <% end %>
7
7
  <% end %>
8
+ <div class="mb-2">
9
+ <%= render(Caption.new(input: @input)) %>
10
+ </div>
8
11
  <%= render(SpacingWrapper.new) do %>
9
12
  <% @input.check_boxes.each do |check_box| %>
10
13
  <%= render(check_box.to_component) %>
@@ -14,7 +17,4 @@
14
17
  <div class="mt-2">
15
18
  <%= render(ValidationMessage.new(input: @input)) %>
16
19
  </div>
17
- <div class="mt-2">
18
- <%= render(Caption.new(input: @input)) %>
19
- </div>
20
20
  </div>
@@ -8,7 +8,7 @@ module Primer
8
8
 
9
9
  def initialize(input:)
10
10
  @input = input
11
- @input.add_label_classes("FormControl-label", "mb-2")
11
+ @input.add_label_classes("FormControl-label")
12
12
  Primer::Forms::Utils.classify(@input.input_arguments)
13
13
  end
14
14
  end
@@ -50,14 +50,10 @@ module Primer
50
50
  false
51
51
  end
52
52
 
53
- private
54
-
55
- def caption_template_name
56
- @caption_template_name ||= if @scheme == :array
57
- :"#{name}_#{value}"
58
- else
59
- name.to_sym
60
- end
53
+ def values_disambiguate_template_names?
54
+ # Check boxes submitted as an array all have the same name, so we return true here
55
+ # to ensure different caption templates can be attached to individual check box inputs.
56
+ @scheme == :array
61
57
  end
62
58
  end
63
59
  end
@@ -246,6 +246,10 @@ module Primer
246
246
  @input_arguments[:id]
247
247
  end
248
248
 
249
+ def value
250
+ @input_arguments[:value]
251
+ end
252
+
249
253
  # :nocov:
250
254
  def name
251
255
  raise_for_abstract_method!(__method__)
@@ -296,6 +300,14 @@ module Primer
296
300
  ""
297
301
  end
298
302
 
303
+ # Whether or not the `value:` argument should be used to determine the caption template
304
+ # for a given field. This is useful in especially radio button groups where each option
305
+ # has the same name but a different value. Check box groups where the values are submitted
306
+ # as an array also use this feature, since each check box also has the same name.
307
+ def values_disambiguate_template_names?
308
+ false
309
+ end
310
+
299
311
  private
300
312
 
301
313
  def input_data
@@ -305,7 +317,7 @@ module Primer
305
317
  def caption_template_name
306
318
  return nil unless name
307
319
 
308
- @caption_template_name ||= if respond_to?(:value)
320
+ @caption_template_name ||= if values_disambiguate_template_names? && respond_to?(:value) && value.present?
309
321
  :"#{name}_#{value}"
310
322
  else
311
323
  name.to_sym
@@ -42,6 +42,10 @@ module Primer
42
42
  def supports_validation?
43
43
  false
44
44
  end
45
+
46
+ def values_disambiguate_template_names?
47
+ true
48
+ end
45
49
  end
46
50
  end
47
51
  end
@@ -1,4 +1,4 @@
1
- <%= content_tag_if(horizontal?, :div, class: "FormControl-horizontalGroup") do %>
1
+ <%= render(Primer::Box.new(**@system_arguments)) do %>
2
2
  <% @inputs.each do |input| %>
3
3
  <%= render(input.to_component) %>
4
4
  <% end %>
@@ -17,6 +17,11 @@ module Primer
17
17
  @form = form
18
18
  @layout = layout
19
19
  @system_arguments = system_arguments
20
+
21
+ @system_arguments[:classes] = class_names(
22
+ @system_arguments.delete(:classes),
23
+ "FormControl-horizontalGroup" => horizontal?
24
+ )
20
25
  end
21
26
 
22
27
  def horizontal?
@@ -5,6 +5,9 @@
5
5
  <%= @input.label %>
6
6
  <% end %>
7
7
  <% end %>
8
+ <div class="mb-2">
9
+ <%= render(Caption.new(input: @input)) %>
10
+ </div>
8
11
  <%= render(SpacingWrapper.new) do %>
9
12
  <% @input.radio_buttons.each do |radio_button| %>
10
13
  <%= render(radio_button.to_component) %>
@@ -14,7 +17,4 @@
14
17
  <div class="mt-2">
15
18
  <%= render(ValidationMessage.new(input: @input)) %>
16
19
  </div>
17
- <div class="mt-2">
18
- <%= render(Caption.new(input: @input)) %>
19
- </div>
20
20
  </div>
@@ -8,7 +8,7 @@ module Primer
8
8
 
9
9
  def initialize(input:)
10
10
  @input = input
11
- @input.add_label_classes("FormControl-label", "mb-2")
11
+ @input.add_label_classes("FormControl-label")
12
12
  Primer::Forms::Utils.classify(@input.input_arguments)
13
13
  end
14
14
  end
@@ -3,4 +3,3 @@
3
3
  <%= builder.select(@input.name, options, @input.select_arguments, **@input.input_arguments) %>
4
4
  <% end %>
5
5
  <% end %>
6
-
@@ -16,7 +16,7 @@ module ERBLint
16
16
 
17
17
  # Allow custom pattern matching for ERB nodes
18
18
  class ConfigSchema < LinterConfig
19
- property :custom_erb_pattern, accepts: array_of?(Regexp),
19
+ property :custom_erb_pattern, accepts: array_of?(String),
20
20
  default: -> { [] }
21
21
  end
22
22
  self.config_schema = ConfigSchema
@@ -51,7 +51,8 @@ module ERBLint
51
51
  if @config.custom_erb_pattern.empty?
52
52
  nil
53
53
  else
54
- Regexp.new(@config.custom_erb_pattern.join("|"), true)
54
+ regexes = @config.custom_erb_pattern.map { |pattern| Regexp.new(pattern, true) }
55
+ Regexp.new(regexes.join("|"), true)
55
56
  end
56
57
  end
57
58
 
@@ -5,7 +5,7 @@ module Primer
5
5
  module ViewComponents
6
6
  module VERSION
7
7
  MAJOR = 0
8
- MINOR = 34
8
+ MINOR = 35
9
9
  PATCH = 0
10
10
 
11
11
  STRING = [MAJOR, MINOR, PATCH].join(".")
@@ -14,7 +14,6 @@ module Primer
14
14
  Primer::Alpha::HellipButton => {},
15
15
  Primer::Alpha::Image => {},
16
16
  Primer::Alpha::OcticonSymbols => {},
17
- Primer::Alpha::ImageCrop => { js: true },
18
17
  Primer::IconButton => { js: true },
19
18
  Primer::Beta::AutoComplete => { js: true },
20
19
  Primer::Beta::AutoComplete::Item => {},
@@ -1,6 +1,6 @@
1
1
 
2
2
  <%= render(Primer::BaseComponent.new(tag: :div, flex_items: :center, display: :flex)) do %>
3
- <%= render(Primer::Beta::Heading.new(tag: :h1, font_size: 3, mr: 2)) { "Title" }%>
3
+ <%= render(Primer::Beta::Heading.new(tag: :h1, font_size: 3, mr: 2)) { "Title" } %>
4
4
  <%= render(Primer::Alpha::ActionBar.new) do |component| %>
5
5
  <% component.with_item_icon_button(icon: :search, label: "Search") %>
6
6
  <% component.with_item_icon_button(icon: :pencil, label: "Edit") %>
@@ -2,7 +2,7 @@
2
2
  <% d.with_show_button { "Show Dialog" } %>
3
3
  <% d.with_body do %>
4
4
  <form>
5
- <input type="text" placeholder="This element is focused on open" autofocus>
5
+ <input type="text" placeholder="This element is focused on open" autofocus autocomplete="off">
6
6
  </form>
7
7
  <% end %>
8
8
  <% end %>
@@ -1,6 +1,8 @@
1
1
  <%= render(Primer::Alpha::Dialog.new(id: "my-dialog", title: title, subtitle: subtitle, visually_hide_title: false)) do |d| %>
2
2
  <% d.with_header(show_divider: show_divider) do %>
3
- <button class="btn">Custom Header Controls</button>
3
+ <%= render(Primer::Beta::Button.new) do %>
4
+ Custom Header Controls
5
+ <% end %>
4
6
  <% end %>
5
7
  <% d.with_show_button { button_text } %>
6
8
  <% d.with_body { "Hello World" } %>
@@ -5,16 +5,16 @@
5
5
  <% d.with_show_button { button_text } %>
6
6
  <% d.with_body { body_text } %>
7
7
  <% d.with_footer(show_divider: true) do %>
8
- <%= render(Primer::ButtonComponent.new(data: { "close-dialog-id": "dialog-one" })) { "Cancel" } %>
8
+ <%= render(Primer::Beta::Button.new(data: { "close-dialog-id": "dialog-one" })) { "Cancel" } %>
9
9
  <% end %>
10
10
  <% end %>
11
11
  <% end %>
12
12
  <% end %>
13
13
 
14
- <script type="module">
15
- document.getElementById('overlay-show-first-overlay')?.addEventListener('click', e => {
14
+ <script>
15
+ document.getElementById('overlay-show-first-overlay')?.addEventListener('click', e => {
16
16
  setTimeout(() => {
17
- document.getElementById('first-overlay').querySelector('button')?.click()
17
+ document.getElementById('first-overlay').querySelector('button')?.click()
18
18
  });
19
19
  });
20
20
  </script>
@@ -14,7 +14,7 @@
14
14
  <% end %>
15
15
 
16
16
  <div style="margin-top:2rem">
17
- <%= render(Primer::Beta::Flash.new(scheme: :warning)) do %>
17
+ <%= render(Primer::Alpha::Banner.new(scheme: :warning)) do %>
18
18
  <p>Please be careful nesting dialogs! Note that in this example, opening the second dialog does not close the first.</p>
19
19
  <p>Closing a dialog while opening a dialog inside, will cause both to be invisible which will lead to undesired effects!</p>
20
20
  <% end %>
@@ -1,6 +1,15 @@
1
- <%= render(Primer::Alpha::Dialog.new(id: "dialog-one", title: title, position: position, subtitle: subtitle, visually_hide_title: false)) do |d| %>
1
+ <%= render(Primer::Alpha::Dialog.new(
2
+ id: "dialog-one",
3
+ title: title,
4
+ subtitle: subtitle,
5
+ size: size,
6
+ position: position,
7
+ position_narrow: position_narrow,
8
+ visually_hide_title: visually_hide_title,
9
+ disable_scroll: disable_scroll
10
+ )) do |d| %>
2
11
  <% d.with_show_button { button_text } %>
3
- <% d.with_body { body_text} %>
12
+ <% d.with_body { body_text } %>
4
13
  <% end %>
5
14
 
6
15
  <!-- just some lorem ipsum -->
@@ -2,7 +2,7 @@
2
2
  <% d.with_show_button { button_text } %>
3
3
  <% d.with_body { "Content" } %>
4
4
  <% d.with_footer(show_divider: show_divider) do %>
5
- <%= render(Primer::ButtonComponent.new(data: { "close-dialog-id": "my-dialog" })) { "Cancel" } %>
6
- <%= render(Primer::ButtonComponent.new(scheme: :primary)) { "Submit" } %>
5
+ <%= render(Primer::Beta::Button.new(data: { "close-dialog-id": "my-dialog" })) { "Cancel" } %>
6
+ <%= render(Primer::Beta::Button.new(scheme: :primary)) { "Submit" } %>
7
7
  <% end %>
8
8
  <% end %>
@@ -5,8 +5,8 @@
5
5
  This is a custom dialog with the body and footer wrapped in a form tag.
6
6
  <% end %>
7
7
  <%= render(Primer::Alpha::Dialog::Footer.new(show_divider: show_divider)) do %>
8
- <%= render(Primer::ButtonComponent.new(data: { "close-dialog-id": "my-dialog" })) { "Cancel" } %>
9
- <%= render(Primer::ButtonComponent.new(scheme: :primary)) { "Submit" } %>
8
+ <%= render(Primer::Beta::Button.new(data: { "close-dialog-id": "my-dialog" })) { "Cancel" } %>
9
+ <%= render(Primer::Beta::Button.new(scheme: :primary)) { "Submit" } %>
10
10
  <% end %>
11
11
  </form>
12
12
  <% end %>