From a37d8a05b312d6d972e4eacc039ae5bc95a37094 Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Thu, 12 Oct 2023 20:02:32 +0000 Subject: [PATCH 1/7] adds inactive button state --- app/components/primer/beta/base_button.rb | 4 ++++ app/components/primer/beta/button.pcss | 8 ++++++-- app/components/primer/beta/button.rb | 3 +++ previews/primer/beta/button_preview.rb | 7 +++++-- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/app/components/primer/beta/base_button.rb b/app/components/primer/beta/base_button.rb index 834a8ef52a..f1a9cf705b 100644 --- a/app/components/primer/beta/base_button.rb +++ b/app/components/primer/beta/base_button.rb @@ -19,12 +19,14 @@ class BaseButton < Primer::Component # @param type [Symbol] <%= one_of(Primer::Beta::BaseButton::TYPE_OPTIONS) %> # @param block [Boolean] Whether button is full-width with `display: block`. # @param disabled [Boolean] Whether or not the button is disabled. If true, this option forces `tag:` to `:button`. + # @param inactive [Boolean] Whether the button looks visually disabled, but can still accept all the same interactions as an enabled button. # @param system_arguments [Hash] <%= link_to_system_arguments_docs %> def initialize( tag: DEFAULT_TAG, type: DEFAULT_TYPE, block: false, disabled: false, + inactive: false, **system_arguments ) @system_arguments = system_arguments @@ -37,6 +39,8 @@ def initialize( "btn-block" => block ) + @system_arguments[:"aria-disabled"] = true if inactive + @disabled = disabled return unless @disabled diff --git a/app/components/primer/beta/button.pcss b/app/components/primer/beta/button.pcss index 13b42df5a4..2cb0f7dbe6 100644 --- a/app/components/primer/beta/button.pcss +++ b/app/components/primer/beta/button.pcss @@ -47,11 +47,15 @@ transition: none; } - &:disabled, - &[aria-disabled='true'] { + &:disabled { cursor: not-allowed; box-shadow: none; } + + &[aria-disabled='true'] { + cursor: default; + box-shadow: none; + } } .Button-withTooltip { diff --git a/app/components/primer/beta/button.rb b/app/components/primer/beta/button.rb index 95c980309c..80182964af 100644 --- a/app/components/primer/beta/button.rb +++ b/app/components/primer/beta/button.rb @@ -100,6 +100,7 @@ class Button < Primer::Component # @param tag [Symbol] (Primer::Beta::BaseButton::DEFAULT_TAG) <%= one_of(Primer::Beta::BaseButton::TAG_OPTIONS) %> # @param type [Symbol] (Primer::Beta::BaseButton::DEFAULT_TYPE) <%= one_of(Primer::Beta::BaseButton::TYPE_OPTIONS) %> # @param disabled [Boolean] Whether or not the button is disabled. If true, this option forces `tag:` to `:button`. + # @param inactive [Boolean] Whether the button looks visually disabled, but can still accept all the same interactions as an enabled button. # @param system_arguments [Hash] <%= link_to_system_arguments_docs %> def initialize( scheme: DEFAULT_SCHEME, @@ -107,6 +108,7 @@ def initialize( block: false, align_content: DEFAULT_ALIGN_CONTENT, disabled: false, + inactive: false, **system_arguments ) @scheme = scheme @@ -114,6 +116,7 @@ def initialize( @system_arguments = system_arguments @system_arguments[:disabled] = disabled + @system_arguments[:inactive] = inactive @id = @system_arguments[:id] diff --git a/previews/primer/beta/button_preview.rb b/previews/primer/beta/button_preview.rb index 9b51ed34c2..0bf080201b 100644 --- a/previews/primer/beta/button_preview.rb +++ b/previews/primer/beta/button_preview.rb @@ -18,6 +18,7 @@ class ButtonPreview < ViewComponent::Preview # @param size select [small, medium, large] # @param block toggle # @param disabled toggle + # @param inactive toggle # @param align_content select [center, start] # @param tag select [a, summary, button] def playground( @@ -27,7 +28,8 @@ def playground( id: "button-preview", align_content: :center, tag: :button, - disabled: false + disabled: false, + inactive: false ) render(Primer::Beta::Button.new( scheme: scheme, @@ -36,7 +38,8 @@ def playground( id: id, align_content: align_content, tag: tag, - disabled: disabled + disabled: disabled, + inactive: inactive )) do |_c| "Button" end From 3ffaa4801d6fa694ac16a119716a27c88c491ec9 Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Thu, 12 Oct 2023 20:06:34 +0000 Subject: [PATCH 2/7] adds inactive param to IconButton --- app/components/primer/beta/icon_button.rb | 2 ++ previews/primer/beta/icon_button_preview.rb | 3 +++ 2 files changed, 5 insertions(+) diff --git a/app/components/primer/beta/icon_button.rb b/app/components/primer/beta/icon_button.rb index c2217c5fa9..d333a213e7 100644 --- a/app/components/primer/beta/icon_button.rb +++ b/app/components/primer/beta/icon_button.rb @@ -31,6 +31,7 @@ class IconButton < Primer::Component # @param scheme [Symbol] <%= one_of(Primer::Beta::IconButton::SCHEME_OPTIONS) %> # @param size [Symbol] <%= one_of(Primer::Beta::Button::SIZE_OPTIONS) %> # @param disabled [Boolean] Whether or not the button is disabled. If true, this option forces `tag:` to `:button`. + # @param inactive [Boolean] Whether the button looks visually disabled, but can still accept all the same interactions as an enabled button. # @param type [Symbol] <%= one_of(Primer::Beta::BaseButton::TYPE_OPTIONS) %> # @param aria-label [String] String that can be read by assistive technology. A label should be short and concise. See the accessibility section for more information. # @param aria-description [String] String that can be read by assistive technology. A description can be longer as it is intended to provide more context and information. See the accessibility section for more information. @@ -45,6 +46,7 @@ def initialize(icon:, scheme: DEFAULT_SCHEME, wrapper_arguments: {}, show_toolti @system_arguments = system_arguments @system_arguments[:id] ||= self.class.generate_id @system_arguments[:disabled] = disabled + @system_arguments[:inactive] = inactive @system_arguments[:classes] = class_names( "Button", diff --git a/previews/primer/beta/icon_button_preview.rb b/previews/primer/beta/icon_button_preview.rb index 90a975b45d..22caba8dd5 100644 --- a/previews/primer/beta/icon_button_preview.rb +++ b/previews/primer/beta/icon_button_preview.rb @@ -9,6 +9,7 @@ class IconButtonPreview < ViewComponent::Preview # @param size select [small, medium, large] # @param aria_label text # @param disabled toggle + # @param inactive toggle # @param tag select [a, summary, button] # @param icon [Symbol] octicon # @param show_tooltip toggle @@ -18,6 +19,7 @@ def playground( id: "button-preview", tag: :button, disabled: false, + inactive: false, icon: :plus, aria_label: "Button", show_tooltip: true @@ -28,6 +30,7 @@ def playground( id: id, tag: tag, disabled: disabled, + inactive: inactive, icon: icon, "aria-label": aria_label, show_tooltip: show_tooltip From b5c5467d725cefddfa20afd3ab50a9295798288d Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Thu, 12 Oct 2023 16:18:09 -0400 Subject: [PATCH 3/7] Create mean-bottles-unite.md --- .changeset/mean-bottles-unite.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/mean-bottles-unite.md diff --git a/.changeset/mean-bottles-unite.md b/.changeset/mean-bottles-unite.md new file mode 100644 index 0000000000..2a9d10cd32 --- /dev/null +++ b/.changeset/mean-bottles-unite.md @@ -0,0 +1,5 @@ +--- +"@primer/view-components": minor +--- + +Adds an 'inactive' state to buttons. An inactive button looks disabled and has aria-disabled, but it can still be clicked and focused. This was added to support buttons that are broken due to availability issues, but can't be removed from the page. From e7c3346d4bbdab73794ed1d0cb16c1d2db6f8e1a Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Fri, 13 Oct 2023 14:57:10 +0000 Subject: [PATCH 4/7] fixes changeset --- .changeset/mean-bottles-unite.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.changeset/mean-bottles-unite.md b/.changeset/mean-bottles-unite.md index 2a9d10cd32..9a2c829b26 100644 --- a/.changeset/mean-bottles-unite.md +++ b/.changeset/mean-bottles-unite.md @@ -3,3 +3,5 @@ --- Adds an 'inactive' state to buttons. An inactive button looks disabled and has aria-disabled, but it can still be clicked and focused. This was added to support buttons that are broken due to availability issues, but can't be removed from the page. + + \ No newline at end of file From 5a0b4a1c8737f81f7f6d666b0d91e4cd6d0330ce Mon Sep 17 00:00:00 2001 From: Jon Rohan Date: Fri, 13 Oct 2023 18:04:10 +0000 Subject: [PATCH 5/7] Cleanup arguments and add inactive preview --- app/components/primer/beta/button.rb | 3 --- app/components/primer/beta/icon_button.rb | 2 -- previews/primer/beta/button_preview.rb | 15 +++++++++++++++ 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app/components/primer/beta/button.rb b/app/components/primer/beta/button.rb index 80182964af..95c980309c 100644 --- a/app/components/primer/beta/button.rb +++ b/app/components/primer/beta/button.rb @@ -100,7 +100,6 @@ class Button < Primer::Component # @param tag [Symbol] (Primer::Beta::BaseButton::DEFAULT_TAG) <%= one_of(Primer::Beta::BaseButton::TAG_OPTIONS) %> # @param type [Symbol] (Primer::Beta::BaseButton::DEFAULT_TYPE) <%= one_of(Primer::Beta::BaseButton::TYPE_OPTIONS) %> # @param disabled [Boolean] Whether or not the button is disabled. If true, this option forces `tag:` to `:button`. - # @param inactive [Boolean] Whether the button looks visually disabled, but can still accept all the same interactions as an enabled button. # @param system_arguments [Hash] <%= link_to_system_arguments_docs %> def initialize( scheme: DEFAULT_SCHEME, @@ -108,7 +107,6 @@ def initialize( block: false, align_content: DEFAULT_ALIGN_CONTENT, disabled: false, - inactive: false, **system_arguments ) @scheme = scheme @@ -116,7 +114,6 @@ def initialize( @system_arguments = system_arguments @system_arguments[:disabled] = disabled - @system_arguments[:inactive] = inactive @id = @system_arguments[:id] diff --git a/app/components/primer/beta/icon_button.rb b/app/components/primer/beta/icon_button.rb index d333a213e7..c2217c5fa9 100644 --- a/app/components/primer/beta/icon_button.rb +++ b/app/components/primer/beta/icon_button.rb @@ -31,7 +31,6 @@ class IconButton < Primer::Component # @param scheme [Symbol] <%= one_of(Primer::Beta::IconButton::SCHEME_OPTIONS) %> # @param size [Symbol] <%= one_of(Primer::Beta::Button::SIZE_OPTIONS) %> # @param disabled [Boolean] Whether or not the button is disabled. If true, this option forces `tag:` to `:button`. - # @param inactive [Boolean] Whether the button looks visually disabled, but can still accept all the same interactions as an enabled button. # @param type [Symbol] <%= one_of(Primer::Beta::BaseButton::TYPE_OPTIONS) %> # @param aria-label [String] String that can be read by assistive technology. A label should be short and concise. See the accessibility section for more information. # @param aria-description [String] String that can be read by assistive technology. A description can be longer as it is intended to provide more context and information. See the accessibility section for more information. @@ -46,7 +45,6 @@ def initialize(icon:, scheme: DEFAULT_SCHEME, wrapper_arguments: {}, show_toolti @system_arguments = system_arguments @system_arguments[:id] ||= self.class.generate_id @system_arguments[:disabled] = disabled - @system_arguments[:inactive] = inactive @system_arguments[:classes] = class_names( "Button", diff --git a/previews/primer/beta/button_preview.rb b/previews/primer/beta/button_preview.rb index 0bf080201b..64d5711f12 100644 --- a/previews/primer/beta/button_preview.rb +++ b/previews/primer/beta/button_preview.rb @@ -344,6 +344,21 @@ def with_tooltip( align_content: align_content }) end + + # @label Inactive + # @param inactive toggle + # @snapshot + def inactive( + id: "button-preview", + inactive: true + ) + render(Primer::Beta::Button.new( + id: id, + inactive: inactive + )) do |_c| + "Button" + end + end end end end From b2c6a31c39a6444813b572d9a9f8ed311765b67d Mon Sep 17 00:00:00 2001 From: Jon Rohan Date: Fri, 13 Oct 2023 11:04:52 -0700 Subject: [PATCH 6/7] Update mean-bottles-unite.md --- .changeset/mean-bottles-unite.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/mean-bottles-unite.md b/.changeset/mean-bottles-unite.md index 9a2c829b26..163d03394d 100644 --- a/.changeset/mean-bottles-unite.md +++ b/.changeset/mean-bottles-unite.md @@ -4,4 +4,4 @@ Adds an 'inactive' state to buttons. An inactive button looks disabled and has aria-disabled, but it can still be clicked and focused. This was added to support buttons that are broken due to availability issues, but can't be removed from the page. - \ No newline at end of file + From 4ab3eba85665b88bb8eb354632000998556c4da9 Mon Sep 17 00:00:00 2001 From: jonrohan Date: Fri, 13 Oct 2023 18:08:31 +0000 Subject: [PATCH 7/7] Generating component snapshots --- .../primer/beta/button/inactive/default.png | Bin 0 -> 23397 bytes .../primer/beta/button/inactive/focused.png | Bin 0 -> 23470 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/beta/button/inactive/default.png create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/beta/button/inactive/focused.png diff --git a/.playwright/screenshots/snapshots.test.ts-snapshots/primer/beta/button/inactive/default.png b/.playwright/screenshots/snapshots.test.ts-snapshots/primer/beta/button/inactive/default.png new file mode 100644 index 0000000000000000000000000000000000000000..8ec5abab5d9d8a7fd222a28ff15d500456e7228f GIT binary patch literal 23397 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 literal 0 HcmV?d00001 diff --git a/.playwright/screenshots/snapshots.test.ts-snapshots/primer/beta/button/inactive/focused.png b/.playwright/screenshots/snapshots.test.ts-snapshots/primer/beta/button/inactive/focused.png new file mode 100644 index 0000000000000000000000000000000000000000..b88af23e36cd50ff9b3676c22ac7812828edb833 GIT binary patch literal 23470 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 RG;M{}-PPNLe=hXezX34$r-c9j literal 0 HcmV?d00001