openproject-primer_view_components 0.70.5 → 0.72.0

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.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/app/assets/javascripts/components/primer/alpha/segmented_control.d.ts +2 -2
  4. data/app/assets/javascripts/components/primer/{open_project → alpha}/tree_view/tree_view.d.ts +11 -1
  5. data/app/assets/javascripts/components/primer/{open_project → alpha}/tree_view/tree_view_sub_tree_node_element.d.ts +5 -1
  6. data/app/assets/javascripts/components/primer/open_project/filterable_tree_view.d.ts +29 -0
  7. data/app/assets/javascripts/components/primer/primer.d.ts +5 -4
  8. data/app/assets/javascripts/primer_view_components.js +1 -1
  9. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  10. data/app/assets/styles/primer_view_components.css +1 -1
  11. data/app/assets/styles/primer_view_components.css.map +1 -1
  12. data/app/components/primer/{open_project → alpha}/file_tree_view/directory_node.rb +1 -1
  13. data/app/components/primer/{open_project → alpha}/file_tree_view/file_node.rb +1 -1
  14. data/app/components/primer/{open_project → alpha}/file_tree_view.rb +1 -1
  15. data/app/components/primer/alpha/segmented_control.d.ts +2 -2
  16. data/app/components/primer/alpha/segmented_control.js +12 -0
  17. data/app/components/primer/alpha/segmented_control.ts +16 -1
  18. data/app/components/primer/{open_project → alpha}/skeleton_box.css.json +1 -1
  19. data/app/components/primer/{open_project → alpha}/skeleton_box.css.map +1 -1
  20. data/app/components/primer/{open_project → alpha}/skeleton_box.pcss +1 -1
  21. data/app/components/primer/{open_project → alpha}/skeleton_box.rb +3 -1
  22. data/app/components/primer/alpha/stack.css +1 -1
  23. data/app/components/primer/alpha/stack.css.json +5 -1
  24. data/app/components/primer/alpha/stack.css.map +1 -1
  25. data/app/components/primer/alpha/stack.pcss +13 -0
  26. data/app/components/primer/alpha/stack.rb +2 -1
  27. data/app/components/primer/{open_project → alpha}/tree_view/icon.rb +2 -2
  28. data/app/components/primer/{open_project → alpha}/tree_view/icon_pair.rb +4 -4
  29. data/app/components/primer/{open_project → alpha}/tree_view/leading_action.rb +2 -2
  30. data/app/components/primer/{open_project → alpha}/tree_view/leaf_node.rb +6 -6
  31. data/app/components/primer/{open_project → alpha}/tree_view/loading_failure_message.rb +2 -2
  32. data/app/components/primer/{open_project → alpha}/tree_view/node.rb +30 -14
  33. data/app/components/primer/{open_project → alpha}/tree_view/skeleton_loader.html.erb +3 -3
  34. data/app/components/primer/{open_project → alpha}/tree_view/skeleton_loader.rb +4 -4
  35. data/app/components/primer/{open_project → alpha}/tree_view/spinner_loader.html.erb +2 -2
  36. data/app/components/primer/{open_project → alpha}/tree_view/spinner_loader.rb +4 -4
  37. data/app/components/primer/{open_project → alpha}/tree_view/sub_tree.html.erb +1 -1
  38. data/app/components/primer/{open_project → alpha}/tree_view/sub_tree.rb +10 -10
  39. data/app/components/primer/{open_project → alpha}/tree_view/sub_tree_container.rb +2 -2
  40. data/app/components/primer/{open_project → alpha}/tree_view/sub_tree_node.rb +28 -18
  41. data/app/components/primer/{open_project → alpha}/tree_view/tree_view.d.ts +11 -1
  42. data/app/components/primer/{open_project → alpha}/tree_view/tree_view.js +120 -20
  43. data/app/components/primer/{open_project → alpha}/tree_view/tree_view.ts +137 -18
  44. data/app/components/primer/{open_project → alpha}/tree_view/tree_view_include_fragment_element.js +0 -1
  45. data/app/components/primer/{open_project → alpha}/tree_view/tree_view_include_fragment_element.ts +0 -1
  46. data/app/components/primer/{open_project → alpha}/tree_view/tree_view_sub_tree_node_element.d.ts +5 -1
  47. data/app/components/primer/{open_project → alpha}/tree_view/tree_view_sub_tree_node_element.js +27 -4
  48. data/app/components/primer/{open_project → alpha}/tree_view/tree_view_sub_tree_node_element.ts +36 -5
  49. data/app/components/primer/{open_project → alpha}/tree_view/visual.rb +2 -2
  50. data/app/components/primer/alpha/tree_view.css +1 -0
  51. data/app/components/primer/{open_project → alpha}/tree_view.css.json +8 -1
  52. data/app/components/primer/alpha/tree_view.css.map +1 -0
  53. data/app/components/primer/alpha/tree_view.html.erb +12 -0
  54. data/app/components/primer/{open_project → alpha}/tree_view.pcss +39 -0
  55. data/app/components/primer/{open_project → alpha}/tree_view.rb +20 -12
  56. data/app/components/primer/beta/breadcrumbs.css +1 -1
  57. data/app/components/primer/beta/breadcrumbs.css.json +0 -1
  58. data/app/components/primer/beta/breadcrumbs.css.map +1 -1
  59. data/app/components/primer/beta/breadcrumbs.pcss +2 -8
  60. data/app/components/primer/beta/progress_bar.css +1 -1
  61. data/app/components/primer/beta/progress_bar.css.map +1 -1
  62. data/app/components/primer/beta/progress_bar.pcss +3 -2
  63. data/app/components/primer/beta/relative_time.rb +3 -0
  64. data/app/components/primer/open_project/filterable_tree_view/sub_tree.rb +39 -0
  65. data/app/components/primer/open_project/filterable_tree_view.d.ts +29 -0
  66. data/app/components/primer/open_project/filterable_tree_view.html.erb +28 -0
  67. data/app/components/primer/open_project/filterable_tree_view.js +409 -0
  68. data/app/components/primer/open_project/filterable_tree_view.rb +254 -0
  69. data/app/components/primer/open_project/filterable_tree_view.ts +492 -0
  70. data/app/components/primer/primer.d.ts +5 -4
  71. data/app/components/primer/primer.js +5 -4
  72. data/app/components/primer/primer.pcss +2 -2
  73. data/app/components/primer/primer.ts +5 -4
  74. data/app/controllers/primer/view_components/tree_view_items_controller.rb +1 -1
  75. data/app/forms/check_box_with_nested_form.rb +10 -10
  76. data/app/forms/radio_button_with_nested_form.rb +16 -16
  77. data/app/lib/primer/experimental_slot_helpers.rb +2 -2
  78. data/app/lib/primer/forms/base_component.rb +1 -1
  79. data/app/lib/primer/forms/dsl/text_field_input.rb +2 -0
  80. data/app/views/primer/view_components/tree_view_items/async_alpha.html_fragment.erb +1 -1
  81. data/app/views/primer/view_components/tree_view_items/index.html_fragment.erb +1 -1
  82. data/config/locales/en.yml +20 -0
  83. data/lib/primer/view_components/version.rb +2 -2
  84. data/previews/primer/{open_project → alpha}/file_tree_view_preview/default.html.erb +1 -1
  85. data/previews/primer/{open_project → alpha}/file_tree_view_preview/playground.html.erb +1 -1
  86. data/previews/primer/{open_project → alpha}/file_tree_view_preview.rb +1 -1
  87. data/previews/primer/{open_project → alpha}/skeleton_box_preview.rb +3 -3
  88. data/previews/primer/{open_project → alpha}/tree_view_preview/async_alpha.html.erb +1 -1
  89. data/previews/primer/{open_project → alpha}/tree_view_preview/buttons.html.erb +5 -5
  90. data/previews/primer/{open_project → alpha}/tree_view_preview/default.html.erb +5 -5
  91. data/previews/primer/{open_project → alpha}/tree_view_preview/empty.html.erb +1 -1
  92. data/previews/primer/alpha/tree_view_preview/form_input.html.erb +14 -0
  93. data/previews/primer/{open_project → alpha}/tree_view_preview/leaf_node_playground.html.erb +2 -2
  94. data/previews/primer/{open_project → alpha}/tree_view_preview/links.html.erb +5 -5
  95. data/previews/primer/{open_project → alpha}/tree_view_preview/loading_failure.html.erb +1 -1
  96. data/previews/primer/{open_project → alpha}/tree_view_preview/loading_skeleton.html.erb +1 -1
  97. data/previews/primer/{open_project → alpha}/tree_view_preview/loading_spinner.html.erb +1 -1
  98. data/previews/primer/{open_project → alpha}/tree_view_preview/playground.html.erb +1 -1
  99. data/previews/primer/{open_project → alpha}/tree_view_preview.rb +34 -15
  100. data/previews/primer/open_project/filterable_tree_view_preview/_custom_select_js.html.erb +62 -0
  101. data/previews/primer/open_project/filterable_tree_view_preview/custom_checkbox_text.html.erb +26 -0
  102. data/previews/primer/open_project/filterable_tree_view_preview/custom_no_results_text.html.erb +28 -0
  103. data/previews/primer/open_project/filterable_tree_view_preview/custom_segmented_control.html.erb +31 -0
  104. data/previews/primer/open_project/filterable_tree_view_preview/default.html.erb +26 -0
  105. data/previews/primer/open_project/filterable_tree_view_preview/form_input.html.erb +32 -0
  106. data/previews/primer/open_project/filterable_tree_view_preview/playground.html.erb +26 -0
  107. data/previews/primer/open_project/filterable_tree_view_preview/stress_test.html.erb +28 -0
  108. data/previews/primer/open_project/filterable_tree_view_preview.rb +125 -0
  109. data/static/arguments.json +1685 -1581
  110. data/static/audited_at.json +19 -17
  111. data/static/classes.json +5 -5
  112. data/static/constants.json +137 -98
  113. data/static/info_arch.json +6396 -6146
  114. data/static/previews.json +120 -21
  115. data/static/statuses.json +19 -17
  116. metadata +102 -84
  117. data/app/components/primer/open_project/tree_view.css +0 -1
  118. data/app/components/primer/open_project/tree_view.css.map +0 -1
  119. data/app/components/primer/open_project/tree_view.html.erb +0 -7
  120. /data/app/assets/javascripts/components/primer/{open_project → alpha}/tree_view/tree_view_icon_pair_element.d.ts +0 -0
  121. /data/app/assets/javascripts/components/primer/{open_project → alpha}/tree_view/tree_view_include_fragment_element.d.ts +0 -0
  122. /data/app/assets/javascripts/components/primer/{open_project → alpha}/tree_view/tree_view_roving_tab_index.d.ts +0 -0
  123. /data/app/components/primer/{open_project → alpha}/file_tree_view/directory_node.html.erb +0 -0
  124. /data/app/components/primer/{open_project → alpha}/file_tree_view/file_node.html.erb +0 -0
  125. /data/app/components/primer/{open_project → alpha}/skeleton_box.css +0 -0
  126. /data/app/components/primer/{open_project → alpha}/skeleton_box.html.erb +0 -0
  127. /data/app/components/primer/{open_project → alpha}/tree_view/icon.html.erb +0 -0
  128. /data/app/components/primer/{open_project → alpha}/tree_view/icon_pair.html.erb +0 -0
  129. /data/app/components/primer/{open_project → alpha}/tree_view/leading_action.html.erb +0 -0
  130. /data/app/components/primer/{open_project → alpha}/tree_view/leaf_node.html.erb +0 -0
  131. /data/app/components/primer/{open_project → alpha}/tree_view/loading_failure_message.html.erb +0 -0
  132. /data/app/components/primer/{open_project → alpha}/tree_view/node.html.erb +0 -0
  133. /data/app/components/primer/{open_project → alpha}/tree_view/sub_tree_container.html.erb +0 -0
  134. /data/app/components/primer/{open_project → alpha}/tree_view/sub_tree_node.html.erb +0 -0
  135. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_icon_pair_element.d.ts +0 -0
  136. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_icon_pair_element.js +0 -0
  137. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_icon_pair_element.ts +0 -0
  138. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_include_fragment_element.d.ts +0 -0
  139. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_roving_tab_index.d.ts +0 -0
  140. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_roving_tab_index.js +0 -0
  141. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_roving_tab_index.ts +0 -0
  142. /data/app/components/primer/{open_project → alpha}/tree_view/visual.html.erb +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openproject-primer_view_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.70.5
