primer_view_components 0.11.0 → 0.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +50 -0
- data/app/assets/javascripts/app/components/primer/alpha/tool_tip.d.ts +1 -0
- data/app/assets/javascripts/primer_view_components.js +1 -1
- data/app/assets/javascripts/primer_view_components.js.map +1 -1
- data/app/assets/styles/primer_view_components.css +1 -1
- data/app/assets/styles/primer_view_components.css.map +1 -1
- data/app/components/primer/alpha/action_bar_element.js +8 -3
- data/app/components/primer/alpha/action_bar_element.ts +8 -1
- data/app/components/primer/alpha/action_list/form_wrapper.html.erb +4 -2
- data/app/components/primer/alpha/action_list/form_wrapper.rb +20 -9
- data/app/components/primer/alpha/action_menu/action_menu_element.js +1 -10
- data/app/components/primer/alpha/action_menu/action_menu_element.ts +0 -11
- data/app/components/primer/alpha/action_menu.rb +120 -3
- data/app/components/primer/alpha/modal_dialog.js +10 -13
- data/app/components/primer/alpha/modal_dialog.ts +10 -13
- data/app/components/primer/alpha/segmented_control/item.html.erb +1 -8
- data/app/components/primer/alpha/segmented_control/item.rb +38 -4
- data/app/components/primer/alpha/segmented_control.css +1 -1
- data/app/components/primer/alpha/segmented_control.css.json +14 -13
- data/app/components/primer/alpha/segmented_control.css.map +1 -1
- data/app/components/primer/alpha/segmented_control.pcss +75 -66
- data/app/components/primer/alpha/segmented_control.rb +10 -0
- data/app/components/primer/alpha/text_field.css +1 -1
- data/app/components/primer/alpha/tool_tip.d.ts +1 -0
- data/app/components/primer/alpha/tool_tip.js +26 -93
- data/app/components/primer/alpha/tool_tip.ts +25 -91
- data/app/components/primer/beta/base_button.rb +4 -0
- data/app/components/primer/beta/button.css +1 -1
- data/app/components/primer/beta/button.css.map +1 -1
- data/app/components/primer/beta/button.pcss +6 -2
- data/lib/primer/accessibility.rb +3 -1
- data/lib/primer/static/generate_info_arch.rb +86 -5
- data/lib/primer/view_components/version.rb +1 -1
- data/previews/primer/alpha/action_menu_preview/single_select_form_items.html.erb +31 -0
- data/previews/primer/alpha/action_menu_preview/with_actions.html.erb +1 -1
- data/previews/primer/alpha/action_menu_preview.rb +8 -2
- data/previews/primer/alpha/check_box_preview.rb +1 -0
- data/previews/primer/alpha/dialog_preview/autofocus_element.html.erb +8 -0
- data/previews/primer/alpha/dialog_preview.rb +5 -0
- data/previews/primer/alpha/radio_button_preview.rb +1 -0
- data/previews/primer/alpha/segmented_control_preview.rb +35 -0
- data/previews/primer/alpha/tooltip_preview/tooltip_with_dialog_moving_focus_to_input.html.erb +23 -0
- data/previews/primer/alpha/tooltip_preview.rb +6 -1
- data/previews/primer/beta/button_group_preview.rb +6 -6
- data/previews/primer/beta/button_preview.rb +20 -2
- data/previews/primer/beta/icon_button_preview.rb +3 -0
- data/static/arguments.json +6 -0
- data/static/classes.json +12 -0
- data/static/constants.json +12 -1
- data/static/info_arch.json +125 -160
- data/static/previews.json +91 -172
- metadata +5 -310
@@ -0,0 +1,23 @@
|
|
1
|
+
<%= render(Primer::Alpha::Dialog.new(id: "my-dialog", title: "Confirm focus")) do |d| %>
|
2
|
+
<%= render(Primer::Alpha::Dialog::Body.new()) do %>
|
3
|
+
Are you sure you want to focus the input?
|
4
|
+
<% end %>
|
5
|
+
<%= render(Primer::Alpha::Dialog::Footer.new()) do %>
|
6
|
+
<%= render(Primer::Beta::Button.new(id: "yes-button", data: { "close-dialog-id": "my-dialog" })) { "Yes" } %>
|
7
|
+
<%= render(Primer::Beta::Button.new(scheme: :primary, data: { "close-dialog-id": "my-dialog" })) { "Yes but in green" } %>
|
8
|
+
<% end %>
|
9
|
+
<% d.with_show_button do |b| %>
|
10
|
+
Focus input
|
11
|
+
<% b.with_tooltip(text: "This is a tooltip in an Overlay") %>
|
12
|
+
<% end %>
|
13
|
+
<% end %>
|
14
|
+
<label>
|
15
|
+
An input
|
16
|
+
<input type="text" id="input">
|
17
|
+
</label>
|
18
|
+
<script>
|
19
|
+
document.querySelector('#my-dialog').addEventListener('cancel', function () {
|
20
|
+
console.log('!!')
|
21
|
+
setTimeout(() => document.querySelector('#input').focus(), 0);
|
22
|
+
});
|
23
|
+
</script>
|
@@ -78,11 +78,16 @@ module Primer
|
|
78
78
|
# @!endgroup
|
79
79
|
|
80
80
|
# @label Tooltip inside Primer::Alpha::Overlay
|
81
|
-
def tooltip_inside_primer_overlay
|
81
|
+
def tooltip_inside_primer_overlay
|
82
82
|
render_with_template(
|
83
83
|
locals: {}
|
84
84
|
)
|
85
85
|
end
|
86
|
+
|
87
|
+
# @label Tooltip with button moving focus to input
|
88
|
+
def tooltip_with_dialog_moving_focus_to_input
|
89
|
+
render_with_template(locals: {})
|
90
|
+
end
|
86
91
|
end
|
87
92
|
end
|
88
93
|
end
|
@@ -55,16 +55,16 @@ module Primer
|
|
55
55
|
# @snapshot
|
56
56
|
def all_tags
|
57
57
|
render(Primer::Beta::ButtonGroup.new) do |component|
|
58
|
-
component.with_button(id: "button-1", tag: :button) do |
|
59
|
-
|
58
|
+
component.with_button(id: "button-1", tag: :button) do |button|
|
59
|
+
button.with_tooltip(text: "Button Tooltip")
|
60
60
|
"Button 1"
|
61
61
|
end
|
62
|
-
component.with_button(id: "button-2", tag: :a) do |
|
63
|
-
|
62
|
+
component.with_button(id: "button-2", tag: :a) do |button|
|
63
|
+
button.with_tooltip(text: "Button Tooltip")
|
64
64
|
"Button 2"
|
65
65
|
end
|
66
|
-
component.with_button(id: "button-3", tag: :summary) do |
|
67
|
-
|
66
|
+
component.with_button(id: "button-3", tag: :summary) do |button|
|
67
|
+
button.with_tooltip(text: "Button Tooltip")
|
68
68
|
"Button 3"
|
69
69
|
end
|
70
70
|
end
|
@@ -18,6 +18,7 @@ module Primer
|
|
18
18
|
# @param size select [small, medium, large]
|
19
19
|
# @param block toggle
|
20
20
|
# @param disabled toggle
|
21
|
+
# @param inactive toggle
|
21
22
|
# @param align_content select [center, start]
|
22
23
|
# @param tag select [a, summary, button]
|
23
24
|
def playground(
|
@@ -27,7 +28,8 @@ module Primer
|
|
27
28
|
id: "button-preview",
|
28
29
|
align_content: :center,
|
29
30
|
tag: :button,
|
30
|
-
disabled: false
|
31
|
+
disabled: false,
|
32
|
+
inactive: false
|
31
33
|
)
|
32
34
|
render(Primer::Beta::Button.new(
|
33
35
|
scheme: scheme,
|
@@ -36,7 +38,8 @@ module Primer
|
|
36
38
|
id: id,
|
37
39
|
align_content: align_content,
|
38
40
|
tag: tag,
|
39
|
-
disabled: disabled
|
41
|
+
disabled: disabled,
|
42
|
+
inactive: inactive
|
40
43
|
)) do |_c|
|
41
44
|
"Button"
|
42
45
|
end
|
@@ -341,6 +344,21 @@ module Primer
|
|
341
344
|
align_content: align_content
|
342
345
|
})
|
343
346
|
end
|
347
|
+
|
348
|
+
# @label Inactive
|
349
|
+
# @param inactive toggle
|
350
|
+
# @snapshot
|
351
|
+
def inactive(
|
352
|
+
id: "button-preview",
|
353
|
+
inactive: true
|
354
|
+
)
|
355
|
+
render(Primer::Beta::Button.new(
|
356
|
+
id: id,
|
357
|
+
inactive: inactive
|
358
|
+
)) do |_c|
|
359
|
+
"Button"
|
360
|
+
end
|
361
|
+
end
|
344
362
|
end
|
345
363
|
end
|
346
364
|
end
|
@@ -9,6 +9,7 @@ module Primer
|
|
9
9
|
# @param size select [small, medium, large]
|
10
10
|
# @param aria_label text
|
11
11
|
# @param disabled toggle
|
12
|
+
# @param inactive toggle
|
12
13
|
# @param tag select [a, summary, button]
|
13
14
|
# @param icon [Symbol] octicon
|
14
15
|
# @param show_tooltip toggle
|
@@ -18,6 +19,7 @@ module Primer
|
|
18
19
|
id: "button-preview",
|
19
20
|
tag: :button,
|
20
21
|
disabled: false,
|
22
|
+
inactive: false,
|
21
23
|
icon: :plus,
|
22
24
|
aria_label: "Button",
|
23
25
|
show_tooltip: true
|
@@ -28,6 +30,7 @@ module Primer
|
|
28
30
|
id: id,
|
29
31
|
tag: tag,
|
30
32
|
disabled: disabled,
|
33
|
+
inactive: inactive,
|
31
34
|
icon: icon,
|
32
35
|
"aria-label": aria_label,
|
33
36
|
show_tooltip: show_tooltip
|
data/static/arguments.json
CHANGED
@@ -3128,6 +3128,12 @@
|
|
3128
3128
|
"default": "`false`",
|
3129
3129
|
"description": "Whether or not the button is disabled. If true, this option forces `tag:` to `:button`."
|
3130
3130
|
},
|
3131
|
+
{
|
3132
|
+
"name": "inactive",
|
3133
|
+
"type": "Boolean",
|
3134
|
+
"default": "`false`",
|
3135
|
+
"description": "Whether the button looks visually disabled, but can still accept all the same interactions as an enabled button."
|
3136
|
+
},
|
3131
3137
|
{
|
3132
3138
|
"name": "system_arguments",
|
3133
3139
|
"type": "Hash",
|
data/static/classes.json
CHANGED
@@ -477,6 +477,18 @@
|
|
477
477
|
"SegmentedControl--fullWidth": [
|
478
478
|
"Primer::Alpha::SegmentedControl"
|
479
479
|
],
|
480
|
+
"SegmentedControl--iconOnly": [
|
481
|
+
"Primer::Alpha::SegmentedControl"
|
482
|
+
],
|
483
|
+
"SegmentedControl--large": [
|
484
|
+
"Primer::Alpha::SegmentedControl"
|
485
|
+
],
|
486
|
+
"SegmentedControl--medium": [
|
487
|
+
"Primer::Alpha::SegmentedControl"
|
488
|
+
],
|
489
|
+
"SegmentedControl--small": [
|
490
|
+
"Primer::Alpha::SegmentedControl"
|
491
|
+
],
|
480
492
|
"SegmentedControl-item": [
|
481
493
|
"Primer::Alpha::SegmentedControl"
|
482
494
|
],
|
data/static/constants.json
CHANGED
@@ -544,9 +544,20 @@
|
|
544
544
|
"Primer::Alpha::RadioButtonGroup": {
|
545
545
|
},
|
546
546
|
"Primer::Alpha::SegmentedControl": {
|
547
|
+
"DEFAULT_SIZE": "medium",
|
547
548
|
"FULL_WIDTH_DEFAULT": false,
|
548
549
|
"HIDE_LABELS_DEFAULT": false,
|
549
|
-
"Item": "Primer::Alpha::SegmentedControl::Item"
|
550
|
+
"Item": "Primer::Alpha::SegmentedControl::Item",
|
551
|
+
"SIZE_MAPPINGS": {
|
552
|
+
"small": "SegmentedControl--small",
|
553
|
+
"medium": "SegmentedControl--medium",
|
554
|
+
"large": "SegmentedControl--large"
|
555
|
+
},
|
556
|
+
"SIZE_OPTIONS": [
|
557
|
+
"small",
|
558
|
+
"medium",
|
559
|
+
"large"
|
560
|
+
]
|
550
561
|
},
|
551
562
|
"Primer::Alpha::SegmentedControl::Item": {
|
552
563
|
},
|
data/static/info_arch.json
CHANGED
@@ -1128,8 +1128,8 @@
|
|
1128
1128
|
},
|
1129
1129
|
{
|
1130
1130
|
"fully_qualified_name": "Primer::Alpha::ActionMenu",
|
1131
|
-
"description": "ActionMenu is used for actions, navigation, to display secondary options, or single/multi select lists. They appear when
|
1132
|
-
"accessibility_docs": "The action for the menu item needs to be on the element with `role=\"menuitem\"`. Semantics are removed for everything
|
1131
|
+
"description": "ActionMenu is used for actions, navigation, to display secondary options, or single/multi select lists. They appear when\nusers interact with buttons, actions, or other controls.\n\nThe only allowed elements for the `Item` components are: `:a`, `:button`, and `:clipboard-copy`. The default is `:button`.\n\n### Select variants\n\nWhile `ActionMenu`s default to a list of buttons that can link to other pages, copy text to the clipboard, etc, they also support\n`single` and `multiple` select variants. The single select variant allows a single item to be \"selected\" (i.e. marked \"active\")\nwhen clicked, which will cause a check mark to appear to the left of the item text. When the `multiple` select variant is chosen,\nmultiple items may be selected and check marks will appear next to each selected item.\n\nUse the `select_variant:` option to control which variant the `ActionMenu` uses. For more information, see the documentation on\nsupported arguments below.\n\n### Dynamic labels\n\nWhen using the `single` select variant, an optional label indicating the selected item can be displayed inside the menu button.\nDynamic labels can also be prefixed with custom text.\n\nPass `dynamic_label: true` to enable dynamic label behavior, and pass `dynamic_label_prefix: \"<string>\"` to set a custom prefix.\nFor more information, see the documentation on supported arguments below.\n\n### `ActionMenu`s as form inputs\n\nWhen using either the `single` or `multiple` select variants, `ActionMenu`s can be used as form inputs. They behave very\nsimilarly to how HTML `<select>` boxes behave, and play nicely with Rails' built-in form mechanisms. Pass arguments via the\n`form_arguments:` argument, including the Rails form builder object and the name of the field:\n\n```erb\n<% form_with(url: update_merge_strategy_path) do |f| %>\n <%= render(Primer::Alpha::ActionMenu.new(form_arguments: { builder: f, name: \"merge_strategy\" })) do |menu| %>\n <% menu.with_item(label: \"Fast forward\", data: { value: \"fast_forward\" }) %>\n <% menu.with_item(label: \"Recursive\", data: { value: \"recursive\" }) %>\n <% menu.with_item(label: \"Ours\", data: { value: \"ours\" }) %>\n <% menu.with_item(label: \"Theirs\", data: { value: \"theirs\" }) %>\n <% end %>\n<% end %>\n```\n\nThe value of the `data: { value: ... }` argument is sent to the server on submit, keyed using the name provided above\n(eg. `\"merge_strategy\"`). If no value is provided for an item, the value of that item is the item's label. Here's the\ncorresponding `MergeStrategyController` that might be written to handle the form above:\n\n```ruby\nclass MergeStrategyController < ApplicationController\n def update\n puts \"You chose #{merge_strategy_params[:merge_strategy]}\"\n end\n\n private\n\n def merge_strategy_params\n params.permit(:merge_strategy)\n end\nend\n```\n\n### `ActionMenu` items that submit forms\n\nWhereas `ActionMenu` items normally permit navigation via `<a>` tags which make HTTP `get` requests, `ActionMenu` items\nalso permit navigation via `POST` requests. To enable this behavior, include the `href:` argument as normal, but also pass\nthe `form_arguments:` argument to the appropriate item:\n\n```erb\n<%= render(Primer::Alpha::ActionMenu.new) do |menu| %>\n <% menu.with_item(\n label: \"Repository\",\n href: update_repo_grouping_path,\n form_arguments: {\n method: :post,\n name: \"group_by\",\n value: \"repository\"\n }\n ) %>\n<% end %>\n```\n\nMake sure to specify `method: :post`, as the default is `:get`. When clicked, the list item will submit a POST request to\nthe URL passed in the `href:` argument, including a parameter named `\"group_by\"` with a value of `\"repository\"`. If no value\nis given, the name, eg. `\"group_by\"`, will be used as the value.\n\nIt is possible to include multiple fields on submit. Instead of passing the `name:` and `value:` arguments, pass an array via\nthe `inputs:` argument:\n\n```erb\n<%= render(Primer::Alpha::ActionMenu.new) do |menu| %>\n <% menu.with_show_button { \"Group By\" } %>\n <% menu.with_item(\n label: \"Repository\",\n href: update_repo_grouping_path,\n form_arguments: {\n method: :post,\n inputs: [{\n name: \"group_by\",\n value: \"repository\"\n }, {\n name: \"some_other_field\",\n value: \"some value\",\n }],\n }\n ) %>\n<% end %>\n```\n\n### Form arguments\n\nThe following table summarizes the arguments allowed in the `form_arguments:` hash mentioned above.\n\n|Name |Type |Default|Description|\n|:----------------|:-------------|:------|:----------|\n|`method` |`Symbol` |`:get` |The HTTP request method to use to submit the form. One of `:get`, `:post`, `:patch`, `:put`, `:delete`, or `:head`|\n|`name` |`String` |`nil` |The name of the field that will be sent to the server on submit.|\n|`value` |`String` |`nil` |The value of the field that will be sent to the server on submit.|\n|`input_arguments`|`Hash` |`{}` |Additional key/value pairs to emit as HTML attributes on the `<input type=\"hidden\">` element.|\n|`inputs` |`Array<Hash>` |`[]` |An array of hashes representing HTML `<input type=\"hidden\">` elements. Must contain at least `name:` and `value:` keys. If additional key/value pairs are provided, they are emitted as HTML attributes on the `<input>` element. This argument supercedes the `name:`, `value:`, and `:input_arguments` arguments listed above.|\n\nThe elements of the `inputs:` array will be emitted as HTML `<input type=\"hidden\">` elements.",
|
1132
|
+
"accessibility_docs": "The action for the menu item needs to be on the element with `role=\"menuitem\"`. Semantics are removed for everything\nnested inside of it. When a menu item is selected, the menu will close immediately.\n\nAdditional information around the keyboard functionality and implementation can be found on the\n[WAI-ARIA Authoring Practices](https://www.w3.org/TR/wai-aria-practices-1.2/#menu).",
|
1133
1133
|
"is_form_component": false,
|
1134
1134
|
"is_published": true,
|
1135
1135
|
"requires_js": true,
|
@@ -1530,6 +1530,19 @@
|
|
1530
1530
|
]
|
1531
1531
|
}
|
1532
1532
|
},
|
1533
|
+
{
|
1534
|
+
"preview_path": "primer/alpha/action_menu/single_select_form_items",
|
1535
|
+
"name": "single_select_form_items",
|
1536
|
+
"snapshot": "false",
|
1537
|
+
"skip_rules": {
|
1538
|
+
"wont_fix": [
|
1539
|
+
"region"
|
1540
|
+
],
|
1541
|
+
"will_fix": [
|
1542
|
+
"color-contrast"
|
1543
|
+
]
|
1544
|
+
}
|
1545
|
+
},
|
1533
1546
|
{
|
1534
1547
|
"preview_path": "primer/alpha/action_menu/multiple_select_form",
|
1535
1548
|
"name": "multiple_select_form",
|
@@ -2576,84 +2589,7 @@
|
|
2576
2589
|
|
2577
2590
|
],
|
2578
2591
|
"previews": [
|
2579
|
-
|
2580
|
-
"preview_path": "primer/alpha/check_box/playground",
|
2581
|
-
"name": "playground",
|
2582
|
-
"snapshot": "false",
|
2583
|
-
"skip_rules": {
|
2584
|
-
"wont_fix": [
|
2585
|
-
"region"
|
2586
|
-
],
|
2587
|
-
"will_fix": [
|
2588
|
-
"color-contrast"
|
2589
|
-
]
|
2590
|
-
}
|
2591
|
-
},
|
2592
|
-
{
|
2593
|
-
"preview_path": "primer/alpha/check_box/default",
|
2594
|
-
"name": "default",
|
2595
|
-
"snapshot": "false",
|
2596
|
-
"skip_rules": {
|
2597
|
-
"wont_fix": [
|
2598
|
-
"region"
|
2599
|
-
],
|
2600
|
-
"will_fix": [
|
2601
|
-
"color-contrast"
|
2602
|
-
]
|
2603
|
-
}
|
2604
|
-
},
|
2605
|
-
{
|
2606
|
-
"preview_path": "primer/alpha/check_box/with_caption",
|
2607
|
-
"name": "with_caption",
|
2608
|
-
"snapshot": "true",
|
2609
|
-
"skip_rules": {
|
2610
|
-
"wont_fix": [
|
2611
|
-
"region"
|
2612
|
-
],
|
2613
|
-
"will_fix": [
|
2614
|
-
"color-contrast"
|
2615
|
-
]
|
2616
|
-
}
|
2617
|
-
},
|
2618
|
-
{
|
2619
|
-
"preview_path": "primer/alpha/check_box/checked",
|
2620
|
-
"name": "checked",
|
2621
|
-
"snapshot": "false",
|
2622
|
-
"skip_rules": {
|
2623
|
-
"wont_fix": [
|
2624
|
-
"region"
|
2625
|
-
],
|
2626
|
-
"will_fix": [
|
2627
|
-
"color-contrast"
|
2628
|
-
]
|
2629
|
-
}
|
2630
|
-
},
|
2631
|
-
{
|
2632
|
-
"preview_path": "primer/alpha/check_box/visually_hide_label",
|
2633
|
-
"name": "visually_hide_label",
|
2634
|
-
"snapshot": "false",
|
2635
|
-
"skip_rules": {
|
2636
|
-
"wont_fix": [
|
2637
|
-
"region"
|
2638
|
-
],
|
2639
|
-
"will_fix": [
|
2640
|
-
"color-contrast"
|
2641
|
-
]
|
2642
|
-
}
|
2643
|
-
},
|
2644
|
-
{
|
2645
|
-
"preview_path": "primer/alpha/check_box/disabled",
|
2646
|
-
"name": "disabled",
|
2647
|
-
"snapshot": "false",
|
2648
|
-
"skip_rules": {
|
2649
|
-
"wont_fix": [
|
2650
|
-
"region"
|
2651
|
-
],
|
2652
|
-
"will_fix": [
|
2653
|
-
"color-contrast"
|
2654
|
-
]
|
2655
|
-
}
|
2656
|
-
}
|
2592
|
+
|
2657
2593
|
],
|
2658
2594
|
"subcomponents": [
|
2659
2595
|
|
@@ -3106,6 +3042,19 @@
|
|
3106
3042
|
"color-contrast"
|
3107
3043
|
]
|
3108
3044
|
}
|
3045
|
+
},
|
3046
|
+
{
|
3047
|
+
"preview_path": "primer/alpha/dialog/autofocus_element",
|
3048
|
+
"name": "autofocus_element",
|
3049
|
+
"snapshot": "false",
|
3050
|
+
"skip_rules": {
|
3051
|
+
"wont_fix": [
|
3052
|
+
"region"
|
3053
|
+
],
|
3054
|
+
"will_fix": [
|
3055
|
+
"color-contrast"
|
3056
|
+
]
|
3057
|
+
}
|
3109
3058
|
}
|
3110
3059
|
],
|
3111
3060
|
"subcomponents": [
|
@@ -5988,84 +5937,7 @@
|
|
5988
5937
|
|
5989
5938
|
],
|
5990
5939
|
"previews": [
|
5991
|
-
|
5992
|
-
"preview_path": "primer/alpha/radio_button/playground",
|
5993
|
-
"name": "playground",
|
5994
|
-
"snapshot": "false",
|
5995
|
-
"skip_rules": {
|
5996
|
-
"wont_fix": [
|
5997
|
-
"region"
|
5998
|
-
],
|
5999
|
-
"will_fix": [
|
6000
|
-
"color-contrast"
|
6001
|
-
]
|
6002
|
-
}
|
6003
|
-
},
|
6004
|
-
{
|
6005
|
-
"preview_path": "primer/alpha/radio_button/default",
|
6006
|
-
"name": "default",
|
6007
|
-
"snapshot": "true",
|
6008
|
-
"skip_rules": {
|
6009
|
-
"wont_fix": [
|
6010
|
-
"region"
|
6011
|
-
],
|
6012
|
-
"will_fix": [
|
6013
|
-
"color-contrast"
|
6014
|
-
]
|
6015
|
-
}
|
6016
|
-
},
|
6017
|
-
{
|
6018
|
-
"preview_path": "primer/alpha/radio_button/with_caption",
|
6019
|
-
"name": "with_caption",
|
6020
|
-
"snapshot": "true",
|
6021
|
-
"skip_rules": {
|
6022
|
-
"wont_fix": [
|
6023
|
-
"region"
|
6024
|
-
],
|
6025
|
-
"will_fix": [
|
6026
|
-
"color-contrast"
|
6027
|
-
]
|
6028
|
-
}
|
6029
|
-
},
|
6030
|
-
{
|
6031
|
-
"preview_path": "primer/alpha/radio_button/checked",
|
6032
|
-
"name": "checked",
|
6033
|
-
"snapshot": "true",
|
6034
|
-
"skip_rules": {
|
6035
|
-
"wont_fix": [
|
6036
|
-
"region"
|
6037
|
-
],
|
6038
|
-
"will_fix": [
|
6039
|
-
"color-contrast"
|
6040
|
-
]
|
6041
|
-
}
|
6042
|
-
},
|
6043
|
-
{
|
6044
|
-
"preview_path": "primer/alpha/radio_button/visually_hide_label",
|
6045
|
-
"name": "visually_hide_label",
|
6046
|
-
"snapshot": "true",
|
6047
|
-
"skip_rules": {
|
6048
|
-
"wont_fix": [
|
6049
|
-
"region"
|
6050
|
-
],
|
6051
|
-
"will_fix": [
|
6052
|
-
"color-contrast"
|
6053
|
-
]
|
6054
|
-
}
|
6055
|
-
},
|
6056
|
-
{
|
6057
|
-
"preview_path": "primer/alpha/radio_button/disabled",
|
6058
|
-
"name": "disabled",
|
6059
|
-
"snapshot": "true",
|
6060
|
-
"skip_rules": {
|
6061
|
-
"wont_fix": [
|
6062
|
-
"region"
|
6063
|
-
],
|
6064
|
-
"will_fix": [
|
6065
|
-
"color-contrast"
|
6066
|
-
]
|
6067
|
-
}
|
6068
|
-
}
|
5940
|
+
|
6069
5941
|
],
|
6070
5942
|
"subcomponents": [
|
6071
5943
|
|
@@ -6409,6 +6281,45 @@
|
|
6409
6281
|
]
|
6410
6282
|
}
|
6411
6283
|
},
|
6284
|
+
{
|
6285
|
+
"preview_path": "primer/alpha/segmented_control/trailing_label_width_small",
|
6286
|
+
"name": "trailing_label_width_small",
|
6287
|
+
"snapshot": "true",
|
6288
|
+
"skip_rules": {
|
6289
|
+
"wont_fix": [
|
6290
|
+
"region"
|
6291
|
+
],
|
6292
|
+
"will_fix": [
|
6293
|
+
"color-contrast"
|
6294
|
+
]
|
6295
|
+
}
|
6296
|
+
},
|
6297
|
+
{
|
6298
|
+
"preview_path": "primer/alpha/segmented_control/trailing_label_width_medium",
|
6299
|
+
"name": "trailing_label_width_medium",
|
6300
|
+
"snapshot": "true",
|
6301
|
+
"skip_rules": {
|
6302
|
+
"wont_fix": [
|
6303
|
+
"region"
|
6304
|
+
],
|
6305
|
+
"will_fix": [
|
6306
|
+
"color-contrast"
|
6307
|
+
]
|
6308
|
+
}
|
6309
|
+
},
|
6310
|
+
{
|
6311
|
+
"preview_path": "primer/alpha/segmented_control/trailing_label_width_large",
|
6312
|
+
"name": "trailing_label_width_large",
|
6313
|
+
"snapshot": "true",
|
6314
|
+
"skip_rules": {
|
6315
|
+
"wont_fix": [
|
6316
|
+
"region"
|
6317
|
+
],
|
6318
|
+
"will_fix": [
|
6319
|
+
"color-contrast"
|
6320
|
+
]
|
6321
|
+
}
|
6322
|
+
},
|
6412
6323
|
{
|
6413
6324
|
"preview_path": "primer/alpha/segmented_control/icon_only_small",
|
6414
6325
|
"name": "icon_only_small",
|
@@ -6568,10 +6479,32 @@
|
|
6568
6479
|
}
|
6569
6480
|
],
|
6570
6481
|
"slots": [
|
6571
|
-
|
6482
|
+
{
|
6483
|
+
"name": "trailing_visual_label",
|
6484
|
+
"description": "Optional trailing Label",
|
6485
|
+
"parameters": [
|
6486
|
+
{
|
6487
|
+
"name": "system_arguments",
|
6488
|
+
"type": "Hash",
|
6489
|
+
"default": "N/A",
|
6490
|
+
"description": "The arguments accepted by {{#link_to_component}}Primer::Beta::Button{{/link_to_component}}'s `with_trailing_visual_label` slot."
|
6491
|
+
}
|
6492
|
+
]
|
6493
|
+
}
|
6572
6494
|
],
|
6573
6495
|
"methods": [
|
6574
|
-
|
6496
|
+
{
|
6497
|
+
"name": "with_trailing_visual_label",
|
6498
|
+
"description": "Optional trailing label.",
|
6499
|
+
"parameters": [
|
6500
|
+
{
|
6501
|
+
"name": "system_arguments",
|
6502
|
+
"type": "Hash",
|
6503
|
+
"default": "N/A",
|
6504
|
+
"description": "The arguments accepted by {{#link_to_component}}Primer::Beta::Button{{/link_to_component}}'s `with_trailing_visual_label` slot."
|
6505
|
+
}
|
6506
|
+
]
|
6507
|
+
}
|
6575
6508
|
],
|
6576
6509
|
"previews": [
|
6577
6510
|
|
@@ -8352,6 +8285,19 @@
|
|
8352
8285
|
"color-contrast"
|
8353
8286
|
]
|
8354
8287
|
}
|
8288
|
+
},
|
8289
|
+
{
|
8290
|
+
"preview_path": "primer/alpha/tooltip/tooltip_with_dialog_moving_focus_to_input",
|
8291
|
+
"name": "tooltip_with_dialog_moving_focus_to_input",
|
8292
|
+
"snapshot": "false",
|
8293
|
+
"skip_rules": {
|
8294
|
+
"wont_fix": [
|
8295
|
+
"region"
|
8296
|
+
],
|
8297
|
+
"will_fix": [
|
8298
|
+
"color-contrast"
|
8299
|
+
]
|
8300
|
+
}
|
8355
8301
|
}
|
8356
8302
|
],
|
8357
8303
|
"subcomponents": [
|
@@ -9545,6 +9491,12 @@
|
|
9545
9491
|
"default": "`false`",
|
9546
9492
|
"description": "Whether or not the button is disabled. If true, this option forces `tag:` to `:button`."
|
9547
9493
|
},
|
9494
|
+
{
|
9495
|
+
"name": "inactive",
|
9496
|
+
"type": "Boolean",
|
9497
|
+
"default": "`false`",
|
9498
|
+
"description": "Whether the button looks visually disabled, but can still accept all the same interactions as an enabled button."
|
9499
|
+
},
|
9548
9500
|
{
|
9549
9501
|
"name": "system_arguments",
|
9550
9502
|
"type": "Hash",
|
@@ -10610,6 +10562,19 @@
|
|
10610
10562
|
"color-contrast"
|
10611
10563
|
]
|
10612
10564
|
}
|
10565
|
+
},
|
10566
|
+
{
|
10567
|
+
"preview_path": "primer/beta/button/inactive",
|
10568
|
+
"name": "inactive",
|
10569
|
+
"snapshot": "true",
|
10570
|
+
"skip_rules": {
|
10571
|
+
"wont_fix": [
|
10572
|
+
"region"
|
10573
|
+
],
|
10574
|
+
"will_fix": [
|
10575
|
+
"color-contrast"
|
10576
|
+
]
|
10577
|
+
}
|
10613
10578
|
}
|
10614
10579
|
],
|
10615
10580
|
"subcomponents": [
|