primer_view_components 0.1.8 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -9,25 +9,25 @@
9
9
  /* base button */
10
10
  .Button {
11
11
  position: relative;
12
- font-size: var(--text-body-size-medium, 14px);
13
- font-weight: var(--base-text-weight-medium, 500);
12
+ font-size: var(--text-body-size-medium);
13
+ font-weight: var(--base-text-weight-medium);
14
14
  cursor: pointer;
15
15
  user-select: none;
16
16
  background-color: transparent;
17
- border: var(--borderWidth-thin, 1px) solid;
17
+ border: var(--borderWidth-thin) solid;
18
18
  border-color: transparent;
19
- border-radius: var(--borderRadius-medium, 6px);
19
+ border-radius: var(--borderRadius-medium);
20
20
  color: var(--color-btn-text);
21
21
  transition: var(--duration-fast) var(--easing-easeInOut);
22
22
  transition-property: color, fill, background-color, border-color;
23
23
  text-align: center;
24
- height: var(--control-medium-size, 32px);
25
- padding: 0 var(--control-medium-paddingInline-normal, 12px);
24
+ height: var(--control-medium-size);
25
+ padding: 0 var(--control-medium-paddingInline-normal);
26
26
  display: inline-flex;
27
27
  flex-direction: row;
28
28
  justify-content: space-between;
29
29
  align-items: center;
30
- gap: var(--base-size-4, 4px);
30
+ gap: var(--base-size-4);
31
31
  min-width: max-content;
32
32
 
33
33
  /* mobile friendly sizing */
@@ -78,7 +78,7 @@ summary.Button {
78
78
  /* padding-bottom: 1px; optical alignment for firefox */
79
79
 
80
80
  & > :not(:last-child) {
81
- margin-right: var(--control-medium-gap, 8px);
81
+ margin-right: var(--control-medium-gap);
82
82
  }
83
83
  }
84
84
 
@@ -103,7 +103,7 @@ summary.Button {
103
103
  .Button-label {
104
104
  grid-area: text;
105
105
  white-space: nowrap;
106
- line-height: var(--text-body-lineHeight-medium, calc(20 / 14));
106
+ line-height: var(--text-body-lineHeight-medium);
107
107
  }
108
108
 
109
109
  .Button-leadingVisual {
@@ -115,40 +115,40 @@ summary.Button {
115
115
  }
116
116
 
117
117
  .Button-trailingAction {
118
- margin-right: calc(var(--base-size-4, 4px) * -1);
118
+ margin-right: calc(var(--base-size-4) * -1);
119
119
  }
120
120
 
121
121
  /* sizes */
122
122
 
123
123
  .Button--small {
124
- font-size: var(--text-body-size-small, 12px);
125
- height: var(--control-small-size, 28px);
126
- padding: 0 var(--control-small-paddingInline-condensed, 8px);
127
- gap: var(--control-small-gap, 4px);
124
+ font-size: var(--text-body-size-small);
125
+ height: var(--control-small-size);
126
+ padding: 0 var(--control-small-paddingInline-condensed);
127
+ gap: var(--control-small-gap);
128
128
 
129
129
  & .Button-label {
130
- line-height: var(--text-body-lineHeight-small, calc(20 / 12));
130
+ line-height: var(--text-body-lineHeight-small);
131
131
  }
132
132
 
133
133
  & .Button-content {
134
134
  & > :not(:last-child) {
135
- margin-right: var(--control-small-gap, 4px);
135
+ margin-right: var(--control-small-gap);
136
136
  }
137
137
  }
138
138
  }
139
139
 
140
140
  .Button--large {
141
- height: var(--control-large-size, 40px);
142
- padding: 0 var(--control-large-paddingInline-spacious, 16px);
143
- gap: var(--control-large-gap, 8px);
141
+ height: var(--control-large-size);
142
+ padding: 0 var(--control-large-paddingInline-spacious);
143
+ gap: var(--control-large-gap);
144
144
 
145
145
  & .Button-label {
146
- line-height: var(--text-body-lineHeight-large, calc(48 / 32));
146
+ line-height: var(--text-body-lineHeight-large);
147
147
  }
148
148
 
149
149
  & .Button-content {
150
150
  & > :not(:last-child) {
151
- margin-right: var(--control-large-gap, 8px);
151
+ margin-right: var(--control-large-gap);
152
152
  }
153
153
  }
154
154
  }
@@ -315,6 +315,11 @@ summary.Button {
315
315
  background-color: var(--color-btn-danger-hover-bg);
316
316
  border-color: var(--color-btn-danger-hover-border);
317
317
  box-shadow: var(--color-btn-danger-hover-shadow), var(--color-btn-danger-hover-inset-shadow);
318
+
319
+ & .Counter {
320
+ color: var(--color-btn-danger-hover-counter-fg);
321
+ background-color: var(--color-btn-danger-hover-counter-bg);
322
+ }
318
323
  }
319
324
 
320
325
  &:active:not(:disabled),
@@ -332,6 +337,16 @@ summary.Button {
332
337
  fill: var(--color-btn-danger-disabled-text);
333
338
  background-color: var(--color-btn-danger-disabled-bg);
334
339
  border-color: var(--color-btn-border);
340
+
341
+ & .Counter {
342
+ color: var(--color-btn-danger-disabled-counter-fg);
343
+ background-color: var(--color-btn-danger-disabled-counter-bg);
344
+ }
345
+ }
346
+
347
+ & .Counter {
348
+ color: var(--color-btn-danger-counter-fg);
349
+ background-color: var(--color-btn-danger-counter-bg);
335
350
  }
336
351
  }
337
352
 
@@ -339,13 +354,13 @@ summary.Button {
339
354
  display: inline-grid;
340
355
  place-content: center;
341
356
  padding: unset;
342
- width: var(--control-medium-size, 32px);
357
+ width: var(--control-medium-size);
343
358
 
344
359
  &.Button--small {
345
- width: var(--control-small-size, 28px);
360
+ width: var(--control-small-size);
346
361
  }
347
362
 
348
363
  &.Button--large {
349
- width: var(--control-large-size, 40px);
364
+ width: var(--control-large-size);
350
365
  }
351
366
  }
@@ -135,18 +135,21 @@ module Primer
135
135
  # @param align_content [Symbol] <%= one_of(Primer::Beta::Button::ALIGN_CONTENT_OPTIONS) %>
136
136
  # @param tag [Symbol] (Primer::Beta::BaseButton::DEFAULT_TAG) <%= one_of(Primer::Beta::BaseButton::TAG_OPTIONS) %>
137
137
  # @param type [Symbol] (Primer::Beta::BaseButton::DEFAULT_TYPE) <%= one_of(Primer::Beta::BaseButton::TYPE_OPTIONS) %>
138
+ # @param disabled [Boolean] Whether or not the button is disabled. If true, this option forces `tag:` to `:button`.
138
139
  # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
139
140
  def initialize(
140
141
  scheme: DEFAULT_SCHEME,
141
142
  size: DEFAULT_SIZE,
142
143
  block: false,
143
144
  align_content: DEFAULT_ALIGN_CONTENT,
145
+ disabled: false,
144
146
  **system_arguments
145
147
  )
146
148
  @scheme = scheme
147
149
  @block = block
148
150
 
149
151
  @system_arguments = system_arguments
152
+ @system_arguments[:disabled] = disabled
150
153
 
151
154
  @id = @system_arguments[:id]
152
155
 
@@ -0,0 +1 @@
1
+ .ButtonGroup{display:inline-flex}.ButtonGroup .Button{border-radius:0;margin-inline-end:-1px;position:relative}.ButtonGroup .Button:active,.ButtonGroup .Button:focus,.ButtonGroup .Button:hover{z-index:1}.ButtonGroup>.Button-withTooltip:first-child .Button,.ButtonGroup>:first-child{border-bottom-left-radius:var(--borderRadius-medium,6px);border-top-left-radius:var(--borderRadius-medium,6px)}.ButtonGroup>.Button-withTooltip:last-child .Button,.ButtonGroup>:last-child{border-bottom-right-radius:var(--borderRadius-medium,6px);border-top-right-radius:var(--borderRadius-medium,6px)}
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "beta/button_group",
3
+ "selectors": [
4
+ ".ButtonGroup",
5
+ ".ButtonGroup .Button",
6
+ ".ButtonGroup .Button:active",
7
+ ".ButtonGroup .Button:focus",
8
+ ".ButtonGroup .Button:hover",
9
+ ".ButtonGroup>.Button-withTooltip:first-child .Button",
10
+ ".ButtonGroup>:first-child",
11
+ ".ButtonGroup>.Button-withTooltip:last-child .Button",
12
+ ".ButtonGroup>:last-child"
13
+ ]
14
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["button_group.pcss"],"names":[],"mappings":"AAAA,aACE,mBAyBF,CAvBE,qBAGE,eAAgB,CAFhB,sBAAuB,CACvB,iBAQF,CALE,kFAGE,SACF,CAGF,+EAGE,wDAAqD,CADrD,qDAEF,CAEA,6EAGE,yDAAsD,CADtD,sDAEF","file":"button_group.css","sourcesContent":[".ButtonGroup {\n display: inline-flex;\n\n & .Button {\n margin-inline-end: -1px;\n position: relative;\n border-radius: 0;\n\n &:focus,\n &:active,\n &:hover {\n z-index: 1;\n }\n }\n\n & > :first-child,\n & > :first-child.Button-withTooltip .Button {\n border-top-left-radius: var(--borderRadius-medium);\n border-bottom-left-radius: var(--borderRadius-medium);\n }\n\n & > :last-child,\n & > :last-child.Button-withTooltip .Button {\n border-top-right-radius: var(--borderRadius-medium);\n border-bottom-right-radius: var(--borderRadius-medium);\n }\n}\n"]}
@@ -0,0 +1,27 @@
1
+ .ButtonGroup {
2
+ display: inline-flex;
3
+
4
+ & .Button {
5
+ margin-inline-end: -1px;
6
+ position: relative;
7
+ border-radius: 0;
8
+
9
+ &:focus,
10
+ &:active,
11
+ &:hover {
12
+ z-index: 1;
13
+ }
14
+ }
15
+
16
+ & > :first-child,
17
+ & > :first-child.Button-withTooltip .Button {
18
+ border-top-left-radius: var(--borderRadius-medium);
19
+ border-bottom-left-radius: var(--borderRadius-medium);
20
+ }
21
+
22
+ & > :last-child,
23
+ & > :last-child.Button-withTooltip .Button {
24
+ border-top-right-radius: var(--borderRadius-medium);
25
+ border-bottom-right-radius: var(--borderRadius-medium);
26
+ }
27
+ }
@@ -8,45 +8,45 @@ module Primer
8
8
 
9
9
  # Required list of buttons to be rendered.
10
10
  #
11
- # @param kwargs [Hash] The same arguments as <%= link_to_component(Primer::ButtonComponent) %> except for `size` and `group_item`.
11
+ # @param kwargs [Hash] The same arguments as <%= link_to_component(Primer::Beta::Button) %>
12
12
  renders_many :buttons, lambda { |**kwargs|
13
- kwargs[:group_item] = true
14
13
  kwargs[:size] = @size
14
+ kwargs[:scheme] = @scheme
15
15
 
16
- # rubocop:disable Primer/ComponentNameMigration
17
- Primer::ButtonComponent.new(**kwargs)
18
- # rubocop:enable Primer/ComponentNameMigration
16
+ if kwargs[:icon]
17
+ Primer::Beta::IconButton.new(**kwargs)
18
+ else
19
+ Primer::Beta::Button.new(**kwargs)
20
+ end
19
21
  }
20
22
 
21
23
  # @example Default
22
24
  #
23
25
  # <%= render(Primer::Beta::ButtonGroup.new) do |component| %>
24
- # <% component.with_button { "Default" } %>
25
- # <% component.with_button(scheme: :primary) { "Primary" } %>
26
- # <% component.with_button(scheme: :danger) { "Danger" } %>
27
- # <% component.with_button(scheme: :outline) { "Outline" } %>
28
- # <% component.with_button(classes: "custom-class") { "Custom class" } %>
26
+ # <% component.with_button { "Button 1" } %>
27
+ # <% component.with_button { "Button 2" } %>
28
+ # <% component.with_button { "Button 3" } %>
29
29
  # <% end %>
30
30
  #
31
31
  # @example Sizes
32
32
  #
33
33
  # <%= render(Primer::Beta::ButtonGroup.new(size: :small)) do |component| %>
34
- # <% component.with_button { "Default" } %>
35
- # <% component.with_button(scheme: :primary) { "Primary" } %>
36
- # <% component.with_button(scheme: :danger) { "Danger" } %>
37
- # <% component.with_button(scheme: :outline) { "Outline" } %>
34
+ # <% component.with_button { "Button 1" } %>
35
+ # <% component.with_button { "Button 2" } %>
36
+ # <% component.with_button { "Button 3" } %>
38
37
  # <% end %>
39
38
  #
40
- # @param variant [Symbol] DEPRECATED. <%= one_of(Primer::ButtonComponent::SIZE_OPTIONS) %>
41
- # @param size [Symbol] <%= one_of(Primer::ButtonComponent::SIZE_OPTIONS) %>
39
+ # @param scheme [Symbol] DEPRECATED. <%= one_of(Primer::Beta::Button::SCHEME_OPTIONS) %>
40
+ # @param size [Symbol] <%= one_of(Primer::Beta::Button::SIZE_OPTIONS) %>
42
41
  # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
43
- def initialize(variant: nil, size: Primer::ButtonComponent::DEFAULT_SIZE, **system_arguments)
44
- @size = variant || size
42
+ def initialize(scheme: Primer::Beta::Button::DEFAULT_SCHEME, size: Primer::Beta::Button::DEFAULT_SIZE, **system_arguments)
43
+ @size = size
44
+ @scheme = scheme
45
45
  @system_arguments = deny_tag_argument(**system_arguments)
46
46
  @system_arguments[:tag] = :div
47
47
 
48
48
  @system_arguments[:classes] = class_names(
49
- "BtnGroup",
49
+ "ButtonGroup",
50
50
  system_arguments[:classes]
51
51
  )
52
52
  end
@@ -18,8 +18,9 @@ module Primer
18
18
  # <%= render(Primer::Beta::CloseButton.new) %>
19
19
  #
20
20
  # @param type [Symbol] <%= one_of(Primer::Beta::CloseButton::TYPE_OPTIONS) %>
21
+ # @param disabled [Boolean] Whether or not the button is disabled.
21
22
  # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
22
- def initialize(type: DEFAULT_TYPE, **system_arguments)
23
+ def initialize(type: DEFAULT_TYPE, disabled: false, **system_arguments)
23
24
  @system_arguments = deny_tag_argument(**system_arguments)
24
25
  @system_arguments[:tag] = :button
25
26
  @system_arguments[:block] = false
@@ -29,6 +30,7 @@ module Primer
29
30
  system_arguments[:classes]
30
31
  )