4
+ version: 0.72.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub Open Source
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2025-08-11 00:00:00.000000000 Z
12
+ date: 2025-08-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionview
@@ -17,28 +17,28 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: 7.1.0
20
+ version: 7.2.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: 7.1.0
27
+ version: 7.2.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: activesupport
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: 7.1.0
34
+ version: 7.2.0
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: 7.1.0
41
+ version: 7.2.0
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: openproject-octicons
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -62,7 +62,7 @@ dependencies:
62
62
  version: '3.1'
63
63
  - - "<"
64
64
  - !ruby/object:Gem::Version
65
- version: '4.0'
65
+ version: '5.0'
66
66
  type: :runtime
67
67
  prerelease: false
68
68
  version_requirements: !ruby/object:Gem::Requirement
@@ -72,7 +72,7 @@ dependencies:
72
72
  version: '3.1'
73
73
  - - "<"
74
74
  - !ruby/object:Gem::Version
75
- version: '4.0'
75
+ version: '5.0'
76
76
  description:
77
77
  email:
78
78
  executables: []
@@ -95,6 +95,11 @@ files:
95
95
  - app/assets/javascripts/components/primer/alpha/tab_container.d.ts
96
96
  - app/assets/javascripts/components/primer/alpha/toggle_switch.d.ts
97
97
  - app/assets/javascripts/components/primer/alpha/tool_tip.d.ts
98
+ - app/assets/javascripts/components/primer/alpha/tree_view/tree_view.d.ts
99
+ - app/assets/javascripts/components/primer/alpha/tree_view/tree_view_icon_pair_element.d.ts
100
+ - app/assets/javascripts/components/primer/alpha/tree_view/tree_view_include_fragment_element.d.ts
101
+ - app/assets/javascripts/components/primer/alpha/tree_view/tree_view_roving_tab_index.d.ts
102
+ - app/assets/javascripts/components/primer/alpha/tree_view/tree_view_sub_tree_node_element.d.ts
98
103
  - app/assets/javascripts/components/primer/alpha/x_banner.d.ts
