openproject-primer_view_components 0.71.0 → 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 (120) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/app/assets/javascripts/components/primer/open_project/filterable_tree_view.d.ts +2 -2
  4. data/app/assets/javascripts/components/primer/primer.d.ts +4 -4
  5. data/app/assets/javascripts/primer_view_components.js +1 -1
  6. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  7. data/app/assets/styles/primer_view_components.css +1 -1
  8. data/app/assets/styles/primer_view_components.css.map +1 -1
  9. data/app/components/primer/{open_project → alpha}/file_tree_view/directory_node.rb +1 -1
  10. data/app/components/primer/{open_project → alpha}/file_tree_view/file_node.rb +1 -1
  11. data/app/components/primer/{open_project → alpha}/file_tree_view.rb +1 -1
  12. data/app/components/primer/{open_project → alpha}/skeleton_box.css.json +1 -1
  13. data/app/components/primer/{open_project → alpha}/skeleton_box.css.map +1 -1
  14. data/app/components/primer/{open_project → alpha}/skeleton_box.pcss +1 -1
  15. data/app/components/primer/{open_project → alpha}/skeleton_box.rb +3 -1
  16. data/app/components/primer/{open_project → alpha}/tree_view/icon.rb +2 -2
  17. data/app/components/primer/{open_project → alpha}/tree_view/icon_pair.rb +4 -4
  18. data/app/components/primer/{open_project → alpha}/tree_view/leading_action.rb +2 -2
  19. data/app/components/primer/{open_project → alpha}/tree_view/leaf_node.rb +6 -6
  20. data/app/components/primer/{open_project → alpha}/tree_view/loading_failure_message.rb +2 -2
  21. data/app/components/primer/{open_project → alpha}/tree_view/node.rb +17 -17
  22. data/app/components/primer/{open_project → alpha}/tree_view/skeleton_loader.html.erb +3 -3
  23. data/app/components/primer/{open_project → alpha}/tree_view/skeleton_loader.rb +4 -4
  24. data/app/components/primer/{open_project → alpha}/tree_view/spinner_loader.html.erb +2 -2
  25. data/app/components/primer/{open_project → alpha}/tree_view/spinner_loader.rb +4 -4
  26. data/app/components/primer/{open_project → alpha}/tree_view/sub_tree.html.erb +1 -1
  27. data/app/components/primer/{open_project → alpha}/tree_view/sub_tree.rb +10 -10
  28. data/app/components/primer/{open_project → alpha}/tree_view/sub_tree_container.rb +2 -2
  29. data/app/components/primer/{open_project → alpha}/tree_view/sub_tree_node.rb +15 -15
  30. data/app/components/primer/{open_project → alpha}/tree_view/tree_view_include_fragment_element.js +0 -1
  31. data/app/components/primer/{open_project → alpha}/tree_view/tree_view_include_fragment_element.ts +0 -1
  32. data/app/components/primer/{open_project → alpha}/tree_view/visual.rb +2 -2
  33. data/app/components/primer/{open_project → alpha}/tree_view.css +1 -1
  34. data/app/components/primer/{open_project → alpha}/tree_view.css.json +1 -3
  35. data/app/components/primer/alpha/tree_view.css.map +1 -0
  36. data/app/components/primer/{open_project → alpha}/tree_view.html.erb +1 -0
  37. data/app/components/primer/{open_project → alpha}/tree_view.pcss +6 -15
  38. data/app/components/primer/{open_project → alpha}/tree_view.rb +14 -11
  39. data/app/components/primer/beta/breadcrumbs.css +1 -1
  40. data/app/components/primer/beta/breadcrumbs.css.json +0 -1
  41. data/app/components/primer/beta/breadcrumbs.css.map +1 -1
  42. data/app/components/primer/beta/breadcrumbs.pcss +2 -8
  43. data/app/components/primer/beta/progress_bar.css +1 -1
  44. data/app/components/primer/beta/progress_bar.css.map +1 -1
  45. data/app/components/primer/beta/progress_bar.pcss +3 -2
  46. data/app/components/primer/beta/relative_time.rb +3 -0
  47. data/app/components/primer/open_project/filterable_tree_view/sub_tree.rb +1 -1
  48. data/app/components/primer/open_project/filterable_tree_view.d.ts +2 -2
  49. data/app/components/primer/open_project/filterable_tree_view.html.erb +1 -1
  50. data/app/components/primer/open_project/filterable_tree_view.js +2 -2
  51. data/app/components/primer/open_project/filterable_tree_view.rb +4 -4
  52. data/app/components/primer/open_project/filterable_tree_view.ts +2 -2
  53. data/app/components/primer/primer.d.ts +4 -4
  54. data/app/components/primer/primer.js +4 -4
  55. data/app/components/primer/primer.pcss +2 -2
  56. data/app/components/primer/primer.ts +4 -4
  57. data/app/controllers/primer/view_components/tree_view_items_controller.rb +1 -1
  58. data/app/forms/check_box_with_nested_form.rb +10 -10
  59. data/app/forms/radio_button_with_nested_form.rb +16 -16
  60. data/app/lib/primer/experimental_slot_helpers.rb +2 -2
  61. data/app/views/primer/view_components/tree_view_items/async_alpha.html_fragment.erb +1 -1
  62. data/app/views/primer/view_components/tree_view_items/index.html_fragment.erb +1 -1
  63. data/lib/primer/view_components/version.rb +1 -1
  64. data/previews/primer/{open_project → alpha}/file_tree_view_preview/default.html.erb +1 -1
  65. data/previews/primer/{open_project → alpha}/file_tree_view_preview/playground.html.erb +1 -1
  66. data/previews/primer/{open_project → alpha}/file_tree_view_preview.rb +1 -1
  67. data/previews/primer/{open_project → alpha}/skeleton_box_preview.rb +3 -3
  68. data/previews/primer/{open_project → alpha}/tree_view_preview/async_alpha.html.erb +1 -1
  69. data/previews/primer/{open_project → alpha}/tree_view_preview/buttons.html.erb +1 -1
  70. data/previews/primer/{open_project → alpha}/tree_view_preview/default.html.erb +2 -2
  71. data/previews/primer/{open_project → alpha}/tree_view_preview/empty.html.erb +1 -1
  72. data/previews/primer/alpha/tree_view_preview/form_input.html.erb +14 -0
  73. data/previews/primer/{open_project → alpha}/tree_view_preview/leaf_node_playground.html.erb +1 -1
  74. data/previews/primer/{open_project → alpha}/tree_view_preview/links.html.erb +1 -1
  75. data/previews/primer/{open_project → alpha}/tree_view_preview/loading_failure.html.erb +1 -1
  76. data/previews/primer/{open_project → alpha}/tree_view_preview/loading_skeleton.html.erb +1 -1
  77. data/previews/primer/{open_project → alpha}/tree_view_preview/loading_spinner.html.erb +1 -1
  78. data/previews/primer/{open_project → alpha}/tree_view_preview/playground.html.erb +1 -1
  79. data/previews/primer/{open_project → alpha}/tree_view_preview.rb +17 -8
  80. data/previews/primer/open_project/filterable_tree_view_preview/stress_test.html.erb +28 -0
  81. data/static/arguments.json +1560 -1542
  82. data/static/audited_at.json +17 -17
  83. data/static/classes.json +5 -5
  84. data/static/constants.json +101 -101
  85. data/static/info_arch.json +6203 -6170
  86. data/static/previews.json +34 -21
  87. data/static/statuses.json +17 -17
  88. metadata +86 -84
  89. data/app/components/primer/open_project/tree_view.css.map +0 -1
  90. /data/app/assets/javascripts/components/primer/{open_project → alpha}/tree_view/tree_view.d.ts +0 -0
  91. /data/app/assets/javascripts/components/primer/{open_project → alpha}/tree_view/tree_view_icon_pair_element.d.ts +0 -0
  92. /data/app/assets/javascripts/components/primer/{open_project → alpha}/tree_view/tree_view_include_fragment_element.d.ts +0 -0
  93. /data/app/assets/javascripts/components/primer/{open_project → alpha}/tree_view/tree_view_roving_tab_index.d.ts +0 -0
  94. /data/app/assets/javascripts/components/primer/{open_project → alpha}/tree_view/tree_view_sub_tree_node_element.d.ts +0 -0
  95. /data/app/components/primer/{open_project → alpha}/file_tree_view/directory_node.html.erb +0 -0
  96. /data/app/components/primer/{open_project → alpha}/file_tree_view/file_node.html.erb +0 -0
  97. /data/app/components/primer/{open_project → alpha}/skeleton_box.css +0 -0
  98. /data/app/components/primer/{open_project → alpha}/skeleton_box.html.erb +0 -0
  99. /data/app/components/primer/{open_project → alpha}/tree_view/icon.html.erb +0 -0
  100. /data/app/components/primer/{open_project → alpha}/tree_view/icon_pair.html.erb +0 -0
  101. /data/app/components/primer/{open_project → alpha}/tree_view/leading_action.html.erb +0 -0
  102. /data/app/components/primer/{open_project → alpha}/tree_view/leaf_node.html.erb +0 -0
  103. /data/app/components/primer/{open_project → alpha}/tree_view/loading_failure_message.html.erb +0 -0
  104. /data/app/components/primer/{open_project → alpha}/tree_view/node.html.erb +0 -0
  105. /data/app/components/primer/{open_project → alpha}/tree_view/sub_tree_container.html.erb +0 -0
  106. /data/app/components/primer/{open_project → alpha}/tree_view/sub_tree_node.html.erb +0 -0
  107. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view.d.ts +0 -0
  108. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view.js +0 -0
  109. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view.ts +0 -0
  110. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_icon_pair_element.d.ts +0 -0
  111. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_icon_pair_element.js +0 -0
  112. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_icon_pair_element.ts +0 -0
  113. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_include_fragment_element.d.ts +0 -0
  114. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_roving_tab_index.d.ts +0 -0
  115. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_roving_tab_index.js +0 -0
  116. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_roving_tab_index.ts +0 -0
  117. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_sub_tree_node_element.d.ts +0 -0
  118. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_sub_tree_node_element.js +0 -0
  119. /data/app/components/primer/{open_project → alpha}/tree_view/tree_view_sub_tree_node_element.ts +0 -0
  120. /data/app/components/primer/{open_project → alpha}/tree_view/visual.html.erb +0 -0
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Primer
4
- module OpenProject
4
+ module Alpha
5
5
  class FileTreeView
