primer_view_components 0.0.87 → 0.0.88
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/app/components/primer/alpha/segmented-control-element.d.ts +8 -0
- data/app/components/primer/alpha/segmented-control-element.js +27 -0
- data/app/components/primer/alpha/tooltip.rb +1 -0
- data/app/components/primer/{button_group.html.erb → beta/button_group.html.erb} +0 -0
- data/app/components/primer/beta/button_group.rb +57 -0
- data/app/components/primer/box.rb +25 -0
- data/app/components/primer/box_component.rb +2 -20
- data/app/components/primer/button_group.rb +2 -50
- data/app/components/primer/flex_component.rb +20 -20
- data/app/components/primer/flex_item_component.rb +4 -4
- data/app/components/primer/label_component.rb +31 -10
- data/app/components/primer/popover_component.rb +1 -1
- data/app/components/primer/primer.d.ts +1 -0
- data/app/components/primer/primer.js +1 -0
- data/lib/primer/view_components/linters/argument_mappers/label.rb +11 -4
- data/lib/primer/view_components/linters/helpers/deprecated_components_helpers.rb +2 -0
- data/lib/primer/view_components/version.rb +1 -1
- data/lib/rubocop/cop/primer/component_name_migration.rb +2 -0
- data/lib/rubocop/cop/primer/deprecated_label_variants.rb +71 -0
- data/lib/tasks/docs.rake +2 -2
- data/lib/yard/docs_helper.rb +1 -1
- data/static/arguments.yml +56 -48
- data/static/audited_at.json +2 -0
- data/static/classes.yml +2 -0
- data/static/constants.json +20 -7
- data/static/statuses.json +4 -2
- metadata +8 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: b26233820f7e3fd5f92dbfe2b73b8ee9d4a59804bd93902bd98ab0cb2896d828
         | 
| 4 | 
            +
              data.tar.gz: 114d47251ebb0c4633a0d2b1e59bdddcd85a0c8aba2d2942d52598ef5e62f732
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: b6c4cff16a390f08f54d246a6e195862fa3572091f955ce74c85e47df31516deec98beb93ad8c4a526d51eb41b8ec1f5ef3c2e934d497fb81e6974e5df781aca
         | 
| 7 | 
            +
              data.tar.gz: 1943282801abaaa921514cf116286ad274b7f71ad8e41c8cda9456a9d57364a67039dd9ad53ca2f0108bdefc6e23bbdf56c749e911829a6a4981d1619e9b4167
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,5 +1,17 @@ | |
| 1 1 | 
             
            # CHANGELOG
         | 