99
104
  - app/assets/javascripts/components/primer/anchored_position.d.ts
100
105
  - app/assets/javascripts/components/primer/beta/auto_complete/auto_complete.d.ts
@@ -109,13 +114,9 @@ files:
109
114
  - app/assets/javascripts/components/primer/open_project/collapsible.d.ts
110
115
  - app/assets/javascripts/components/primer/open_project/collapsible_section.d.ts
111
116
  - app/assets/javascripts/components/primer/open_project/danger_dialog_form_helper.d.ts
117
+ - app/assets/javascripts/components/primer/open_project/filterable_tree_view.d.ts
112
118
  - app/assets/javascripts/components/primer/open_project/page_header_element.d.ts
113
119
  - app/assets/javascripts/components/primer/open_project/sub_header_element.d.ts
114
- - app/assets/javascripts/components/primer/open_project/tree_view/tree_view.d.ts
115
- - app/assets/javascripts/components/primer/open_project/tree_view/tree_view_icon_pair_element.d.ts
116
- - app/assets/javascripts/components/primer/open_project/tree_view/tree_view_include_fragment_element.d.ts
117
- - app/assets/javascripts/components/primer/open_project/tree_view/tree_view_roving_tab_index.d.ts
118
- - app/assets/javascripts/components/primer/open_project/tree_view/tree_view_sub_tree_node_element.d.ts
119
120
  - app/assets/javascripts/components/primer/open_project/zen_mode_button.d.ts
120
121
  - app/assets/javascripts/components/primer/primer.d.ts
121
122
  - app/assets/javascripts/components/primer/scrollable_region.d.ts
@@ -218,6 +219,11 @@ files:
218
219
  - app/components/primer/alpha/dropdown/menu.js
219
220
  - app/components/primer/alpha/dropdown/menu.rb
220
221
  - app/components/primer/alpha/dropdown/menu.ts
222
+ - app/components/primer/alpha/file_tree_view.rb
223
+ - app/components/primer/alpha/file_tree_view/directory_node.html.erb
224
+ - app/components/primer/alpha/file_tree_view/directory_node.rb
225
+ - app/components/primer/alpha/file_tree_view/file_node.html.erb
226
+ - app/components/primer/alpha/file_tree_view/file_node.rb
221
227
  - app/components/primer/alpha/form_button.rb
222
228
  - app/components/primer/alpha/form_control.html.erb
223
229
  - app/components/primer/alpha/form_control.rb
@@ -283,6 +289,12 @@ files:
283
289
  - app/components/primer/alpha/select_panel_element.d.ts
284
290
  - app/components/primer/alpha/select_panel_element.js
285
291
  - app/components/primer/alpha/select_panel_element.ts
292
+ - app/components/primer/alpha/skeleton_box.css
293
+ - app/components/primer/alpha/skeleton_box.css.json
294
+ - app/components/primer/alpha/skeleton_box.css.map
295
+ - app/components/primer/alpha/skeleton_box.html.erb
296
+ - app/components/primer/alpha/skeleton_box.pcss
297
+ - app/components/primer/alpha/skeleton_box.rb
286
298
  - app/components/primer/alpha/stack.css
287
299
  - app/components/primer/alpha/stack.css.json
288
300
  - app/components/primer/alpha/stack.css.map
@@ -327,6 +339,51 @@ files:
327
339
  - app/components/primer/alpha/tool_tip.js
328
340
  - app/components/primer/alpha/tool_tip.ts
329
341
  - app/components/primer/alpha/tooltip.rb
342
+ - app/components/primer/alpha/tree_view.css
343
+ - app/components/primer/alpha/tree_view.css.json
344
+ - app/components/primer/alpha/tree_view.css.map
345
+ - app/components/primer/alpha/tree_view.html.erb
346
+ - app/components/primer/alpha/tree_view.pcss
347
+ - app/components/primer/alpha/tree_view.rb
348
+ - app/components/primer/alpha/tree_view/icon.html.erb
349
+ - app/components/primer/alpha/tree_view/icon.rb
350
+ - app/components/primer/alpha/tree_view/icon_pair.html.erb
351
+ - app/components/primer/alpha/tree_view/icon_pair.rb
352
+ - app/components/primer/alpha/tree_view/leading_action.html.erb
353
+ - app/components/primer/alpha/tree_view/leading_action.rb
354
+ - app/components/primer/alpha/tree_view/leaf_node.html.erb
355
+ - app/components/primer/alpha/tree_view/leaf_node.rb
356
+ - app/components/primer/alpha/tree_view/loading_failure_message.html.erb
357
+ - app/components/primer/alpha/tree_view/loading_failure_message.rb
358
+ - app/components/primer/alpha/tree_view/node.html.erb
359
+ - app/components/primer/alpha/tree_view/node.rb
360
+ - app/components/primer/alpha/tree_view/skeleton_loader.html.erb
361
+ - app/components/primer/alpha/tree_view/skeleton_loader.rb
362
+ - app/components/primer/alpha/tree_view/spinner_loader.html.erb
363
+ - app/components/primer/alpha/tree_view/spinner_loader.rb
364
+ - app/components/primer/alpha/tree_view/sub_tree.html.erb
365
+ - app/components/primer/alpha/tree_view/sub_tree.rb
366
+ - app/components/primer/alpha/tree_view/sub_tree_container.html.erb
367
+ - app/components/primer/alpha/tree_view/sub_tree_container.rb
368
+ - app/components/primer/alpha/tree_view/sub_tree_node.html.erb
369
+ - app/components/primer/alpha/tree_view/sub_tree_node.rb
370
+ - app/components/primer/alpha/tree_view/tree_view.d.ts
371
+ - app/components/primer/alpha/tree_view/tree_view.js
372
+ - app/components/primer/alpha/tree_view/tree_view.ts
373
+ - app/components/primer/alpha/tree_view/tree_view_icon_pair_element.d.ts
374
+ - app/components/primer/alpha/tree_view/tree_view_icon_pair_element.js
375
+ - app/components/primer/alpha/tree_view/tree_view_icon_pair_element.ts
376
+ - app/components/primer/alpha/tree_view/tree_view_include_fragment_element.d.ts
377
+ - app/components/primer/alpha/tree_view/tree_view_include_fragment_element.js
378
+ - app/components/primer/alpha/tree_view/tree_view_include_fragment_element.ts
379
+ - app/components/primer/alpha/tree_view/tree_view_roving_tab_index.d.ts
380
+ - app/components/primer/alpha/tree_view/tree_view_roving_tab_index.js
381
+ - app/components/primer/alpha/tree_view/tree_view_roving_tab_index.ts
382
+ - app/components/primer/alpha/tree_view/tree_view_sub_tree_node_element.d.ts
383
+ - app/components/primer/alpha/tree_view/tree_view_sub_tree_node_element.js
384
+ - app/components/primer/alpha/tree_view/tree_view_sub_tree_node_element.ts
385
+ - app/components/primer/alpha/tree_view/visual.html.erb
386
+ - app/components/primer/alpha/tree_view/visual.rb
330
387
  - app/components/primer/alpha/underline_nav.css
331
388
  - app/components/primer/alpha/underline_nav.css.json
332
389
  - app/components/primer/alpha/underline_nav.css.map