6
6
  class DirectoryNode < TreeView::SubTreeNode
7
7
  def initialize(icon_arguments: nil, expanded_icon_arguments: nil, collapsed_icon_arguments: nil, **system_arguments)
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Primer
4
- module OpenProject
4
+ module Alpha
5
5
  class FileTreeView
6
6
  class FileNode < TreeView::LeafNode
7
7
  def initialize(icon_arguments: {}, **system_arguments)
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Primer
4
- module OpenProject
4
+ module Alpha
5
5
  class FileTreeView < TreeView
6
6
  def with_file(**system_arguments, &block)
7
7
  with_leaf(**system_arguments, component_klass: FileNode, &block)
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "open_project/skeleton_box",
2
+ "name": "alpha/skeleton_box",
3
3
  "selectors": [
4
4
  ".SkeletonBox"
5
5
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["skeleton_box.pcss"],"names":[],"mappings":"AAAA,mBACE,GACE,kBACF,CAEA,GACE,eACF,CACF,CAEA,aAKE,iBAAkB,CAFlB,qCAAsC,CACtC,uCAAwC,CAHxC,aAAc,CACd,WAiBF,CAZE,8CAPF,aAUI,iBAAkB,CAClB,qBAAsB,CACtB,kCAAmC,CAJnC,wDAAqE,CACrE,cAUJ,CANE,CAEA,8BAfF,aAgBI,uBAA8B,CAC9B,mBAEJ,CADE","file":"skeleton_box.css","sourcesContent":["@keyframes shimmer {\n from {\n mask-position: 200%;\n }\n\n to {\n mask-position: 0%;\n }\n}\n\n.SkeletonBox {\n display: block;\n height: 1rem;\n background-color: var(--bgColor-muted);\n border-radius: var(--borderRadius-small);\n animation: shimmer;\n\n @media (prefers-reduced-motion: no-preference) {\n mask-image: linear-gradient(75deg, #000 30%, rgba(0, 0, 0, 0.65) 80%);\n mask-size: 200%;\n animation: shimmer;\n animation-duration: 1s;\n animation-iteration-count: infinite;\n }\n\n @media (forced-colors: active) {\n outline: 1px solid transparent;\n outline-offset: -1px;\n }\n}\n"]}
1
+ {"version":3,"sources":["skeleton_box.pcss"],"names":[],"mappings":"AAAA,mBACE,GACE,kBACF,CAEA,GACE,eACF,CACF,CAEA,aAKE,iBAAkB,CAFlB,qCAAsC,CACtC,uCAAwC,CAHxC,aAAc,CACd,WAiBF,CAZE,8CAPF,aAUI,iBAAkB,CAClB,qBAAsB,CACtB,kCAAmC,CAJnC,wDAAoE,CACpE,cAUJ,CANE,CAEA,8BAfF,aAgBI,uBAA8B,CAC9B,mBAEJ,CADE","file":"skeleton_box.css","sourcesContent":["@keyframes shimmer {\n from {\n mask-position: 200%;\n }\n\n to {\n mask-position: 0%;\n }\n}\n\n.SkeletonBox {\n display: block;\n height: 1rem;\n background-color: var(--bgColor-muted);\n border-radius: var(--borderRadius-small);\n animation: shimmer;\n\n @media (prefers-reduced-motion: no-preference) {\n mask-image: linear-gradient(75deg, #000 30%, rgb(0, 0, 0, 0.65) 80%);\n mask-size: 200%;\n animation: shimmer;\n animation-duration: 1s;\n animation-iteration-count: infinite;\n }\n\n @media (forced-colors: active) {\n outline: 1px solid transparent;\n outline-offset: -1px;\n }\n}\n"]}
@@ -16,7 +16,7 @@
16
16
  animation: shimmer;