31
32
  @system_arguments[:"aria-label"] = aria("label", system_arguments) || "Close"
33
+ @system_arguments[:disabled] = disabled
32
34
  end
33
35
 
34
36
  def call
@@ -1 +1 @@
1
- .Counter{background-color:var(--color-neutral-muted);border:var(--borderWidth-thin,1px) solid var(--color-counter-border);border-radius:2em;color:var(--color-fg-default);display:inline-block;font-size:var(--text-body-size-small,12px);font-weight:var(--base-text-weight-medium,500);line-height:calc(var(--base-size-20, 20px) - var(--borderWidth-thin, 1px)*2);min-width:var(--base-size-20,20px);padding:0 6px;text-align:center}.Counter:empty{display:none}.Counter .octicon{opacity:.8;vertical-align:text-top}.Counter--primary{background-color:var(--color-neutral-emphasis);color:var(--color-fg-on-emphasis)}.Counter--secondary{background-color:var(--color-neutral-subtle);color:var(--color-fg-muted)}
1
+ .Counter{background-color:var(--color-neutral-muted);border:var(--borderWidth-thin,max(1px,.0625rem)) solid var(--color-counter-border);border-radius:2em;color:var(--color-fg-default);display:inline-block;font-size:var(--text-body-size-small,.75rem);font-weight:var(--base-text-weight-medium,500);line-height:calc(var(--base-size-20,1.25rem) - var(--borderWidth-thin,max(1px, .0625rem))*2);min-width:var(--base-size-20,1.25rem);padding:0 6px;text-align:center}.Counter:empty{display:none}.Counter .octicon{opacity:.8;vertical-align:text-top}.Counter--primary{background-color:var(--color-neutral-emphasis);color:var(--color-fg-on-emphasis)}.Counter--secondary{background-color:var(--color-neutral-subtle);color:var(--color-fg-muted)}
@@ -1 +1 @@
1
- {"version":3,"sources":["counter.pcss"],"names":[],"mappings":"AAEA,SASE,2CAA4C,CAC5C,oEAAsE,CACtE,iBAAkB,CAJlB,6BAA8B,CAN9B,oBAAqB,CAGrB,0CAA4C,CAC5C,8CAAgD,CAChD,4EAA+E,CAJ/E,kCAAoC,CACpC,aAAc,CAKd,iBAcF,CATE,eACE,YACF,CAGA,kBAEE,UAAY,CADZ,uBAEF,CAGF,kBAEE,8CAA+C,CAD/C,iCAEF,CAEA,oBAEE,4CAA6C,CAD7C,2BAEF","file":"counter.css","sourcesContent":["/* Counter */\n\n.Counter {\n display: inline-block;\n min-width: var(--base-size-20, 20px); /* makes sure it's a circle with just one digit */\n padding: 0 6px;\n font-size: var(--text-body-size-small, 12px);\n font-weight: var(--base-text-weight-medium, 500);\n line-height: calc(var(--base-size-20, 20px) - var(--borderWidth-thin, 1px) * 2); /* 20px - 2px for the borders */\n color: var(--color-fg-default);\n text-align: center;\n background-color: var(--color-neutral-muted);\n border: var(--borderWidth-thin, 1px) solid var(--color-counter-border);\n border-radius: 2em;\n\n &:empty {\n display: none;\n }\n\n /* Is this selector used? could not find any use of it */\n & .octicon {\n vertical-align: text-top;\n opacity: 0.8;\n }\n}\n\n.Counter--primary {\n color: var(--color-fg-on-emphasis);\n background-color: var(--color-neutral-emphasis);\n}\n\n.Counter--secondary {\n color: var(--color-fg-muted);\n background-color: var(--color-neutral-subtle);\n}\n"]}
1
+ {"version":3,"sources":["counter.pcss"],"names":[],"mappings":"AAEA,SASE,2CAA4C,CAC5C,kFAAiE,CACjE,iBAAkB,CAJlB,6BAA8B,CAN9B,oBAAqB,CAGrB,4CAAsC,CACtC,8CAA2C,CAC3C,4FAAoE,CAJpE,qCAA8B,CAC9B,aAAc,CAKd,iBAcF,CATE,eACE,YACF,CAGA,kBAEE,UAAY,CADZ,uBAEF,CAGF,kBAEE,8CAA+C,CAD/C,iCAEF,CAEA,oBAEE,4CAA6C,CAD7C,2BAEF","file":"counter.css","sourcesContent":["/* Counter */\n\n.Counter {\n display: inline-block;\n min-width: var(--base-size-20); /* makes sure it's a circle with just one digit */\n padding: 0 6px;\n font-size: var(--text-body-size-small);\n font-weight: var(--base-text-weight-medium);\n line-height: calc(var(--base-size-20) - var(--borderWidth-thin) * 2); /* 20px - 2px for the borders */\n color: var(--color-fg-default);\n text-align: center;\n background-color: var(--color-neutral-muted);\n border: var(--borderWidth-thin) solid var(--color-counter-border);\n border-radius: 2em;\n\n &:empty {\n display: none;\n }\n\n /* Is this selector used? could not find any use of it */\n & .octicon {\n vertical-align: text-top;\n opacity: 0.8;\n }\n}\n\n.Counter--primary {\n color: var(--color-fg-on-emphasis);\n background-color: var(--color-neutral-emphasis);\n}\n\n.Counter--secondary {\n color: var(--color-fg-muted);\n background-color: var(--color-neutral-subtle);\n}\n"]}
@@ -2,15 +2,15 @@
2
2
 