@@ -556,11 +613,12 @@ files:
556
613
  - app/components/primer/open_project/feedback_dialog.rb
557
614
  - app/components/primer/open_project/feedback_message.html.erb
558
615
  - app/components/primer/open_project/feedback_message.rb
559
- - app/components/primer/open_project/file_tree_view.rb
560
- - app/components/primer/open_project/file_tree_view/directory_node.html.erb
561
- - app/components/primer/open_project/file_tree_view/directory_node.rb
562
- - app/components/primer/open_project/file_tree_view/file_node.html.erb
563
- - app/components/primer/open_project/file_tree_view/file_node.rb
616
+ - app/components/primer/open_project/filterable_tree_view.d.ts
617
+ - app/components/primer/open_project/filterable_tree_view.html.erb
618
+ - app/components/primer/open_project/filterable_tree_view.js
619
+ - app/components/primer/open_project/filterable_tree_view.rb
620
+ - app/components/primer/open_project/filterable_tree_view.ts
621
+ - app/components/primer/open_project/filterable_tree_view/sub_tree.rb
564
622
  - app/components/primer/open_project/flex_layout.html.erb
565
623
  - app/components/primer/open_project/flex_layout.rb
566
624
  - app/components/primer/open_project/grid_layout.html.erb
@@ -594,12 +652,6 @@ files:
594
652
  - app/components/primer/open_project/side_panel/section.html.erb
595
653
  - app/components/primer/open_project/side_panel/section.pcss
596
654
  - app/components/primer/open_project/side_panel/section.rb
597
- - app/components/primer/open_project/skeleton_box.css
598
- - app/components/primer/open_project/skeleton_box.css.json
599
- - app/components/primer/open_project/skeleton_box.css.map
600
- - app/components/primer/open_project/skeleton_box.html.erb
601
- - app/components/primer/open_project/skeleton_box.pcss
602
- - app/components/primer/open_project/skeleton_box.rb
603
655
  - app/components/primer/open_project/sub_header.css
604
656
  - app/components/primer/open_project/sub_header.css.json
605
657
  - app/components/primer/open_project/sub_header.css.map
@@ -613,51 +665,6 @@ files:
613
665
  - app/components/primer/open_project/sub_header_element.d.ts
614
666
  - app/components/primer/open_project/sub_header_element.js
615
667
  - app/components/primer/open_project/sub_header_element.ts
616
- - app/components/primer/open_project/tree_view.css
617
- - app/components/primer/open_project/tree_view.css.json
618
- - app/components/primer/open_project/tree_view.css.map
619
- - app/components/primer/open_project/tree_view.html.erb
620
- - app/components/primer/open_project/tree_view.pcss
621
- - app/components/primer/open_project/tree_view.rb
622
- - app/components/primer/open_project/tree_view/icon.html.erb
623
- - app/components/primer/open_project/tree_view/icon.rb
624
- - app/components/primer/open_project/tree_view/icon_pair.html.erb
625
- - app/components/primer/open_project/tree_view/icon_pair.rb
626
- - app/components/primer/open_project/tree_view/leading_action.html.erb
627
- - app/components/primer/open_project/tree_view/leading_action.rb
628
- - app/components/primer/open_project/tree_view/leaf_node.html.erb
629
- - app/components/primer/open_project/tree_view/leaf_node.rb
630
- - app/components/primer/open_project/tree_view/loading_failure_message.html.erb
631
- - app/components/primer/open_project/tree_view/loading_failure_message.rb
632
- - app/components/primer/open_project/tree_view/node.html.erb
633
- - app/components/primer/open_project/tree_view/node.rb
634
- - app/components/primer/open_project/tree_view/skeleton_loader.html.erb
635
- - app/components/primer/open_project/tree_view/skeleton_loader.rb
636
- - app/components/primer/open_project/tree_view/spinner_loader.html.erb
637
- - app/components/primer/open_project/tree_view/spinner_loader.rb
638
- - app/components/primer/open_project/tree_view/sub_tree.html.erb
639
- - app/components/primer/open_project/tree_view/sub_tree.rb
640
- - app/components/primer/open_project/tree_view/sub_tree_container.html.erb
641
- - app/components/primer/open_project/tree_view/sub_tree_container.rb
642
- - app/components/primer/open_project/tree_view/sub_tree_node.html.erb
643
- - app/components/primer/open_project/tree_view/sub_tree_node.rb
644
- - app/components/primer/open_project/tree_view/tree_view.d.ts
645
- - app/components/primer/open_project/tree_view/tree_view.js
646
- - app/components/primer/open_project/tree_view/tree_view.ts
647
- - app/components/primer/open_project/tree_view/tree_view_icon_pair_element.d.ts
648
- - app/components/primer/open_project/tree_view/tree_view_icon_pair_element.js
649
- - app/components/primer/open_project/tree_view/tree_view_icon_pair_element.ts
650
- - app/components/primer/open_project/tree_view/tree_view_include_fragment_element.d.ts
651
- - app/components/primer/open_project/tree_view/tree_view_include_fragment_element.js
652
- - app/components/primer/open_project/tree_view/tree_view_include_fragment_element.ts
653
- - app/components/primer/open_project/tree_view/tree_view_roving_tab_index.d.ts
654
- - app/components/primer/open_project/tree_view/tree_view_roving_tab_index.js
655
- - app/components/primer/open_project/tree_view/tree_view_roving_tab_index.ts
656
- - app/components/primer/open_project/tree_view/tree_view_sub_tree_node_element.d.ts
657
- - app/components/primer/open_project/tree_view/tree_view_sub_tree_node_element.js
658
- - app/components/primer/open_project/tree_view/tree_view_sub_tree_node_element.ts
659
- - app/components/primer/open_project/tree_view/visual.html.erb
660
- - app/components/primer/open_project/tree_view/visual.rb
661
668
  - app/components/primer/open_project/zen_mode_button.d.ts
662
669
  - app/components/primer/open_project/zen_mode_button.html.erb
663
670
  - app/components/primer/open_project/zen_mode_button.js
@@ -850,6 +857,7 @@ files:
850
857
  - app/views/primer/view_components/select_panel_items/index.html.erb
851
858
  - app/views/primer/view_components/tree_view_items/async_alpha.html_fragment.erb
852
859
  - app/views/primer/view_components/tree_view_items/index.html_fragment.erb
860
+ - config/locales/en.yml
853
861
  - config/routes.rb
854
862
  - lib/postcss_mixins/activeIndicatorLine.pcss
855
863
  - lib/postcss_mixins/clearfix.pcss
@@ -1001,6 +1009,9 @@ files:
1001
1009
  - previews/primer/alpha/dialog_preview/with_text_input.html.erb
1002
1010
  - previews/primer/alpha/dialog_preview/without_header_close_button_label.html.erb
1003
1011
  - previews/primer/alpha/dropdown_preview.rb
1012
+ - previews/primer/alpha/file_tree_view_preview.rb
1013
+ - previews/primer/alpha/file_tree_view_preview/default.html.erb
1014
+ - previews/primer/alpha/file_tree_view_preview/playground.html.erb
1004
1015
  - previews/primer/alpha/form_control_preview.rb
1005
1016
  - previews/primer/alpha/form_control_preview/playground.html.erb
1006
1017
  - previews/primer/alpha/hellip_button_preview.rb
