@primer/view-components 0.13.0-rc.110178de → 0.13.0-rc.17f47a8b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,7 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
16
16
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
17
17
  };
18
- var _ActionBarElement_instances, _ActionBarElement_initialBarWidth, _ActionBarElement_previousBarWidth, _ActionBarElement_focusZoneAbortController, _ActionBarElement_itemGap, _ActionBarElement_availableSpace, _ActionBarElement_menuSpace, _ActionBarElement_shrink, _ActionBarElement_grow, _ActionBarElement_showItem, _ActionBarElement_hideItem, _ActionBarElement_menuItems_get;
18
+ var _ActionBarElement_instances, _ActionBarElement_initialBarWidth, _ActionBarElement_previousBarWidth, _ActionBarElement_focusZoneAbortController, _ActionBarElement_isVisible, _ActionBarElement_itemGap, _ActionBarElement_availableSpace, _ActionBarElement_menuSpace, _ActionBarElement_shrink, _ActionBarElement_grow, _ActionBarElement_showItem, _ActionBarElement_hideItem, _ActionBarElement_menuItems_get;
19
19
  import { controller, targets, target } from '@github/catalyst';
20
20
  import { focusZone, FocusKeys } from '@primer/behaviors';
21
21
  const instersectionObserver = new IntersectionObserver(entries => {
@@ -94,12 +94,17 @@ let ActionBarElement = class ActionBarElement extends HTMLElement {
94
94
  bindKeys: FocusKeys.ArrowHorizontal | FocusKeys.HomeAndEnd,
95
95
  focusOutBehavior: 'wrap',
96
96
  focusableElementFilter: element => {
97
- return !element.closest('.ActionBar-item[hidden]') && !element.closest('li.ActionListItem');
97
+ return __classPrivateFieldGet(this, _ActionBarElement_instances, "m", _ActionBarElement_isVisible).call(this, element);
98
98
  }
99
99
  }), "f");
100
100
  }
101
101
  };