17
17
 
18
18
  @media (prefers-reduced-motion: no-preference) {
19
- mask-image: linear-gradient(75deg, #000 30%, rgba(0, 0, 0, 0.65) 80%);
19
+ mask-image: linear-gradient(75deg, #000 30%, rgb(0, 0, 0, 0.65) 80%);
20
20
  mask-size: 200%;
21
21
  animation: shimmer;
22
22
  animation-duration: 1s;
@@ -1,10 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Primer
4
- module OpenProject
4
+ module Alpha
5
5
  # A SkeletonBox provides a placeholder for non-text, non-Avatar elements (e.g., hero images)
6
6
  # that are still loading. You can adjust width and height to match the content's dimensions.
7
7
  class SkeletonBox < Primer::Component
8
+ status :alpha
9
+
8
10
  # @param height [String] Any valid CSS height.
9
11
  # @param width [String] Any valid CSS width.
10
12
  # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Primer
4
- module OpenProject
4
+ module Alpha
5
5
  class TreeView
6
6
  # An icon for a `TreeView` node.
7
7
  #
8
- # This component is part of the <%= link_to_component(Primer::OpenProject::TreeView) %> component and should
8
+ # This component is part of the <%= link_to_component(Primer::Alpha::TreeView) %> component and should
9
9
  # not be used directly.
10
10
  class Icon < Primer::Component
11
11
  # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Beta::Octicon) %>.
@@ -1,24 +1,24 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Primer
4
- module OpenProject
4
+ module Alpha
5
5
  class TreeView
6
6
  # A pair of icons for a `TreeView` sub-tree that displays distinct icons when the sub-tree is
7
7
  # expanded and collapsed.
8
8
  #
9
- # This component is part of the <%= link_to_component(Primer::OpenProject::TreeView) %> component and should
9
+ # This component is part of the <%= link_to_component(Primer::Alpha::TreeView) %> component and should
10
10
  # not be used directly.
11
11
  class IconPair < Primer::Component
12
12
  # The expanded icon.
13
13
  #
14
- # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::OpenProject::TreeView::Icon) %>.
14
+ # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::TreeView::Icon) %>.
15
15
  renders_one :expanded_icon, lambda { |**system_arguments|
16
16
  Icon.new(**system_arguments)
17
17
  }
18
18
 
19
19
  # The collapsed icon.
20
20
  #
21
- # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::OpenProject::TreeView::Icon) %>.
21
+ # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::TreeView::Icon) %>.
22
22
  renders_one :collapsed_icon, lambda { |**system_arguments|
23
23
  Icon.new(**system_arguments)
24
24
  }
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Primer
4
- module OpenProject
4
+ module Alpha
5
5
  class TreeView
6
6
  # The leading action for `TreeView` nodes.
7
7
  #
8
- # This component is part of the <%= link_to_component(Primer::OpenProject::TreeView) %> component and should
8
+ # This component is part of the <%= link_to_component(Primer::Alpha::TreeView) %> component and should
9
9
  # not be used directly.
10
10
  class LeadingAction < Primer::Component
11
11
  # @param action [ViewComponent::Base] A component or other renderable to use as the action button etc.
@@ -1,18 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Primer
4
- module OpenProject
4
+ module Alpha
5
5
  class TreeView
6
6
  # A `TreeView` leaf node.
7
7
  #
8
- # This component is part of the <%= link_to_component(Primer::OpenProject::TreeView) %> component and should
8
+ # This component is part of the <%= link_to_component(Primer::Alpha::TreeView) %> component and should
9
9
  # not be used directly.
10
10
  class LeafNode < Primer::Component
11
11
  # @!parse
12
12
  # # Adds a leading visual icon rendered to the left of the node's label.
13
13
  # #
14
14
  # # @param label [String] A label describing the visual, displayed only to screen readers.
15
- # # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::OpenProject::TreeView::Icon) %>.
15
+ # # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::TreeView::Icon) %>.
16
16
  # def with_leading_visual_icon(label: nil, **system_arguments, &block)
17
17
  # end
18
18
 
@@ -52,7 +52,7 @@ module Primer
52
52
  # # Adds a trailing visual icon rendered to the right of the node's label.
53
53
  # #
54
54
  # # @param label [String] A label describing the visual, displayed only to screen readers.
55
- # # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::OpenProject::TreeView::Icon) %>.
55
+ # # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::TreeView::Icon) %>.
56
56
  # def with_trailing_visual_icon(label: nil, **system_arguments, &block)
57
57
  # end
58
58
 
@@ -69,7 +69,7 @@ module Primer
69
69
  delegate :current?, :merge_system_arguments!, to: :@node
70
70
 
71
71
  # @param label [String] The node's label, i.e. it's textual content.
72
- # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::OpenProject::TreeView::Node) %>.
72
+ # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::TreeView::Node) %>.
73
73
  def initialize(label:, **system_arguments)
74
74
  @label = label
75
75
  @system_arguments = system_arguments
@@ -78,7 +78,7 @@ module Primer
78
78
  data: { "node-type": "leaf" }
79
79
  )
80
80
 
81
- @node = Primer::OpenProject::TreeView::Node.new(**@system_arguments)
81
+ @node = Primer::Alpha::TreeView::Node.new(**@system_arguments)
82
82
  end
83
83
 
84
84
  private
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Primer
4
- module OpenProject
4
+ module Alpha
5
5
  class TreeView
6
6
  # A `TreeView` loading failure message.
7
7
  #
8
- # This component is part of the <%= link_to_component(Primer::OpenProject::TreeView) %> component and should
8
+ # This component is part of the <%= link_to_component(Primer::Alpha::TreeView) %> component and should
9
9
  # not be used directly.
10
10
  class LoadingFailureMessage < Primer::Component
11
11
  DEFAULT_TEXT = "Something went wrong"
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Primer
4
- module OpenProject
4
+ module Alpha
5
5
  class TreeView
6
6
  # A generic `TreeView` node.
7
7
  #
8
- # This component is part of the <%= link_to_component(Primer::OpenProject::TreeView) %> component and should
8
+ # This component is part of the <%= link_to_component(Primer::Alpha::TreeView) %> component and should
9
9
  # not be used directly.
10
10
  class Node < Primer::Component
11
- DEFAULT_NODE_VARIANT = Primer::OpenProject::TreeView::DEFAULT_NODE_VARIANT
11
+ DEFAULT_NODE_VARIANT = Primer::Alpha::TreeView::DEFAULT_NODE_VARIANT
12
12
  NODE_VARIANT_TAG_MAP = { DEFAULT_NODE_VARIANT => :div, :button => :button, :anchor => :a }.freeze
13
13
  NODE_VARIANT_TAG_OPTIONS = NODE_VARIANT_TAG_MAP.keys.freeze
14
14
 
@@ -68,11 +68,11 @@ module Primer
68
68
  ]
69
69
 
70
70
  # @param path [Array<String>] The node's "path," i.e. this node's label and the labels of all its ancestors. This node should be reachable by traversing the tree following this path.
71
- # @param node_variant [Symbol] The node variant to use for the node's content, i.e. the `:button` or `:div`. <%= one_of(Primer::OpenProject::TreeView::NODE_VARIANT_OPTIONS) %>
71
+ # @param node_variant [Symbol] The node variant to use for the node's content, i.e. the `:button` or `:div`. <%= one_of(Primer::Alpha::TreeView::NODE_VARIANT_OPTIONS) %>
72
72
  # @param href [String] The URL to use as the `href` attribute for this node. If set to a truthy value, the `tag:` parameter is ignored and assumed to be `:a`.
73
73
  # @param current [Boolean] Whether or not this node is the current node. The current node is styled differently than regular nodes and is the first element that receives focus when tabbing to the `TreeView` component.
74
- # @param select_variant [Symbol] Controls the type of checkbox that appears. <%= one_of(Primer::OpenProject::TreeView::Node::SELECT_VARIANT_OPTIONS) %>
75
- # @param checked [Boolean | String] The checked state of the node's checkbox. <%= one_of(Primer::OpenProject::TreeView::Node::CHECKED_STATES) %>
74
+ # @param select_variant [Symbol] Controls the type of checkbox that appears. <%= one_of(Primer::Alpha::TreeView::Node::SELECT_VARIANT_OPTIONS) %>
75
+ # @param checked [Boolean | String] The checked state of the node's checkbox. <%= one_of(Primer::Alpha::TreeView::Node::CHECKED_STATES) %>
76
76
  # @param disabled [Boolean] Whether or not the node can be activated. Passing `false` here will cause the node to appear visually disabled but it is still keyboard-focusable.
77
77
  # @param value [String] If this node is checked, this value will be sent to the server on form submission.
78
78
  # @param content_arguments [Hash] Arguments attached to the node's content, i.e the `<button>` or `<a>` element. <%= link_to_system_arguments_docs %>
@@ -114,23 +114,23 @@ module Primer
114
114
 
115
115
  @content_arguments[:aria] = merge_aria(
116
116
  @content_arguments, {
117
- aria: {
118
- level: level,
119
- selected: false,
120
- checked: checked,
121
- labelledby: content_id,
122
- disabled: disabled?
123
- }
117
+ aria: {
118
+ level: level,
119
+ selected: false,
120
+ checked: checked,
121
+ labelledby: content_id,
122
+ disabled: disabled?
124
123
  }
124
+ }
125
125
  )
126
126
 
127
127
  @content_arguments[:data] = merge_data(
128
128
  @content_arguments, {
129
- data: {
130
- value: value,
131
- path: @path.to_json
132
- }
129
+ data: {
130
+ value: value,
131
+ path: @path.to_json
133
132
  }
133
+ }
134
134
  )
135
135
 
136
136
  return unless current?
@@ -4,13 +4,13 @@
4
4
 
5
5
  <%= render(Primer::BaseComponent.new(tag: :"tree-view-include-fragment", src: @src, loading: :lazy, data: { target: "tree-view-sub-tree-node.subTree tree-view-sub-tree-node.includeFragment", path: @container.path.to_json }, hidden: @container.expanded?, accept: "text/fragment+html")) do %>
6
6
  <%= render(@container) do %>
7
- <%= render(Primer::OpenProject::TreeView::Node.new(path: [*@container.path, :loader], node_variant: :div)) do |node| %>
7
+ <%= render(Primer::Alpha::TreeView::Node.new(path: [*@container.path, :loader], node_variant: :div)) do |node| %>
8
8
  <% node.with_text_content do %>
9
9
  <div data-target="tree-view-sub-tree-node.loadingIndicator">
10
10
  <% @count.times do %>
11
11
  <span class="TreeViewSkeletonItemContainerStyle TreeViewItemSkeleton">
12
- <%= render(Primer::OpenProject::SkeletonBox.new(width: "16px")) %>
13
- <%= render(Primer::OpenProject::SkeletonBox.new(width: "100%", classes: "TreeItemSkeletonTextStyles")) %>
12
+ <%= render(Primer::Alpha::SkeletonBox.new(width: "16px")) %>
13
+ <%= render(Primer::Alpha::SkeletonBox.new(width: "100%", classes: "TreeItemSkeletonTextStyles")) %>
14
14
  </span>
15
15
  <% end %>
16
16
  </div>
@@ -1,16 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Primer
4
- module OpenProject
4
+ module Alpha
5
5
  class TreeView
6
6
  # Renders a loading skeleton for a `TreeView` sub-tree node.
7
7
  #
8
- # This component is part of the <%= link_to_component(Primer::OpenProject::TreeView) %> component and should
8
+ # This component is part of the <%= link_to_component(Primer::Alpha::TreeView) %> component and should
9
9
  # not be used directly.
10
10
  class SkeletonLoader < Primer::Component
11
11
  # The failure message that appears if loading nodes from the server fails.
12
12
  #
13
- # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::OpenProject::TreeView::LoadingFailureMessage) %>.
13
+ # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::TreeView::LoadingFailureMessage) %>.
14
14
  renders_one :loading_failure_message, lambda { |**system_arguments|
15
15
  system_arguments[:retry_button_arguments] ||= {}
16
16
  system_arguments[:retry_button_arguments][:data] = merge_data(
@@ -23,7 +23,7 @@ module Primer
23
23
 
24
24
  # @param src [String] The URL to fetch nodes from.
25
25
  # @param count [Integer] The number of skeleton nodes to render.
26
- # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::OpenProject::TreeView::SubTreeContainer) %>.
26
+ # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::TreeView::SubTreeContainer) %>.
27
27
  def initialize(src:, count: 3, **system_arguments)
28
28
  @src = src
29
29
  @count = count
@@ -4,14 +4,14 @@
4
4
 
5
5
  <%= render(Primer::BaseComponent.new(tag: :"tree-view-include-fragment", src: @src, loading: :lazy, data: { target: "tree-view-sub-tree-node.subTree tree-view-sub-tree-node.includeFragment", path: @container.path.to_json }, hidden: @container.expanded?, accept: "text/fragment+html")) do %>
6
6
  <%= render(@container) do %>
7
- <%= render(Primer::OpenProject::TreeView::Node.new(path: [*@container.path, :loader], data: { target: "tree-view-sub-tree-node.loadingIndicator" }, node_variant: :div)) do |node| %>
7
+ <%= render(Primer::Alpha::TreeView::Node.new(path: [*@container.path, :loader], data: { target: "tree-view-sub-tree-node.loadingIndicator" }, node_variant: :div)) do |node| %>
8
8
  <% node.with_text_content { "Loading..." } %>
9
9
  <% node.with_leading_visual do %>
10
10
  <%= render(Primer::Beta::Spinner.new(size: :small, wrapper_arguments: { classes: "TreeViewItemVisual" })) %>
11
11
  <% end %>
12
12
  <% end %>
13
13
 
14
- <%= render(Primer::OpenProject::TreeView::Node.new(path: [*@container.path, :failure_msg], data: { target: "tree-view-sub-tree-node.loadingFailureMessage" }, hidden: true, node_variant: :div)) do |node| %>
14
+ <%= render(Primer::Alpha::TreeView::Node.new(path: [*@container.path, :failure_msg], data: { target: "tree-view-sub-tree-node.loadingFailureMessage" }, hidden: true, node_variant: :div)) do |node| %>
15
15
  <% node.with_text_content do %>
16
16
  <%= loading_failure_message %>
17
17
  <% end %>
@@ -1,16 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Primer
4
- module OpenProject
4
+ module Alpha
5
5
  class TreeView
6
6
  # Renders a loading spinner for a `TreeView` sub-tree node.
7
7
  #
8
- # This component is part of the <%= link_to_component(Primer::OpenProject::TreeView) %> component and should
8
+ # This component is part of the <%= link_to_component(Primer::Alpha::TreeView) %> component and should
9
9
  # not be used directly.
10
10
  class SpinnerLoader < Primer::Component
11
11
  # The failure message that appears if loading nodes from the server fails.
12
12
  #
13
- # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::OpenProject::TreeView::LoadingFailureMessage) %>.
13
+ # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::TreeView::LoadingFailureMessage) %>.
14
14
  renders_one :loading_failure_message, lambda { |**system_arguments|
15
15
  system_arguments[:retry_button_arguments] ||= {}
16
16
  system_arguments[:retry_button_arguments][:data] = merge_data(
@@ -22,7 +22,7 @@ module Primer
22
22
  }
23
23
 
24
24
  # @param src [String] The URL to fetch nodes from.
25
- # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::OpenProject::TreeView::SubTreeContainer) %>.
25
+ # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::TreeView::SubTreeContainer) %>.
26
26
  def initialize(src:, **system_arguments)
27
27
  @src = src
28
28
  @container = SubTreeContainer.new(**system_arguments, expanded: true)
@@ -7,7 +7,7 @@
7
7
 
8
8
  <%= render(@container) do %>
9
9
  <% if nodes.empty? %>
10
- <%= render(Primer::OpenProject::TreeView::Node.new(path: path, data: { "no-items": true }, node_variant: :div)) do |node| %>
10
+ <%= render(Primer::Alpha::TreeView::Node.new(path: path, data: { "no-items": true }, node_variant: :div)) do |node| %>
11
11
  <% node.with_text_content do %>
12
12
  <%= no_items_message %>
13
13
  <% end %>
@@ -1,26 +1,26 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Primer
4
- module OpenProject
4
+ module Alpha
5
5
  class TreeView
6
6
  # A `TreeView` sub-tree.
7
7
  #
8
- # This component is part of the <%= link_to_component(Primer::OpenProject::TreeView) %> component and should
8
+ # This component is part of the <%= link_to_component(Primer::Alpha::TreeView) %> component and should
9
9
  # not be used directly.
10
10
  class SubTree < Primer::Component
11
11
  # @!parse
12
12
  # # Adds an leaf node to the tree. Leaf nodes are nodes that do not have children.
13
13
  # #
14
- # # @param component_klass [Class] The class to use instead of the default <%= link_to_component(Primer::OpenProject::TreeView::LeafNode) %>
15
- # # @param system_arguments [Hash] These arguments are forwarded to <%= link_to_component(Primer::OpenProject::TreeView::LeafNode) %>, or whatever class is passed as the `component_klass` argument.
14
+ # # @param component_klass [Class] The class to use instead of the default <%= link_to_component(Primer::Alpha::TreeView::LeafNode) %>
15
+ # # @param system_arguments [Hash] These arguments are forwarded to <%= link_to_component(Primer::Alpha::TreeView::LeafNode) %>, or whatever class is passed as the `component_klass` argument.
16
16
  # def with_leaf(**system_arguments, &block)
17
17
  # end
18
18
 
19
19
  # @!parse
20
20
  # # Adds a sub-tree node to the tree. Sub-trees are nodes that have children, which can be both leaf nodes and other sub-trees.
21
21
  # #
22
- # # @param component_klass [Class] The class to use instead of the default <%= link_to_component(Primer::OpenProject::TreeView::SubTreeNode) %>
23
- # # @param system_arguments [Hash] These arguments are forwarded to <%= link_to_component(Primer::OpenProject::TreeView::SubTreeNode) %>, or whatever class is passed as the `component_klass` argument.
22
+ # # @param component_klass [Class] The class to use instead of the default <%= link_to_component(Primer::Alpha::TreeView::SubTreeNode) %>
23
+ # # @param system_arguments [Hash] These arguments are forwarded to <%= link_to_component(Primer::Alpha::TreeView::SubTreeNode) %>, or whatever class is passed as the `component_klass` argument.
24
24
  # def with_sub_tree(**system_arguments, &block)
25
25
  # end
26
26
 
@@ -55,14 +55,14 @@ module Primer
55
55
  # @!parse
56
56
  # # Adds a loader to this sub-tree that displays a spinner animation while nodes are fetched from the server.
57
57
  # #
58
- # # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::OpenProject::TreeView::SpinnerLoader) %>.
58
+ # # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::TreeView::SpinnerLoader) %>.
59
59
  # def with_loading_spinner(**system_arguments, &block)
60
60
  # end
61
61
 
62
62
  # @!parse
63
63
  # # Adds a loader to this sub-tree that displays a skeleton animation while nodes are fetched from the server.
64
64
  # #
65
- # # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::OpenProject::TreeView::SkeletonLoader) %>.
65
+ # # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::TreeView::SkeletonLoader) %>.
66
66
  # def with_loading_spinner(**system_arguments, &block)
67
67
  # end
68
68
 
@@ -91,8 +91,8 @@ module Primer
91
91
 
92
92
  attr_reader :node_variant
93
93
 
94
- # @param node_variant [Symbol] The variant to use for this node. <%= one_of(Primer::OpenProject::TreeView::NODE_VARIANT_OPTIONS) %>
95
- # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::OpenProject::TreeView::SubTreeContainer) %>.
94
+ # @param node_variant [Symbol] The variant to use for this node. <%= one_of(Primer::Alpha::TreeView::NODE_VARIANT_OPTIONS) %>
95
+ # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::TreeView::SubTreeContainer) %>.
96
96
  def initialize(node_variant:, **system_arguments)
97
97
  @node_variant = node_variant
98
98
 
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Primer
4
- module OpenProject
4
+ module Alpha
5
5
  class TreeView
6
- # This component is part of the <%= link_to_component(Primer::OpenProject::TreeView) %> component and should
6
+ # This component is part of the <%= link_to_component(Primer::Alpha::TreeView) %> component and should
7
7
  # not be used directly.
8
8
  class SubTreeContainer < Primer::Component
9
9
  # The path to this node
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Primer
4
- module OpenProject
4
+ module Alpha
5
5
  class TreeView
6
6
  # A `TreeView` sub-tree node.
7
7
  #
8
- # This component is part of the <%= link_to_component(Primer::OpenProject::TreeView) %> component and should
8
+ # This component is part of the <%= link_to_component(Primer::Alpha::TreeView) %> component and should
9
9
  # not be used directly.
10
10
  class SubTreeNode < Primer::Component
11
11
  DEFAULT_SELECT_STRATEGY = :mixed_descendants
@@ -19,7 +19,7 @@ module Primer
19
19
  # # Adds a leading visual icon rendered to the left of the node's label.
20
20
  # #
21
21
  # # @param label [String] A label describing the visual, displayed only to screen readers.
22
- # # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::OpenProject::TreeView::Icon) %>.
22
+ # # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::TreeView::Icon) %>.
23
23
  # def with_leading_visual_icon(label: nil, **system_arguments, &block)
24
24
  # end
25
25
 
@@ -27,7 +27,7 @@ module Primer
27
27
  # # Adds a pair of leading visual icon rendered to the left of the node's label.
28
28
  # #
29
29
  # # @param label [String] A label describing the visual, displayed only to screen readers.
30
- # # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::OpenProject::TreeView::IconPair) %>.
30
+ # # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::TreeView::IconPair) %>.
31
31
  # def with_leading_visual_icons(label: nil, **system_arguments, &block)
32
32
  # end
33
33
 
@@ -60,7 +60,7 @@ module Primer
60
60
  visual: IconPair.new(
61
61
  **system_arguments,
62
62
  expanded: @sub_tree.expanded?,
63
- )
63
+ )
64
64
  )
65
65
  }
66
66
  }