| 2 2 |  | 
| 3 | 
            +
            ## 0.0.88
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            ### Patch Changes
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            - [#1275](https://github.com/primer/view_components/pull/1275) [`1e9ce95c`](https://github.com/primer/view_components/commit/1e9ce95cdc942acdb51807839b2924731a1ab295) Thanks [@mxriverlynn](https://github.com/mxriverlynn)! - move Primer::ButtonGroup to Primer::Beta::ButtonGroup, update all references, and add deprecated Primer::ButtonGroup for backwards compatibility
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            * [#1266](https://github.com/primer/view_components/pull/1266) [`7d2949de`](https://github.com/primer/view_components/commit/7d2949de758b97aa940287a1ceabd5d16209cae2) Thanks [@mxriverlynn](https://github.com/mxriverlynn)! - moving Primer::BoxComponent to Primer::Box and creating deprecated Primer::BoxComponent for backward compatibility
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            - [#1281](https://github.com/primer/view_components/pull/1281) [`843061de`](https://github.com/primer/view_components/commit/843061de168a1927a80fd22e7da795c1a9ddaacd) Thanks [@jonrohan](https://github.com/jonrohan)! - Always set `:absolute` position on Primer::Alpha::Tooltip
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            * [#934](https://github.com/primer/view_components/pull/934) [`d638fefb`](https://github.com/primer/view_components/commit/d638fefbb55ce9802e91b374903bcde9cc6ab612) Thanks [@pouretrebelle](https://github.com/pouretrebelle)! - Refactor the LabelComponent API
         | 
| 14 | 
            +
             | 
| 3 15 | 
             
            ## 0.0.87
         | 
| 4 16 |  | 
| 5 17 | 
             
            ### Patch Changes
         | 
| @@ -0,0 +1,27 @@ | |
| 1 | 
            +
            /* eslint-disable custom-elements/no-constructor */
         | 
| 2 | 
            +
            export default class SegmentedControlElement extends HTMLElement {
         | 
| 3 | 
            +
                constructor() {
         | 
| 4 | 
            +
                    super();
         | 
| 5 | 
            +
                    this.addEventListener('click', (event) => {
         | 
| 6 | 
            +
                        const controls = Array.from(this.querySelectorAll('[role="toolbar"] button')).filter(tab => tab instanceof HTMLElement && tab.closest(this.tagName) === this);
         | 
| 7 | 
            +
                        if (!(event.target instanceof Element))
         | 
| 8 | 
            +
                            return;
         | 
| 9 | 
            +
                        if (event.target.closest(this.tagName) !== this)
         | 
| 10 | 
            +
                            return;
         | 
| 11 | 
            +
                        const selectedControl = event.target.closest('button');
         | 
| 12 | 
            +
                        if (!(selectedControl instanceof HTMLElement) || !selectedControl.closest('[role="toolbar"]'))
         | 
| 13 | 
            +
                            return;
         | 
| 14 | 
            +
                        for (const control of controls) {
         | 
| 15 | 
            +
                            control.classList.remove('SegmentedControl-button--selected');
         | 
| 16 | 
            +
                            control.setAttribute('aria-current', 'false');
         | 
| 17 | 
            +
                        }
         | 
| 18 | 
            +
                        selectedControl.classList.add('SegmentedControl-button--selected');
         | 
| 19 | 
            +
                        selectedControl.setAttribute('aria-current', 'true');
         | 
| 20 | 
            +
                        selectedControl.focus();
         | 
| 21 | 
            +
                    });
         | 
| 22 | 
            +
                }
         | 
| 23 | 
            +
            }
         | 
| 24 | 
            +
            if (!window.customElements.get('segmented-control')) {
         | 
| 25 | 
            +
                window.SegmentedControlElement = SegmentedControlElement;
         | 
| 26 | 
            +
                window.customElements.define('segmented-control', SegmentedControlElement);
         | 
| 27 | 
            +
            }
         | 
| @@ -91,6 +91,7 @@ module Primer | |
| 91 91 | 
             
                    @system_arguments[:tag] = :"tool-tip"
         | 
| 92 92 | 
             
                    @system_arguments[:style] = join_style_arguments(@system_arguments[:style], "visibility: hidden")
         | 
| 93 93 | 
             
                    @system_arguments[:for] = for_id
         | 
| 94 | 
            +
                    @system_arguments[:position] = :absolute
         | 
| 94 95 | 
             
                    @system_arguments[:"data-direction"] = fetch_or_fallback(DIRECTION_OPTIONS, direction, DIRECTION_DEFAULT).to_s
         | 
| 95 96 | 
             
                    @system_arguments[:"data-type"] = fetch_or_fallback(TYPE_OPTIONS, type, TYPE_FALLBACK).to_s
         | 
| 96 97 | 
             
                  end
         | 
| 
            File without changes
         | 
| @@ -0,0 +1,57 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Primer
         | 
| 4 | 
            +
              module Beta
         | 
| 5 | 
            +
                # Use `ButtonGroup` to render a series of buttons.
         | 
| 6 | 
            +
                class ButtonGroup < Primer::Component
         | 
| 7 | 
            +
                  status :beta
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                  # Required list of buttons to be rendered.
         | 
| 10 | 
            +
                  #
         | 
| 11 | 
            +
                  # @param kwargs [Hash] The same arguments as <%= link_to_component(Primer::ButtonComponent) %> except for `size` and `group_item`.
         | 
| 12 | 
            +
                  renders_many :buttons, lambda { |**kwargs|
         | 
| 13 | 
            +
                    kwargs[:group_item] = true
         | 
| 14 | 
            +
                    kwargs[:size] = @size
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                    Primer::ButtonComponent.new(**kwargs)
         | 
| 17 | 
            +
                  }
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                  # @example Default
         | 
| 20 | 
            +
                  #
         | 
| 21 | 
            +
                  #   <%= render(Primer::Beta::ButtonGroup.new) do |component| %>
         | 
| 22 | 
            +
                  #     <% component.button { "Default" } %>
         | 
| 23 | 
            +
                  #     <% component.button(scheme: :primary) { "Primary" } %>
         | 
| 24 | 
            +
                  #     <% component.button(scheme: :danger) { "Danger" } %>
         | 
| 25 | 
            +
                  #     <% component.button(scheme: :outline) { "Outline" } %>
         | 
| 26 | 
            +
                  #     <% component.button(classes: "custom-class") { "Custom class" } %>
         | 
| 27 | 
            +
                  #   <% end %>
         | 
| 28 | 
            +
                  #
         | 
| 29 | 
            +
                  # @example Sizes
         | 
| 30 | 
            +
                  #
         | 
| 31 | 
            +
                  #   <%= render(Primer::Beta::ButtonGroup.new(size: :small)) do |component| %>
         | 
| 32 | 
            +
                  #     <% component.button { "Default" } %>
         | 
| 33 | 
            +
                  #     <% component.button(scheme: :primary) { "Primary" } %>
         | 
| 34 | 
            +
                  #     <% component.button(scheme: :danger) { "Danger" } %>
         | 
| 35 | 
            +
                  #     <% component.button(scheme: :outline) { "Outline" } %>
         | 
| 36 | 
            +
                  #   <% end %>
         | 
| 37 | 
            +
                  #
         | 
| 38 | 
            +
                  # @param variant [Symbol] DEPRECATED. <%= one_of(Primer::ButtonComponent::SIZE_OPTIONS) %>
         | 
| 39 | 
            +
                  # @param size [Symbol] <%= one_of(Primer::ButtonComponent::SIZE_OPTIONS) %>
         | 
| 40 | 
            +
                  # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
         | 
| 41 | 
            +
                  def initialize(variant: nil, size: Primer::ButtonComponent::DEFAULT_SIZE, **system_arguments)
         | 
| 42 | 
            +
                    @size = variant || size
         | 
| 43 | 
            +
                    @system_arguments = deny_tag_argument(**system_arguments)
         | 
| 44 | 
            +
                    @system_arguments[:tag] = :div
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                    @system_arguments[:classes] = class_names(
         | 
| 47 | 
            +
                      "BtnGroup",
         | 
| 48 | 
            +
                      system_arguments[:classes]
         | 
| 49 | 
            +
                    )
         | 
| 50 | 
            +
                  end
         | 
| 51 | 
            +
             | 
| 52 | 
            +
                  def render?
         | 
| 53 | 
            +
                    buttons.any?
         | 
| 54 | 
            +
                  end
         | 
| 55 | 
            +
                end
         | 
| 56 | 
            +
              end
         | 
| 57 | 
            +
            end
         | 
| @@ -0,0 +1,25 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Primer
         | 
| 4 | 
            +
              # `Box` is a basic wrapper component for most layout related needs.
         | 
| 5 | 
            +
              class Box < Primer::Component
         | 
| 6 | 
            +
                status :stable
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                # @example Default
         | 
| 9 | 
            +
                #   <%= render(Primer::Box.new) { "Your content here" } %>
         | 
| 10 | 
            +
                #
         | 
| 11 | 
            +
                # @example Color and padding
         | 
| 12 | 
            +
                #   <%= render(Primer::Box.new(bg: :subtle, p: 3)) { "Hello world" } %>
         | 
| 13 | 
            +
                #
         | 
| 14 | 
            +
                # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
         | 
| 15 | 
            +
                def initialize(**system_arguments)
         | 
| 16 | 
            +
                  @system_arguments = deny_tag_argument(**system_arguments)
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                  @system_arguments[:tag] = :div
         | 
| 19 | 
            +
                end
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                def call
         | 
| 22 | 
            +
                  render(Primer::BaseComponent.new(**@system_arguments)) { content }
         | 
| 23 | 
            +
                end
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
            end
         | 
| @@ -1,25 +1,7 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 3 | 
             
            module Primer
         | 
| 4 | 
            -
               | 
| 5 | 
            -
             | 
| 6 | 
            -
                status :stable
         | 
| 7 | 
            -
             | 
| 8 | 
            -
                # @example Default
         | 
| 9 | 
            -
                #   <%= render(Primer::BoxComponent.new) { "Your content here" } %>
         | 
| 10 | 
            -
                #
         | 
| 11 | 
            -
                # @example Color and padding
         | 
| 12 | 
            -
                #   <%= render(Primer::BoxComponent.new(bg: :subtle, p: 3)) { "Hello world" } %>
         | 
| 13 | 
            -
                #
         | 
| 14 | 
            -
                # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
         | 
| 15 | 
            -
                def initialize(**system_arguments)
         | 
| 16 | 
            -
                  @system_arguments = deny_tag_argument(**system_arguments)
         | 
| 17 | 
            -
             | 
| 18 | 
            -
                  @system_arguments[:tag] = :div
         | 
| 19 | 
            -
                end
         | 
| 20 | 
            -
             | 
| 21 | 
            -
                def call
         | 
| 22 | 
            -
                  render(Primer::BaseComponent.new(**@system_arguments)) { content }
         | 
| 23 | 
            -
                end
         | 
| 4 | 
            +
              class BoxComponent < Primer::Box
         | 
| 5 | 
            +
                status :deprecated
         | 
| 24 6 | 
             
              end
         | 
| 25 7 | 
             
            end
         | 
| @@ -1,55 +1,7 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 3 | 
             
            module Primer
         | 
| 4 | 
            -
               | 
| 5 | 
            -
             | 
| 6 | 
            -
                status :beta
         | 
| 7 | 
            -
             | 
| 8 | 
            -
                # Required list of buttons to be rendered.
         | 
| 9 | 
            -
                #
         | 
| 10 | 
            -
                # @param kwargs [Hash] The same arguments as <%= link_to_component(Primer::ButtonComponent) %> except for `size` and `group_item`.
         | 
| 11 | 
            -
                renders_many :buttons, lambda { |**kwargs|
         | 
| 12 | 
            -
                  kwargs[:group_item] = true
         | 
| 13 | 
            -
                  kwargs[:size] = @size
         | 
| 14 | 
            -
             | 
| 15 | 
            -
                  Primer::ButtonComponent.new(**kwargs)
         | 
| 16 | 
            -
                }
         | 
| 17 | 
            -
             | 
| 18 | 
            -
                # @example Default
         | 
| 19 | 
            -
                #
         | 
| 20 | 
            -
                #   <%= render(Primer::ButtonGroup.new) do |component| %>
         | 
| 21 | 
            -
                #     <% component.button { "Default" } %>
         | 
| 22 | 
            -
                #     <% component.button(scheme: :primary) { "Primary" } %>
         | 
| 23 | 
            -
                #     <% component.button(scheme: :danger) { "Danger" } %>
         | 
| 24 | 
            -
                #     <% component.button(scheme: :outline) { "Outline" } %>
         | 
| 25 | 
            -
                #     <% component.button(classes: "custom-class") { "Custom class" } %>
         | 
| 26 | 
            -
                #   <% end %>
         | 
| 27 | 
            -
                #
         | 
| 28 | 
            -
                # @example Sizes
         | 
| 29 | 
            -
                #
         | 
| 30 | 
            -
                #   <%= render(Primer::ButtonGroup.new(size: :small)) do |component| %>
         | 
| 31 | 
            -
                #     <% component.button { "Default" } %>
         | 
| 32 | 
            -
                #     <% component.button(scheme: :primary) { "Primary" } %>
         | 
| 33 | 
            -
                #     <% component.button(scheme: :danger) { "Danger" } %>
         | 
| 34 | 
            -
                #     <% component.button(scheme: :outline) { "Outline" } %>
         | 
| 35 | 
            -
                #   <% end %>
         | 
| 36 | 
            -
                #
         | 
| 37 | 
            -
                # @param variant [Symbol] DEPRECATED. <%= one_of(Primer::ButtonComponent::SIZE_OPTIONS) %>
         | 
| 38 | 
            -
                # @param size [Symbol] <%= one_of(Primer::ButtonComponent::SIZE_OPTIONS) %>
         | 
| 39 | 
            -
                # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
         | 
| 40 | 
            -
                def initialize(variant: nil, size: Primer::ButtonComponent::DEFAULT_SIZE, **system_arguments)
         | 
| 41 | 
            -
                  @size = variant || size
         | 
| 42 | 
            -
                  @system_arguments = deny_tag_argument(**system_arguments)
         | 
| 43 | 
            -
                  @system_arguments[:tag] = :div
         | 
| 44 | 
            -
             | 
| 45 | 
            -
                  @system_arguments[:classes] = class_names(
         | 
| 46 | 
            -
                    "BtnGroup",
         | 
| 47 | 
            -
                    system_arguments[:classes]
         | 
| 48 | 
            -
                  )
         | 
| 49 | 
            -
                end
         | 
| 50 | 
            -
             | 
| 51 | 
            -
                def render?
         | 
| 52 | 
            -
                  buttons.any?
         | 
| 53 | 
            -
                end
         | 
| 4 | 
            +
              class ButtonGroup < Primer::Beta::ButtonGroup
         | 
| 5 | 
            +
                status :deprecated
         | 
| 54 6 | 
             
              end
         | 
| 55 7 | 
             
            end
         | 
| @@ -7,7 +7,7 @@ module Primer | |
| 7 7 | 
             
              # Boxes](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox).
         | 
| 8 8 | 
             
              #
         | 
| 9 9 | 
             
              # @deprecated
         | 
| 10 | 
            -
              #   Use <%= link_to_component(Primer:: | 
| 10 | 
            +
              #   Use <%= link_to_component(Primer::Box) %> instead.
         | 
| 11 11 | 
             
              #
         | 
| 12 12 | 
             
              #   **Before**:
         | 
| 13 13 | 
             
              #
         | 
| @@ -22,11 +22,11 @@ module Primer | |
| 22 22 | 
             
              #   **After**:
         | 
| 23 23 | 
             
              #
         | 
| 24 24 | 
             
              #   ```erb
         | 
| 25 | 
            -
              #   <%%= render Primer:: | 
| 26 | 
            -
              #   <%%= render Primer:: | 
| 27 | 
            -
              #   <%%= render Primer:: | 
| 28 | 
            -
              #   <%%= render Primer:: | 
| 29 | 
            -
              #   <%%= render Primer:: | 
| 25 | 
            +
              #   <%%= render Primer::Box.new(display: :flex, justify_content: :center) %>
         | 
| 26 | 
            +
              #   <%%= render Primer::Box.new(display: :inline_flex) %>
         | 
| 27 | 
            +
              #   <%%= render Primer::Box.new(display: :flex, flex_wrap: :wrap) %>
         | 
| 28 | 
            +
              #   <%%= render Primer::Box.new(display: :flex, align_items: :start) %>
         | 
| 29 | 
            +
              #   <%%= render Primer::Box.new(display: :flex, direction: :column) %>
         | 
| 30 30 | 
             
              #   ```
         | 
| 31 31 | 
             
              class FlexComponent < Primer::Component
         | 
| 32 32 | 
             
                status :deprecated
         | 
| @@ -62,30 +62,30 @@ module Primer | |
| 62 62 |  | 
| 63 63 | 
             
                # @example Default
         | 
| 64 64 | 
             
                #   <%= render(Primer::FlexComponent.new(bg: :subtle)) do %>
         | 
| 65 | 
            -
                #     <%= render(Primer:: | 
| 66 | 
            -
                #     <%= render(Primer:: | 
| 67 | 
            -
                #     <%= render(Primer:: | 
| 65 | 
            +
                #     <%= render(Primer::Box.new(p: 5, bg: :subtle, classes: "border")) { "Item 1" } %>
         | 
| 66 | 
            +
                #     <%= render(Primer::Box.new(p: 5, bg: :subtle, classes: "border")) { "Item 2" } %>
         | 
| 67 | 
            +
                #     <%= render(Primer::Box.new(p: 5, bg: :subtle, classes: "border")) { "Item 3" } %>
         | 
| 68 68 | 
             
                #   <% end %>
         | 
| 69 69 | 
             
                #
         | 
| 70 70 | 
             
                # @example Justify center
         | 
| 71 71 | 
             
                #   <%= render(Primer::FlexComponent.new(justify_content: :center, bg: :subtle)) do %>
         | 
| 72 | 
            -
                #     <%= render(Primer:: | 
| 73 | 
            -
                #     <%= render(Primer:: | 
| 74 | 
            -
                #     <%= render(Primer:: | 
| 72 | 
            +
                #     <%= render(Primer::Box.new(p: 5, bg: :subtle, classes: "border")) { "Item 1" } %>
         | 
| 73 | 
            +
                #     <%= render(Primer::Box.new(p: 5, bg: :subtle, classes: "border")) { "Item 2" } %>
         | 
| 74 | 
            +
                #     <%= render(Primer::Box.new(p: 5, bg: :subtle, classes: "border")) { "Item 3" } %>
         | 
| 75 75 | 
             
                #   <% end %>
         | 
| 76 76 | 
             
                #
         | 
| 77 77 | 
             
                # @example Align end
         | 
| 78 78 | 
             
                #   <%= render(Primer::FlexComponent.new(align_items: :end, bg: :subtle)) do %>
         | 
| 79 | 
            -
                #     <%= render(Primer:: | 
| 80 | 
            -
                #     <%= render(Primer:: | 
| 81 | 
            -
                #     <%= render(Primer:: | 
| 79 | 
            +
                #     <%= render(Primer::Box.new(p: 5, bg: :subtle, classes: "border")) { "Item 1" } %>
         | 
| 80 | 
            +
                #     <%= render(Primer::Box.new(p: 5, bg: :subtle, classes: "border")) { "Item 2" } %>
         | 
| 81 | 
            +
                #     <%= render(Primer::Box.new(p: 5, bg: :subtle, classes: "border")) { "Item 3" } %>
         | 
| 82 82 | 
             
                #   <% end %>
         | 
| 83 83 | 
             
                #
         | 
| 84 84 | 
             
                # @example Direction column
         | 
| 85 85 | 
             
                #   <%= render(Primer::FlexComponent.new(direction: :column, bg: :subtle)) do %>
         | 
| 86 | 
            -
                #     <%= render(Primer:: | 
| 87 | 
            -
                #     <%= render(Primer:: | 
| 88 | 
            -
                #     <%= render(Primer:: | 
| 86 | 
            +
                #     <%= render(Primer::Box.new(p: 5, bg: :subtle, classes: "border")) { "Item 1" } %>
         | 
| 87 | 
            +
                #     <%= render(Primer::Box.new(p: 5, bg: :subtle, classes: "border")) { "Item 2" } %>
         | 
| 88 | 
            +
                #     <%= render(Primer::Box.new(p: 5, bg: :subtle, classes: "border")) { "Item 3" } %>
         | 
| 89 89 | 
             
                #   <% end %>
         | 
| 90 90 | 
             
                #
         | 
| 91 91 | 
             
                # @param justify_content [Symbol] Use this param to distribute space between and around flex items along the main axis of the container. <%= one_of(Primer::FlexComponent::JUSTIFY_CONTENT_OPTIONS) %>
         | 
| @@ -102,7 +102,7 @@ module Primer | |
| 102 102 | 
             
                  direction: nil,
         | 
| 103 103 | 
             
                  **system_arguments
         | 
| 104 104 | 
             
                )
         | 
| 105 | 
            -
                  deprecated_component_warning(new_class: Primer:: | 
| 105 | 
            +
                  deprecated_component_warning(new_class: Primer::Box, version: "0.0.40")
         | 
| 106 106 |  | 
| 107 107 | 
             
                  @align_items = fetch_or_fallback(ALIGN_ITEMS_OPTIONS, align_items, ALIGN_ITEMS_DEFAULT)
         | 
| 108 108 | 
             
                  @justify_content = fetch_or_fallback(JUSTIFY_CONTENT_OPTIONS, justify_content, JUSTIFY_CONTENT_DEFAULT)
         | 
| @@ -122,7 +122,7 @@ module Primer | |
| 122 122 | 
             
                end
         | 
| 123 123 |  | 
| 124 124 | 
             
                def call
         | 
| 125 | 
            -
                  render(Primer:: | 
| 125 | 
            +
                  render(Primer::Box.new(**@system_arguments)) { content }
         | 
| 126 126 | 
             
                end
         | 
| 127 127 |  | 
| 128 128 | 
             
                private
         | 
| @@ -5,7 +5,7 @@ module Primer | |
| 5 5 | 
             
              # dimensions to fill available space.
         | 
| 6 6 | 
             
              #
         | 
| 7 7 | 
             
              # @deprecated
         | 
| 8 | 
            -
              #   Use <%= link_to_component(Primer:: | 
| 8 | 
            +
              #   Use <%= link_to_component(Primer::Box) %> instead.
         | 
| 9 9 | 
             
              #
         | 
| 10 10 | 
             
              #   **Before**:
         | 
| 11 11 | 
             
              #
         | 
| @@ -16,7 +16,7 @@ module Primer | |
| 16 16 | 
             
              #   **After**:
         | 
| 17 17 | 
             
              #
         | 
| 18 18 | 
             
              #   ```erb
         | 
| 19 | 
            -
              #   <%%= render Primer:: | 
| 19 | 
            +
              #   <%%= render Primer::Box.new(flex: :auto) %>
         | 
| 20 20 | 
             
              #   ```
         | 
| 21 21 | 
             
              class FlexItemComponent < Primer::Component
         | 
| 22 22 | 
             
                status :deprecated
         | 
| @@ -38,7 +38,7 @@ module Primer | |
| 38 38 | 
             
                # @param flex_auto [Boolean] Fills available space and auto-sizes based on the content. Defaults to <%= Primer::FlexItemComponent::FLEX_AUTO_DEFAULT %>
         | 
| 39 39 | 
             
                # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
         | 
| 40 40 | 
             
                def initialize(flex_auto: FLEX_AUTO_DEFAULT, **system_arguments)
         | 
| 41 | 
            -
                  deprecated_component_warning(new_class: Primer:: | 
| 41 | 
            +
                  deprecated_component_warning(new_class: Primer::Box, version: "0.0.40")
         | 
| 42 42 |  | 
| 43 43 | 
             
                  @system_arguments = system_arguments
         | 
| 44 44 | 
             
                  @system_arguments[:classes] =
         | 
| @@ -49,7 +49,7 @@ module Primer | |
| 49 49 | 
             
                end
         | 
| 50 50 |  | 
| 51 51 | 
             
                def call
         | 
| 52 | 
            -
                  render(Primer:: | 
| 52 | 
            +
                  render(Primer::Box.new(**@system_arguments)) { content }
         | 
| 53 53 | 
             
                end
         | 
| 54 54 | 
             
              end
         | 
| 55 55 | 
             
            end
         | 
| @@ -32,11 +32,18 @@ module Primer | |
| 32 32 | 
             
                DEPRECATED_SCHEME_OPTIONS = [:info, :warning, :orange, :purple].freeze
         | 
| 33 33 | 
             
                SCHEME_OPTIONS = (SCHEME_MAPPINGS.keys - DEPRECATED_SCHEME_OPTIONS).freeze
         | 
| 34 34 |  | 
| 35 | 
            -
                 | 
| 36 | 
            -
             | 
| 37 | 
            -
                   | 
| 35 | 
            +
                DEFAULT_SIZE = :medium
         | 
| 36 | 
            +
                SIZE_MAPPINGS = {
         | 
| 37 | 
            +
                  DEFAULT_SIZE => nil,
         | 
| 38 | 
            +
                  :large => "Label--large"
         | 
| 38 39 | 
             
                }.freeze
         | 
| 39 | 
            -
                 | 
| 40 | 
            +
                SIZE_OPTIONS = SIZE_MAPPINGS.keys
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                DEFAULT_VARIANT = :none
         | 
| 43 | 
            +
                VARIANT_OPTIONS = [DEFAULT_VARIANT].freeze
         | 
| 44 | 
            +
                DEPRECATED_VARIANT_OPTIONS = [:large, :inline].freeze
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                INLINE_CLASS = "Label--inline"
         | 
| 40 47 |  | 
| 41 48 | 
             
                # @example Schemes
         | 
| 42 49 | 
             
                #   <%= render(Primer::LabelComponent.new) { "Default" } %>
         | 
| @@ -50,22 +57,36 @@ module Primer | |
| 50 57 | 
             
                #   <%= render(Primer::LabelComponent.new(scheme: :done)) { "Done" } %>
         | 
| 51 58 | 
             
                #   <%= render(Primer::LabelComponent.new(scheme: :sponsors)) { "Sponsors" } %>
         | 
| 52 59 | 
             
                #
         | 
| 53 | 
            -
                # @example  | 
| 60 | 
            +
                # @example Sizes
         | 
| 61 | 
            +
                #   <%= render(Primer::LabelComponent.new) { "Medium" } %>
         | 
| 62 | 
            +
                #   <%= render(Primer::LabelComponent.new(size: :large)) { "Large" } %>
         | 
| 63 | 
            +
                #
         | 
| 64 | 
            +
                # @example Inline
         | 
| 54 65 | 
             
                #   <%= render(Primer::LabelComponent.new) { "Default" } %>
         | 
| 55 | 
            -
                #   <%= render(Primer::LabelComponent.new( | 
| 66 | 
            +
                #   <%= render(Primer::LabelComponent.new(inline: true)) { "Inline" } %>
         | 
| 56 67 | 
             
                #
         | 
| 57 68 | 
             
                # @param tag [Symbol] <%= one_of(Primer::LabelComponent::TAG_OPTIONS) %>
         | 
| 58 69 | 
             
                # @param scheme [Symbol] <%= one_of(Primer::LabelComponent::SCHEME_MAPPINGS.keys) %>
         | 
| 59 | 
            -
                # @param  | 
| 70 | 
            +
                # @param size [Symbol] <%= one_of(Primer::LabelComponent::SIZE_OPTIONS) %>
         | 
| 71 | 
            +
                # @param inline [Boolean] Whether or not to render this label inline.
         | 
| 72 | 
            +
                # @param variant [Symbol] <%= one_of(Primer::LabelComponent::VARIANT_OPTIONS + Primer::LabelComponent::DEPRECATED_VARIANT_OPTIONS) %>
         | 
| 60 73 | 
             
                # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
         | 
| 61 | 
            -
             | 
| 74 | 
            +
             | 
| 75 | 
            +
                def initialize(tag: DEFAULT_TAG, scheme: DEFAULT_SCHEME, size: DEFAULT_SIZE, inline: false, variant: DEFAULT_VARIANT, **system_arguments)
         | 
| 62 76 | 
             
                  @system_arguments = system_arguments
         | 
| 77 | 
            +
             | 
| 78 | 
            +
                  @variant = fetch_or_fallback(VARIANT_OPTIONS, variant, nil, deprecated_values: DEPRECATED_VARIANT_OPTIONS)
         | 
| 79 | 
            +
                  @scheme = fetch_or_fallback(SCHEME_OPTIONS, scheme, DEFAULT_SCHEME, deprecated_values: DEPRECATED_SCHEME_OPTIONS)
         | 
| 80 | 
            +
                  @size = fetch_or_fallback(SIZE_OPTIONS, size) || @variant == :large ? :large : nil || DEFAULT_SIZE
         | 
| 81 | 
            +
                  @inline = inline || @variant == :inline
         | 
| 82 | 
            +
             | 
| 63 83 | 
             
                  @system_arguments[:tag] = fetch_or_fallback(TAG_OPTIONS, tag, DEFAULT_TAG)
         | 
| 64 84 | 
             
                  @system_arguments[:classes] = class_names(
         | 
| 65 85 | 
             
                    "Label",
         | 
| 66 86 | 
             
                    system_arguments[:classes],
         | 
| 67 | 
            -
                    SCHEME_MAPPINGS[ | 
| 68 | 
            -
                     | 
| 87 | 
            +
                    SCHEME_MAPPINGS[@scheme],
         | 
| 88 | 
            +
                    SIZE_MAPPINGS[@size],
         | 
| 89 | 
            +
                    @inline ? INLINE_CLASS : nil
         | 
| 69 90 | 
             
                  )
         | 
| 70 91 | 
             
                end
         | 
| 71 92 |  | 
| @@ -13,9 +13,9 @@ module ERBLint | |
| 13 13 | 
             
                      symbolize: true
         | 
| 14 14 | 
             
                    ).freeze
         | 
| 15 15 |  | 
| 16 | 
            -
                     | 
| 16 | 
            +
                    SIZE_MAPPINGS = Primer::ViewComponents::Constants.get(
         | 
| 17 17 | 
             
                      component: "Primer::LabelComponent",
         | 
| 18 | 
            -
                      constant: " | 
| 18 | 
            +
                      constant: "SIZE_MAPPINGS",
         | 
| 19 19 | 
             
                      symbolize: true
         | 
| 20 20 | 
             
                    ).freeze
         | 
| 21 21 |  | 
| @@ -24,6 +24,11 @@ module ERBLint | |
| 24 24 | 
             
                      constant: "DEFAULT_TAG"
         | 
| 25 25 | 
             
                    ).freeze
         | 
| 26 26 |  | 
| 27 | 
            +
                    INLINE_CLASS = Primer::ViewComponents::Constants.get(
         | 
| 28 | 
            +
                      component: "Primer::LabelComponent",
         | 
| 29 | 
            +
                      constant: "INLINE_CLASS"
         | 
| 30 | 
            +
                    ).freeze
         | 
| 31 | 
            +
             | 
| 27 32 | 
             
                    ATTRIBUTES = %w[title].freeze
         | 
| 28 33 |  | 
| 29 34 | 
             
                    def attribute_to_args(attribute)
         | 
| @@ -36,8 +41,10 @@ module ERBLint | |
| 36 41 |  | 
| 37 42 | 
             
                        if SCHEME_MAPPINGS[class_name] && acc[:scheme].nil?
         | 
| 38 43 | 
             
                          acc[:scheme] = SCHEME_MAPPINGS[class_name]
         | 
| 39 | 
            -
                        elsif  | 
| 40 | 
            -
                          acc[: | 
| 44 | 
            +
                        elsif SIZE_MAPPINGS[class_name] && acc[:size].nil?
         | 
| 45 | 
            +
                          acc[:size] = SIZE_MAPPINGS[class_name]
         | 
| 46 | 
            +
                        elsif class_name == INLINE_CLASS && acc[:inline].nil?
         | 
| 47 | 
            +
                          acc[:inline] = true
         | 
| 41 48 | 
             
                        else
         | 
| 42 49 | 
             
                          acc[:classes] << class_name
         | 
| 43 50 | 
             
                        end
         | 
| @@ -7,10 +7,12 @@ module ERBLint | |
| 7 7 | 
             
                  module DeprecatedComponentsHelpers
         | 
| 8 8 | 
             
                    # If there is no alternative to suggest, set the value to nil
         | 
| 9 9 | 
             
                    COMPONENT_TO_USE_INSTEAD = {
         | 
| 10 | 
            +
                      "Primer::ButtonGroup" => "Primer::Beta::ButtonGroup",
         | 
| 10 11 | 
             
                      "Primer::Alpha::AutoComplete::Item" => "Primer::Beta::AutoComplete::Item",
         | 
| 11 12 | 
             
                      "Primer::Alpha::AutoComplete" => "Primer::Beta::AutoComplete",
         | 
| 12 13 | 
             
                      "Primer::BlankslateComponent" => "Primer::Beta::Blankslate",
         | 
| 13 14 | 
             
                      "Primer::BorderBoxComponent" => "Primer::Beta::BorderBox",
         | 
| 15 | 
            +
                      "Primer::BoxComponent" => "Primer::Box",
         | 
| 14 16 | 
             
                      "Primer::DropdownMenuComponent" => nil,
         | 
| 15 17 | 
             
                      "Primer::Tooltip" => "Primer::Alpha::Tooltip",
         | 
| 16 18 | 
             
                      "Primer::FlexComponent" => nil,
         | 
| @@ -15,6 +15,8 @@ module RuboCop | |
| 15 15 | 
             
                  # Primer::Beta::ComponentName.new()
         | 
| 16 16 | 
             
                  class ComponentNameMigration < BaseCop
         | 
| 17 17 | 
             
                    DEPRECATIONS = {
         | 
| 18 | 
            +
                      "Primer::BoxComponent" => "Primer::Box",
         | 
| 19 | 
            +
                      "Primer::ButtonGroup" => "Primer::Beta::ButtonGroup",
         | 
| 18 20 | 
             
                      "Primer::BlankslateComponent" => "Primer::Beta::Blankslate",
         | 
| 19 21 | 
             
                      "Primer::BorderBoxComponent" => "Primer::Beta::BorderBox",
         | 
| 20 22 | 
             
                      "Primer::BaseButton" => "Primer::Beta::BaseButton",
         | 
| @@ -0,0 +1,71 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            require "rubocop"
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            # :nocov:
         | 
| 6 | 
            +
            module RuboCop
         | 
| 7 | 
            +
              module Cop
         | 
| 8 | 
            +
                module Primer
         | 
| 9 | 
            +
                  # This cop ensures that `LabelComponent`s don't use the old `variant` argument.
         | 
| 10 | 
            +
                  #
         | 
| 11 | 
            +
                  # bad
         | 
| 12 | 
            +
                  # Primer::LabelComponent.new(variant: :large)
         | 
| 13 | 
            +
                  #
         | 
| 14 | 
            +
                  # good
         | 
| 15 | 
            +
                  # Primer::LabelComponent.new(size: :large)
         | 
| 16 | 
            +
                  #
         | 
| 17 | 
            +
                  # bad
         | 
| 18 | 
            +
                  # Primer::LabelComponent.new(variant: :inline)
         | 
| 19 | 
            +
                  #
         | 
| 20 | 
            +
                  # good
         | 
| 21 | 
            +
                  # Primer::LabelComponent.new(inline: true)
         | 
| 22 | 
            +
                  class DeprecatedLabelVariants < BaseCop
         | 
| 23 | 
            +
                    def on_send(node)
         | 
| 24 | 
            +
                      return unless label_node?(node)
         | 
| 25 | 
            +
                      return unless node.arguments?
         | 
| 26 | 
            +
             | 
| 27 | 
            +
                      # we are looking for hash arguments and they are always last
         | 
| 28 | 
            +
                      kwargs = node.arguments.last
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                      return unless kwargs.type == :hash
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                      kwargs.pairs.each do |pair|
         | 
| 33 | 
            +
                        # skip if we're not dealing with a symbol or string
         | 
| 34 | 
            +
                        next if pair.key.type != :sym
         | 
| 35 | 
            +
                        next unless pair.value.type == :sym || pair.value.type == :str
         | 
| 36 | 
            +
                        next if pair.key.value != :variant
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                        case pair.value.value
         | 
| 39 | 
            +
                        when :large, "large"
         | 
| 40 | 
            +
                          add_offense(pair, message: "Avoid using `variant: :large` with `LabelComponent`. Use `size: :large` instead.")
         | 
| 41 | 
            +
                        when :inline, "inline"
         | 
| 42 | 
            +
                          add_offense(pair, message: "Avoid using `variant: :inline` with `LabelComponent`. Use `inline: true` instead.")
         | 
| 43 | 
            +
                        end
         | 
| 44 | 
            +
                      end
         | 
| 45 | 
            +
                    end
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                    def autocorrect(node)
         | 
| 48 | 
            +
                      lambda do |corrector|
         | 
| 49 | 
            +
                        replacement =
         | 
| 50 | 
            +
                          case node.value.value
         | 
| 51 | 
            +
                          when :large, "large"
         | 
| 52 | 
            +
                            "size: :large"
         | 
| 53 | 
            +
                          when :inline, "inline"
         | 
| 54 | 
            +
                            "inline: true"
         | 
| 55 | 
            +
                          end
         | 
| 56 | 
            +
             | 
| 57 | 
            +
                        corrector.replace(node, replacement)
         | 
| 58 | 
            +
                      end
         | 
| 59 | 
            +
                    end
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                    private
         | 
| 62 | 
            +
             | 
| 63 | 
            +
                    def label_node?(node)
         | 
| 64 | 
            +
                      return if node.nil?
         | 
| 65 | 
            +
             | 
| 66 | 
            +
                      node.method_name == :new && !node.receiver.nil? && node.receiver.const_name == "Primer::LabelComponent"
         | 
| 67 | 
            +
                    end
         | 
| 68 | 
            +
                  end
         | 
| 69 | 
            +
                end
         | 
| 70 | 
            +
              end
         | 
| 71 | 
            +
            end
         | 
    
        data/lib/tasks/docs.rake
    CHANGED
    
    | @@ -44,10 +44,10 @@ namespace :docs do | |
| 44 44 | 
             
                  Primer::Beta::Blankslate,
         | 
| 45 45 | 
             
                  Primer::Beta::BorderBox,
         | 
| 46 46 | 
             
                  Primer::Beta::BorderBox::Header,
         | 
| 47 | 
            -
                  Primer:: | 
| 47 | 
            +
                  Primer::Box,
         | 
| 48 48 | 
             
                  Primer::Beta::Breadcrumbs,
         | 
| 49 49 | 
             
                  Primer::ButtonComponent,
         | 
| 50 | 
            -
                  Primer::ButtonGroup,
         | 
| 50 | 
            +
                  Primer::Beta::ButtonGroup,
         | 
| 51 51 | 
             
                  Primer::Alpha::ButtonMarketing,
         | 
| 52 52 | 
             
                  Primer::ClipboardCopy,
         | 
| 53 53 | 
             
                  Primer::CloseButton,
         | 
    
        data/lib/yard/docs_helper.rb
    CHANGED
    
    | @@ -28,7 +28,7 @@ module YARD | |
| 28 28 | 
             
                  prefix = "One of"
         | 
| 29 29 | 
             
                  prefix = prefix.downcase if lower
         | 
| 30 30 |  | 
| 31 | 
            -
                  "#{prefix} #{values.to_sentence(last_word_connector: ', or ')}."
         | 
| 31 | 
            +
                  "#{prefix} #{values.to_sentence(two_words_connector: ' or ', last_word_connector: ', or ')}."
         | 
| 32 32 | 
             
                end
         | 
| 33 33 |  | 
| 34 34 | 
             
                def link_to_accessibility
         | 
    
        data/static/arguments.yml
    CHANGED
    
    | @@ -9,15 +9,15 @@ | |
| 9 9 | 
             
              - name: variant
         | 
| 10 10 | 
             
                type: Symbol
         | 
| 11 11 | 
             
                default: "`:default`"
         | 
| 12 | 
            -
                description: One of `:default`  | 
| 12 | 
            +
                description: One of `:default` or `:large`.
         | 
| 13 13 | 
             
              - name: tag
         | 
| 14 14 | 
             
                type: Symbol
         | 
| 15 15 | 
             
                default: "`:button`"
         | 
| 16 | 
            -
                description: One of `:a`  | 
| 16 | 
            +
                description: One of `:a` or `:button`.
         | 
| 17 17 | 
             
              - name: type
         | 
| 18 18 | 
             
                type: Symbol
         | 
| 19 19 | 
             
                default: "`:button`"
         | 
| 20 | 
            -
                description: One of `:button`  | 
| 20 | 
            +
                description: One of `:button` or `:submit`.
         | 
| 21 21 | 
             
              - name: system_arguments
         | 
| 22 22 | 
             
                type: Hash
         | 
| 23 23 | 
             
                default: N/A
         | 
| @@ -34,7 +34,7 @@ | |
| 34 34 | 
             
                type: Symbol
         | 
| 35 35 | 
             
                default: "`:sidebar`"
         | 
| 36 36 | 
             
                description: Which element to render first in the HTML. This will change the keyboard
         | 
| 37 | 
            -
                  navigation order. One of `:main`  | 
| 37 | 
            +
                  navigation order. One of `:main` or `:sidebar`.
         | 
| 38 38 | 
             
              - name: gutter
         | 
| 39 39 | 
             
                type: Symbol
         | 
| 40 40 | 
             
                default: "`:default`"
         | 
| @@ -50,7 +50,7 @@ | |
| 50 50 | 
             
              - name: tag
         | 
| 51 51 | 
             
                type: Symbol
         | 
| 52 52 | 
             
                default: "`:nav`"
         | 
| 53 | 
            -
                description: One of `:div`  | 
| 53 | 
            +
                description: One of `:div` or `:nav`.
         | 
| 54 54 | 
             
              - name: label
         | 
| 55 55 | 
             
                type: String
         | 
| 56 56 | 
             
                default: N/A
         | 
| @@ -75,7 +75,7 @@ | |
| 75 75 | 
             
              - name: align
         | 
| 76 76 | 
             
                type: Symbol
         | 
| 77 77 | 
             
                default: N/A
         | 
| 78 | 
            -
                description: One of `:left`  | 
| 78 | 
            +
                description: One of `:left` or `:right`. - Defaults to left
         | 
| 79 79 | 
             
              - name: body_arguments
         | 
| 80 80 | 
             
                type: Hash
         | 
| 81 81 | 
             
                default: "`{}`"
         | 
| @@ -192,7 +192,7 @@ | |
| 192 192 | 
             
              - name: type
         | 
| 193 193 | 
             
                type: Symbol
         | 
| 194 194 | 
             
                default: N/A
         | 
| 195 | 
            -
                description: One of `:description`  | 
| 195 | 
            +
                description: One of `:description` or `:label`.
         | 
| 196 196 | 
             
              - name: direction
         | 
| 197 197 | 
             
                type: Symbol
         | 
| 198 198 | 
             
                default: "`:s`"
         | 
| @@ -212,7 +212,7 @@ | |
| 212 212 | 
             
              - name: tag
         | 
| 213 213 | 
             
                type: Symbol
         | 
| 214 214 | 
             
                default: "`:nav`"
         | 
| 215 | 
            -
                description: One of `:div`  | 
| 215 | 
            +
                description: One of `:div` or `:nav`.
         | 
| 216 216 | 
             
              - name: label
         | 
| 217 217 | 
             
                type: String
         | 
| 218 218 | 
             
                default: N/A
         | 
| @@ -221,7 +221,7 @@ | |
| 221 221 | 
             
              - name: align
         | 
| 222 222 | 
             
                type: Symbol
         | 
| 223 223 | 
             
                default: "`:left`"
         | 
| 224 | 
            -
                description: One of `:left`  | 
| 224 | 
            +
                description: One of `:left` or `:right`. - Defaults to left
         | 
| 225 225 | 
             
              - name: body_arguments
         | 
| 226 226 | 
             
                type: Hash
         | 
| 227 227 | 
             
                default: "`{}`"
         | 
| @@ -241,7 +241,7 @@ | |
| 241 241 | 
             
              - name: align
         | 
| 242 242 | 
             
                type: Symbol
         | 
| 243 243 | 
             
                default: "`:left`"
         | 
| 244 | 
            -
                description: One of `:left`  | 
| 244 | 
            +
                description: One of `:left` or `:right`. - Defaults to left
         | 
| 245 245 | 
             
              - name: body_arguments
         | 
| 246 246 | 
             
                type: Hash
         | 
| 247 247 | 
             
                default: "`{}`"
         | 
| @@ -364,7 +364,7 @@ | |
| 364 364 | 
             
              - name: shape
         | 
| 365 365 | 
             
                type: Symbol
         | 
| 366 366 | 
             
                default: "`:circle`"
         | 
| 367 | 
            -
                description: Shape of the avatar. One of `:circle`  | 
| 367 | 
            +
                description: Shape of the avatar. One of `:circle` or `:square`.
         | 
| 368 368 | 
             
              - name: href
         | 
| 369 369 | 
             
                type: String
         | 
| 370 370 | 
             
                default: "`nil`"
         | 
| @@ -380,11 +380,11 @@ | |
| 380 380 | 
             
              - name: tag
         | 
| 381 381 | 
             
                type: Symbol
         | 
| 382 382 | 
             
                default: "`:div`"
         | 
| 383 | 
            -
                description: One of `:div`  | 
| 383 | 
            +
                description: One of `:div` or `:span`.
         | 
| 384 384 | 
             
              - name: align
         | 
| 385 385 | 
             
                type: Symbol
         | 
| 386 386 | 
             
                default: "`:left`"
         | 
| 387 | 
            -
                description: One of `:left`  | 
| 387 | 
            +
                description: One of `:left` or `:right`.
         | 
| 388 388 | 
             
              - name: tooltipped
         | 
| 389 389 | 
             
                type: Boolean
         | 
| 390 390 | 
             
                default: "`false`"
         | 
| @@ -394,7 +394,7 @@ | |
| 394 394 | 
             
                default: "`{}`"
         | 
| 395 395 | 
             
                description: Parameters to add to the Body. If `tooltipped` is set, has the same
         | 
| 396 396 | 
             
                  arguments as [Tooltip](/components/tooltip). The default tag is `:div` but can
         | 
| 397 | 
            -
                  be changed using `tag:` to one of `:div`  | 
| 397 | 
            +
                  be changed using `tag:` to one of `:div` or `:span`.
         | 
| 398 398 | 
             
              - name: system_arguments
         | 
| 399 399 | 
             
                type: Hash
         | 
| 400 400 | 
             
                default: N/A
         | 
| @@ -462,6 +462,21 @@ | |
| 462 462 | 
             
                type: Hash
         | 
| 463 463 | 
             
                default: N/A
         | 
| 464 464 | 
             
                description: "[System arguments](/system-arguments)"
         | 
| 465 | 
            +
            - component: ButtonGroup
         | 
| 466 | 
            +
              source: https://github.com/primer/view_components/tree/main/app/components/primer/beta/button_group.rb
         | 
| 467 | 
            +
              parameters:
         | 
| 468 | 
            +
              - name: variant
         | 
| 469 | 
            +
                type: Symbol
         | 
| 470 | 
            +
                default: "`nil`"
         | 
| 471 | 
            +
                description: DEPRECATED. One of `:medium` or `:small`.
         | 
| 472 | 
            +
              - name: size
         | 
| 473 | 
            +
                type: Symbol
         | 
| 474 | 
            +
                default: "`:medium`"
         | 
| 475 | 
            +
                description: One of `:medium` or `:small`.
         | 
| 476 | 
            +
              - name: system_arguments
         | 
| 477 | 
            +
                type: Hash
         | 
| 478 | 
            +
                default: N/A
         | 
| 479 | 
            +
                description: "[System arguments](/system-arguments)"
         | 
| 465 480 | 
             
            - component: Flash
         | 
| 466 481 | 
             
              source: https://github.com/primer/view_components/tree/main/app/components/primer/beta/flash.rb
         | 
| 467 482 | 
             
              parameters:
         | 
| @@ -508,7 +523,7 @@ | |
| 508 523 | 
             
                default: N/A
         | 
| 509 524 | 
             
                description: "[System arguments](/system-arguments)"
         | 
| 510 525 | 
             
            - component: Box
         | 
| 511 | 
            -
              source: https://github.com/primer/view_components/tree/main/app/components/primer/ | 
| 526 | 
            +
              source: https://github.com/primer/view_components/tree/main/app/components/primer/box.rb
         | 
| 512 527 | 
             
              parameters:
         | 
| 513 528 | 
             
              - name: system_arguments
         | 
| 514 529 | 
             
                type: Hash
         | 
| @@ -525,11 +540,11 @@ | |
| 525 540 | 
             
              - name: variant
         | 
| 526 541 | 
             
                type: Symbol
         | 
| 527 542 | 
             
                default: "`nil`"
         | 
| 528 | 
            -
                description: DEPRECATED. One of `:medium`  | 
| 543 | 
            +
                description: DEPRECATED. One of `:medium` or `:small`.
         | 
| 529 544 | 
             
              - name: size
         | 
| 530 545 | 
             
                type: Symbol
         | 
| 531 546 | 
             
                default: "`:medium`"
         | 
| 532 | 
            -
                description: One of `:medium`  | 
| 547 | 
            +
                description: One of `:medium` or `:small`.
         | 
| 533 548 | 
             
              - name: tag
         | 
| 534 549 | 
             
                type: Symbol
         | 
| 535 550 | 
             
                default: "`:button`"
         | 
| @@ -554,21 +569,6 @@ | |
| 554 569 | 
             
                type: Hash
         | 
| 555 570 | 
             
                default: N/A
         | 
| 556 571 | 
             
                description: "[System arguments](/system-arguments)"
         | 
| 557 | 
            -
            - component: ButtonGroup
         | 
| 558 | 
            -
              source: https://github.com/primer/view_components/tree/main/app/components/primer/button_group.rb
         | 
| 559 | 
            -
              parameters:
         | 
| 560 | 
            -
              - name: variant
         | 
| 561 | 
            -
                type: Symbol
         | 
| 562 | 
            -
                default: "`nil`"
         | 
| 563 | 
            -
                description: DEPRECATED. One of `:medium` and `:small`.
         | 
| 564 | 
            -
              - name: size
         | 
| 565 | 
            -
                type: Symbol
         | 
| 566 | 
            -
                default: "`:medium`"
         | 
| 567 | 
            -
                description: One of `:medium` and `:small`.
         | 
| 568 | 
            -
              - name: system_arguments
         | 
| 569 | 
            -
                type: Hash
         | 
| 570 | 
            -
                default: N/A
         | 
| 571 | 
            -
                description: "[System arguments](/system-arguments)"
         | 
| 572 572 | 
             
            - component: ClipboardCopy
         | 
| 573 573 | 
             
              source: https://github.com/primer/view_components/tree/main/app/components/primer/clipboard_copy.rb
         | 
| 574 574 | 
             
              parameters:
         | 
| @@ -594,7 +594,7 @@ | |
| 594 594 | 
             
              - name: type
         | 
| 595 595 | 
             
                type: Symbol
         | 
| 596 596 | 
             
                default: "`:button`"
         | 
| 597 | 
            -
                description: One of `:button`  | 
| 597 | 
            +
                description: One of `:button` or `:submit`.
         | 
| 598 598 | 
             
              - name: system_arguments
         | 
| 599 599 | 
             
                type: Hash
         | 
| 600 600 | 
             
                default: N/A
         | 
| @@ -770,7 +770,7 @@ | |
| 770 770 | 
             
              - name: scheme
         | 
| 771 771 | 
             
                type: Symbol
         | 
| 772 772 | 
             
                default: "`:default`"
         | 
| 773 | 
            -
                description: One of `:danger`  | 
| 773 | 
            +
                description: One of `:danger` or `:default`.
         | 
| 774 774 | 
             
              - name: icon
         | 
| 775 775 | 
             
                type: String
         | 
| 776 776 | 
             
                default: N/A
         | 
| @@ -854,10 +854,18 @@ | |
| 854 854 | 
             
                description: One of `:accent`, `:attention`, `:danger`, `:default`, `:done`, `:info`,
         | 
| 855 855 | 
             
                  `:orange`, `:primary`, `:purple`, `:secondary`, `:severe`, `:sponsors`, `:success`,
         | 
| 856 856 | 
             
                  or `:warning`.
         | 
| 857 | 
            +
              - name: size
         | 
| 858 | 
            +
                type: Symbol
         | 
| 859 | 
            +
                default: "`:medium`"
         | 
| 860 | 
            +
                description: One of `:large` or `:medium`.
         | 
| 861 | 
            +
              - name: inline
         | 
| 862 | 
            +
                type: Boolean
         | 
| 863 | 
            +
                default: "`false`"
         | 
| 864 | 
            +
                description: Whether or not to render this label inline.
         | 
| 857 865 | 
             
              - name: variant
         | 
| 858 866 | 
             
                type: Symbol
         | 
| 859 | 
            -
                default: "` | 
| 860 | 
            -
                description: One of  | 
| 867 | 
            +
                default: "`:none`"
         | 
| 868 | 
            +
                description: One of `:inline`, `:large`, or `:none`.
         | 
| 861 869 | 
             
              - name: system_arguments
         | 
| 862 870 | 
             
                type: Hash
         | 
| 863 871 | 
             
                default: N/A
         | 
| @@ -872,7 +880,7 @@ | |
| 872 880 | 
             
              - name: side
         | 
| 873 881 | 
             
                type: Symbol
         | 
| 874 882 | 
             
                default: "`:right`"
         | 
| 875 | 
            -
                description: Which side to display the sidebar on. One of `:left`  | 
| 883 | 
            +
                description: Which side to display the sidebar on. One of `:left` or `:right`.
         | 
| 876 884 | 
             
              - name: sidebar_col
         | 
| 877 885 | 
             
                type: Integer
         | 
| 878 886 | 
             
                default: "`3`"
         | 
| @@ -887,7 +895,7 @@ | |
| 887 895 | 
             
              - name: tag
         | 
| 888 896 | 
             
                type: String
         | 
| 889 897 | 
             
                default: "`:a`"
         | 
| 890 | 
            -
                description: One of `:a`  | 
| 898 | 
            +
                description: One of `:a` or `:span`.
         | 
| 891 899 | 
             
              - name: href
         | 
| 892 900 | 
             
                type: String
         | 
| 893 901 | 
             
                default: "`nil`"
         | 
| @@ -924,35 +932,35 @@ | |
| 924 932 | 
             
              - name: weekday
         | 
| 925 933 | 
             
                type: Symbol
         | 
| 926 934 | 
             
                default: "`:short`"
         | 
| 927 | 
            -
                description: One of `:long`  | 
| 935 | 
            +
                description: One of `:long` or `:short`.
         | 
| 928 936 | 
             
              - name: year
         | 
| 929 937 | 
             
                type: Symbol
         | 
| 930 938 | 
             
                default: "`:numeric`"
         | 
| 931 | 
            -
                description: One of `:2-digit`  | 
| 939 | 
            +
                description: One of `:2-digit` or `:numeric`.
         | 
| 932 940 | 
             
              - name: month
         | 
| 933 941 | 
             
                type: Symbol
         | 
| 934 942 | 
             
                default: "`:short`"
         | 
| 935 | 
            -
                description: One of `:long`  | 
| 943 | 
            +
                description: One of `:long` or `:short`.
         | 
| 936 944 | 
             
              - name: day
         | 
| 937 945 | 
             
                type: Symbol
         | 
| 938 946 | 
             
                default: "`:numeric`"
         | 
| 939 | 
            -
                description: One of `:2-digit`  | 
| 947 | 
            +
                description: One of `:2-digit` or `:numeric`.
         | 
| 940 948 | 
             
              - name: hour
         | 
| 941 949 | 
             
                type: Symbol
         | 
| 942 950 | 
             
                default: "`:numeric`"
         | 
| 943 | 
            -
                description: One of `:2-digit`  | 
| 951 | 
            +
                description: One of `:2-digit` or `:numeric`.
         | 
| 944 952 | 
             
              - name: minute
         | 
| 945 953 | 
             
                type: Symbol
         | 
| 946 954 | 
             
                default: "`:numeric`"
         | 
| 947 | 
            -
                description: One of `:2-digit`  | 
| 955 | 
            +
                description: One of `:2-digit` or `:numeric`.
         | 
| 948 956 | 
             
              - name: second
         | 
| 949 957 | 
             
                type: Symbol
         | 
| 950 958 | 
             
                default: "`:numeric`"
         | 
| 951 | 
            -
                description: One of `:2-digit`  | 
| 959 | 
            +
                description: One of `:2-digit` or `:numeric`.
         | 
| 952 960 | 
             
              - name: time_zone_name
         | 
| 953 961 | 
             
                type: Symbol
         | 
| 954 962 | 
             
                default: "`:short`"
         | 
| 955 | 
            -
                description: One of `:long`  | 
| 963 | 
            +
                description: One of `:long` or `:short`.
         | 
| 956 964 | 
             
              - name: system_arguments
         | 
| 957 965 | 
             
                type: Hash
         | 
| 958 966 | 
             
                default: N/A
         | 
| @@ -1087,11 +1095,11 @@ | |
| 1087 1095 | 
             
              - name: tag
         | 
| 1088 1096 | 
             
                type: Symbol
         | 
| 1089 1097 | 
             
                default: "`:span`"
         | 
| 1090 | 
            -
                description: HTML tag for element. One of `:div`  | 
| 1098 | 
            +
                description: HTML tag for element. One of `:div` or `:span`.
         | 
| 1091 1099 | 
             
              - name: size
         | 
| 1092 1100 | 
             
                type: Symbol
         | 
| 1093 1101 | 
             
                default: "`:default`"
         | 
| 1094 | 
            -
                description: One of `:default`  | 
| 1102 | 
            +
                description: One of `:default` or `:small`.
         | 
| 1095 1103 | 
             
              - name: system_arguments
         | 
| 1096 1104 | 
             
                type: Hash
         | 
| 1097 1105 | 
             
                default: N/A
         | 
    
        data/static/audited_at.json
    CHANGED
    
    | @@ -22,12 +22,14 @@ | |
| 22 22 | 
             
              "Primer::Beta::BorderBox::Header": "",
         | 
| 23 23 | 
             
              "Primer::Beta::Breadcrumbs": "",
         | 
| 24 24 | 
             
              "Primer::Beta::Breadcrumbs::Item": "",
         | 
| 25 | 
            +
              "Primer::Beta::ButtonGroup": "",
         | 
| 25 26 | 
             
              "Primer::Beta::Flash": "",
         | 
| 26 27 | 
             
              "Primer::Beta::Text": "",
         | 
| 27 28 | 
             
              "Primer::Beta::Truncate": "",
         | 
| 28 29 | 
             
              "Primer::Beta::Truncate::TruncateText": "",
         | 
| 29 30 | 
             
              "Primer::BlankslateComponent": "",
         | 
| 30 31 | 
             
              "Primer::BorderBoxComponent": "",
         | 
| 32 | 
            +
              "Primer::Box": "",
         | 
| 31 33 | 
             
              "Primer::BoxComponent": "",
         | 
| 32 34 | 
             
              "Primer::ButtonComponent": "",
         | 
| 33 35 | 
             
              "Primer::ButtonGroup": "",
         | 
    
        data/static/classes.yml
    CHANGED
    
    | @@ -43,6 +43,7 @@ | |
| 43 43 | 
             
            - ".Label--attention"
         | 
| 44 44 | 
             
            - ".Label--danger"
         | 
| 45 45 | 
             
            - ".Label--done"
         | 
| 46 | 
            +
            - ".Label--inline"
         | 
| 46 47 | 
             
            - ".Label--large"
         | 
| 47 48 | 
             
            - ".Label--primary"
         | 
| 48 49 | 
             
            - ".Label--secondary"
         | 
| @@ -211,6 +212,7 @@ | |
| 211 212 | 
             
            - ".p-3"
         | 
| 212 213 | 
             
            - ".p-4"
         | 
| 213 214 | 
             
            - ".p-5"
         | 
| 215 | 
            +
            - ".position-absolute"
         | 
| 214 216 | 
             
            - ".position-relative"
         | 
| 215 217 | 
             
            - ".pr-2"
         | 
| 216 218 | 
             
            - ".pt-5"
         | 
    
        data/static/constants.json
    CHANGED
    
    | @@ -298,6 +298,8 @@ | |
| 298 298 | 
             
              },
         | 
| 299 299 | 
             
              "Primer::Beta::Breadcrumbs::Item": {
         | 
| 300 300 | 
             
              },
         | 
| 301 | 
            +
              "Primer::Beta::ButtonGroup": {
         | 
| 302 | 
            +
              },
         | 
| 301 303 | 
             
              "Primer::Beta::Flash": {
         | 
| 302 304 | 
             
                "DEFAULT_SCHEME": "default",
         | 
| 303 305 | 
             
                "SCHEME_MAPPINGS": {
         | 
| @@ -319,6 +321,8 @@ | |
| 319 321 | 
             
              },
         | 
| 320 322 | 
             
              "Primer::BorderBoxComponent": {
         | 
| 321 323 | 
             
              },
         | 
| 324 | 
            +
              "Primer::Box": {
         | 
| 325 | 
            +
              },
         | 
| 322 326 | 
             
              "Primer::BoxComponent": {
         | 
| 323 327 | 
             
              },
         | 
| 324 328 | 
             
              "Primer::ButtonComponent": {
         | 
| @@ -544,13 +548,20 @@ | |
| 544 548 | 
             
              },
         | 
| 545 549 | 
             
              "Primer::LabelComponent": {
         | 
| 546 550 | 
             
                "DEFAULT_SCHEME": "default",
         | 
| 551 | 
            +
                "DEFAULT_SIZE": "medium",
         | 
| 547 552 | 
             
                "DEFAULT_TAG": "span",
         | 
| 553 | 
            +
                "DEFAULT_VARIANT": "none",
         | 
| 548 554 | 
             
                "DEPRECATED_SCHEME_OPTIONS": [
         | 
| 549 555 | 
             
                  "info",
         | 
| 550 556 | 
             
                  "warning",
         | 
| 551 557 | 
             
                  "orange",
         | 
| 552 558 | 
             
                  "purple"
         | 
| 553 559 | 
             
                ],
         | 
| 560 | 
            +
                "DEPRECATED_VARIANT_OPTIONS": [
         | 
| 561 | 
            +
                  "large",
         | 
| 562 | 
            +
                  "inline"
         | 
| 563 | 
            +
                ],
         | 
| 564 | 
            +
                "INLINE_CLASS": "Label--inline",
         | 
| 554 565 | 
             
                "SCHEME_MAPPINGS": {
         | 
| 555 566 | 
             
                  "default": "",
         | 
| 556 567 | 
             
                  "primary": "Label--primary",
         | 
| @@ -579,20 +590,22 @@ | |
| 579 590 | 
             
                  "done",
         | 
| 580 591 | 
             
                  "sponsors"
         | 
| 581 592 | 
             
                ],
         | 
| 593 | 
            +
                "SIZE_MAPPINGS": {
         | 
| 594 | 
            +
                  "medium": null,
         | 
| 595 | 
            +
                  "large": "Label--large"
         | 
| 596 | 
            +
                },
         | 
| 597 | 
            +
                "SIZE_OPTIONS": [
         | 
| 598 | 
            +
                  "medium",
         | 
| 599 | 
            +
                  "large"
         | 
| 600 | 
            +
                ],
         | 
| 582 601 | 
             
                "TAG_OPTIONS": [
         | 
| 583 602 | 
             
                  "span",
         | 
| 584 603 | 
             
                  "summary",
         | 
| 585 604 | 
             
                  "a",
         | 
| 586 605 | 
             
                  "div"
         | 
| 587 606 | 
             
                ],
         | 
| 588 | 
            -
                "VARIANT_MAPPINGS": {
         | 
| 589 | 
            -
                  "large": "Label--large",
         | 
| 590 | 
            -
                  "inline": "Label--inline"
         | 
| 591 | 
            -
                },
         | 
| 592 607 | 
             
                "VARIANT_OPTIONS": [
         | 
| 593 | 
            -
                  " | 
| 594 | 
            -
                  "inline",
         | 
| 595 | 
            -
                  null
         | 
| 608 | 
            +
                  "none"
         | 
| 596 609 | 
             
                ]
         | 
| 597 610 | 
             
              },
         | 
| 598 611 | 
             
              "Primer::LayoutComponent": {
         | 
    
        data/static/statuses.json
    CHANGED
    
    | @@ -22,15 +22,17 @@ | |
| 22 22 | 
             
              "Primer::Beta::BorderBox::Header": "alpha",
         | 
| 23 23 | 
             
              "Primer::Beta::Breadcrumbs": "beta",
         | 
| 24 24 | 
             
              "Primer::Beta::Breadcrumbs::Item": "alpha",
         | 
| 25 | 
            +
              "Primer::Beta::ButtonGroup": "beta",
         | 
| 25 26 | 
             
              "Primer::Beta::Flash": "beta",
         | 
| 26 27 | 
             
              "Primer::Beta::Text": "beta",
         | 
| 27 28 | 
             
              "Primer::Beta::Truncate": "beta",
         | 
| 28 29 | 
             
              "Primer::Beta::Truncate::TruncateText": "alpha",
         | 
| 29 30 | 
             
              "Primer::BlankslateComponent": "deprecated",
         | 
| 30 31 | 
             
              "Primer::BorderBoxComponent": "deprecated",
         | 
| 31 | 
            -
              "Primer:: | 
| 32 | 
            +
              "Primer::Box": "stable",
         | 
| 33 | 
            +
              "Primer::BoxComponent": "deprecated",
         | 
| 32 34 | 
             
              "Primer::ButtonComponent": "beta",
         | 
| 33 | 
            -
              "Primer::ButtonGroup": " | 
| 35 | 
            +
              "Primer::ButtonGroup": "deprecated",
         | 
| 34 36 | 
             
              "Primer::ClipboardCopy": "beta",
         | 
| 35 37 | 
             
              "Primer::CloseButton": "beta",
         | 
| 36 38 | 
             
              "Primer::ConditionalWrapper": "alpha",
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: primer_view_components
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.88
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - GitHub Open Source
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2022-08- | 
| 11 | 
            +
            date: 2022-08-08 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: actionview
         | 
| @@ -412,6 +412,8 @@ files: | |
| 412 412 | 
             
            - app/components/primer/alpha/button_marketing.rb
         | 
| 413 413 | 
             
            - app/components/primer/alpha/layout.html.erb
         | 
| 414 414 | 
             
            - app/components/primer/alpha/layout.rb
         | 
| 415 | 
            +
            - app/components/primer/alpha/segmented-control-element.d.ts
         | 
| 416 | 
            +
            - app/components/primer/alpha/segmented-control-element.js
         | 
| 415 417 | 
             
            - app/components/primer/alpha/tab_nav.html.erb
         | 
| 416 418 | 
             
            - app/components/primer/alpha/tab_nav.rb
         | 
| 417 419 | 
             
            - app/components/primer/alpha/tab_panels.html.erb
         | 
| @@ -445,6 +447,8 @@ files: | |
| 445 447 | 
             
            - app/components/primer/beta/border_box/header.rb
         | 
| 446 448 | 
             
            - app/components/primer/beta/breadcrumbs.html.erb
         | 
| 447 449 | 
             
            - app/components/primer/beta/breadcrumbs.rb
         | 
| 450 | 
            +
            - app/components/primer/beta/button_group.html.erb
         | 
| 451 | 
            +
            - app/components/primer/beta/button_group.rb
         | 
| 448 452 | 
             
            - app/components/primer/beta/flash.html.erb
         | 
| 449 453 | 
             
            - app/components/primer/beta/flash.rb
         | 
| 450 454 | 
             
            - app/components/primer/beta/text.rb
         | 
| @@ -453,10 +457,10 @@ files: | |
| 453 457 | 
             
            - app/components/primer/blankslate_component.html.erb
         | 
| 454 458 | 
             
            - app/components/primer/blankslate_component.rb
         | 
| 455 459 | 
             
            - app/components/primer/border_box_component.rb
         | 
| 460 | 
            +
            - app/components/primer/box.rb
         | 
| 456 461 | 
             
            - app/components/primer/box_component.rb
         | 
| 457 462 | 
             
            - app/components/primer/button_component.html.erb
         | 
| 458 463 | 
             
            - app/components/primer/button_component.rb
         | 
| 459 | 
            -
            - app/components/primer/button_group.html.erb
         | 
| 460 464 | 
             
            - app/components/primer/button_group.rb
         | 
| 461 465 | 
             
            - app/components/primer/clipboard_copy.html.erb
         | 
| 462 466 | 
             
            - app/components/primer/clipboard_copy.rb
         | 
| @@ -649,6 +653,7 @@ files: | |
| 649 653 | 
             
            - lib/rubocop/cop/primer/deprecated_button_arguments.rb
         | 
| 650 654 | 
             
            - lib/rubocop/cop/primer/deprecated_components.rb
         | 
| 651 655 | 
             
            - lib/rubocop/cop/primer/deprecated_label_schemes.rb
         | 
| 656 | 
            +
            - lib/rubocop/cop/primer/deprecated_label_variants.rb
         | 
| 652 657 | 
             
            - lib/rubocop/cop/primer/deprecated_layout_component.rb
         | 
| 653 658 | 
             
            - lib/rubocop/cop/primer/no_tag_memoize.rb
         | 
| 654 659 | 
             
            - lib/rubocop/cop/primer/primer_octicon.rb
         |