102
- _ActionBarElement_initialBarWidth = new WeakMap(), _ActionBarElement_previousBarWidth = new WeakMap(), _ActionBarElement_focusZoneAbortController = new WeakMap(), _ActionBarElement_instances = new WeakSet(), _ActionBarElement_itemGap = function _ActionBarElement_itemGap() {
102
+ _ActionBarElement_initialBarWidth = new WeakMap(), _ActionBarElement_previousBarWidth = new WeakMap(), _ActionBarElement_focusZoneAbortController = new WeakMap(), _ActionBarElement_instances = new WeakSet(), _ActionBarElement_isVisible = function _ActionBarElement_isVisible(element) {
103
+ // Safari doesn't support `checkVisibility` yet.
104
+ if (typeof element.checkVisibility === 'function')
105
+ return element.checkVisibility();
106
+ return Boolean(element.offsetParent || element.offsetWidth || element.offsetHeight);
107
+ }, _ActionBarElement_itemGap = function _ActionBarElement_itemGap() {
103
108
  var _a;
104
109
  return parseInt((_a = window.getComputedStyle(this.itemContainer)) === null || _a === void 0 ? void 0 : _a.columnGap, 10) || 0;
105
110
  }, _ActionBarElement_availableSpace = function _ActionBarElement_availableSpace() {
@@ -109,7 +109,7 @@ let ActionMenuElement = class ActionMenuElement extends HTMLElement {
109
109
  __classPrivateFieldGet(this, _ActionMenuElement_abortController, "f").abort();
110
110
  }
111
111
  handleEvent(event) {
112
- var _a, _b, _c;
112
+ var _a;
113
113
  const targetIsInvoker = (_a = this.invokerElement) === null || _a === void 0 ? void 0 : _a.contains(event.target);
114
114
  const eventIsActivation = __classPrivateFieldGet(this, _ActionMenuElement_instances, "m", _ActionMenuElement_isActivation).call(this, event);
115
115
  if (targetIsInvoker && event.type === 'mousedown') {
@@ -127,10 +127,6 @@ let ActionMenuElement = class ActionMenuElement extends HTMLElement {
127
127
  __classPrivateFieldSet(this, _ActionMenuElement_invokerBeingClicked, false, "f");
128
128
  return;
129
129
  }
130
- // Ignore events within dialogs within menus
131
- if (((_b = event.target) === null || _b === void 0 ? void 0 : _b.closest('dialog')) || ((_c = event.target) === null || _c === void 0 ? void 0 : _c.closest('modal-dialog'))) {
132
- return;
133
- }
134
130
  if (event.type === 'focusout') {
135
131
  if (__classPrivateFieldGet(this, _ActionMenuElement_invokerBeingClicked, "f"))
136
132
  return;
@@ -32,9 +32,8 @@ const isPopoverOpen = (() => {
32
32
  }
33
33
  return (el) => (selector ? el.matches(selector) : setSelector(el));
34
34
  })();
35
- const TOOLTIP_ARROW_EDGE_OFFSET = 6;
36
35
  const TOOLTIP_SR_ONLY_CLASS = 'sr-only';
37
- const TOOLTIP_OFFSET = 10;
36
+ const TOOLTIP_OFFSET = 4;
38
37
  const DIRECTION_CLASSES = [
39
38
  'tooltip-n',
40
39
  'tooltip-s',
@@ -84,10 +83,9 @@ class ToolTipElement extends HTMLElement {
84
83
  styles() {
85
84
  return `
86
85
  :host {
87
- padding: .5em .75em !important;
88
- font: normal normal 11px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
89
- -webkit-font-smoothing: subpixel-antialiased;
90
- color: var(--color-fg-on-emphasis) !important;
86
+ padding: var(--overlay-paddingBlock-condensed) var(--overlay-padding-condensed) !important;
87
+ font: var(--text-body-shorthand-small);
88
+ color: var(--fgColor-onEmphasis, var(--color-fg-on-emphasis)) !important;
91
89
  text-align: center;
92
90
  text-decoration: none;
93
91
  text-shadow: none;
@@ -95,25 +93,17 @@ class ToolTipElement extends HTMLElement {
95
93
  letter-spacing: normal;
96
94
  word-wrap: break-word;
97
95
  white-space: pre;
98
- background: var(--color-neutral-emphasis-plus) !important;
99
- border-radius: 6px;
96
+ background: var(--bgColor-emphasis, var(--color-neutral-emphasis-plus)) !important;
97
+ border-radius: var(--borderRadius-medium);
100
98
  border: 0 !important;
101
99
  opacity: 0;
102
- max-width: 250px;
100
+ max-width: var(--overlay-width-small);
103
101
  word-wrap: break-word;
104
102
  white-space: normal;
105
103
  width: max-content !important;
106
104
  inset: var(--tool-tip-position-top, 0) auto auto var(--tool-tip-position-left, 0) !important;
107
105
  overflow: visible !important;
108
- }
109
-
110
- :host:before{
111
- position: absolute;
112
- z-index: 1000001;
113
- color: var(--color-neutral-emphasis-plus);
114
- content: "";
115
- border: 6px solid transparent;
116
- opacity: 0
106
+ text-wrap: balance;
117
107
  }
118
108
 
119
109
  @keyframes tooltip-appear {
@@ -125,91 +115,19 @@ class ToolTipElement extends HTMLElement {
125
115
  }
126
116
  }
127
117
 
128
- :host:after{
129
- position: absolute;
130
- display: block;
131
- right: 0;
132
- left: 0;
133
- height: 12px;
134
- content: ""
135
- }
136
-
137
118
  :host(:popover-open),
138
119
  :host(:popover-open):before {
139
120
  animation-name: tooltip-appear;
140
121
  animation-duration: .1s;
141
122
  animation-fill-mode: forwards;
142
123
  animation-timing-function: ease-in;
143
- animation-delay: .4s
144
124
  }
145
125
 
146
- :host(.\\:popover-open),
147
- :host(.\\:popover-open):before {
126
+ :host(.\\:popover-open) {
148
127
  animation-name: tooltip-appear;
149
128
  animation-duration: .1s;
150
129
  animation-fill-mode: forwards;
151
130
  animation-timing-function: ease-in;
152
- animation-delay: .4s
153
- }
154
-
155
- :host(.tooltip-s):before,
156
- :host(.tooltip-n):before {
157
- right: 50%;
158
- margin-right: -${TOOLTIP_ARROW_EDGE_OFFSET}px;
159
- }
160
-
161
- :host(.tooltip-s):before,
162
- :host(.tooltip-se):before,
163
- :host(.tooltip-sw):before {
164
- bottom: 100%;
165
- border-bottom-color: var(--color-neutral-emphasis-plus)
166
- }
167
-
168
- :host(.tooltip-s):after,
169
- :host(.tooltip-se):after,
170
- :host(.tooltip-sw):after {
171
- bottom: 100%
172
- }
173
-
174
- :host(.tooltip-n):before,
175
- :host(.tooltip-ne):before,
176
- :host(.tooltip-nw):before {
177
- top: 100%;
178
- border-top-color: var(--color-neutral-emphasis-plus)
179
- }
180
-
181
- :host(.tooltip-n):after,
182
- :host(.tooltip-ne):after,
183
- :host(.tooltip-nw):after {
184
- top: 100%
185
- }
186
-
187
- :host(.tooltip-se):before,
188
- :host(.tooltip-ne):before {
189
- left: 0;
190
- margin-left: ${TOOLTIP_ARROW_EDGE_OFFSET}px;
191
- }
192
-
193
- :host(.tooltip-sw):before,
194
- :host(.tooltip-nw):before {
195
- right: 0;
196
- margin-right: ${TOOLTIP_ARROW_EDGE_OFFSET}px;
197
- }
198
-
199
- :host(.tooltip-w):before {
200
- top: 50%;
201
- bottom: 50%;
202
- left: 100%;
203
- margin-top: -6px;
204
- border-left-color: var(--color-neutral-emphasis-plus)
205
- }
206
-
207
- :host(.tooltip-e):before {
208
- top: 50%;
209
- right: 100%;
210
- bottom: 50%;
211
- margin-top: -6px;
212
- border-right-color: var(--color-neutral-emphasis-plus)
213
131
  }
214
132
  `;
215
133
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/view-components",
3
- "version": "0.13.0-rc.110178de",
3
+ "version": "0.13.0-rc.17f47a8b",
4
4
  "description": "ViewComponents for the Primer Design System",
5
5
  "main": "app/assets/javascripts/primer_view_components.js",
6
6
  "module": "app/components/primer/primer.js",
@@ -74,7 +74,7 @@
74
74
  "cssnano": "^5.1.13",
75
75
  "eslint": "^8.23.1",
76
76
  "eslint-plugin-custom-elements": "^0.0.6",
77
- "eslint-plugin-github": "^4.4.0",
77
+ "eslint-plugin-github": "^4.9.2",
78
78
  "eslint-plugin-prettier": "^4.2.1",
79
79
  "markdownlint-cli2": "^0.5.1",
80
80
  "mocha": "^10.0.0",
@@ -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 users 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`.",
1132
- "accessibility_docs": "The action for the menu item needs to be on the element with `role=\"menuitem\"`. Semantics are removed for everything nested 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 [WAI-ARIA Authoring Practices](https://www.w3.org/TR/wai-aria-practices-1.2/#menu).",
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
 
@@ -6001,84 +5937,7 @@
6001
5937
 
6002
5938
  ],
6003
5939
  "previews": [
6004
- {
6005
- "preview_path": "primer/alpha/radio_button/playground",
6006
- "name": "playground",
6007
- "snapshot": "false",
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/default",
6019
- "name": "default",
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/with_caption",
6032
- "name": "with_caption",
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/checked",
6045
- "name": "checked",
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/visually_hide_label",
6058
- "name": "visually_hide_label",
6059
- "snapshot": "true",
6060
- "skip_rules": {
6061
- "wont_fix": [
6062
- "region"
6063
- ],
6064
- "will_fix": [
6065
- "color-contrast"
6066
- ]
6067
- }
6068
- },
6069
- {
6070
- "preview_path": "primer/alpha/radio_button/disabled",
6071
- "name": "disabled",
6072
- "snapshot": "true",
6073
- "skip_rules": {
6074
- "wont_fix": [
6075
- "region"
6076
- ],
6077
- "will_fix": [
6078
- "color-contrast"
6079
- ]
6080
- }
6081
- }
5940
+
6082
5941
  ],
6083
5942
  "subcomponents": [
6084
5943
 
@@ -580,6 +580,19 @@
580
580
  ]
581
581
  }
582
582
  },
583
+ {
584
+ "preview_path": "primer/alpha/action_menu/single_select_form_items",
585
+ "name": "single_select_form_items",
586
+ "snapshot": "false",
587
+ "skip_rules": {
588
+ "wont_fix": [
589
+ "region"
590
+ ],
591
+ "will_fix": [
592
+ "color-contrast"
593
+ ]
594
+ }
595
+ },
583
596
  {
584
597
  "preview_path": "primer/alpha/action_menu/multiple_select_form",
585
598
  "name": "multiple_select_form",
@@ -2298,92 +2311,6 @@
2298
2311
  }
2299
2312
  ]
2300
2313
  },
2301
- {
2302
- "name": "check_box",
2303
- "component": "CheckBox",
2304
- "status": "alpha",
2305
- "lookup_path": "primer/alpha/check_box",
2306
- "examples": [
2307
- {
2308
- "preview_path": "primer/alpha/check_box/playground",
2309
- "name": "playground",
2310
- "snapshot": "false",
2311
- "skip_rules": {
2312
- "wont_fix": [
2313
- "region"
2314
- ],
2315
- "will_fix": [
2316
- "color-contrast"
2317
- ]
2318
- }
2319
- },
2320
- {
2321
- "preview_path": "primer/alpha/check_box/default",
2322
- "name": "default",
2323
- "snapshot": "false",
2324
- "skip_rules": {
2325
- "wont_fix": [
2326
- "region"
2327
- ],
2328
- "will_fix": [
2329
- "color-contrast"
2330
- ]
2331
- }
2332
- },
2333
- {
2334
- "preview_path": "primer/alpha/check_box/with_caption",
2335
- "name": "with_caption",
2336
- "snapshot": "true",
2337
- "skip_rules": {
2338
- "wont_fix": [
2339
- "region"
2340
- ],
2341
- "will_fix": [
2342
- "color-contrast"
2343
- ]
2344
- }
2345
- },
2346
- {
2347
- "preview_path": "primer/alpha/check_box/checked",
2348
- "name": "checked",
2349
- "snapshot": "false",
2350
- "skip_rules": {
2351
- "wont_fix": [
2352
- "region"
2353
- ],
2354
- "will_fix": [
2355
- "color-contrast"
2356
- ]
2357
- }
2358
- },
2359
- {
2360
- "preview_path": "primer/alpha/check_box/visually_hide_label",
2361
- "name": "visually_hide_label",
2362
- "snapshot": "false",
2363
- "skip_rules": {
2364
- "wont_fix": [
2365
- "region"
2366
- ],
2367
- "will_fix": [
2368
- "color-contrast"
2369
- ]
2370
- }
2371
- },
2372
- {
2373
- "preview_path": "primer/alpha/check_box/disabled",
2374
- "name": "disabled",
2375
- "snapshot": "false",
2376
- "skip_rules": {
2377
- "wont_fix": [
2378
- "region"
2379
- ],
2380
- "will_fix": [
2381
- "color-contrast"
2382
- ]
2383
- }
2384
- }
2385
- ]
2386
- },
2387
2314
  {
2388
2315
  "name": "check_box_group",
2389
2316
  "component": "CheckBoxGroup",
@@ -4669,92 +4596,6 @@
4669
4596
  }
4670
4597
  ]
4671
4598
  },