@@ -87,7 +87,7 @@ module Primer
87
87
  # # Adds a trailing visual icon rendered to the right of the node's label.
88
88
  # #
89
89
  # # @param label [String] A label describing the visual, displayed only to screen readers.
90
- # # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::OpenProject::TreeView::Icon) %>.
90
+ # # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::TreeView::Icon) %>.
91
91
  # def with_trailing_visual_icon(label: nil, **system_arguments, &block)
92
92
  # end
93
93
 
@@ -108,11 +108,11 @@ module Primer
108
108
 
109
109
  # @param label [String] The node's label, i.e. it's textual content.
110
110
  # @param path [Array<String>] The node's "path," i.e. this node's label and the labels of all its ancestors. This node should be reachable by traversing the tree following this path.
111
- # @param node_variant [Symbol] The variant to use for this node. <%= one_of(Primer::OpenProject::TreeView::NODE_VARIANT_OPTIONS) %>
112
- # @param sub_tree_component_klass [Class] The class to use for the sub-tree instead of the default <%= link_to_component(Primer::OpenProject::TreeView::SubTree) %>
111
+ # @param node_variant [Symbol] The variant to use for this node. <%= one_of(Primer::Alpha::TreeView::NODE_VARIANT_OPTIONS) %>
112
+ # @param sub_tree_component_klass [Class] The class to use for the sub-tree instead of the default <%= link_to_component(Primer::Alpha::TreeView::SubTree) %>
113
113
  # @param expanded [Boolean] Whether or not this sub-tree should be rendered expanded.
