From 08f337941f49592e2b3e128fa656e8678e4d6597 Mon Sep 17 00:00:00 2001 From: Henriette Darge Date: Tue, 30 Sep 2025 13:27:52 +0200 Subject: [PATCH] Allow single selection variant for the tree view --- .changeset/full-states-beg.md | 5 + .idea/inspectionProfiles/Project_Default.xml | 7 + .idea/misc.xml | 4 + .idea/primer_view_components.iml | 15 + .idea/vcs.xml | 6 + .idea/workspace.xml | 277 ++++++++++++++++++ .../aria-snapshot--after-interaction.yml | 3 + .../tree_view/multi_select/aria-snapshot.yml | 3 + .../alpha/tree_view/multi_select/dark.png | Bin 0 -> 7500 bytes .../multi_select/dark_colorblind.png | Bin 0 -> 7500 bytes .../tree_view/multi_select/dark_dimmed.png | Bin 0 -> 7553 bytes .../multi_select/dark_high_contrast.png | Bin 0 -> 7591 bytes .../alpha/tree_view/multi_select/default.png | Bin 0 -> 30380 bytes .../alpha/tree_view/multi_select/focused.png | Bin 0 -> 30838 bytes .../alpha/tree_view/multi_select/light.png | Bin 0 -> 7488 bytes .../multi_select/light_colorblind.png | Bin 0 -> 7488 bytes .../multi_select/light_high_contrast.png | Bin 0 -> 7507 bytes .../aria-snapshot--after-interaction.yml | 3 + .../tree_view/single_select/aria-snapshot.yml | 3 + .../alpha/tree_view/single_select/dark.png | Bin 0 -> 7012 bytes .../single_select/dark_colorblind.png | Bin 0 -> 7012 bytes .../tree_view/single_select/dark_dimmed.png | Bin 0 -> 7098 bytes .../single_select/dark_high_contrast.png | Bin 0 -> 7125 bytes .../alpha/tree_view/single_select/default.png | Bin 0 -> 27437 bytes .../alpha/tree_view/single_select/focused.png | Bin 0 -> 27891 bytes .../alpha/tree_view/single_select/light.png | Bin 0 -> 7051 bytes .../single_select/light_colorblind.png | Bin 0 -> 7051 bytes .../single_select/light_high_contrast.png | Bin 0 -> 7055 bytes app/components/primer/alpha/tree_view.pcss | 7 + app/components/primer/alpha/tree_view.rb | 16 +- .../primer/alpha/tree_view/node.html.erb | 6 +- app/components/primer/alpha/tree_view/node.rb | 8 +- .../primer/alpha/tree_view/sub_tree_node.rb | 2 +- .../primer/alpha/tree_view/tree_view.ts | 70 ++++- .../tree_view_sub_tree_node_element.ts | 12 + previews/primer/alpha/tree_view_preview.rb | 42 ++- .../alpha/tree_view_preview/default.html.erb | 2 +- .../tree_view_preview/form_input.html.erb | 8 +- .../tree_view_preview/multi_select.html.erb | 10 + .../tree_view_preview/single_select.html.erb | 10 + .../components/primer/alpha/tree_view_test.rb | 13 + test/system/alpha/tree_view_test.rb | 59 +++- 42 files changed, 574 insertions(+), 17 deletions(-) create mode 100644 .changeset/full-states-beg.md create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/primer_view_components.iml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/aria-snapshot--after-interaction.yml create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/aria-snapshot.yml create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/dark.png create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/dark_colorblind.png create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/dark_dimmed.png create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/dark_high_contrast.png create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/default.png create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/focused.png create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/light.png create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/light_colorblind.png create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/light_high_contrast.png create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/aria-snapshot--after-interaction.yml create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/aria-snapshot.yml create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/dark.png create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/dark_colorblind.png create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/dark_dimmed.png create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/dark_high_contrast.png create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/default.png create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/focused.png create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/light.png create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/light_colorblind.png create mode 100644 .playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/light_high_contrast.png create mode 100644 previews/primer/alpha/tree_view_preview/multi_select.html.erb create mode 100644 previews/primer/alpha/tree_view_preview/single_select.html.erb diff --git a/.changeset/full-states-beg.md b/.changeset/full-states-beg.md new file mode 100644 index 0000000000..0347022f54 --- /dev/null +++ b/.changeset/full-states-beg.md @@ -0,0 +1,5 @@ +--- +'@primer/view-components': minor +--- + +Support single selection variant for TreeView diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000000..7c4836fbe3 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000000..3916080457 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/primer_view_components.iml b/.idea/primer_view_components.iml new file mode 100644 index 0000000000..f8017aa776 --- /dev/null +++ b/.idea/primer_view_components.iml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000000..35eb1ddfbb --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000000..4000edcbbb --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,277 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { + "associatedIndex": 6 +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1748258548189 + + + + + + + + + + \ No newline at end of file diff --git a/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/aria-snapshot--after-interaction.yml b/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/aria-snapshot--after-interaction.yml new file mode 100644 index 0000000000..665d7e6a46 --- /dev/null +++ b/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/aria-snapshot--after-interaction.yml @@ -0,0 +1,3 @@ +- tree: + - treeitem "src" [checked] [level=1] [selected] + - treeitem "action_menu.rb" [level=1] \ No newline at end of file diff --git a/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/aria-snapshot.yml b/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/aria-snapshot.yml new file mode 100644 index 0000000000..4a15b2ed7d --- /dev/null +++ b/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/aria-snapshot.yml @@ -0,0 +1,3 @@ +- tree: + - treeitem "src" [level=1] + - treeitem "action_menu.rb" [level=1] \ No newline at end of file diff --git a/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/dark.png b/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/dark.png new file mode 100644 index 0000000000000000000000000000000000000000..5e16e90c4daa5169e167b999088e5659b5c2b3ab GIT binary patch literal 7500 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 literal 0 HcmV?d00001 diff --git a/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/dark_high_contrast.png b/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/dark_high_contrast.png new file mode 100644 index 0000000000000000000000000000000000000000..1f60736f8749e74043e77f9fdbeeabea7613d9bb GIT binary patch literal 7591 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�@uuN+$gDAhg z&E7EqAj_xIE-jk5aJXQ{vA<@v#rdO6x%5dh&$(p|9;Zk3uph(o#gP3$Dh?q)Qj&V= z?V5k)IVY{A-iEPRnAr5(S_M^T59J;-zFSF%=CP`6Up5#x%*mu`JjI>M+oxdn^XbTA zitV?t9?y7*>ykEfe{`M_1o3zN)i7X!Qb^f((oe^y~`iv^14w8iqS@BzbZ za6h;;AZ)tU-xTRHdI&T0Ry6A-52r?{GJYk5;x z4Y{IV7=aj<$@$l+uiWGG_5zE_>O@YYfHpbdcvSKozc#IXhob`eh|!XRrT7tnRY+~u zm=r4(610XC(AEkC&(k6rTkh;PpY}46V543u3!m<+Fwt-N5Zn8MeL-IO(S#&)Pl@f^ z?@`T;mPr1QO7KwCqEzESLk4ob@7N|{(5;P?z!#P0> zb(ymO4o5m;QULWH%Ks6~r`eY)U;LaGTjGroh-B}2-972sIDFG~Y;&EODs9X=%fsZX z<);rM1Js43hO1_}0bRp{LRJoLj(snxD#7&GSe+OuzYI|F#PoY12RE8xQUqQ6=s=6> z=dTB^j$3nZP%GB@99ofQIYe_A1Wkd-`?yqoN7J5({!qB!mk}>r)H%2xs2~ji#!3F>~LE}JsBSD?} z{*T-8ataT6_K^9nqRrl^8PoXvb38pr%}AObEu*YNWGV~u_P~}nT2OhVq_Xu>0shrz zbZsb=%KXY>?rNGpnOTGP_2-!j{MV}}z2cu!a-J7<1xZnr_wkJ(Y~5|>SZWa*E(Sw;776*jHWh__w=sh?%F4!B(yBUudyOqhcL$Gv_VS)=k$tj^S@7%0Dkf`l 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 j8u6Kn0rc3GRzC^ZvR&*+15|*WP;#-}_B# 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 U4=IO&KhD6Z6Mn~Qe!6($KN3k2^Z)<= literal 0 HcmV?d00001 diff --git a/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/light_colorblind.png b/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/light_colorblind.png new file mode 100644 index 0000000000000000000000000000000000000000..dd5c10e341f6ba8aef22f457abd9aaf52ee915dc GIT binary patch literal 7488 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 U4=IO&KhD6Z6Mn~Qe!6($KN3k2^Z)<= literal 0 HcmV?d00001 diff --git a/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/light_high_contrast.png b/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/multi_select/light_high_contrast.png new file mode 100644 index 0000000000000000000000000000000000000000..fa672aa1f13544060e0c6e6e68508f0ee2ff6904 GIT binary patch literal 7507 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 literal 0 HcmV?d00001 diff --git a/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/dark_colorblind.png b/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/dark_colorblind.png new file mode 100644 index 0000000000000000000000000000000000000000..d0433c15889287a58e64ee2bb2f060422af98133 GIT binary patch literal 7012 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 literal 0 HcmV?d00001 diff --git a/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/dark_dimmed.png b/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/dark_dimmed.png new file mode 100644 index 0000000000000000000000000000000000000000..75729dd4de834ff160426ae0c6a8fb4371a64b28 GIT binary patch literal 7098 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 literal 0 HcmV?d00001 diff --git a/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/dark_high_contrast.png b/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/dark_high_contrast.png new file mode 100644 index 0000000000000000000000000000000000000000..9521a0e6451fa0a63614c5ec2a7d11c1f5c24b47 GIT binary patch literal 7125 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 VFkfQ(eFlIdhmL*C`YQIyzX043d}sgw literal 0 HcmV?d00001 diff --git a/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/default.png b/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/default.png new file mode 100644 index 0000000000000000000000000000000000000000..6036d10df6db2c82769f5847130203f6d3696419 GIT binary patch literal 27437 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 UoI2QWko$V5stqi=XZif!0C4m#AOHXW literal 0 HcmV?d00001 diff --git a/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/focused.png b/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/focused.png new file mode 100644 index 0000000000000000000000000000000000000000..5ec645eafee38a652ce51e4e11b9abbf9c64e425 GIT binary patch literal 27891 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 literal 0 HcmV?d00001 diff --git a/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/light_colorblind.png b/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/light_colorblind.png new file mode 100644 index 0000000000000000000000000000000000000000..1548a0e42f1762af82a9bbc3aef412aa90165e8d GIT binary patch literal 7051 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 literal 0 HcmV?d00001 diff --git a/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/light_high_contrast.png b/.playwright/screenshots/snapshots.test.ts-snapshots/primer/alpha/tree_view/single_select/light_high_contrast.png new file mode 100644 index 0000000000000000000000000000000000000000..0fd64ceef660349448c7e7954b5aed5b96e2f0e8 GIT binary patch literal 7055 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 literal 0 HcmV?d00001 diff --git a/app/components/primer/alpha/tree_view.pcss b/app/components/primer/alpha/tree_view.pcss index 01685aaab3..a410fc4932 100644 --- a/app/components/primer/alpha/tree_view.pcss +++ b/app/components/primer/alpha/tree_view.pcss @@ -197,6 +197,13 @@ } } + &[aria-checked='false'] { + /* singleselect checkmark */ + & .TreeViewItem-singleSelectCheckmark { + visibility: hidden; + } + } + &[aria-checked='mixed'] { & .FormControl-checkbox { background: var(--control-checked-bgColor-rest); diff --git a/app/components/primer/alpha/tree_view.rb b/app/components/primer/alpha/tree_view.rb index 903c5aa398..e93655b12d 100644 --- a/app/components/primer/alpha/tree_view.rb +++ b/app/components/primer/alpha/tree_view.rb @@ -240,6 +240,14 @@ module Alpha # # Nodes can be checked via the keyboard by pressing the space key. # + # ## Single-select mode + # + # By passing `select_variant: :single` to both sub-tree and leaf nodes: + # - Nodes become selectable and can be toggled via keyboard (space key). + # - A selected node displays a checkmark at the end of the line. + # Note: This checkmark conflicts with the `trailing_visual_icon` slot, + # so both cannot be used simultaneously. + # # ## Node tags # # `TreeView`s support three different node variants, `:anchor`, `:button`, and `:div` (the default), which controls @@ -259,13 +267,19 @@ module Alpha # |:---------------|:-------------|:------------|:--------------------------| # |Enter/space |none |div |Expands/collapses | # |Enter/space |none |anchor/button|Activates anchor/button | + # |Enter/space |single |div |Selects | + # |Enter/space |single |anchor/button|N/A (not allowed) | # |Enter/space |multiple |div |Checks or unchecks | # |Enter/space |multiple |anchor/button|N/A (not allowed) | # |Left/right arrow|none |div |Expands/collapses | # |Left/right arrow|none |anchor/button|Expands/collapses | + # |Left/right arrow|single |div |Expands/collapses | + # |Left/right arrow|single |anchor/button|N/A (not allowed) | # |Left/right arrow|multiple |div |Expands/collapses | # |Left/right arrow|multiple |anchor/button|N/A (not allowed) | # |Click |none |div |Expands/collapses | + # |Click |single |div |Selects | + # |Click |single |anchor/button|N/A (not allowed) | # |Click |multiple |div |Checks or unchecks | # |Click |multiple |anchor/button|N/A (not allowed) | # @@ -351,7 +365,7 @@ module Alpha # ) # ``` # - # Because checking or unchecking a sub-tree results in the checking or unchecking of all its children recursively, + # Because checking or unchecking a sub-tree may result in the checking or unchecking of all its children recursively, # both the `treeViewNodeChecked` and `treeViewBeforeNodeChecked` events provide an array of `TreeViewNodeInfo` # objects, which contain entries for every modified node in the tree. class TreeView < Primer::Component diff --git a/app/components/primer/alpha/tree_view/node.html.erb b/app/components/primer/alpha/tree_view/node.html.erb index 2c4627172e..0ccd51ce7d 100644 --- a/app/components/primer/alpha/tree_view/node.html.erb +++ b/app/components/primer/alpha/tree_view/node.html.erb @@ -23,7 +23,11 @@ <%= leading_visual %> <% end %> <%= text_content %> - <% if trailing_visual? %> + <% if @select_variant == :single %> + + <% elsif trailing_visual? %> <%= trailing_visual %> <% end %> <% end %> diff --git a/app/components/primer/alpha/tree_view/node.rb b/app/components/primer/alpha/tree_view/node.rb index a155c65b85..2df5e1c899 100644 --- a/app/components/primer/alpha/tree_view/node.rb +++ b/app/components/primer/alpha/tree_view/node.rb @@ -56,6 +56,7 @@ class Node < Primer::Component DEFAULT_SELECT_VARIANT = :none SELECT_VARIANT_OPTIONS = [ + :single, :multiple, DEFAULT_SELECT_VARIANT ].freeze @@ -128,7 +129,8 @@ def initialize( @content_arguments, { data: { value: value, - path: @path.to_json + path: @path.to_json, + select_variant: @select_variant } } ) @@ -169,6 +171,10 @@ def merge_system_arguments!(**other_arguments) private def before_render + if trailing_visual? && select_variant == :single + raise ArgumentError, "Trailing visuals can't be used in combination with single select mode as the icon is reserved." + end + if leading_action? @content_arguments[:data] = merge_data( @content_arguments, diff --git a/app/components/primer/alpha/tree_view/sub_tree_node.rb b/app/components/primer/alpha/tree_view/sub_tree_node.rb index b42c54eaa1..3dd622a7da 100644 --- a/app/components/primer/alpha/tree_view/sub_tree_node.rb +++ b/app/components/primer/alpha/tree_view/sub_tree_node.rb @@ -155,7 +155,7 @@ def initialize( node_variant: node_variant ) - return if @node.select_variant == :none + return unless @node.select_variant == :multiple @node.merge_system_arguments!( data: { diff --git a/app/components/primer/alpha/tree_view/tree_view.ts b/app/components/primer/alpha/tree_view/tree_view.ts index a316e0d8d4..88977adf5a 100644 --- a/app/components/primer/alpha/tree_view/tree_view.ts +++ b/app/components/primer/alpha/tree_view/tree_view.ts @@ -1,7 +1,7 @@ import {controller, target} from '@github/catalyst' -import {TreeViewSubTreeNodeElement} from './tree_view_sub_tree_node_element' +import {SelectVariant, TreeViewSubTreeNodeElement} from './tree_view_sub_tree_node_element' import {useRovingTabIndex} from './tree_view_roving_tab_index' -import type {TreeViewNodeType, TreeViewCheckedValue, TreeViewNodeInfo} from '../../shared_events' +import type {TreeViewCheckedValue, TreeViewNodeInfo, TreeViewNodeType} from '../../shared_events' @controller export class TreeViewElement extends HTMLElement { @@ -114,6 +114,8 @@ export class TreeViewElement extends HTMLElement { #handleNodeEvent(node: Element, event: Event) { if (this.#eventIsCheckboxToggle(event, node)) { this.#handleCheckboxToggle(event, node) + } else if (this.#eventIsSingleSelection(event, node)) { + this.handleSingleSelection(event, node) } else if (this.#eventIsActivation(event)) { this.#handleNodeActivated(event, node) } else if (event.type === 'focusin') { @@ -145,6 +147,48 @@ export class TreeViewElement extends HTMLElement { } } + #eventIsSingleSelection(event: Event, node: Element) { + return event.type === 'click' && this.selectVariant(node) === 'single' + } + + handleSingleSelection(event: Event, node: Element) { + if (this.getNodeDisabledValue(node)) { + event.preventDefault() + return + } + + // do not emit activation events for buttons and anchors, since it is assumed any activation + // behavior for these element types is user- or browser-defined + if (!(node instanceof HTMLDivElement)) return + + const path = this.getNodePath(node) + const nodeInfo = this.infoFromNode(node, 'true') + + const checkSuccess = this.dispatchEvent( + new CustomEvent('treeViewBeforeNodeChecked', { + bubbles: true, + cancelable: true, + detail: [nodeInfo], + }), + ) + + if (!checkSuccess) return + + const currentlyChecked = !this.getNodeCheckedValue(node) + + // disallow unchecking checked item in single-select mode + if (!currentlyChecked) { + this.checkOnlyAtPath(path) + } + + this.dispatchEvent( + new CustomEvent('treeViewNodeChecked', { + bubbles: true, + detail: [nodeInfo], + }), + ) + } + #handleNodeActivated(event: Event, node: Element) { if (this.getNodeDisabledValue(node)) { event.preventDefault() @@ -199,7 +243,7 @@ export class TreeViewElement extends HTMLElement { break } - if (this.nodeHasCheckBox(node)) { + if (this.selectVariant(node) === 'multiple') { event.preventDefault() if (this.getNodeCheckedValue(node) === 'true') { @@ -207,6 +251,10 @@ export class TreeViewElement extends HTMLElement { } else { this.setNodeCheckedValue(node, 'true') } + } else if (this.selectVariant(node) === 'single') { + event.preventDefault() + + this.checkOnlyAtPath(this.getNodePath(node)) } else if (node instanceof HTMLAnchorElement) { // simulate click on space node.click() @@ -247,6 +295,10 @@ export class TreeViewElement extends HTMLElement { return this.querySelector('[aria-current=true]') } + get activeNodes() { + return document.querySelectorAll('[aria-checked="true"]') + } + expandAtPath(path: string[]) { const node = this.subTreeAtPath(path) if (!node) return @@ -282,6 +334,14 @@ export class TreeViewElement extends HTMLElement { this.setNodeCheckedValue(node, 'false') } + checkOnlyAtPath(path: string[]) { + for (const el of this.activeNodes) { + this.uncheckAtPath(this.getNodePath(el)) + } + + this.checkAtPath(path) + } + toggleCheckedAtPath(path: string[]) { const node = this.nodeAtPath(path) if (!node) return @@ -382,6 +442,10 @@ export class TreeViewElement extends HTMLElement { previousCheckedValue: checkedValue, } } + + selectVariant(node: Element): SelectVariant { + return (node.getAttribute('data-select-variant') || 'none') as SelectVariant + } } if (!window.customElements.get('tree-view')) { diff --git a/app/components/primer/alpha/tree_view/tree_view_sub_tree_node_element.ts b/app/components/primer/alpha/tree_view/tree_view_sub_tree_node_element.ts index 5d2b45f41f..4316dcdcdc 100644 --- a/app/components/primer/alpha/tree_view/tree_view_sub_tree_node_element.ts +++ b/app/components/primer/alpha/tree_view/tree_view_sub_tree_node_element.ts @@ -9,6 +9,8 @@ type LoadingState = 'loading' | 'error' | 'success' export type SelectStrategy = 'self' | 'descendants' | 'mixed_descendants' +export type SelectVariant = 'none' | 'single' | 'multiple' + @controller export class TreeViewSubTreeNodeElement extends HTMLElement { @target node: HTMLElement @@ -133,6 +135,10 @@ export class TreeViewSubTreeNodeElement extends HTMLElement { return (this.node.getAttribute('data-select-strategy') || 'descendants') as SelectStrategy } + get selectVariant(): SelectVariant { + return (this.node.getAttribute('data-select-variant') || 'none') as SelectVariant + } + disconnectedCallback() { this.#abortController.abort() } @@ -311,6 +317,9 @@ export class TreeViewSubTreeNodeElement extends HTMLElement { if (this.#checkboxElement) { this.toggleChecked() + } else if (this.selectVariant === 'single') { + // Follow the standard implementation of TreeView and select that item + this.treeView.handleSingleSelection(event, node) } else if (!this.treeView?.nodeHasNativeAction(node)) { // toggle only if this node isn't eg. an anchor or button this.toggle() @@ -342,6 +351,9 @@ export class TreeViewSubTreeNodeElement extends HTMLElement { event.preventDefault() this.toggleChecked() + } else if (this.selectVariant === 'single') { + // Follow the standard implementation of TreeView and select that item + this.treeView.handleSingleSelection(event, node) } else { if (node instanceof HTMLAnchorElement) { // simulate click on space for anchors (buttons already handle this natively) diff --git a/previews/primer/alpha/tree_view_preview.rb b/previews/primer/alpha/tree_view_preview.rb index 54fbbae100..b4bca3f24d 100644 --- a/previews/primer/alpha/tree_view_preview.rb +++ b/previews/primer/alpha/tree_view_preview.rb @@ -9,7 +9,7 @@ class TreeViewPreview < ViewComponent::Preview # @snapshot interactive # @param expanded [Boolean] toggle # @param disabled [Boolean] toggle - # @param select_variant [Symbol] select [multiple, none] + # @param select_variant [Symbol] select [multiple, single, none] # @param select_strategy [Symbol] select [self, descendants, mixed_descendants] def default( expanded: false, @@ -28,7 +28,7 @@ def default( # @label Playground # # @param expanded [Boolean] toggle - # @param select_variant [Symbol] select [multiple, none] + # @param select_variant [Symbol] select [multiple, single, none] # @param select_strategy [Symbol] select [self, descendants, mixed_descendants] def playground( expanded: false, @@ -43,6 +43,38 @@ def playground( }) end + # @label Single select + # + # @snapshot interactive + # @param expanded [Boolean] toggle + # @param disabled [Boolean] toggle + def single_select( + expanded: false, + disabled: false + ) + render_with_template(locals: { + expanded: coerce_bool(expanded), + disabled: coerce_bool(disabled), + select_variant: :single, + }) + end + + # @label Multi select + # + # @snapshot interactive + # @param expanded [Boolean] toggle + # @param disabled [Boolean] toggle + def multi_select( + expanded: false, + disabled: false + ) + render_with_template(locals: { + expanded: coerce_bool(expanded), + disabled: coerce_bool(disabled), + select_variant: :multiple, + }) + end + # @label Empty # # @snapshot interactive @@ -94,7 +126,7 @@ def async_alpha(action_menu_expanded: false) # @param leading_visual_icon [Symbol] octicon # @param leading_action_icon [Symbol] octicon # @param trailing_visual_icon [Symbol] octicon - # @param select_variant [Symbol] select [multiple, none] + # @param select_variant [Symbol] select [multiple, single, none] # @param disabled [Boolean] toggle def leaf_node_playground( label: "Leaf node", @@ -153,9 +185,11 @@ def auto_expansion # @label Form input # + # @param select_variant [Symbol] select [multiple, single] # @param expanded [Boolean] toggle - def form_input(expanded: true) + def form_input(select_variant: :multiple, expanded: true) render_with_template(locals: { + select_variant: select_variant.to_sym, expanded: coerce_bool(expanded) }) end diff --git a/previews/primer/alpha/tree_view_preview/default.html.erb b/previews/primer/alpha/tree_view_preview/default.html.erb index fc1bb3ff69..5dd618fc01 100644 --- a/previews/primer/alpha/tree_view_preview/default.html.erb +++ b/previews/primer/alpha/tree_view_preview/default.html.erb @@ -6,7 +6,7 @@ <% icons.with_collapsed_icon(icon: :"file-directory-fill", color: :accent) %> <% end %> - <% sub_tree.with_trailing_visual_icon(icon: :"diff-modified") %> + <% sub_tree.with_trailing_visual_icon(icon: :"diff-modified") unless select_variant == :single %> <% sub_tree.with_leaf(label: "button.rb", disabled: disabled, select_variant: select_variant) do |item| %> <% item.with_leading_visual_icon(icon: :file) %> diff --git a/previews/primer/alpha/tree_view_preview/form_input.html.erb b/previews/primer/alpha/tree_view_preview/form_input.html.erb index 9d3ca62ff7..805269649e 100644 --- a/previews/primer/alpha/tree_view_preview/form_input.html.erb +++ b/previews/primer/alpha/tree_view_preview/form_input.html.erb @@ -1,12 +1,12 @@ <%= form_with(url: primer_view_components.generic_form_submission_path(format: :json)) do |f| %> <%= render(Primer::Alpha::Stack.new) do %> <%= render(Primer::Alpha::TreeView.new(form_arguments: { builder: f, name: "folder_structure" })) do |tree| %> - <% tree.with_sub_tree(label: "src", expanded: expanded, select_variant: :multiple, value: 0) do |sub_tree| %> - <% sub_tree.with_leaf(label: "button.rb", select_variant: :multiple, value: 1) %> - <% sub_tree.with_leaf(label: "icon_button.rb", current: true, select_variant: :multiple, value: 2) %> + <% tree.with_sub_tree(label: "src", expanded: expanded, select_variant: select_variant, value: 0) do |sub_tree| %> + <% sub_tree.with_leaf(label: "button.rb", select_variant: select_variant, value: 1) %> + <% sub_tree.with_leaf(label: "icon_button.rb", current: true, select_variant: select_variant, value: 2) %> <% end %> - <% tree.with_leaf(label: "action_menu.rb", select_variant: :multiple, value: 3) %> + <% tree.with_leaf(label: "action_menu.rb", select_variant: select_variant, value: 3) %> <% end %> <%= render(Primer::Alpha::SubmitButton.new(name: :submit, label: "Submit")) %> diff --git a/previews/primer/alpha/tree_view_preview/multi_select.html.erb b/previews/primer/alpha/tree_view_preview/multi_select.html.erb new file mode 100644 index 0000000000..74bc3f57ad --- /dev/null +++ b/previews/primer/alpha/tree_view_preview/multi_select.html.erb @@ -0,0 +1,10 @@ +
+ <%= render(Primer::Alpha::TreeView.new) do |tree_view| %> + <% tree_view.with_sub_tree(label: "src", expanded: expanded, disabled: disabled, select_variant: select_variant) do |sub_tree| %> + <% sub_tree.with_leaf(label: "button.rb", disabled: disabled, select_variant: select_variant) %> + <% sub_tree.with_leaf(label: "icon_button.rb", current: true, disabled: disabled, select_variant: select_variant) %> + <% end %> + + <% tree_view.with_leaf(label: "action_menu.rb", disabled: disabled, select_variant: select_variant) %> + <% end %> +
diff --git a/previews/primer/alpha/tree_view_preview/single_select.html.erb b/previews/primer/alpha/tree_view_preview/single_select.html.erb new file mode 100644 index 0000000000..74bc3f57ad --- /dev/null +++ b/previews/primer/alpha/tree_view_preview/single_select.html.erb @@ -0,0 +1,10 @@ +
+ <%= render(Primer::Alpha::TreeView.new) do |tree_view| %> + <% tree_view.with_sub_tree(label: "src", expanded: expanded, disabled: disabled, select_variant: select_variant) do |sub_tree| %> + <% sub_tree.with_leaf(label: "button.rb", disabled: disabled, select_variant: select_variant) %> + <% sub_tree.with_leaf(label: "icon_button.rb", current: true, disabled: disabled, select_variant: select_variant) %> + <% end %> + + <% tree_view.with_leaf(label: "action_menu.rb", disabled: disabled, select_variant: select_variant) %> + <% end %> +
diff --git a/test/components/primer/alpha/tree_view_test.rb b/test/components/primer/alpha/tree_view_test.rb index 2cb9ea3da4..423db56e76 100644 --- a/test/components/primer/alpha/tree_view_test.rb +++ b/test/components/primer/alpha/tree_view_test.rb @@ -193,6 +193,19 @@ def test_falls_back_to_div_variant_when_invalid_variant_given assert_selector "div[role=treeitem]", text: "Foobar" end + + def test_disallows_trailing_visuals_when_single_select_variant_is_used + error = assert_raises(ArgumentError) do + render_inline(Primer::Alpha::TreeView.new) do |tree| + tree.with_sub_tree(label: "src", select_variant: :single) do |sub_tree| + sub_tree.with_trailing_visual_icon(icon: :"diff-modified") + sub_tree.with_leaf(label: "button.rb") + end + end + end + + assert_equal error.message, "Trailing visuals can't be used in combination with single select mode as the icon is reserved." + end end end end diff --git a/test/system/alpha/tree_view_test.rb b/test/system/alpha/tree_view_test.rb index e1002c36e6..373eae24fc 100644 --- a/test/system/alpha/tree_view_test.rb +++ b/test/system/alpha/tree_view_test.rb @@ -607,6 +607,51 @@ def test_fires_activation_event assert_equal details["previousCheckedValue"], "false" end + def test_fires_event_before_checking_single_variant + visit_preview(:default, select_variant: :single) + + details = capture_event("treeViewBeforeNodeChecked") do + activate_at_path("src") + end + + assert_equal details.size, 1 + + assert details[0]["node"] + assert_equal details[0]["type"], "sub-tree" + assert_equal details[0]["path"], ["src"] + assert_equal details[0]["checkedValue"], "true" + assert_equal details[0]["previousCheckedValue"], "false" + end + + def test_canceling_check_event_prevents_checking_for_single_variant + visit_preview(:default, select_variant: :single) + + refute_path_checked "src" + + capture_event("treeViewBeforeNodeChecked", cancel: true) do + activate_at_path("src") + end + + # src should still not be checked + refute_path_checked "src" + end + + def test_fires_check_event_after_single_variant + visit_preview(:default, select_variant: :single) + + details = capture_event("treeViewNodeChecked") do + activate_at_path("src") + end + + assert_equal details.size, 1 + + assert details[0]["node"] + assert_equal details[0]["type"], "sub-tree" + assert_equal details[0]["path"], ["src"] + assert_equal details[0]["checkedValue"], "true" + assert_equal details[0]["previousCheckedValue"], "false" + end + def test_fires_event_before_checking visit_preview(:default, select_variant: :multiple) @@ -786,7 +831,6 @@ def test_self_select_strategy_checking_sub_tree_does_not_check_children assert_path_checked "primer", "alpha", "action_bar" end - def test_form_submission visit_preview(:form_input, expanded: true, route_format: :json) @@ -799,5 +843,18 @@ def test_form_submission assert_equal "{\"path\":[\"action_menu.rb\"],\"value\":\"3\"}", response.dig("form_params", "folder_structure", 0) end + + def test_form_submission_with_single_select_variant + visit_preview(:form_input, expanded: true, select_variant: :single, route_format: :json) + + activate_at_path("action_menu.rb") + + find("button[type=submit]").click + + # for some reason the JSON response is wrapped in HTML, I have no idea why + response = JSON.parse(find("pre").text) + + assert_equal "{\"path\":[\"action_menu.rb\"],\"value\":\"3\"}", response.dig("form_params", "folder_structure", 0) + end end end