3
3
  .Counter {
4
4
  display: inline-block;
5
- min-width: var(--base-size-20, 20px); /* makes sure it's a circle with just one digit */
5
+ min-width: var(--base-size-20); /* makes sure it's a circle with just one digit */
6
6
  padding: 0 6px;
7
- font-size: var(--text-body-size-small, 12px);
8
- font-weight: var(--base-text-weight-medium, 500);
9
- line-height: calc(var(--base-size-20, 20px) - var(--borderWidth-thin, 1px) * 2); /* 20px - 2px for the borders */
7
+ font-size: var(--text-body-size-small);
8
+ font-weight: var(--base-text-weight-medium);
9
+ line-height: calc(var(--base-size-20) - var(--borderWidth-thin) * 2); /* 20px - 2px for the borders */
10
10
  color: var(--color-fg-default);
11
11
  text-align: center;
12
12
  background-color: var(--color-neutral-muted);
13
- border: var(--borderWidth-thin, 1px) solid var(--color-counter-border);
13
+ border: var(--borderWidth-thin) solid var(--color-counter-border);
14
14
  border-radius: 2em;
15
15
 
16
16
  &:empty {
@@ -1,4 +1,8 @@
1
- <%= render Primer::BaseComponent.new(**@system_arguments) do %>
1
+ <% if disabled? %>
2
2
  <%= summary %>
3
- <%= body %>
3
+ <% else %>
4
+ <%= render(Primer::BaseComponent.new(**@system_arguments)) do %>
5
+ <%= summary %>
6
+ <%= body %>
7
+ <% end %>
4
8
  <% end %>
@@ -15,19 +15,24 @@ module Primer
15
15
  :dark => "details-overlay details-overlay-dark"
16
16
  }.freeze
17
17
 
18
- # Use the Summary slot as a trigger to reveal the content.
19
- #
20
- # @param button [Boolean] (true) Whether to render the Summary as a button or not.
21
- # @param kwargs [Hash] The same arguments as <%= link_to_system_arguments_docs %>.
18
+ attr_reader :disabled
19
+ alias disabled? disabled
20
+
22
21
  renders_one :summary, lambda { |button: true, **system_arguments|
23
22
  system_arguments[:tag] = :summary
24
23
  system_arguments[:role] = "button"
25
24
 
26
- return Primer::BaseComponent.new(**system_arguments) unless button
27
-
28
- # rubocop:disable Primer/ComponentNameMigration
29
- Primer::ButtonComponent.new(**system_arguments)
30
- # rubocop:enable Primer/ComponentNameMigration
25
+ if disabled?
26
+ # rubocop:disable Primer/ComponentNameMigration
27
+ Primer::ButtonComponent.new(**system_arguments, disabled: true)
28
+ # rubocop:enable Primer/ComponentNameMigration
29
+ elsif button
30
+ # rubocop:disable Primer/ComponentNameMigration
31
+ Primer::ButtonComponent.new(**system_arguments)
32
+ # rubocop:enable Primer/ComponentNameMigration
33
+ else
34
+ Primer::BaseComponent.new(**system_arguments)
35
+ end
31
36
  }
32
37
 
33
38
  # Use the Body slot as the main content to be shown when triggered by the Summary.
@@ -53,8 +58,9 @@ module Primer
53
58
  #
54
59
  # @param overlay [Symbol] Dictates the type of overlay to render with. <%= one_of(Primer::Beta::Details::OVERLAY_MAPPINGS.keys) %>
55
60
  # @param reset [Boolean] Defaults to false. If set to true, it will remove the default caret and remove style from the summary element
61
+ # @param disabled [Boolean] Whether or not to disable the summary button.
56
62
  # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
57
- def initialize(overlay: NO_OVERLAY, reset: false, **system_arguments)
63
+ def initialize(overlay: NO_OVERLAY, reset: false, disabled: false, **system_arguments)
58
64
  @system_arguments = deny_tag_argument(**system_arguments)
59
65
  @system_arguments[:tag] = :details
60
66
  @system_arguments[:classes] = class_names(
@@ -62,6 +68,8 @@ module Primer
62
68
  OVERLAY_MAPPINGS[fetch_or_fallback(OVERLAY_MAPPINGS.keys, overlay, NO_OVERLAY)],
63
69
  "details-reset" => reset
64
70
  )
71
+ @disabled = disabled
72
+ @summary_info = nil
65
73
  end
66
74
 
67
75
  def render?
@@ -1 +1 @@
1
- .flash:not(.Banner){background-image:linear-gradient(var(--color-accent-subtle),var(--color-accent-subtle));border-color:var(--color-accent-muted);border-radius:var(--borderRadius-medium,6px);border-style:solid;border-width:var(--borderWidth-thin,1px);color:var(--color-fg-default);padding:var(--base-size-20,20px) var(--control-medium-paddingInline-spacious,16px);position:relative}.flash:not(.Banner) .octicon{color:var(--color-accent-fg);margin-right:var(--base-size-12,12px)}.flash:not(.Banner) p:last-child{margin-bottom:0}.flash-messages{margin-bottom:var(--stack-gap-spacious,24px)}.flash-close:not(.Banner-close){-webkit-appearance:none;appearance:none;background:none;border:0;cursor:pointer;float:right;margin:calc(var(--control-medium-paddingInline-spacious, 16px)*-1);padding:var(--control-medium-paddingInline-spacious,16px);text-align:center}.flash-close:not(.Banner-close):hover{opacity:.7}.flash-close:not(.Banner-close):active{opacity:.5}.flash-close:not(.Banner-close) .octicon{margin-right:0}.flash-action:not(.Banner-actions){background-clip:padding-box;float:right;margin-left:var(--stack-gap-spacious,24px);margin-top:-3px}.flash-action.btn:not(.Banner-actions) .octicon{color:var(--color-fg-muted);margin-right:var(--control-small-gap,4px)}.flash-action.btn-primary:not(.Banner-actions){background-clip:initial}.flash-action.btn-primary:not(.Banner-actions) .octicon{color:inherit}.flash-warn:not(.Banner){background-image:linear-gradient(var(--color-attention-subtle),var(--color-attention-subtle));border-color:var(--color-attention-muted);color:var(--color-fg-default)}.flash-warn:not(.Banner) .octicon{color:var(--color-attention-fg)}.flash-error:not(.Banner){background-image:linear-gradient(var(--color-danger-subtle),var(--color-danger-subtle));border-color:var(--color-danger-muted);color:var(--color-fg-default)}.flash-error:not(.Banner) .octicon{color:var(--color-danger-fg)}.flash-success:not(.Banner){background-image:linear-gradient(var(--color-success-subtle),var(--color-success-subtle));border-color:var(--color-success-muted);color:var(--color-fg-default)}.flash-success:not(.Banner) .octicon{color:var(--color-success-fg)}.flash-full:not(.Banner){border-radius:0;border-width:var(--borderWidth-thin,1px) 0;margin-top:calc(var(--borderWidth-thin, 1px)*-1)}.flash-banner{border-left:0;border-radius:0;border-right:0;border-top:0;position:fixed;top:0;width:100%;z-index:90}.flash-banner,.flash-full{background-color:var(--color-canvas-default)}.warning{background-color:var(--color-attention-subtle);font-weight:var(--base-text-weight-semibold,600);margin-bottom:.8em;padding:.5em}
1
+ .flash:not(.Banner){background-image:linear-gradient(var(--color-accent-subtle),var(--color-accent-subtle));border-color:var(--color-accent-muted);border-radius:var(--borderRadius-medium,6px);border-style:solid;border-width:var(--borderWidth-thin,max(1px,.0625rem));color:var(--color-fg-default);padding:var(--base-size-20,1.25rem) var(--control-medium-paddingInline-spacious,1rem);position:relative}.flash:not(.Banner) .octicon{color:var(--color-accent-fg);margin-right:var(--base-size-12,.75rem)}.flash:not(.Banner) p:last-child{margin-bottom:0}.flash-messages{margin-bottom:var(--stack-gap-spacious,1.5rem)}.flash-close:not(.Banner-close){-webkit-appearance:none;appearance:none;background:none;border:0;cursor:pointer;float:right;margin:calc(var(--control-medium-paddingInline-spacious,1rem)*-1);padding:var(--control-medium-paddingInline-spacious,1rem);text-align:center}.flash-close:not(.Banner-close):hover{opacity:.7}.flash-close:not(.Banner-close):active{opacity:.5}.flash-close:not(.Banner-close) .octicon{margin-right:0}.flash-action:not(.Banner-actions){background-clip:padding-box;float:right;margin-left:var(--stack-gap-spacious,1.5rem);margin-top:-3px}.flash-action.btn:not(.Banner-actions) .octicon{color:var(--color-fg-muted);margin-right:var(--control-small-gap,.25rem)}.flash-action.btn-primary:not(.Banner-actions){background-clip:initial}.flash-action.btn-primary:not(.Banner-actions) .octicon{color:inherit}.flash-warn:not(.Banner){background-image:linear-gradient(var(--color-attention-subtle),var(--color-attention-subtle));border-color:var(--color-attention-muted);color:var(--color-fg-default)}.flash-warn:not(.Banner) .octicon{color:var(--color-attention-fg)}.flash-error:not(.Banner){background-image:linear-gradient(var(--color-danger-subtle),var(--color-danger-subtle));border-color:var(--color-danger-muted);color:var(--color-fg-default)}.flash-error:not(.Banner) .octicon{color:var(--color-danger-fg)}.flash-success:not(.Banner){background-image:linear-gradient(var(--color-success-subtle),var(--color-success-subtle));border-color:var(--color-success-muted);color:var(--color-fg-default)}.flash-success:not(.Banner) .octicon{color:var(--color-success-fg)}.flash-full:not(.Banner){border-radius:0;border-width:var(--borderWidth-thin,max(1px,.0625rem)) 0;margin-top:calc(var(--borderWidth-thin,max(1px, .0625rem))*-1)}.flash-banner{border-left:0;border-radius:0;border-right:0;border-top:0;position:fixed;top:0;width:100%;z-index:90}.flash-banner,.flash-full{background-color:var(--color-canvas-default)}.warning{background-color:var(--color-attention-subtle);font-weight:var(--base-text-weight-semibold,600);margin-bottom:.8em;padding:.5em}
@@ -1 +1 @@
1
- {"version":3,"sources":["flash.pcss"],"names":[],"mappings":"AAGA,oBASE,uFAAyF,CACzF,sCAAuC,CALvC,4CAA8C,CAF9C,kBAAmB,CACnB,wCAA0C,CAI1C,6BAA8B,CAN9B,kFAAqF,CADrF,iBAmBF,CARE,6BACE,4BAA6B,CAC7B,qCACF,CAEA,iCACE,eACF,CAIF,gBACE,4CACF,CAGA,gCAUE,uBAAgB,CAAhB,eAAgB,CAFhB,eAAgB,CAChB,QAAS,CAJT,cAAe,CAJf,WAAY,CAEZ,kEAAqE,CADrE,yDAA2D,CAE3D,iBAmBF,CAXE,sCACE,UACF,CAEA,uCACE,UACF,CAEA,yCACE,cACF,CAIF,mCAIE,2BAA4B,CAH5B,WAAY,CAEZ,0CAA4C,CAD5C,eAgBF,CAZE,gDAEE,2BAA4B,CAD5B,yCAEF,CAEA,+CACE,uBAKF,CAHE,wDACE,aACF,CAMJ,yBAEE,6FAA+F,CAC/F,yCAA0C,CAF1C,6BAOF,CAHE,kCACE,+BACF,CAGF,0BAEE,uFAAyF,CACzF,sCAAuC,CAFvC,6BAOF,CAHE,mCACE,4BACF,CAGF,4BAEE,yFAA2F,CAC3F,uCAAwC,CAFxC,6BAOF,CAHE,qCACE,6BACF,CAKF,yBAGE,eAAgB,CADhB,0CAA4C,CAD5C,gDAGF,CAGA,cAOE,aAAc,CACd,eAAgB,CAFhB,cAAe,CADf,YAAa,CAJb,cAAe,CACf,KAAM,CAEN,UAAW,CADX,UAMF,CAGA,0BAEE,4CACF,CAGA,SAIE,8CAA+C,CAD/C,gDAAkD,CADlD,kBAAoB,CADpB,YAIF","file":"flash.css","sourcesContent":["/* flash */\n\n/* Default flash */\n.flash:not(.Banner) {\n position: relative;\n padding: var(--base-size-20, 20px) var(--control-medium-paddingInline-spacious, 16px);\n border-style: solid;\n border-width: var(--borderWidth-thin, 1px);\n border-radius: var(--borderRadius-medium, 6px);\n\n /* Default color */\n color: var(--color-fg-default);\n background-image: linear-gradient(var(--color-accent-subtle), var(--color-accent-subtle));\n border-color: var(--color-accent-muted);\n\n & .octicon {\n color: var(--color-accent-fg);\n margin-right: var(--base-size-12, 12px);\n }\n\n & p:last-child {\n margin-bottom: 0;\n }\n}\n\n/* Contain the flash messages */\n.flash-messages {\n margin-bottom: var(--stack-gap-spacious, 24px);\n}\n\n/* Close button */\n.flash-close:not(.Banner-close) {\n float: right;\n padding: var(--control-medium-paddingInline-spacious, 16px);\n margin: calc(var(--control-medium-paddingInline-spacious, 16px) * -1);\n text-align: center;\n cursor: pointer;\n\n /* Undo `<button>` styles */\n background: none;\n border: 0;\n appearance: none;\n\n &:hover {\n opacity: 0.7;\n }\n\n &:active {\n opacity: 0.5;\n }\n\n & .octicon {\n margin-right: 0;\n }\n}\n\n/* Action button */\n.flash-action:not(.Banner-actions) {\n float: right;\n margin-top: -3px;\n margin-left: var(--stack-gap-spacious, 24px);\n background-clip: padding-box;\n\n &.btn .octicon {\n margin-right: var(--control-small-gap, 4px);\n color: var(--color-fg-muted);\n }\n\n &.btn-primary {\n background-clip: border-box;\n\n & .octicon {\n color: inherit;\n }\n }\n}\n\n/* Color variations */\n\n.flash-warn:not(.Banner) {\n color: var(--color-fg-default);\n background-image: linear-gradient(var(--color-attention-subtle), var(--color-attention-subtle));\n border-color: var(--color-attention-muted);\n\n & .octicon {\n color: var(--color-attention-fg);\n }\n}\n\n.flash-error:not(.Banner) {\n color: var(--color-fg-default);\n background-image: linear-gradient(var(--color-danger-subtle), var(--color-danger-subtle));\n border-color: var(--color-danger-muted);\n\n & .octicon {\n color: var(--color-danger-fg);\n }\n}\n\n.flash-success:not(.Banner) {\n color: var(--color-fg-default);\n background-image: linear-gradient(var(--color-success-subtle), var(--color-success-subtle));\n border-color: var(--color-success-muted);\n\n & .octicon {\n color: var(--color-success-fg);\n }\n}\n\n/* Layout variations */\n\n.flash-full:not(.Banner) {\n margin-top: calc(var(--borderWidth-thin, 1px) * -1);\n border-width: var(--borderWidth-thin, 1px) 0;\n border-radius: 0;\n}\n\n/* A banner rendered at the top of the page. */\n.flash-banner {\n position: fixed;\n top: 0;\n z-index: 90;\n width: 100%;\n border-top: 0;\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n/* Makes sure the background is opaque to cover any content underneath */\n.flash-full,\n.flash-banner {\n background-color: var(--color-canvas-default);\n}\n\n/* FIXME deprecate this */\n.warning {\n padding: 0.5em;\n margin-bottom: 0.8em;\n font-weight: var(--base-text-weight-semibold, 600);\n background-color: var(--color-attention-subtle);\n}\n"]}
1
+ {"version":3,"sources":["flash.pcss"],"names":[],"mappings":"AAGA,oBASE,uFAAyF,CACzF,sCAAuC,CALvC,4CAAyC,CAFzC,kBAAmB,CACnB,sDAAqC,CAIrC,6BAA8B,CAN9B,qFAAyE,CADzE,iBAmBF,CARE,6BACE,4BAA6B,CAC7B,uCACF,CAEA,iCACE,eACF,CAIF,gBACE,8CACF,CAGA,gCAUE,uBAAgB,CAAhB,eAAgB,CAFhB,eAAgB,CAChB,QAAS,CAJT,cAAe,CAJf,WAAY,CAEZ,iEAA+D,CAD/D,yDAAqD,CAErD,iBAmBF,CAXE,sCACE,UACF,CAEA,uCACE,UACF,CAEA,yCACE,cACF,CAIF,mCAIE,2BAA4B,CAH5B,WAAY,CAEZ,4CAAsC,CADtC,eAgBF,CAZE,gDAEE,2BAA4B,CAD5B,4CAEF,CAEA,+CACE,uBAKF,CAHE,wDACE,aACF,CAMJ,yBAEE,6FAA+F,CAC/F,yCAA0C,CAF1C,6BAOF,CAHE,kCACE,+BACF,CAGF,0BAEE,uFAAyF,CACzF,sCAAuC,CAFvC,6BAOF,CAHE,mCACE,4BACF,CAGF,4BAEE,yFAA2F,CAC3F,uCAAwC,CAFxC,6BAOF,CAHE,qCACE,6BACF,CAKF,yBAGE,eAAgB,CADhB,wDAAuC,CADvC,8DAGF,CAGA,cAOE,aAAc,CACd,eAAgB,CAFhB,cAAe,CADf,YAAa,CAJb,cAAe,CACf,KAAM,CAEN,UAAW,CADX,UAMF,CAGA,0BAEE,4CACF,CAGA,SAIE,8CAA+C,CAD/C,gDAA6C,CAD7C,kBAAoB,CADpB,YAIF","file":"flash.css","sourcesContent":["/* flash */\n\n/* Default flash */\n.flash:not(.Banner) {\n position: relative;\n padding: var(--base-size-20) var(--control-medium-paddingInline-spacious);\n border-style: solid;\n border-width: var(--borderWidth-thin);\n border-radius: var(--borderRadius-medium);\n\n /* Default color */\n color: var(--color-fg-default);\n background-image: linear-gradient(var(--color-accent-subtle), var(--color-accent-subtle));\n border-color: var(--color-accent-muted);\n\n & .octicon {\n color: var(--color-accent-fg);\n margin-right: var(--base-size-12);\n }\n\n & p:last-child {\n margin-bottom: 0;\n }\n}\n\n/* Contain the flash messages */\n.flash-messages {\n margin-bottom: var(--stack-gap-spacious);\n}\n\n/* Close button */\n.flash-close:not(.Banner-close) {\n float: right;\n padding: var(--control-medium-paddingInline-spacious);\n margin: calc(var(--control-medium-paddingInline-spacious) * -1);\n text-align: center;\n cursor: pointer;\n\n /* Undo `<button>` styles */\n background: none;\n border: 0;\n appearance: none;\n\n &:hover {\n opacity: 0.7;\n }\n\n &:active {\n opacity: 0.5;\n }\n\n & .octicon {\n margin-right: 0;\n }\n}\n\n/* Action button */\n.flash-action:not(.Banner-actions) {\n float: right;\n margin-top: -3px;\n margin-left: var(--stack-gap-spacious);\n background-clip: padding-box;\n\n &.btn .octicon {\n margin-right: var(--control-small-gap);\n color: var(--color-fg-muted);\n }\n\n &.btn-primary {\n background-clip: border-box;\n\n & .octicon {\n color: inherit;\n }\n }\n}\n\n/* Color variations */\n\n.flash-warn:not(.Banner) {\n color: var(--color-fg-default);\n background-image: linear-gradient(var(--color-attention-subtle), var(--color-attention-subtle));\n border-color: var(--color-attention-muted);\n\n & .octicon {\n color: var(--color-attention-fg);\n }\n}\n\n.flash-error:not(.Banner) {\n color: var(--color-fg-default);\n background-image: linear-gradient(var(--color-danger-subtle), var(--color-danger-subtle));\n border-color: var(--color-danger-muted);\n\n & .octicon {\n color: var(--color-danger-fg);\n }\n}\n\n.flash-success:not(.Banner) {\n color: var(--color-fg-default);\n background-image: linear-gradient(var(--color-success-subtle), var(--color-success-subtle));\n border-color: var(--color-success-muted);\n\n & .octicon {\n color: var(--color-success-fg);\n }\n}\n\n/* Layout variations */\n\n.flash-full:not(.Banner) {\n margin-top: calc(var(--borderWidth-thin) * -1);\n border-width: var(--borderWidth-thin) 0;\n border-radius: 0;\n}\n\n/* A banner rendered at the top of the page. */\n.flash-banner {\n position: fixed;\n top: 0;\n z-index: 90;\n width: 100%;\n border-top: 0;\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n/* Makes sure the background is opaque to cover any content underneath */\n.flash-full,\n.flash-banner {\n background-color: var(--color-canvas-default);\n}\n\n/* FIXME deprecate this */\n.warning {\n padding: 0.5em;\n margin-bottom: 0.8em;\n font-weight: var(--base-text-weight-semibold);\n background-color: var(--color-attention-subtle);\n}\n"]}
@@ -3,10 +3,10 @@
3
3
  /* Default flash */
4
4
  .flash:not(.Banner) {
5
5
  position: relative;
6
- padding: var(--base-size-20, 20px) var(--control-medium-paddingInline-spacious, 16px);
6
+ padding: var(--base-size-20) var(--control-medium-paddingInline-spacious);
7
7
  border-style: solid;
8
- border-width: var(--borderWidth-thin, 1px);
9
- border-radius: var(--borderRadius-medium, 6px);
8
+ border-width: var(--borderWidth-thin);
9
+ border-radius: var(--borderRadius-medium);
10
10
 
11
11
  /* Default color */
12
12
  color: var(--color-fg-default);
@@ -15,7 +15,7 @@
15
15
 
16
16
  & .octicon {
17
17
  color: var(--color-accent-fg);
18
- margin-right: var(--base-size-12, 12px);
18
+ margin-right: var(--base-size-12);
19
19
  }
20
20
 
21
21
  & p:last-child {
@@ -25,14 +25,14 @@
25
25
 
26
26
  /* Contain the flash messages */
27
27
  .flash-messages {
28
- margin-bottom: var(--stack-gap-spacious, 24px);
28
+ margin-bottom: var(--stack-gap-spacious);
29
29
  }
30
30
 
31
31
  /* Close button */
32
32
  .flash-close:not(.Banner-close) {
33
33
  float: right;
34
- padding: var(--control-medium-paddingInline-spacious, 16px);
35
- margin: calc(var(--control-medium-paddingInline-spacious, 16px) * -1);
34
+ padding: var(--control-medium-paddingInline-spacious);
35
+ margin: calc(var(--control-medium-paddingInline-spacious) * -1);
36
36
  text-align: center;
37
37
  cursor: pointer;
38
38
 
@@ -58,11 +58,11 @@
58
58
  .flash-action:not(.Banner-actions) {
59
59
  float: right;
60
60
  margin-top: -3px;
61
- margin-left: var(--stack-gap-spacious, 24px);
61
+ margin-left: var(--stack-gap-spacious);
62
62
  background-clip: padding-box;
63
63
 
64
64
  &.btn .octicon {
65
- margin-right: var(--control-small-gap, 4px);
65
+ margin-right: var(--control-small-gap);
66
66
  color: var(--color-fg-muted);
67
67
  }
68
68
 
@@ -110,8 +110,8 @@
110
110
  /* Layout variations */
111
111
 
112
112
  .flash-full:not(.Banner) {
113
- margin-top: calc(var(--borderWidth-thin, 1px) * -1);
114
- border-width: var(--borderWidth-thin, 1px) 0;
113
+ margin-top: calc(var(--borderWidth-thin) * -1);
114
+ border-width: var(--borderWidth-thin) 0;
115
115
  border-radius: 0;
116
116
  }
117
117
 
@@ -137,6 +137,6 @@
137
137
  .warning {
138
138
  padding: 0.5em;
139
139
  margin-bottom: 0.8em;
140
- font-weight: var(--base-text-weight-semibold, 600);
140
+ font-weight: var(--base-text-weight-semibold);
141
141
  background-color: var(--color-attention-subtle);
142
142
  }
@@ -5,7 +5,7 @@ module Primer
5
5
  # Use `IconButton` to render Icon-only buttons without the default button styles.
6
6
  #
7
7
  # `IconButton` will always render with a tooltip unless the tag is `:summary`.
8
- # `IconButton` will always render with a tooltip unless the tag is `:summary`.
8
+ #
9
9
  # @accessibility
10
10
  # `IconButton` requires an `aria-label`, which will provide assistive technologies with an accessible label.
11
11
  # The `aria-label` should describe the action to be invoked rather than the icon itself. For instance,
@@ -47,23 +47,25 @@ module Primer
47
47
  # <%= render(Primer::Beta::IconButton.new(icon: :search, "aria-label": "Search", tooltip_direction: :e)) %>
48
48
  #
49
49
  # @param icon [String] Name of <%= link_to_octicons %> to use.
50
+ # @param tag [Symbol] <%= one_of(Primer::Beta::BaseButton::TAG_OPTIONS) %>
50
51
  # @param wrapper_arguments [Hash] Optional keyword arguments to be passed to the wrapper `<div>` tag.
51
52
  # @param scheme [Symbol] <%= one_of(Primer::Beta::IconButton::SCHEME_OPTIONS) %>
52
53
  # @param size [Symbol] <%= one_of(Primer::Beta::Button::SIZE_OPTIONS) %>
53
- # @param tag [Symbol] <%= one_of(Primer::Beta::BaseButton::TAG_OPTIONS) %>
54
+ # @param disabled [Boolean] Whether or not the button is disabled. If true, this option forces `tag:` to `:button`.
54
55
  # @param type [Symbol] <%= one_of(Primer::Beta::BaseButton::TYPE_OPTIONS) %>
55
56
  # @param aria-label [String] String that can be read by assistive technology. A label should be short and concise. See the accessibility section for more information.
56
57
  # @param aria-description [String] String that can be read by assistive technology. A description can be longer as it is intended to provide more context and information. See the accessibility section for more information.
57
58
  # @param show_tooltip [Boolean] Whether or not to show a tooltip when this button is hovered. Tooltips should only be hidden if the aria label is redundant, i.e. if the icon has a widely understood definition.
58
59
  # @param tooltip_direction [Symbol] (Primer::Alpha::Tooltip::DIRECTION_DEFAULT) <%= one_of(Primer::Alpha::Tooltip::DIRECTION_OPTIONS) %>
59
60
  # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
60
- def initialize(icon:, scheme: DEFAULT_SCHEME, wrapper_arguments: {}, show_tooltip: true, tooltip_direction: Primer::Alpha::Tooltip::DIRECTION_DEFAULT, size: Primer::Beta::Button::DEFAULT_SIZE, **system_arguments)
61
+ def initialize(icon:, scheme: DEFAULT_SCHEME, wrapper_arguments: {}, show_tooltip: true, tooltip_direction: Primer::Alpha::Tooltip::DIRECTION_DEFAULT, size: Primer::Beta::Button::DEFAULT_SIZE, disabled: false, **system_arguments)
61
62
  @icon = icon
62
63
 
63
64
  @wrapper_arguments = wrapper_arguments
64
65
  @show_tooltip = show_tooltip
65
66
  @system_arguments = system_arguments
66
67
  @system_arguments[:id] ||= self.class.generate_id
68
+ @system_arguments[:disabled] = disabled
67
69
 
68
70
  @system_arguments[:classes] = class_names(
69
71
  "Button",
@@ -78,6 +80,8 @@ module Primer
78
80
  @aria_label = aria("label", @system_arguments)
79
81
  @aria_description = aria("description", @system_arguments)
80
82
 
83
+ return unless @show_tooltip
84
+
81
85
  @tooltip_arguments = {
82
86
  for_id: @system_arguments[:id],
83
87
  direction: tooltip_direction
@@ -1 +1 @@
1
- .labels{position:relative}.Label,.label{border:var(--borderWidth-thin,1px) solid var(--color-border-default);border-radius:2em;display:inline-block;font-size:var(--text-body-size-small,12px);font-weight:var(--base-text-weight-medium,500);line-height:18px;padding:0 7px;white-space:nowrap}.Label:hover,.label:hover{text-decoration:none}.Label--large{line-height:22px;padding-left:10px;padding-right:10px}.Label--inline{display:inline;font-size:85%;padding:.12em .5em}.Label--primary{border-color:var(--color-neutral-emphasis);color:var(--color-fg-default)}.Label--secondary{border-color:var(--color-border-default);color:var(--color-fg-muted)}.Label--accent,.Label--info{border-color:var(--color-accent-emphasis);color:var(--color-accent-fg)}.Label--success{border-color:var(--color-success-emphasis);color:var(--color-success-fg)}.Label--attention,.Label--warning{border-color:var(--color-attention-emphasis);color:var(--color-attention-fg)}.Label--severe{border-color:var(--color-severe-emphasis);color:var(--color-severe-fg)}.Label--danger{border-color:var(--color-danger-emphasis);color:var(--color-danger-fg)}.Label--open{border-color:var(--color-open-emphasis);color:var(--color-open-fg)}.Label--closed{border-color:var(--color-closed-emphasis);color:var(--color-closed-fg)}.Label--done{border-color:var(--color-done-emphasis);color:var(--color-done-fg)}.Label--sponsors{border-color:var(--color-sponsors-emphasis);color:var(--color-sponsors-fg)}
1
+ .labels{position:relative}.Label,.label{border:var(--borderWidth-thin,max(1px,.0625rem)) solid var(--color-border-default);border-radius:2em;display:inline-block;font-size:var(--text-body-size-small,.75rem);font-weight:var(--base-text-weight-medium,500);line-height:18px;padding:0 7px;white-space:nowrap}.Label:hover,.label:hover{text-decoration:none}.Label--large{line-height:22px;padding-left:10px;padding-right:10px}.Label--inline{display:inline;font-size:85%;padding:.12em .5em}.Label--primary{border-color:var(--color-neutral-emphasis);color:var(--color-fg-default)}.Label--secondary{border-color:var(--color-border-default);color:var(--color-fg-muted)}.Label--accent,.Label--info{border-color:var(--color-accent-emphasis);color:var(--color-accent-fg)}.Label--success{border-color:var(--color-success-emphasis);color:var(--color-success-fg)}.Label--attention,.Label--warning{border-color:var(--color-attention-emphasis);color:var(--color-attention-fg)}.Label--severe{border-color:var(--color-severe-emphasis);color:var(--color-severe-fg)}.Label--danger{border-color:var(--color-danger-emphasis);color:var(--color-danger-fg)}.Label--open{border-color:var(--color-open-emphasis);color:var(--color-open-fg)}.Label--closed{border-color:var(--color-closed-emphasis);color:var(--color-closed-fg)}.Label--done{border-color:var(--color-done-emphasis);color:var(--color-done-fg)}.Label--sponsors{border-color:var(--color-sponsors-emphasis);color:var(--color-sponsors-fg)}
@@ -1 +1 @@
1
- {"version":3,"sources":["label.pcss"],"names":[],"mappings":"AAGA,QACE,iBACF,CAIA,cAQE,oEAAsE,CACtE,iBAAkB,CAPlB,oBAAqB,CAErB,0CAA4C,CAC5C,8CAAgD,CAChD,gBAAiB,CAHjB,aAAc,CAId,kBAOF,CAHE,0BACE,oBACF,CAKF,cAGE,gBAAiB,CADjB,iBAAkB,CADlB,kBAGF,CAMA,eACE,cAAe,CAEf,aAAc,CADd,kBAEF,CAIA,gBAEE,0CAA2C,CAD3C,6BAEF,CAEA,kBAEE,wCAAyC,CADzC,2BAEF,CAIA,4BAGE,yCAA0C,CAD1C,4BAEF,CAEA,gBAEE,0CAA2C,CAD3C,6BAEF,CAEA,kCAGE,4CAA6C,CAD7C,+BAEF,CAEA,eAEE,yCAA0C,CAD1C,4BAEF,CAEA,eAEE,yCAA0C,CAD1C,4BAEF,CAEA,aAEE,uCAAwC,CADxC,0BAEF,CAEA,eAEE,yCAA0C,CAD1C,4BAEF,CAEA,aAEE,uCAAwC,CADxC,0BAEF,CAEA,iBAEE,2CAA4C,CAD5C,8BAEF","file":"label.css","sourcesContent":["/* Labels */\n\n/* Provide a wrapper to ensure labels stick together */\n.labels {\n position: relative;\n}\n\n/* Default 20px */\n\n.label, /* TODO: Deprecate */\n.Label {\n display: inline-block;\n padding: 0 7px;\n font-size: var(--text-body-size-small, 12px);\n font-weight: var(--base-text-weight-medium, 500);\n line-height: 18px;\n white-space: nowrap;\n border: var(--borderWidth-thin, 1px) solid var(--color-border-default);\n border-radius: 2em;\n\n &:hover {\n text-decoration: none;\n }\n}\n\n/* Large 24px */\n\n.Label--large {\n padding-right: 10px;\n padding-left: 10px;\n line-height: 22px;\n}\n\n/* Inline */\n\n/* Doesn't increase height of parent element\n** Can be used with different font-sizes */\n.Label--inline {\n display: inline;\n padding: 0.12em 0.5em;\n font-size: 85%;\n}\n\n/* Contrast */\n\n.Label--primary {\n color: var(--color-fg-default);\n border-color: var(--color-neutral-emphasis);\n}\n\n.Label--secondary {\n color: var(--color-fg-muted);\n border-color: var(--color-border-default);\n}\n\n/* Colors */\n\n.Label--info, /* TODO: deprecate */\n.Label--accent {\n color: var(--color-accent-fg);\n border-color: var(--color-accent-emphasis);\n}\n\n.Label--success {\n color: var(--color-success-fg);\n border-color: var(--color-success-emphasis);\n}\n\n.Label--warning, /* TODO: deprecate */\n.Label--attention {\n color: var(--color-attention-fg);\n border-color: var(--color-attention-emphasis);\n}\n\n.Label--severe {\n color: var(--color-severe-fg);\n border-color: var(--color-severe-emphasis);\n}\n\n.Label--danger {\n color: var(--color-danger-fg);\n border-color: var(--color-danger-emphasis);\n}\n\n.Label--open {\n color: var(--color-open-fg);\n border-color: var(--color-open-emphasis);\n}\n\n.Label--closed {\n color: var(--color-closed-fg);\n border-color: var(--color-closed-emphasis);\n}\n\n.Label--done {\n color: var(--color-done-fg);\n border-color: var(--color-done-emphasis);\n}\n\n.Label--sponsors {\n color: var(--color-sponsors-fg);\n border-color: var(--color-sponsors-emphasis);\n}\n"]}
1
+ {"version":3,"sources":["label.pcss"],"names":[],"mappings":"AAGA,QACE,iBACF,CAIA,cAQE,kFAAiE,CACjE,iBAAkB,CAPlB,oBAAqB,CAErB,4CAAsC,CACtC,8CAA2C,CAC3C,gBAAiB,CAHjB,aAAc,CAId,kBAOF,CAHE,0BACE,oBACF,CAKF,cAGE,gBAAiB,CADjB,iBAAkB,CADlB,kBAGF,CAMA,eACE,cAAe,CAEf,aAAc,CADd,kBAEF,CAIA,gBAEE,0CAA2C,CAD3C,6BAEF,CAEA,kBAEE,wCAAyC,CADzC,2BAEF,CAIA,4BAGE,yCAA0C,CAD1C,4BAEF,CAEA,gBAEE,0CAA2C,CAD3C,6BAEF,CAEA,kCAGE,4CAA6C,CAD7C,+BAEF,CAEA,eAEE,yCAA0C,CAD1C,4BAEF,CAEA,eAEE,yCAA0C,CAD1C,4BAEF,CAEA,aAEE,uCAAwC,CADxC,0BAEF,CAEA,eAEE,yCAA0C,CAD1C,4BAEF,CAEA,aAEE,uCAAwC,CADxC,0BAEF,CAEA,iBAEE,2CAA4C,CAD5C,8BAEF","file":"label.css","sourcesContent":["/* Labels */\n\n/* Provide a wrapper to ensure labels stick together */\n.labels {\n position: relative;\n}\n\n/* Default 20px */\n\n.label, /* TODO: Deprecate */\n.Label {\n display: inline-block;\n padding: 0 7px;\n font-size: var(--text-body-size-small);\n font-weight: var(--base-text-weight-medium);\n line-height: 18px;\n white-space: nowrap;\n border: var(--borderWidth-thin) solid var(--color-border-default);\n border-radius: 2em;\n\n &:hover {\n text-decoration: none;\n }\n}\n\n/* Large 24px */\n\n.Label--large {\n padding-right: 10px;\n padding-left: 10px;\n line-height: 22px;\n}\n\n/* Inline */\n\n/* Doesn't increase height of parent element\n** Can be used with different font-sizes */\n.Label--inline {\n display: inline;\n padding: 0.12em 0.5em;\n font-size: 85%;\n}\n\n/* Contrast */\n\n.Label--primary {\n color: var(--color-fg-default);\n border-color: var(--color-neutral-emphasis);\n}\n\n.Label--secondary {\n color: var(--color-fg-muted);\n border-color: var(--color-border-default);\n}\n\n/* Colors */\n\n.Label--info, /* TODO: deprecate */\n.Label--accent {\n color: var(--color-accent-fg);\n border-color: var(--color-accent-emphasis);\n}\n\n.Label--success {\n color: var(--color-success-fg);\n border-color: var(--color-success-emphasis);\n}\n\n.Label--warning, /* TODO: deprecate */\n.Label--attention {\n color: var(--color-attention-fg);\n border-color: var(--color-attention-emphasis);\n}\n\n.Label--severe {\n color: var(--color-severe-fg);\n border-color: var(--color-severe-emphasis);\n}\n\n.Label--danger {\n color: var(--color-danger-fg);\n border-color: var(--color-danger-emphasis);\n}\n\n.Label--open {\n color: var(--color-open-fg);\n border-color: var(--color-open-emphasis);\n}\n\n.Label--closed {\n color: var(--color-closed-fg);\n border-color: var(--color-closed-emphasis);\n}\n\n.Label--done {\n color: var(--color-done-fg);\n border-color: var(--color-done-emphasis);\n}\n\n.Label--sponsors {\n color: var(--color-sponsors-fg);\n border-color: var(--color-sponsors-emphasis);\n}\n"]}
@@ -11,11 +11,11 @@
11
11
  .Label {
12
12
  display: inline-block;
13
13
  padding: 0 7px;
14
- font-size: var(--text-body-size-small, 12px);
15
- font-weight: var(--base-text-weight-medium, 500);
14
+ font-size: var(--text-body-size-small);
15
+ font-weight: var(--base-text-weight-medium);
16
16
  line-height: 18px;
17
17
  white-space: nowrap;
18
- border: var(--borderWidth-thin, 1px) solid var(--color-border-default);
18
+ border: var(--borderWidth-thin) solid var(--color-border-default);
19
19
  border-radius: 2em;
20
20
 
21
21
  &:hover {
@@ -1 +1 @@
1
- .Popover{position:absolute;z-index:100}.Popover-message{background-color:var(--color-canvas-overlay);border:var(--borderWidth-thin,1px) solid var(--color-border-default);border-radius:var(--borderRadius-medium,6px);margin-left:auto;margin-right:auto;position:relative;width:232px}.Popover-message:after,.Popover-message:before{content:"";display:inline-block;left:50%;position:absolute}.Popover-message:before{border:8px solid #0000;border-bottom:8px solid var(--color-border-default);margin-left:-9px;top:-16px}.Popover-message:after{border:7px solid #0000;border-bottom:7px solid var(--color-canvas-overlay);margin-left:-8px;top:-14px}.Popover-message--no-caret:after,.Popover-message--no-caret:before{display:none}.Popover-message--bottom-left:after,.Popover-message--bottom-left:before,.Popover-message--bottom-right:after,.Popover-message--bottom-right:before,.Popover-message--bottom:after,.Popover-message--bottom:before{border-bottom-color:#0000;top:auto}.Popover-message--bottom-left:before,.Popover-message--bottom-right:before,.Popover-message--bottom:before{border-top-color:var(--color-border-default);bottom:-16px}.Popover-message--bottom-left:after,.Popover-message--bottom-right:after,.Popover-message--bottom:after{border-top-color:var(--color-canvas-overlay);bottom:-14px}.Popover-message--bottom-right,.Popover-message--top-right{margin-right:0;right:-9px}.Popover-message--bottom-right:after,.Popover-message--bottom-right:before,.Popover-message--top-right:after,.Popover-message--top-right:before{left:auto;margin-left:0}.Popover-message--bottom-right:before,.Popover-message--top-right:before{right:20px}.Popover-message--bottom-right:after,.Popover-message--top-right:after{right:21px}.Popover-message--bottom-left,.Popover-message--top-left{left:-9px;margin-left:0}.Popover-message--bottom-left:after,.Popover-message--bottom-left:before,.Popover-message--top-left:after,.Popover-message--top-left:before{left:24px;margin-left:0}.Popover-message--bottom-left:after,.Popover-message--top-left:after{left:25px}.Popover-message--left-bottom:after,.Popover-message--left-bottom:before,.Popover-message--left-top:after,.Popover-message--left-top:before,.Popover-message--left:after,.Popover-message--left:before,.Popover-message--right-bottom:after,.Popover-message--right-bottom:before,.Popover-message--right-top:after,.Popover-message--right-top:before,.Popover-message--right:after,.Popover-message--right:before{border-bottom-color:#0000;left:auto;margin-left:0;top:50%}.Popover-message--left-bottom:before,.Popover-message--left-top:before,.Popover-message--left:before,.Popover-message--right-bottom:before,.Popover-message--right-top:before,.Popover-message--right:before{margin-top:-9px}.Popover-message--left-bottom:after,.Popover-message--left-top:after,.Popover-message--left:after,.Popover-message--right-bottom:after,.Popover-message--right-top:after,.Popover-message--right:after{margin-top:-8px}.Popover-message--right-bottom:before,.Popover-message--right-top:before,.Popover-message--right:before{border-left-color:var(--color-border-default);right:-16px}.Popover-message--right-bottom:after,.Popover-message--right-top:after,.Popover-message--right:after{border-left-color:var(--color-canvas-overlay);right:-14px}.Popover-message--left-bottom:before,.Popover-message--left-top:before,.Popover-message--left:before{border-right-color:var(--color-border-default);left:-16px}.Popover-message--left-bottom:after,.Popover-message--left-top:after,.Popover-message--left:after{border-right-color:var(--color-canvas-overlay);left:-14px}.Popover-message--left-top:after,.Popover-message--left-top:before,.Popover-message--right-top:after,.Popover-message--right-top:before{top:24px}.Popover-message--left-bottom:after,.Popover-message--left-bottom:before,.Popover-message--right-bottom:after,.Popover-message--right-bottom:before{top:auto}.Popover-message--left-bottom:before,.Popover-message--right-bottom:before{bottom:16px}.Popover-message--left-bottom:after,.Popover-message--right-bottom:after{bottom:17px}@media (min-width:544px){.Popover-message--large{min-width:320px}}@media (max-width:767.98px){.Popover{bottom:0!important;left:0!important;position:fixed;right:0!important;top:auto!important}.Popover-message{bottom:auto;left:auto;margin:var(--stack-gap-condensed,8px);right:auto;top:auto;width:auto!important}.Popover-message>.btn-octicon{padding:var(--control-medium-paddingInline-normal,12px)!important}.Popover-message:after,.Popover-message:before{display:none}}
1
+ .Popover{position:absolute;z-index:100}.Popover-message{background-color:var(--color-canvas-overlay);border:var(--borderWidth-thin,max(1px,.0625rem)) solid var(--color-border-default);border-radius:var(--borderRadius-medium,6px);margin-left:auto;margin-right:auto;position:relative;width:232px}.Popover-message:after,.Popover-message:before{content:"";display:inline-block;left:50%;position:absolute}.Popover-message:before{border:8px solid #0000;border-bottom:8px solid var(--color-border-default);margin-left:-9px;top:-16px}.Popover-message:after{border:7px solid #0000;border-bottom:7px solid var(--color-canvas-overlay);margin-left:-8px;top:-14px}.Popover-message--no-caret:after,.Popover-message--no-caret:before{display:none}.Popover-message--bottom-left:after,.Popover-message--bottom-left:before,.Popover-message--bottom-right:after,.Popover-message--bottom-right:before,.Popover-message--bottom:after,.Popover-message--bottom:before{border-bottom-color:#0000;top:auto}.Popover-message--bottom-left:before,.Popover-message--bottom-right:before,.Popover-message--bottom:before{border-top-color:var(--color-border-default);bottom:-16px}.Popover-message--bottom-left:after,.Popover-message--bottom-right:after,.Popover-message--bottom:after{border-top-color:var(--color-canvas-overlay);bottom:-14px}.Popover-message--bottom-right,.Popover-message--top-right{margin-right:0;right:-9px}.Popover-message--bottom-right:after,.Popover-message--bottom-right:before,.Popover-message--top-right:after,.Popover-message--top-right:before{left:auto;margin-left:0}.Popover-message--bottom-right:before,.Popover-message--top-right:before{right:20px}.Popover-message--bottom-right:after,.Popover-message--top-right:after{right:21px}.Popover-message--bottom-left,.Popover-message--top-left{left:-9px;margin-left:0}.Popover-message--bottom-left:after,.Popover-message--bottom-left:before,.Popover-message--top-left:after,.Popover-message--top-left:before{left:24px;margin-left:0}.Popover-message--bottom-left:after,.Popover-message--top-left:after{left:25px}.Popover-message--left-bottom:after,.Popover-message--left-bottom:before,.Popover-message--left-top:after,.Popover-message--left-top:before,.Popover-message--left:after,.Popover-message--left:before,.Popover-message--right-bottom:after,.Popover-message--right-bottom:before,.Popover-message--right-top:after,.Popover-message--right-top:before,.Popover-message--right:after,.Popover-message--right:before{border-bottom-color:#0000;left:auto;margin-left:0;top:50%}.Popover-message--left-bottom:before,.Popover-message--left-top:before,.Popover-message--left:before,.Popover-message--right-bottom:before,.Popover-message--right-top:before,.Popover-message--right:before{margin-top:-9px}.Popover-message--left-bottom:after,.Popover-message--left-top:after,.Popover-message--left:after,.Popover-message--right-bottom:after,.Popover-message--right-top:after,.Popover-message--right:after{margin-top:-8px}.Popover-message--right-bottom:before,.Popover-message--right-top:before,.Popover-message--right:before{border-left-color:var(--color-border-default);right:-16px}.Popover-message--right-bottom:after,.Popover-message--right-top:after,.Popover-message--right:after{border-left-color:var(--color-canvas-overlay);right:-14px}.Popover-message--left-bottom:before,.Popover-message--left-top:before,.Popover-message--left:before{border-right-color:var(--color-border-default);left:-16px}.Popover-message--left-bottom:after,.Popover-message--left-top:after,.Popover-message--left:after{border-right-color:var(--color-canvas-overlay);left:-14px}.Popover-message--left-top:after,.Popover-message--left-top:before,.Popover-message--right-top:after,.Popover-message--right-top:before{top:24px}.Popover-message--left-bottom:after,.Popover-message--left-bottom:before,.Popover-message--right-bottom:after,.Popover-message--right-bottom:before{top:auto}.Popover-message--left-bottom:before,.Popover-message--right-bottom:before{bottom:16px}.Popover-message--left-bottom:after,.Popover-message--right-bottom:after{bottom:17px}@media (min-width:544px){.Popover-message--large{min-width:320px}}@media (max-width:767.98px){.Popover{bottom:0!important;left:0!important;position:fixed;right:0!important;top:auto!important}.Popover-message{bottom:auto;left:auto;margin:var(--stack-gap-condensed,.5rem);right:auto;top:auto;width:auto!important}.Popover-message>.btn-octicon{padding:var(--control-medium-paddingInline-normal,.75rem)!important}.Popover-message:after,.Popover-message:before{display:none}}