114
- # @param select_strategy [Symbol] What should happen when this sub-tree node is checked. <%= one_of(Primer::OpenProject::TreeView::SubTreeNode::SELECT_STRATEGIES) %>
115
- # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::OpenProject::TreeView::Node) %>.
114
+ # @param select_strategy [Symbol] What should happen when this sub-tree node is checked. <%= one_of(Primer::Alpha::TreeView::SubTreeNode::SELECT_STRATEGIES) %>
115
+ # @param system_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::TreeView::Node) %>.
116
116
  def initialize(
117
117
  label:,
118
118
  path:,
@@ -133,11 +133,11 @@ module Primer
133
133
 
134
134
  @system_arguments[:data] = merge_data(
135
135
  @system_arguments, {
136
- data: {
137
- target: "tree-view-sub-tree-node.node",
138
- "node-type": "sub-tree"
139
- }
136
+ data: {
137
+ target: "tree-view-sub-tree-node.node",
138
+ "node-type": "sub-tree"
140
139
  }
140
+ }
141
141
  )
142
142
 
143
143
  sub_tree_arguments = @system_arguments.delete(:sub_tree_arguments) || {}
@@ -149,7 +149,7 @@ module Primer
149
149
  **sub_tree_arguments
150
150
  )
151
151
 
152
- @node = Primer::OpenProject::TreeView::Node.new(
152
+ @node = Primer::Alpha::TreeView::Node.new(
153
153
  **@system_arguments,
154
154
  path: @sub_tree.path,
155
155
  node_variant: node_variant
@@ -24,6 +24,5 @@ TreeViewIncludeFragmentElement = __decorate([
24
24
  export { TreeViewIncludeFragmentElement };
25
25
  if (!window.customElements.get('tree-view-include-fragment')) {
26
26
  window.TreeViewIncludeFragmentElement = TreeViewIncludeFragmentElement;
27
- // eslint-disable-next-line custom-elements/extends-correct-class
28
27
  window.customElements.define('tree-view-include-fragment', TreeViewIncludeFragmentElement);
29
28
  }
@@ -18,7 +18,6 @@ export class TreeViewIncludeFragmentElement extends IncludeFragmentElement {
18
18
 
19
19
  if (!window.customElements.get('tree-view-include-fragment')) {
20
20
  window.TreeViewIncludeFragmentElement = TreeViewIncludeFragmentElement
21
- // eslint-disable-next-line custom-elements/extends-correct-class
22
21
  window.customElements.define('tree-view-include-fragment', TreeViewIncludeFragmentElement)
23
22
  }
24
23
 
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Primer
4
- module OpenProject
4
+ module Alpha
5
5
  class TreeView
6
6
  # A `TreeView` visual, either leading or trailing.
7
7
  #
8
- # This component is part of the <%= link_to_component(Primer::OpenProject::TreeView) %> component and should
8
+ # This component is part of the <%= link_to_component(Primer::Alpha::TreeView) %> component and should
9
9
  # not be used directly.
10
10
  class Visual < Primer::Component
11
11
  # @param id [String] This visual's HTML ID.
@@ -1 +1 @@
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 :has(.TreeViewItemContent[aria-disabled=true]){cursor:not-allowed}.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}[aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent){pointer-events:none}[aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemContentText{color:var(--control-fgColor-disabled)}:is([aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemVisual) svg,[aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemVisual{fill:var(--control-fgColor-disabled)}@media (hover:hover){:is([aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox):hover{cursor:not-allowed}[aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent):hover{background-color:initial;cursor:not-allowed}}:is(.TreeViewRootUlStyles .TreeViewItemContent) ::highlight(primer-filterable-tree-view-search-results){background-color:var(--label-yellow-bgColor-active);color:var(--fgColor-default)}:is(.TreeViewRootUlStyles .TreeViewItemContent) mark{background-color:var(--label-yellow-bgColor-active);color:var(--fgColor-default)}.TreeViewRootUlStyles .TreeViewItemContentText{color:var(--control-fgColor-rest);flex:1 1 auto;-webkit-user-select: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
+ .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 :has(.TreeViewItemContent[aria-disabled=true]){cursor:not-allowed}.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}[aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent){pointer-events:none}[aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemContentText{color:var(--control-fgColor-disabled)}:is([aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemVisual) svg,[aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemVisual{fill:var(--control-fgColor-disabled)}@media (hover:hover){:is([aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox):hover{cursor:not-allowed}[aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent):hover{background-color:initial;cursor:not-allowed}}.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,5 +1,5 @@
1
1
  {
2
- "name": "open_project/tree_view",
2
+ "name": "alpha/tree_view",
3
3
  "selectors": [
4
4
  ".TreeViewRootUlStyles",
5
5
  ".TreeViewRootUlStyles .TreeViewItem",
@@ -30,8 +30,6 @@
30
30
  "[aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemVisual",
31
31
  ":is([aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox):hover",
32
32
  "[aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent):hover",
33
- ":is(.TreeViewRootUlStyles .TreeViewItemContent) ::highlight(primer-filterable-tree-view-search-results)",
34
- ":is(.TreeViewRootUlStyles .TreeViewItemContent) mark",
35
33
  ".TreeViewRootUlStyles .TreeViewItemContentText",
36
34
  ".TreeViewRootUlStyles:where([data-truncate-text=true]) .TreeViewItemContentText",
37
35
  ".TreeViewRootUlStyles:where([data-truncate-text=false]) .TreeViewItemContentText",