4672
- {
4673
- "name": "radio_button",
4674
- "component": "RadioButton",
4675
- "status": "alpha",
4676
- "lookup_path": "primer/alpha/radio_button",
4677
- "examples": [
4678
- {
4679
- "preview_path": "primer/alpha/radio_button/playground",
4680
- "name": "playground",
4681
- "snapshot": "false",
4682
- "skip_rules": {
4683
- "wont_fix": [
4684
- "region"
4685
- ],
4686
- "will_fix": [
4687
- "color-contrast"
4688
- ]
4689
- }
4690
- },
4691
- {
4692
- "preview_path": "primer/alpha/radio_button/default",
4693
- "name": "default",
4694
- "snapshot": "true",
4695
- "skip_rules": {
4696
- "wont_fix": [
4697
- "region"
4698
- ],
4699
- "will_fix": [
4700
- "color-contrast"
4701
- ]
4702
- }
4703
- },
4704
- {
4705
- "preview_path": "primer/alpha/radio_button/with_caption",
4706
- "name": "with_caption",
4707
- "snapshot": "true",
4708
- "skip_rules": {
4709
- "wont_fix": [
4710
- "region"
4711
- ],
4712
- "will_fix": [
4713
- "color-contrast"
4714
- ]
4715
- }
4716
- },
4717
- {
4718
- "preview_path": "primer/alpha/radio_button/checked",
4719
- "name": "checked",
4720
- "snapshot": "true",
4721
- "skip_rules": {
4722
- "wont_fix": [
4723
- "region"
4724
- ],
4725
- "will_fix": [
4726
- "color-contrast"
4727
- ]
4728
- }
4729
- },
4730
- {
4731
- "preview_path": "primer/alpha/radio_button/visually_hide_label",
4732
- "name": "visually_hide_label",
4733
- "snapshot": "true",
4734
- "skip_rules": {
4735
- "wont_fix": [
4736
- "region"
4737
- ],
4738
- "will_fix": [
4739
- "color-contrast"
4740
- ]
4741
- }
4742
- },
4743
- {
4744
- "preview_path": "primer/alpha/radio_button/disabled",
4745
- "name": "disabled",
4746
- "snapshot": "true",
4747
- "skip_rules": {
4748
- "wont_fix": [
4749
- "region"
4750
- ],
4751
- "will_fix": [
4752
- "color-contrast"
4753
- ]
4754
- }
4755
- }
4756
- ]
4757
- },
4758
4599
  {
4759
4600
  "name": "radio_button_group",
4760
4601
  "component": "RadioButtonGroup",