@@ -1054,6 +1065,7 @@ files:
1054
1065
  - previews/primer/alpha/select_panel_preview/with_subtitle.html.erb
1055
1066
  - previews/primer/alpha/select_panel_preview/with_trailing_icons.html.erb
1056
1067
  - previews/primer/alpha/select_preview.rb
1068
+ - previews/primer/alpha/skeleton_box_preview.rb
1057
1069
  - previews/primer/alpha/stack_item_preview.rb
1058
1070
  - previews/primer/alpha/stack_item_preview/default.html.erb
1059
1071
  - previews/primer/alpha/stack_item_preview/playground.html.erb
@@ -1082,6 +1094,18 @@ files:
1082
1094
  - previews/primer/alpha/tooltip_preview/tooltip_with_dialog_moving_focus_to_input.html.erb
1083
1095
  - previews/primer/alpha/tooltip_preview/with_multiple_on_a_page.html.erb
1084
1096
  - previews/primer/alpha/tooltip_preview/with_right_most_position.html.erb
1097
+ - previews/primer/alpha/tree_view_preview.rb
1098
+ - previews/primer/alpha/tree_view_preview/async_alpha.html.erb
1099
+ - previews/primer/alpha/tree_view_preview/buttons.html.erb
1100
+ - previews/primer/alpha/tree_view_preview/default.html.erb
1101
+ - previews/primer/alpha/tree_view_preview/empty.html.erb
1102
+ - previews/primer/alpha/tree_view_preview/form_input.html.erb
1103
+ - previews/primer/alpha/tree_view_preview/leaf_node_playground.html.erb
1104
+ - previews/primer/alpha/tree_view_preview/links.html.erb
1105
+ - previews/primer/alpha/tree_view_preview/loading_failure.html.erb
1106
+ - previews/primer/alpha/tree_view_preview/loading_skeleton.html.erb
1107
+ - previews/primer/alpha/tree_view_preview/loading_spinner.html.erb
1108
+ - previews/primer/alpha/tree_view_preview/playground.html.erb
1085
1109
  - previews/primer/alpha/underline_nav_preview.rb
1086
1110
  - previews/primer/alpha/underline_nav_preview/default.html.erb
1087
1111
  - previews/primer/alpha/underline_nav_preview/playground.html.erb
@@ -1192,9 +1216,15 @@ files:
1192
1216
  - previews/primer/open_project/feedback_dialog_preview/with_additional_details.html.erb
1193
1217
  - previews/primer/open_project/feedback_dialog_preview/with_custom_footer.html.erb
1194
1218
  - previews/primer/open_project/feedback_message_preview.rb
1195
- - previews/primer/open_project/file_tree_view_preview.rb
1196
- - previews/primer/open_project/file_tree_view_preview/default.html.erb
1197
- - previews/primer/open_project/file_tree_view_preview/playground.html.erb
1219
+ - previews/primer/open_project/filterable_tree_view_preview.rb
1220
+ - previews/primer/open_project/filterable_tree_view_preview/_custom_select_js.html.erb
1221
+ - previews/primer/open_project/filterable_tree_view_preview/custom_checkbox_text.html.erb
1222
+ - previews/primer/open_project/filterable_tree_view_preview/custom_no_results_text.html.erb
1223
+ - previews/primer/open_project/filterable_tree_view_preview/custom_segmented_control.html.erb
1224
+ - previews/primer/open_project/filterable_tree_view_preview/default.html.erb
1225
+ - previews/primer/open_project/filterable_tree_view_preview/form_input.html.erb
1226
+ - previews/primer/open_project/filterable_tree_view_preview/playground.html.erb
1227
+ - previews/primer/open_project/filterable_tree_view_preview/stress_test.html.erb
1198
1228
  - previews/primer/open_project/flex_layout_preview.rb
1199
1229
  - previews/primer/open_project/grid_layout_preview.rb
1200
1230
  - previews/primer/open_project/heading_preview.rb
@@ -1209,24 +1239,12 @@ files:
1209
1239
  - previews/primer/open_project/side_panel_preview/playground.html.erb
1210
1240
  - previews/primer/open_project/side_panel_preview/with_action_menu.html.erb
1211
1241
  - previews/primer/open_project/side_panel_preview/with_component.html.erb
1212
- - previews/primer/open_project/skeleton_box_preview.rb
1213
1242
  - previews/primer/open_project/sub_header_preview.rb
1214
1243
  - previews/primer/open_project/sub_header_preview/action_menu_buttons.html.erb
1215
1244
  - previews/primer/open_project/sub_header_preview/bottom_pane.html.erb
1216
1245
  - previews/primer/open_project/sub_header_preview/button_group.html.erb
1217
1246
  - previews/primer/open_project/sub_header_preview/custom_filter_button.html.erb
1218
1247
  - previews/primer/open_project/sub_header_preview/dialog_buttons.html.erb
1219
- - previews/primer/open_project/tree_view_preview.rb
1220
- - previews/primer/open_project/tree_view_preview/async_alpha.html.erb
1221
- - previews/primer/open_project/tree_view_preview/buttons.html.erb
1222
- - previews/primer/open_project/tree_view_preview/default.html.erb
1223
- - previews/primer/open_project/tree_view_preview/empty.html.erb
1224
- - previews/primer/open_project/tree_view_preview/leaf_node_playground.html.erb
1225
- - previews/primer/open_project/tree_view_preview/links.html.erb
1226
- - previews/primer/open_project/tree_view_preview/loading_failure.html.erb
1227
- - previews/primer/open_project/tree_view_preview/loading_skeleton.html.erb
1228
- - previews/primer/open_project/tree_view_preview/loading_spinner.html.erb
1229
- - previews/primer/open_project/tree_view_preview/playground.html.erb
1230
1248
  - previews/primer/open_project/zen_mode_button_preview.rb
1231
1249
  - previews/primer/url_helpers.rb
1232
1250
  - static/arguments.json
@@ -1 +0,0 @@
1
- .TreeViewRootUlStyles{list-style:none;margin:0;padding:0}.TreeViewRootUlStyles .TreeViewItem{outline:none}:is(.TreeViewRootUlStyles .TreeViewItem):focus-visible>div{box-shadow:var(--boxShadow-thick) var(--fgColor-accent)}@media (forced-colors:active){:is(.TreeViewRootUlStyles .TreeViewItem):focus-visible>div{outline:2px solid HighlightText;outline-offset:-2}}[data-has-leading-action]:is(.TreeViewRootUlStyles .TreeViewItem){--has-leading-action:1}.TreeViewRootUlStyles .TreeViewItemContainer{--level:1;--toggle-width:1rem;--min-item-height:2rem;border-radius:var(--borderRadius-medium);color:var(--fgColor-default);display:grid;font-size:var(--text-body-size-medium);grid-template-areas:"spacer leadingAction toggle content";grid-template-columns:var(--spacer-width) var(--leading-action-width) var(--toggle-width) 1fr;position:relative;width:100%;--leading-action-width:calc(var(--has-leading-action, 0)*1.5rem);--spacer-width:calc((var(--level) - 1)*(var(--toggle-width)/2))}:is(.TreeViewRootUlStyles .TreeViewItemContainer):hover{background-color:var(--control-transparent-bgColor-hover)}@media (forced-colors:active){:is(.TreeViewRootUlStyles .TreeViewItemContainer):hover{outline:2px solid #0000;outline-offset:-2px}}@media (pointer:coarse){.TreeViewRootUlStyles .TreeViewItemContainer{--toggle-width:1.5rem;--min-item-height:2.75rem}}:is(.TreeViewRootUlStyles .TreeViewItemContainer):has(.TreeViewFailureMessage):hover{background-color:initial;cursor:default}@media (forced-colors:active){:is(.TreeViewRootUlStyles .TreeViewItemContainer):has(.TreeViewFailureMessage):hover{outline:none}}:is(.TreeViewRootUlStyles .TreeViewItemContainer):has([role=treeitem]:focus-visible){box-shadow:var(--boxShadow-thick) var(--fgColor-accent)}.TreeViewRootUlStyles:where([data-omit-spacer=true]) .TreeViewItemContainer{grid-template-columns:0 0 0 1fr}.TreeViewRootUlStyles .TreeViewItem>.TreeViewItemContainer:has(.TreeViewItemContent[aria-current=true]){background-color:var(--control-transparent-bgColor-selected)}:is(.TreeViewRootUlStyles .TreeViewItem>.TreeViewItemContainer:has(.TreeViewItemContent[aria-current=true])):after{background-color:var(--fgColor-accent);border-radius:var(--borderRadius-medium);content:"";height:1.5rem;left:calc(var(--base-size-8)*-1);position:absolute;top:calc(50% - var(--base-size-12));width:.25rem}@media (forced-colors:active){:is(.TreeViewRootUlStyles .TreeViewItem>.TreeViewItemContainer:has(.TreeViewItemContent[aria-current=true])):after{background-color:HighlightText}}.TreeViewRootUlStyles .TreeViewItemToggle{align-items:flex-start;color:var(--fgColor-muted);cursor:pointer;display:flex;grid-area:toggle;height:100%;justify-content:center;padding-top:calc(var(--min-item-height)/2 - var(--base-size-12)/2)}.TreeViewRootUlStyles .TreeViewItemToggleHover:hover{background-color:var(--control-transparent-bgColor-hover)}.TreeViewRootUlStyles .TreeViewItemToggleEnd{border-bottom-left-radius:var(--borderRadius-medium);border-top-left-radius:var(--borderRadius-medium)}.TreeViewRootUlStyles a.TreeViewItemContent:hover,.TreeViewRootUlStyles button.TreeViewItemContent:hover{-webkit-text-decoration:underline;text-decoration:underline;text-decoration-color:var(--control-fgColor-rest)}.TreeViewRootUlStyles .TreeViewItemContent{cursor:pointer;display:flex;gap:var(--stack-gap-condensed);grid-area:content;height:100%;line-height:var(--custom-line-height,var(--text-body-lineHeight-medium,1.4285));outline:none;padding:0 var(--base-size-8);padding-bottom:calc((var(--min-item-height) - var(--custom-line-height, 1.3rem))/2);padding-top:calc((var(--min-item-height) - var(--custom-line-height, 1.3rem))/2)}.TreeViewRootUlStyles .TreeViewItemContent,:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemCheckbox{background-color:initial;border:none;text-align:left;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemCheckbox{border-radius:var(--borderRadius-medium);color:var(--control-fgColor-rest);position:relative;transition:background 33.333ms linear}[aria-checked=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox{background:var(--control-checked-bgColor-rest);border-color:var(--control-checked-borderColor-rest);transition:background-color,border-color 80ms cubic-bezier(.32,0,.67,0) 0s}:is([aria-checked=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox):before{animation:checkmarkIn 80ms cubic-bezier(.65,0,.35,1) 80ms forwards;transition:visibility 0s linear 0s;visibility:visible}[aria-checked=mixed]:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox{background:var(--control-checked-bgColor-rest);border-color:var(--control-checked-borderColor-rest);transition:background-color,border-color 80ms cubic-bezier(.32,0,.67,0) 0s}:is([aria-checked=mixed]:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox):before{animation:checkmarkIn 80ms cubic-bezier(.65,0,.35,1) 80ms forwards;clip-path:none;mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIyIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMTAgMiI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMCAxYTEgMSAwIDAgMSAxLTFoOGExIDEgMCAxIDEgMCAySDFhMSAxIDAgMCAxLTEtMSIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+");visibility:visible}.TreeViewRootUlStyles .TreeViewItemContentText{color:var(--control-fgColor-rest);flex:1 1 auto;width:0}.TreeViewRootUlStyles:where([data-truncate-text=true]) .TreeViewItemContentText{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.TreeViewRootUlStyles:where([data-truncate-text=false]) .TreeViewItemContentText{word-break:break-word}.TreeViewRootUlStyles .TreeViewItemVisual{align-items:center;color:var(--fgColor-muted);display:flex;height:var(--custom-line-height,1.3rem)}.TreeViewRootUlStyles .TreeViewItemLeadingAction{color:var(--fgColor-muted);display:flex;grid-area:leadingAction}:is(.TreeViewRootUlStyles .TreeViewItemLeadingAction)>button{flex-shrink:1}.TreeViewRootUlStyles .TreeViewItemLevelLine{border-color:var(--borderColor-muted);border-right:var(--borderWidth-thin) solid;height:100%;width:100%}@media (hover:hover){.TreeViewRootUlStyles .TreeViewItemLevelLine{border-color:#0000}.TreeViewRootUlStyles:focus-within .TreeViewItemLevelLine,.TreeViewRootUlStyles:hover .TreeViewItemLevelLine{border-color:var(--borderColor-muted)}}.TreeViewRootUlStyles .TreeViewVisuallyHidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.TreeViewSkeletonItemContainerStyle{align-items:center;column-gap:.5rem;display:flex;height:2rem}@media (pointer:coarse){.TreeViewSkeletonItemContainerStyle{height:2.75rem}}.TreeViewSkeletonItemContainerStyle:nth-of-type(5n+1){--tree-item-loading-width:67%}.TreeViewSkeletonItemContainerStyle:nth-of-type(5n+2){--tree-item-loading-width:47%}.TreeViewSkeletonItemContainerStyle:nth-of-type(5n+3){--tree-item-loading-width:73%}.TreeViewSkeletonItemContainerStyle:nth-of-type(5n+4){--tree-item-loading-width:64%}.TreeViewSkeletonItemContainerStyle:nth-of-type(5n+5){--tree-item-loading-width:50%}.TreeItemSkeletonTextStyles{width:var(--tree-item-loading-width,67%)}.TreeViewFailureMessage{align-items:center;display:grid;gap:.5rem;grid-template-columns:auto 1fr;width:100%}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["tree_view.pcss"],"names":[],"mappings":"AAEA,sBAGE,eAAgB,CADhB,QAAS,CADT,SA+RF,CA9QE,oCACE,YAeF,CAbE,2DACE,uDAOF,CALE,8BAHF,2DAII,+BAAgC,CAEhC,iBAEJ,CADE,CAGF,kEACE,sBACF,CAGF,6CACE,SAAU,CACV,mBAAoB,CACpB,sBAAuB,CAOvB,wCAAyC,CADzC,4BAA6B,CAH7B,YAAa,CAEb,sCAAuC,CAIvC,yDAA0D,CAD1D,6FAA8F,CAN9F,iBAAkB,CAElB,UAAW,CAOX,gEAAmE,CACnE,+DA4BF,CA1BE,wDACE,yDAMF,CAJE,8BAHF,wDAII,uBAA8B,CAC9B,mBAEJ,CADE,CAGF,wBA1BF,6CA2BI,qBAAsB,CACtB,yBAeJ,CAdE,CAEA,qFAEE,wBAA6B,CAD7B,cAMF,CAHE,8BAJF,qFAKI,YAEJ,CADE,CAGF,qFACE,uDACF,CAGF,4EACE,+BACF,CAGA,wGACE,4DAwBF,CApBE,mHAaE,sCAAuC,CACvC,wCAAyC,CARzC,UAAW,CADX,aAAc,CAFd,gCAAmC,CAFnC,iBAAkB,CAClB,mCAAoC,CAEpC,YAeF,CAHE,8BAhBF,mHAiBI,8BAEJ,CADE,CAIJ,0CAWE,sBAAuB,CAHvB,0BAA2B,CAI3B,cAAe,CAXf,YAAa,CAQb,gBAAiB,CAPjB,WAAY,CAQZ,sBAAuB,CAHvB,kEAMF,CAEA,qDACE,yDACF,CAEA,6CAEE,oDAAqD,CADrD,iDAEF,CAGA,yGACE,iCAA0B,CAA1B,yBAA0B,CAC1B,iDACF,CAEA,2CAWE,cAAe,CAVf,YAAa,CAmBb,8BAA+B,CAD/B,iBAAkB,CAjBlB,WAAY,CAgBZ,+EAAkF,CAdlF,YAAa,CADb,4BAA6B,CAc7B,mFAAsF,CAFtF,gFAkDF,CA3CE,iHAfA,wBAA6B,CAC7B,WAAY,CAHZ,eAAgB,CAIhB,yBAA0B,CAH1B,wBAAiB,CAAjB,gBAAiB,CAIjB,uCAuBA,CAXA,sEAOE,wCAAyC,CALzC,iCAAkC,CADlC,iBAAkB,CAOlB,qCAGF,CAGE,yFACE,8CAA+C,CAC/C,oDAAqD,CACrD,0EAQF,CALE,qGAGE,kEAAwE,CADxE,kCAAmC,CADnC,kBAGF,CAKF,0FACE,8CAA+C,CAC/C,oDAAqD,CACrD,0EASF,CANE,sGAGE,kEAAwE,CACxE,cAAe,CAFf,wUAAia,CADja,kBAIF,CAKN,+CACE,iCAAkC,CAClC,aAAc,CACd,OACF,CAEA,gFACE,eAAgB,CAChB,sBAAuB,CACvB,kBACF,CAEA,iFAEE,qBACF,CAEA,0CAOE,kBAAmB,CADnB,0BAA2B,CAL3B,YAAa,CAIb,uCAGF,CAEA,iDAEE,0BAA2B,CAD3B,YAAa,CAEb,uBAKF,CAHE,6DACE,aACF,CAGF,6CAQE,qCAAsC,CACtC,0CAA2C,CAP3C,WAAY,CADZ,UASF,CAQA,qBACE,6CACE,kBACF,CAEA,6GAEE,qCACF,CACF,CAEA,8CAGE,UAAW,CAGX,WAAY,CACZ,eAAgB,CAHhB,SAAU,CAHV,iBAAkB,CAClB,SAAU,CAMV,kBAAsB,CAEtB,cAAe,CADf,kBAEF,CAGF,oCAEE,kBAAmB,CACnB,gBAAkB,CAFlB,YAAa,CAGb,WAyBF,CAvBE,wBANF,oCAOI,cAsBJ,CArBE,CAEA,sDACE,6BACF,CAEA,sDACE,6BACF,CAEA,sDACE,6BACF,CAEA,sDACE,6BACF,CAEA,sDACE,6BACF,CAGF,4BACE,wCACF,CAEA,wBAKE,kBAAmB,CAJnB,YAAa,CAEb,SAAW,CADX,8BAA+B,CAE/B,UAEF","file":"tree_view.css","sourcesContent":["/* stylelint-disable selector-max-type -- Copied from primer/react */\n\n.TreeViewRootUlStyles {\n padding: 0;\n margin: 0;\n list-style: none;\n\n /*\n * WARNING: This is a performance optimization.\n *\n * We define styles for the tree items at the root level of the tree\n * to avoid recomputing the styles for each item when the tree updates.\n * We're sacrificing maintainability for performance because TreeView\n * needs to be performant enough to handle large trees (thousands of items).\n *\n * This is intended to be a temporary solution until we can improve the\n * performance of our styling patterns.\n *\n * Do NOT copy this pattern without understanding the tradeoffs.\n */\n & .TreeViewItem {\n outline: none;\n\n &:focus-visible > div {\n box-shadow: var(--boxShadow-thick) var(--fgColor-accent);\n\n @media (forced-colors: active) {\n outline: 2px solid HighlightText;\n /* stylelint-disable-next-line declaration-property-value-no-unknown -- Copied from primer/react */\n outline-offset: -2;\n }\n }\n\n &[data-has-leading-action] {\n --has-leading-action: 1;\n }\n }\n\n & .TreeViewItemContainer {\n --level: 1;\n --toggle-width: 1rem;\n --min-item-height: 2rem;\n\n position: relative;\n display: grid;\n width: 100%;\n font-size: var(--text-body-size-medium);\n color: var(--fgColor-default);\n border-radius: var(--borderRadius-medium);\n grid-template-columns: var(--spacer-width) var(--leading-action-width) var(--toggle-width) 1fr;\n grid-template-areas: 'spacer leadingAction toggle content';\n\n --leading-action-width: calc(var(--has-leading-action, 0) * 1.5rem);\n --spacer-width: calc(calc(var(--level) - 1) * (var(--toggle-width) / 2));\n\n &:hover {\n background-color: var(--control-transparent-bgColor-hover);\n\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: -2px;\n }\n }\n\n @media (pointer: coarse) {\n --toggle-width: 1.5rem;\n --min-item-height: 2.75rem;\n }\n\n &:has(.TreeViewFailureMessage):hover {\n cursor: default;\n background-color: transparent;\n\n @media (forced-colors: active) {\n outline: none;\n }\n }\n\n &:has([role='treeitem']:focus-visible) {\n box-shadow: var(--boxShadow-thick) var(--fgColor-accent);\n }\n }\n\n &:where([data-omit-spacer='true']) .TreeViewItemContainer {\n grid-template-columns: 0 0 0 1fr;\n }\n\n /* stylelint-disable-next-line selector-max-specificity */\n & .TreeViewItem > .TreeViewItemContainer:has(.TreeViewItemContent[aria-current='true']) {\n background-color: var(--control-transparent-bgColor-selected);\n\n /* Current item indicator */\n /* stylelint-disable-next-line selector-max-specificity -- Copied from primer/react */\n &::after {\n position: absolute;\n top: calc(50% - var(--base-size-12));\n left: calc(-1 * var(--base-size-8));\n width: 0.25rem;\n height: 1.5rem;\n content: '';\n\n /*\n * Use fgColor accent for consistency across all themes. Using the \"correct\" variable,\n * --bgColor-accent-emphasis, causes vrt failures for dark high contrast mode\n */\n /* stylelint-disable-next-line primer/colors */\n background-color: var(--fgColor-accent);\n border-radius: var(--borderRadius-medium);\n\n @media (forced-colors: active) {\n background-color: HighlightText;\n }\n }\n }\n\n & .TreeViewItemToggle {\n display: flex;\n height: 100%;\n\n /* The toggle should appear vertically centered for single-line items, but remain at the top for items that wrap\n across more lines. */\n /* stylelint-disable-next-line primer/spacing */\n padding-top: calc(var(--min-item-height) / 2 - var(--base-size-12) / 2);\n color: var(--fgColor-muted);\n grid-area: toggle;\n justify-content: center;\n align-items: flex-start;\n cursor: pointer;\n }\n\n & .TreeViewItemToggleHover:hover {\n background-color: var(--control-transparent-bgColor-hover);\n }\n\n & .TreeViewItemToggleEnd {\n border-top-left-radius: var(--borderRadius-medium);\n border-bottom-left-radius: var(--borderRadius-medium);\n }\n\n /* stylelint-disable-next-line selector-no-qualifying-type */\n & a.TreeViewItemContent:hover, button.TreeViewItemContent:hover {\n text-decoration: underline;\n text-decoration-color: var(--control-fgColor-rest);\n }\n\n & .TreeViewItemContent {\n display: flex;\n height: 100%;\n padding: 0 var(--base-size-8);\n outline: none;\n text-align: left;\n user-select: none;\n background-color: transparent;\n border: none;\n touch-action: manipulation;\n -webkit-tap-highlight-color: transparent;\n cursor: pointer;\n\n /* The dynamic top and bottom padding to maintain the minimum item height for single line items */\n /* stylelint-disable-next-line primer/spacing */\n padding-top: calc((var(--min-item-height) - var(--custom-line-height, 1.3rem)) / 2);\n /* stylelint-disable-next-line primer/spacing */\n padding-bottom: calc((var(--min-item-height) - var(--custom-line-height, 1.3rem)) / 2);\n line-height: var(--custom-line-height, var(--text-body-lineHeight-medium, 1.4285));\n grid-area: content;\n gap: var(--stack-gap-condensed);\n\n & .TreeViewItemCheckbox {\n position: relative;\n color: var(--control-fgColor-rest);\n text-align: left;\n user-select: none;\n background-color: transparent;\n border: none;\n border-radius: var(--borderRadius-medium);\n transition: background 33.333ms linear;\n touch-action: manipulation;\n -webkit-tap-highlight-color: transparent;\n }\n\n &[aria-checked='true'] {\n & .FormControl-checkbox {\n background: var(--control-checked-bgColor-rest);\n border-color: var(--control-checked-borderColor-rest);\n transition: background-color, border-color 80ms cubic-bezier(0.32, 0, 0.67, 0) 0ms; /* unchecked -> checked */\n\n /* stylelint-disable-next-line max-nesting-depth, selector-max-specificity -- Copied from primer/react */\n &::before {\n visibility: visible;\n transition: visibility 0s linear 0s;\n animation: checkmarkIn 80ms cubic-bezier(0.65, 0, 0.35, 1) forwards 80ms;\n }\n }\n }\n\n &[aria-checked='mixed'] {\n & .FormControl-checkbox {\n background: var(--control-checked-bgColor-rest);\n border-color: var(--control-checked-borderColor-rest);\n transition: background-color, border-color 80ms cubic-bezier(0.32, 0, 0.67, 0) 0ms; /* unchecked -> checked */\n\n /* stylelint-disable-next-line max-nesting-depth, selector-max-specificity -- Copied from primer/react */\n &::before {\n visibility: visible;\n mask-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMiIgdmlld0JveD0iMCAwIDEwIDIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAxQzAgMC40NDc3MTUgMC40NDc3MTUgMCAxIDBIOUM5LjU1MjI5IDAgMTAgMC40NDc3MTUgMTAgMUMxMCAxLjU1MjI4IDkuNTUyMjkgMiA5IDJIMUMwLjQ0NzcxNSAyIDAgMS41NTIyOCAwIDFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K');\n animation: checkmarkIn 80ms cubic-bezier(0.65, 0, 0.35, 1) forwards 80ms;\n clip-path: none;\n }\n }\n }\n }\n\n & .TreeViewItemContentText {\n color: var(--control-fgColor-rest);\n flex: 1 1 auto;\n width: 0;\n }\n\n &:where([data-truncate-text='true']) .TreeViewItemContentText {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n &:where([data-truncate-text='false']) .TreeViewItemContentText {\n /* stylelint-disable-next-line declaration-property-value-keyword-no-deprecated -- Copied from primer/react */\n word-break: break-word;\n }\n\n & .TreeViewItemVisual {\n display: flex;\n\n /* The visual icons should appear vertically centered for single-line items, but remain at the top for items that wrap\n across more lines. */\n height: var(--custom-line-height, 1.3rem);\n color: var(--fgColor-muted);\n align-items: center;\n }\n\n & .TreeViewItemLeadingAction {\n display: flex;\n color: var(--fgColor-muted);\n grid-area: leadingAction;\n\n & > button {\n flex-shrink: 1;\n }\n }\n\n & .TreeViewItemLevelLine {\n width: 100%;\n height: 100%;\n\n /*\n * On devices without hover, the nesting indicator lines\n * appear at all times.\n */\n border-color: var(--borderColor-muted);\n border-right: var(--borderWidth-thin) solid;\n }\n\n /*\n * On devices with :hover support, the nesting indicator lines\n * fade in when the user mouses over the entire component,\n * or when there's focus inside the component. This makes\n * sure the component remains simple when not in use.\n */\n @media (hover: hover) {\n .TreeViewItemLevelLine {\n border-color: transparent;\n }\n\n &:hover .TreeViewItemLevelLine,\n &:focus-within .TreeViewItemLevelLine {\n border-color: var(--borderColor-muted);\n }\n }\n\n & .TreeViewVisuallyHidden {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n /* stylelint-disable-next-line primer/spacing */\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n }\n}\n\n.TreeViewSkeletonItemContainerStyle {\n display: flex;\n align-items: center;\n column-gap: 0.5rem;\n height: 2rem;\n\n @media (pointer: coarse) {\n height: 2.75rem;\n }\n\n &:nth-of-type(5n + 1) {\n --tree-item-loading-width: 67%;\n }\n\n &:nth-of-type(5n + 2) {\n --tree-item-loading-width: 47%;\n }\n\n &:nth-of-type(5n + 3) {\n --tree-item-loading-width: 73%;\n }\n\n &:nth-of-type(5n + 4) {\n --tree-item-loading-width: 64%;\n }\n\n &:nth-of-type(5n + 5) {\n --tree-item-loading-width: 50%;\n }\n}\n\n.TreeItemSkeletonTextStyles {\n width: var(--tree-item-loading-width, 67%);\n}\n\n.TreeViewFailureMessage {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 0.5rem;\n width: 100%;\n align-items: center;\n}\n"]}
@@ -1,7 +0,0 @@
1
- <tree-view>
2
- <%= render(Primer::BaseComponent.new(**@system_arguments)) do %>
3
- <% nodes.each do |node| %>
4
- <%= node %>
5
- <% end %>
6
- <% end %>
7
- </tree-view>