openproject-primer_view_components 0.89.1 → 0.90.1

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 (221) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +50 -0
  3. data/app/assets/javascripts/primer_view_components.js +1 -1
  4. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  5. data/app/assets/styles/primer_view_components.css +1 -1
  6. data/app/assets/styles/primer_view_components.css.map +1 -1
  7. data/app/components/primer/alpha/action_bar.css +1 -1
  8. data/app/components/primer/alpha/action_bar.css.map +1 -1
  9. data/app/components/primer/alpha/action_bar.pcss +0 -3
  10. data/app/components/primer/alpha/action_list.css +1 -1
  11. data/app/components/primer/alpha/action_list.css.json +4 -10
  12. data/app/components/primer/alpha/action_list.css.map +1 -1
  13. data/app/components/primer/alpha/action_list.pcss +0 -2
  14. data/app/components/primer/alpha/auto_complete.css +1 -1
  15. data/app/components/primer/alpha/auto_complete.css.json +2 -4
  16. data/app/components/primer/alpha/auto_complete.css.map +1 -1
  17. data/app/components/primer/alpha/auto_complete.pcss +3 -10
  18. data/app/components/primer/alpha/banner.css +1 -1
  19. data/app/components/primer/alpha/banner.css.map +1 -1
  20. data/app/components/primer/alpha/banner.pcss +0 -1
  21. data/app/components/primer/alpha/button_marketing.css +1 -1
  22. data/app/components/primer/alpha/button_marketing.css.map +1 -1
  23. data/app/components/primer/alpha/button_marketing.pcss +4 -4
  24. data/app/components/primer/alpha/dialog.css +1 -1
  25. data/app/components/primer/alpha/dialog.css.json +2 -1
  26. data/app/components/primer/alpha/dialog.css.map +1 -1
  27. data/app/components/primer/alpha/dialog.pcss +4 -1
  28. data/app/components/primer/alpha/dropdown.css +1 -1
  29. data/app/components/primer/alpha/dropdown.css.map +1 -1
  30. data/app/components/primer/alpha/layout.css +1 -1
  31. data/app/components/primer/alpha/layout.css.json +10 -14
  32. data/app/components/primer/alpha/layout.css.map +1 -1
  33. data/app/components/primer/alpha/layout.pcss +3 -1
  34. data/app/components/primer/alpha/menu.css +1 -1
  35. data/app/components/primer/alpha/menu.css.map +1 -1
  36. data/app/components/primer/alpha/menu.pcss +0 -6
  37. data/app/components/primer/alpha/overlay.css +1 -1
  38. data/app/components/primer/alpha/overlay.css.map +1 -1
  39. data/app/components/primer/alpha/segmented_control.css +1 -1
  40. data/app/components/primer/alpha/segmented_control.css.json +1 -2
  41. data/app/components/primer/alpha/segmented_control.css.map +1 -1
  42. data/app/components/primer/alpha/segmented_control.pcss +0 -2
  43. data/app/components/primer/alpha/select_panel.css +1 -1
  44. data/app/components/primer/alpha/select_panel.css.map +1 -1
  45. data/app/components/primer/alpha/select_panel_element.ts +1 -1
  46. data/app/components/primer/alpha/skeleton_box.css +1 -1
  47. data/app/components/primer/alpha/skeleton_box.css.map +1 -1
  48. data/app/components/primer/alpha/stack.css +1 -1
  49. data/app/components/primer/alpha/stack.css.map +1 -1
  50. data/app/components/primer/alpha/tab_nav.css +1 -1
  51. data/app/components/primer/alpha/tab_nav.css.map +1 -1
  52. data/app/components/primer/alpha/tab_nav.pcss +0 -5
  53. data/app/components/primer/alpha/text_field.css +1 -1
  54. data/app/components/primer/alpha/text_field.css.json +2 -2
  55. data/app/components/primer/alpha/text_field.css.map +1 -1
  56. data/app/components/primer/alpha/text_field.pcss +14 -7
  57. data/app/components/primer/alpha/toggle_switch.css +1 -1
  58. data/app/components/primer/alpha/toggle_switch.css.map +1 -1
  59. data/app/components/primer/alpha/toggle_switch.pcss +8 -6
  60. data/app/components/primer/alpha/tree_view/sub_tree_node.rb +1 -1
  61. data/app/components/primer/alpha/tree_view/tree_view_icon_pair_element.js +1 -1
  62. data/app/components/primer/alpha/tree_view/tree_view_icon_pair_element.ts +1 -1
  63. data/app/components/primer/alpha/tree_view/visual.rb +1 -1
  64. data/app/components/primer/alpha/tree_view.css +1 -1
  65. data/app/components/primer/alpha/tree_view.css.json +2 -2
  66. data/app/components/primer/alpha/tree_view.css.map +1 -1
  67. data/app/components/primer/alpha/tree_view.pcss +1 -0
  68. data/app/components/primer/alpha/underline_nav.css +1 -1
  69. data/app/components/primer/alpha/underline_nav.css.map +1 -1
  70. data/app/components/primer/alpha/underline_nav.pcss +0 -3
  71. data/app/components/primer/base_component.rb +1 -0
  72. data/app/components/primer/beta/avatar.css +1 -1
  73. data/app/components/primer/beta/avatar.css.map +1 -1
  74. data/app/components/primer/beta/avatar_stack.css +1 -1
  75. data/app/components/primer/beta/avatar_stack.css.map +1 -1
  76. data/app/components/primer/beta/blankslate.css +1 -1
  77. data/app/components/primer/beta/blankslate.css.map +1 -1
  78. data/app/components/primer/beta/blankslate.pcss +2 -53
  79. data/app/components/primer/beta/border_box.css +1 -1
  80. data/app/components/primer/beta/border_box.css.map +1 -1
  81. data/app/components/primer/beta/border_box.rb +18 -7
  82. data/app/components/primer/beta/breadcrumbs.css +1 -1
  83. data/app/components/primer/beta/breadcrumbs.css.json +2 -1
  84. data/app/components/primer/beta/breadcrumbs.css.map +1 -1
  85. data/app/components/primer/beta/breadcrumbs.pcss +6 -5
  86. data/app/components/primer/beta/button.css +1 -1
  87. data/app/components/primer/beta/button.css.map +1 -1
  88. data/app/components/primer/beta/button.pcss +0 -1
  89. data/app/components/primer/beta/button_group.css +1 -1
  90. data/app/components/primer/beta/button_group.css.map +1 -1
  91. data/app/components/primer/beta/button_group.rb +1 -1
  92. data/app/components/primer/beta/counter.css +1 -1
  93. data/app/components/primer/beta/counter.css.map +1 -1
  94. data/app/components/primer/beta/flash.css +1 -1
  95. data/app/components/primer/beta/flash.css.map +1 -1
  96. data/app/components/primer/beta/label.css +1 -1
  97. data/app/components/primer/beta/label.css.map +1 -1
  98. data/app/components/primer/beta/link.css +1 -1
  99. data/app/components/primer/beta/link.css.map +1 -1
  100. data/app/components/primer/beta/popover.css +1 -1
  101. data/app/components/primer/beta/popover.css.json +22 -16
  102. data/app/components/primer/beta/popover.css.map +1 -1
  103. data/app/components/primer/beta/popover.pcss +132 -101
  104. data/app/components/primer/beta/progress_bar.css +1 -1
  105. data/app/components/primer/beta/progress_bar.css.map +1 -1
  106. data/app/components/primer/beta/state.css +1 -1
  107. data/app/components/primer/beta/state.css.map +1 -1
  108. data/app/components/primer/beta/state.pcss +0 -1
  109. data/app/components/primer/beta/subhead.css +1 -1
  110. data/app/components/primer/beta/subhead.css.map +1 -1
  111. data/app/components/primer/beta/subhead.pcss +0 -2
  112. data/app/components/primer/beta/timeline_item.css +1 -1
  113. data/app/components/primer/beta/timeline_item.css.map +1 -1
  114. data/app/components/primer/beta/timeline_item.pcss +0 -5
  115. data/app/components/primer/beta/truncate.css +1 -1
  116. data/app/components/primer/beta/truncate.css.map +1 -1
  117. data/app/components/primer/beta/truncate.pcss +0 -1
  118. data/app/components/primer/component.rb +16 -0
  119. data/app/components/primer/dialog_helper.js +10 -1
  120. data/app/components/primer/dialog_helper.ts +16 -1
  121. data/app/components/primer/open_project/border_box/collapsible_header.css +1 -1
  122. data/app/components/primer/open_project/border_box/collapsible_header.css.json +1 -3
  123. data/app/components/primer/open_project/border_box/collapsible_header.css.map +1 -1
  124. data/app/components/primer/open_project/border_box/collapsible_header.html.erb +1 -1
  125. data/app/components/primer/open_project/border_box/collapsible_header.pcss +3 -1
  126. data/app/components/primer/open_project/border_box/collapsible_header.rb +10 -9
  127. data/app/components/primer/open_project/border_grid.css +1 -1
  128. data/app/components/primer/open_project/border_grid.css.map +1 -1
  129. data/app/components/primer/open_project/border_grid.pcss +11 -9
  130. data/app/components/primer/open_project/collapsible.d.ts +1 -1
  131. data/app/components/primer/open_project/collapsible.js +8 -4
  132. data/app/components/primer/open_project/collapsible.ts +10 -4
  133. data/app/components/primer/open_project/collapsible_section.html.erb +6 -10
  134. data/app/components/primer/open_project/collapsible_section.rb +8 -0
  135. data/app/components/primer/open_project/drag_handle.css +1 -1
  136. data/app/components/primer/open_project/drag_handle.css.map +1 -1
  137. data/app/components/primer/open_project/filterable_tree_view.css +1 -1
  138. data/app/components/primer/open_project/filterable_tree_view.css.map +1 -1
  139. data/app/components/primer/open_project/filterable_tree_view.html.erb +9 -5
  140. data/app/components/primer/open_project/filterable_tree_view.pcss +2 -0
  141. data/app/components/primer/open_project/filterable_tree_view.rb +9 -1
  142. data/app/components/primer/open_project/inline_message.css +1 -1
  143. data/app/components/primer/open_project/inline_message.css.map +1 -1
  144. data/app/components/primer/open_project/page_header/dialog.rb +1 -1
  145. data/app/components/primer/open_project/page_header/menu.rb +1 -1
  146. data/app/components/primer/open_project/page_header.css +1 -1
  147. data/app/components/primer/open_project/page_header.css.map +1 -1
  148. data/app/components/primer/open_project/page_header.pcss +2 -0
  149. data/app/components/primer/open_project/pagination.css +1 -1
  150. data/app/components/primer/open_project/pagination.css.map +1 -1
  151. data/app/components/primer/open_project/pagination.pcss +4 -1
  152. data/app/components/primer/open_project/side_panel/section.css +1 -1
  153. data/app/components/primer/open_project/side_panel/section.css.map +1 -1
  154. data/app/components/primer/open_project/side_panel/section.pcss +3 -3
  155. data/app/components/primer/open_project/sub_header.css +1 -1
  156. data/app/components/primer/open_project/sub_header.css.map +1 -1
  157. data/app/lib/primer/forms/acts_as_component.rb +1 -1
  158. data/app/lib/primer/forms/dsl/input.rb +5 -1
  159. data/app/lib/primer/forms/toggle_switch_form.rb +1 -1
  160. data/app/lib/primer/safe_href_helper.rb +36 -0
  161. data/lib/primer/form_components.rb +1 -1
  162. data/lib/primer/static/generate_previews.rb +1 -1
  163. data/lib/primer/view_components/version.rb +1 -1
  164. data/previews/primer/beta/border_box_preview.rb +3 -3
  165. data/previews/primer/open_project/collapsible_section_preview/with_link_in_title.html.erb +6 -0
  166. data/previews/primer/open_project/collapsible_section_preview.rb +9 -0
  167. data/previews/primer/open_project/filterable_tree_view_preview/async_custom_loading_indicator.html.erb +9 -0
  168. data/previews/primer/open_project/filterable_tree_view_preview.rb +7 -0
  169. data/static/arguments.json +12 -0
  170. data/static/classes.json +21 -0
  171. data/static/classnames.cjs +507 -0
  172. data/static/classnames.d.ts +2 -0
  173. data/static/classnames.js +509 -0
  174. data/static/info_arch.json +46 -2
  175. data/static/previews.json +2394 -2368
  176. metadata +9 -48
  177. data/app/assets/javascripts/components/primer/alpha/action_bar_element.d.ts +0 -17
  178. data/app/assets/javascripts/components/primer/alpha/action_list.d.ts +0 -16
  179. data/app/assets/javascripts/components/primer/alpha/action_menu/action_menu_element.d.ts +0 -49
  180. data/app/assets/javascripts/components/primer/alpha/action_menu/action_menu_focus_zone_stack.d.ts +0 -17
  181. data/app/assets/javascripts/components/primer/alpha/dropdown/menu.d.ts +0 -1
  182. data/app/assets/javascripts/components/primer/alpha/dropdown.d.ts +0 -1
  183. data/app/assets/javascripts/components/primer/alpha/modal_dialog.d.ts +0 -18
  184. data/app/assets/javascripts/components/primer/alpha/segmented_control.d.ts +0 -12
  185. data/app/assets/javascripts/components/primer/alpha/select_panel_element.d.ts +0 -65
  186. data/app/assets/javascripts/components/primer/alpha/tab_container.d.ts +0 -1
  187. data/app/assets/javascripts/components/primer/alpha/toggle_switch.d.ts +0 -34
  188. data/app/assets/javascripts/components/primer/alpha/tool_tip.d.ts +0 -27
  189. data/app/assets/javascripts/components/primer/alpha/tree_view/tree_view.d.ts +0 -47
  190. data/app/assets/javascripts/components/primer/alpha/tree_view/tree_view_icon_pair_element.d.ts +0 -15
  191. data/app/assets/javascripts/components/primer/alpha/tree_view/tree_view_include_fragment_element.d.ts +0 -9
  192. data/app/assets/javascripts/components/primer/alpha/tree_view/tree_view_roving_tab_index.d.ts +0 -3
  193. data/app/assets/javascripts/components/primer/alpha/tree_view/tree_view_sub_tree_node_element.d.ts +0 -47
  194. data/app/assets/javascripts/components/primer/alpha/x_banner.d.ts +0 -18
  195. data/app/assets/javascripts/components/primer/anchored_position.d.ts +0 -27
  196. data/app/assets/javascripts/components/primer/beta/auto_complete/auto_complete.d.ts +0 -1
  197. data/app/assets/javascripts/components/primer/beta/clipboard_copy.d.ts +0 -1
  198. data/app/assets/javascripts/components/primer/beta/details_toggle_element.d.ts +0 -40
  199. data/app/assets/javascripts/components/primer/beta/nav_list.d.ts +0 -20
  200. data/app/assets/javascripts/components/primer/beta/nav_list_group_element.d.ts +0 -19
  201. data/app/assets/javascripts/components/primer/beta/relative_time.d.ts +0 -1
  202. data/app/assets/javascripts/components/primer/dialog_helper.d.ts +0 -15
  203. data/app/assets/javascripts/components/primer/focus_group.d.ts +0 -19
  204. data/app/assets/javascripts/components/primer/open_project/avatar_fallback.d.ts +0 -28
  205. data/app/assets/javascripts/components/primer/open_project/border_box/collapsible_header.d.ts +0 -11
  206. data/app/assets/javascripts/components/primer/open_project/collapsible.d.ts +0 -13
  207. data/app/assets/javascripts/components/primer/open_project/collapsible_section.d.ts +0 -10
  208. data/app/assets/javascripts/components/primer/open_project/danger_dialog_form_helper.d.ts +0 -18
  209. data/app/assets/javascripts/components/primer/open_project/filterable_tree_view.d.ts +0 -29
  210. data/app/assets/javascripts/components/primer/open_project/page_header_element.d.ts +0 -9
  211. data/app/assets/javascripts/components/primer/open_project/sub_header_element.d.ts +0 -17
  212. data/app/assets/javascripts/components/primer/open_project/zen_mode_button.d.ts +0 -18
  213. data/app/assets/javascripts/components/primer/primer.d.ts +0 -42
  214. data/app/assets/javascripts/components/primer/scrollable_region.d.ts +0 -13
  215. data/app/assets/javascripts/components/primer/shared_events.d.ts +0 -26
  216. data/app/assets/javascripts/components/primer/utils.d.ts +0 -1
  217. data/app/assets/javascripts/lib/primer/forms/character_counter.d.ts +0 -41
  218. data/app/assets/javascripts/lib/primer/forms/primer_multi_input.d.ts +0 -10
  219. data/app/assets/javascripts/lib/primer/forms/primer_text_area.d.ts +0 -13
  220. data/app/assets/javascripts/lib/primer/forms/primer_text_field.d.ts +0 -30
  221. data/app/assets/javascripts/lib/primer/forms/toggle_switch_input.d.ts +0 -5
@@ -17,6 +17,7 @@
17
17
  border-radius: var(--borderRadius-medium);
18
18
 
19
19
  /* adding !important to override utility classes used in dotcom */
20
+ /* stylelint-disable-next-line primer/box-shadow -- intentional legacy shadow var with fallback, kept for dotcom compatibility */
20
21
  box-shadow: var(--shadow-floating-legacy, var(--color-shadow-large)) !important;
21
22
 
22
23
  /* Carets */
@@ -54,26 +55,36 @@
54
55
  }
55
56
  }
56
57
 
58
+ /* The caret variants below are authored as expanded per-class selectors
59
+ ** (rather than nesting `&::before`/`&::after` under a selector list) so each
60
+ ** rule's subject buckets by its own class during style recalc. The merged
61
+ ** `:is(.Popover-message--…, …)::before` form cannot be fast-rejected by Blink
62
+ ** and shows up as pure slow-path selector matching. */
63
+
57
64
  /* Bottom-oriented carets */
58
- .Popover-message--bottom,
59
- .Popover-message--bottom-right,
60
- .Popover-message--bottom-left {
61
- &::before,
62
- &::after {
63
- top: auto;
64
- border-bottom-color: transparent;
65
- }
65
+ .Popover-message--bottom::before,
66
+ .Popover-message--bottom::after,
67
+ .Popover-message--bottom-right::before,
68
+ .Popover-message--bottom-right::after,
69
+ .Popover-message--bottom-left::before,
70
+ .Popover-message--bottom-left::after {
71
+ top: auto;
72
+ border-bottom-color: transparent;
73
+ }
66
74
 
67
- &::before {
68
- bottom: -16px;
69
- border-top-color: var(--borderColor-default);
70
- }
75
+ .Popover-message--bottom::before,
76
+ .Popover-message--bottom-right::before,
77
+ .Popover-message--bottom-left::before {
78
+ bottom: -16px;
79
+ border-top-color: var(--borderColor-default);
80
+ }
71
81
 
72
- &::after {
73
- bottom: -14px;
74
- /* stylelint-disable-next-line primer/colors */
75
- border-top-color: var(--overlay-bgColor);
76
- }
82
+ .Popover-message--bottom::after,
83
+ .Popover-message--bottom-right::after,
84
+ .Popover-message--bottom-left::after {
85
+ bottom: -14px;
86
+ /* stylelint-disable-next-line primer/colors */
87
+ border-top-color: var(--overlay-bgColor);
77
88
  }
78
89
 
79
90
  /* Top and Bottom: Right-oriented carets */
@@ -81,21 +92,25 @@
81
92
  .Popover-message--bottom-right {
82
93
  right: -9px;
83
94
  margin-right: 0;
95
+ }
84
96
 
85
- &::before,
86
- &::after {
87
- left: auto;
88
- margin-left: 0;
89
- }
97
+ .Popover-message--top-right::before,
98
+ .Popover-message--top-right::after,
99
+ .Popover-message--bottom-right::before,
100
+ .Popover-message--bottom-right::after {
101
+ left: auto;
102
+ margin-left: 0;
103
+ }
90
104
 
91
- &::before {
92
- right: var(--base-size-20);
93
- }
105
+ .Popover-message--top-right::before,
106
+ .Popover-message--bottom-right::before {
107
+ right: var(--base-size-20);
108
+ }
94
109
 
95
- &::after {
96
- right: var(--base-size-20);
97
- margin-right: 1px;
98
- }
110
+ .Popover-message--top-right::after,
111
+ .Popover-message--bottom-right::after {
112
+ right: var(--base-size-20);
113
+ margin-right: 1px;
99
114
  }
100
115
 
101
116
  /* Top and Bottom: Left-oriented carets */
@@ -103,101 +118,117 @@
103
118
  .Popover-message--bottom-left {
104
119
  left: -9px;
105
120
  margin-left: 0;
121
+ }
106
122
 
107
- &::before,
108
- &::after {
109
- left: var(--base-size-24);
110
- margin-left: 0;
111
- }
123
+ .Popover-message--top-left::before,
124
+ .Popover-message--top-left::after,
125
+ .Popover-message--bottom-left::before,
126
+ .Popover-message--bottom-left::after {
127
+ left: var(--base-size-24);
128
+ margin-left: 0;
129
+ }
112
130
 
113
- &::after {
114
- left: var(--base-size-24);
115
- margin-left: 1px;
116
- }
131
+ .Popover-message--top-left::after,
132
+ .Popover-message--bottom-left::after {
133
+ left: var(--base-size-24);
134
+ margin-left: 1px;
117
135
  }
118
136
 
119
137
  /* Right- and Left-oriented carets */
120
- .Popover-message--right,
121
- .Popover-message--right-top,
122
- .Popover-message--right-bottom,
123
- .Popover-message--left,
124
- .Popover-message--left-top,
125
- .Popover-message--left-bottom {
126
- &::before,
127
- &::after {
128
- top: 50%;
129
- left: auto;
130
- margin-left: 0;
131
- border-bottom-color: transparent;
132
- }
138
+ .Popover-message--right::before,
139
+ .Popover-message--right::after,
140
+ .Popover-message--right-top::before,
141
+ .Popover-message--right-top::after,
142
+ .Popover-message--right-bottom::before,
143
+ .Popover-message--right-bottom::after,
144
+ .Popover-message--left::before,
145
+ .Popover-message--left::after,
146
+ .Popover-message--left-top::before,
147
+ .Popover-message--left-top::after,
148
+ .Popover-message--left-bottom::before,
149
+ .Popover-message--left-bottom::after {
150
+ top: 50%;
151
+ left: auto;
152
+ margin-left: 0;
153
+ border-bottom-color: transparent;
154
+ }
133
155
 
134
- &::before {
135
- margin-top: -9px;
136
- }
156
+ .Popover-message--right::before,
157
+ .Popover-message--right-top::before,
158
+ .Popover-message--right-bottom::before,
159
+ .Popover-message--left::before,
160
+ .Popover-message--left-top::before,
161
+ .Popover-message--left-bottom::before {
162
+ margin-top: -9px;
163
+ }
137
164
 
138
- &::after {
139
- margin-top: -8px;
140
- }
165
+ .Popover-message--right::after,
166
+ .Popover-message--right-top::after,
167
+ .Popover-message--right-bottom::after,
168
+ .Popover-message--left::after,
169
+ .Popover-message--left-top::after,
170
+ .Popover-message--left-bottom::after {
171
+ margin-top: -8px;
141
172
  }
142
173
 
143
174
  /* Right-oriented carets */
144
- .Popover-message--right,
145
- .Popover-message--right-top,
146
- .Popover-message--right-bottom {
147
- &::before {
148
- right: -16px;
149
- border-left-color: var(--borderColor-default);
150
- }
175
+ .Popover-message--right::before,
176
+ .Popover-message--right-top::before,
177
+ .Popover-message--right-bottom::before {
178
+ right: -16px;
179
+ border-left-color: var(--borderColor-default);
180
+ }
151
181
 
152
- &::after {
153
- right: -14px;
154
- /* stylelint-disable-next-line primer/colors */
155
- border-left-color: var(--overlay-bgColor);
156
- }
182
+ .Popover-message--right::after,
183
+ .Popover-message--right-top::after,
184
+ .Popover-message--right-bottom::after {
185
+ right: -14px;
186
+ /* stylelint-disable-next-line primer/colors */
187
+ border-left-color: var(--overlay-bgColor);
157
188
  }
158
189
 
159
190
  /* Left-oriented carets */
160
- .Popover-message--left,
161
- .Popover-message--left-top,
162
- .Popover-message--left-bottom {
163
- &::before {
164
- left: -16px;
165
- border-right-color: var(--borderColor-default);
166
- }
191
+ .Popover-message--left::before,
192
+ .Popover-message--left-top::before,
193
+ .Popover-message--left-bottom::before {
194
+ left: -16px;
195
+ border-right-color: var(--borderColor-default);
196
+ }
167
197
 
168
- &::after {
169
- left: -14px;
170
- margin-bottom: 1px;
171
- /* stylelint-disable-next-line primer/colors */
172
- border-right-color: var(--overlay-bgColor);
173
- }
198
+ .Popover-message--left::after,
199
+ .Popover-message--left-top::after,
200
+ .Popover-message--left-bottom::after {
201
+ left: -14px;
202
+ margin-bottom: 1px;
203
+ /* stylelint-disable-next-line primer/colors */
204
+ border-right-color: var(--overlay-bgColor);
174
205
  }
175
206
 
176
207
  /* Right and Left: Top-oriented carets */
177
- .Popover-message--right-top,
178
- .Popover-message--left-top {
179
- &::before,
180
- &::after {
181
- top: var(--base-size-24);
182
- }
208
+ .Popover-message--right-top::before,
209
+ .Popover-message--right-top::after,
210
+ .Popover-message--left-top::before,
211
+ .Popover-message--left-top::after {
212
+ top: var(--base-size-24);
183
213
  }
184
214
 
185
215
  /* Right and Left: Bottom-oriented carets */
186
- .Popover-message--right-bottom,
187
- .Popover-message--left-bottom {
188
- &::before,
189
- &::after {
190
- top: auto;
191
- }
216
+ .Popover-message--right-bottom::before,
217
+ .Popover-message--right-bottom::after,
218
+ .Popover-message--left-bottom::before,
219
+ .Popover-message--left-bottom::after {
220
+ top: auto;
221
+ }
192
222
 
193
- &::before {
194
- bottom: var(--base-size-16);
195
- }
223
+ .Popover-message--right-bottom::before,
224
+ .Popover-message--left-bottom::before {
225
+ bottom: var(--base-size-16);
226
+ }
196
227
 
197
- &::after {
198
- bottom: var(--base-size-16);
199
- margin-bottom: 1px;
200
- }
228
+ .Popover-message--right-bottom::after,
229
+ .Popover-message--left-bottom::after {
230
+ bottom: var(--base-size-16);
231
+ margin-bottom: 1px;
201
232
  }
202
233
 
203
234
  @media (min-width: 544px) {
@@ -1 +1 @@
1
- .Progress{background-color:var(--progressBar-track-bgColor);border-radius:var(--borderRadius-medium);display:flex;height:8px;outline:solid 1px var(--progressBar-track-borderColor);outline-offset:-1px;overflow:hidden}.Progress--large{height:10px}.Progress--small{height:5px}.Progress-item{background:LinkText;outline:2px solid #0000}.Progress-item+.Progress-item{margin-left:var(--base-size-2)}@media (forced-colors:active){:root{--progressBar-track-bgColor:CanvasText}.Progress,.Progress-item{forced-color-adjust:none}}
1
+ .Progress{display:flex;height:8px;overflow:hidden;background-color:var(--progressBar-track-bgColor);border-radius:var(--borderRadius-medium);outline:solid 1px var(--progressBar-track-borderColor);outline-offset:-1px}.Progress--large{height:10px}.Progress--small{height:5px}.Progress-item{outline:2px solid #0000;background:LinkText}.Progress-item+.Progress-item{margin-left:var(--base-size-2)}@media (forced-colors:active){:root{--progressBar-track-bgColor:CanvasText}.Progress,.Progress-item{forced-color-adjust:none}}
@@ -1 +1 @@
1
- {"version":3,"sources":["progress_bar.pcss"],"names":[],"mappings":"AAEA,UAIE,iDAAkD,CAClD,wCAAyC,CAJzC,YAAa,CACb,UAAW,CAIX,sDAAuD,CACvD,mBAAoB,CAJpB,eAKF,CAEA,iBACE,WACF,CAEA,iBACE,UACF,CAEA,eAEE,mBAAoB,CADpB,uBAEF,CAEA,8BACE,8BACF,CAEA,8BACE,MACE,sCACF,CAEA,yBACE,wBACF,CACF","file":"progress_bar.css","sourcesContent":["/* Progress */\n\n.Progress {\n display: flex;\n height: 8px;\n overflow: hidden;\n background-color: var(--progressBar-track-bgColor);\n border-radius: var(--borderRadius-medium);\n outline: solid 1px var(--progressBar-track-borderColor);\n outline-offset: -1px;\n}\n\n.Progress--large {\n height: 10px;\n}\n\n.Progress--small {\n height: 5px;\n}\n\n.Progress-item {\n outline: 2px solid transparent; /* Support Firefox custom colors */\n background: LinkText;\n}\n\n.Progress-item + .Progress-item {\n margin-left: var(--base-size-2);\n}\n\n@media (forced-colors: active) {\n :root {\n --progressBar-track-bgColor: CanvasText;\n }\n\n .Progress, .Progress-item {\n forced-color-adjust: none;\n }\n}\n"]}
1
+ {"version":3,"sources":["progress_bar.pcss"],"names":[],"mappings":"AAEA,UACE,YAAa,CACb,UAAW,CACX,eAAgB,CAChB,iDAAkD,CAClD,wCAAyC,CACzC,sDAAuD,CACvD,mBACF,CAEA,iBACE,WACF,CAEA,iBACE,UACF,CAEA,eACE,uBAA8B,CAC9B,mBACF,CAEA,8BACE,8BACF,CAEA,8BACE,MACE,sCACF,CAEA,yBACE,wBACF,CACF","file":"progress_bar.css","sourcesContent":["/* Progress */\n\n.Progress {\n display: flex;\n height: 8px;\n overflow: hidden;\n background-color: var(--progressBar-track-bgColor);\n border-radius: var(--borderRadius-medium);\n outline: solid 1px var(--progressBar-track-borderColor);\n outline-offset: -1px;\n}\n\n.Progress--large {\n height: 10px;\n}\n\n.Progress--small {\n height: 5px;\n}\n\n.Progress-item {\n outline: 2px solid transparent; /* Support Firefox custom colors */\n background: LinkText;\n}\n\n.Progress-item + .Progress-item {\n margin-left: var(--base-size-2);\n}\n\n@media (forced-colors: active) {\n :root {\n --progressBar-track-bgColor: CanvasText;\n }\n\n .Progress, .Progress-item {\n forced-color-adjust: none;\n }\n}\n"]}
@@ -1 +1 @@
1
- .State,.state{border-radius:2em;display:inline-block;font-size:var(--text-body-size-medium);font-weight:var(--base-text-weight-medium);line-height:var(--base-size-20);padding:var(--base-size-4) var(--control-medium-paddingInline-normal);text-align:center;white-space:nowrap}.State,.State--draft,.state{background-color:var(--bgColor-draft-emphasis,var(--bgColor-neutral-emphasis));border:var(--borderWidth-thin) solid #0000;box-shadow:var(--boxShadow-thin) var(--borderColor-draft-emphasis,var(--borderColor-neutral-emphasis));color:var(--fgColor-onEmphasis)}.State--open{background-color:var(--bgColor-open-emphasis,var(--color-open-emphasis));box-shadow:var(--boxShadow-thin) var(--borderColor-open-emphasis)}.State--merged,.State--open{color:var(--fgColor-onEmphasis)}.State--merged{background-color:var(--bgColor-done-emphasis,var(--color-done-emphasis));box-shadow:var(--boxShadow-thin) var(--borderColor-done-emphasis)}.State--closed{background-color:var(--bgColor-closed-emphasis,var(--color-closed-emphasis));box-shadow:var(--boxShadow-thin) var(--borderColor-closed-emphasis);color:var(--fgColor-onEmphasis)}.State--small{font-size:var(--text-body-size-small);line-height:var(--base-size-24);padding:0 10px}.State--small .octicon{width:1em}
1
+ .State,.state{display:inline-block;padding:var(--base-size-4) var(--control-medium-paddingInline-normal);font-size:var(--text-body-size-medium);font-weight:var(--base-text-weight-medium);line-height:var(--base-size-20);text-align:center;white-space:nowrap;border-radius:2em}.State,.State--draft,.state{color:var(--fgColor-onEmphasis);background-color:var(--bgColor-draft-emphasis,var(--bgColor-neutral-emphasis));border:var(--borderWidth-thin) solid #0000;box-shadow:var(--boxShadow-thin) var(--borderColor-draft-emphasis,var(--borderColor-neutral-emphasis))}.State--open{background-color:var(--bgColor-open-emphasis,var(--color-open-emphasis));box-shadow:var(--boxShadow-thin) var(--borderColor-open-emphasis)}.State--merged,.State--open{color:var(--fgColor-onEmphasis)}.State--merged{background-color:var(--bgColor-done-emphasis,var(--color-done-emphasis));box-shadow:var(--boxShadow-thin) var(--borderColor-done-emphasis)}.State--closed{color:var(--fgColor-onEmphasis);background-color:var(--bgColor-closed-emphasis,var(--color-closed-emphasis));box-shadow:var(--boxShadow-thin) var(--borderColor-closed-emphasis)}.State--small{padding:0 10px;font-size:var(--text-body-size-small);line-height:var(--base-size-24)}.State--small .octicon{width:1em}
@@ -1 +1 @@
1
- {"version":3,"sources":["state.pcss"],"names":[],"mappings":"AAIA,cAYE,iBAAkB,CAVlB,oBAAqB,CAGrB,sCAAuC,CACvC,0CAA2C,CAE3C,+BAAgC,CAJhC,qEAAsE,CAKtE,iBAAkB,CAClB,kBAGF,CAEA,4BAIE,8EAAgF,CAChF,0CAAiD,CACjD,sGAAwG,CAHxG,+BAIF,CAEA,aAEE,wEAA0E,CAC1E,iEACF,CAEA,4BALE,+BASF,CAJA,eAEE,wEAA0E,CAC1E,iEACF,CAEA,eAEE,4EAA8E,CAC9E,mEAAoE,CAFpE,+BAGF,CAIA,cAGE,qCAAsC,CAEtC,+BAAgC,CAHhC,cAQF,CAHE,uBACE,SACF","file":"state.css","sourcesContent":["/* State */\n\n/* Default 32px */\n\n.state, /* TODO: Deprecate */\n.State {\n display: inline-block;\n /* stylelint-disable-next-line primer/spacing */\n padding: var(--base-size-4) var(--control-medium-paddingInline-normal);\n font-size: var(--text-body-size-medium);\n font-weight: var(--base-text-weight-medium);\n /* stylelint-disable-next-line primer/typography */\n line-height: var(--base-size-20);\n text-align: center;\n white-space: nowrap;\n /* stylelint-disable-next-line primer/borders */\n border-radius: 2em;\n}\n\n.state, /* TODO: Deprecate */\n.State,\n.State--draft {\n color: var(--fgColor-onEmphasis);\n background-color: var(--bgColor-draft-emphasis, var(--bgColor-neutral-emphasis));\n border: var(--borderWidth-thin) solid transparent;\n box-shadow: var(--boxShadow-thin) var(--borderColor-draft-emphasis, var(--borderColor-neutral-emphasis));\n}\n\n.State--open {\n color: var(--fgColor-onEmphasis);\n background-color: var(--bgColor-open-emphasis, var(--color-open-emphasis));\n box-shadow: var(--boxShadow-thin) var(--borderColor-open-emphasis);\n}\n\n.State--merged {\n color: var(--fgColor-onEmphasis);\n background-color: var(--bgColor-done-emphasis, var(--color-done-emphasis));\n box-shadow: var(--boxShadow-thin) var(--borderColor-done-emphasis);\n}\n\n.State--closed {\n color: var(--fgColor-onEmphasis);\n background-color: var(--bgColor-closed-emphasis, var(--color-closed-emphasis));\n box-shadow: var(--boxShadow-thin) var(--borderColor-closed-emphasis);\n}\n\n/* Small 24px */\n\n.State--small {\n /* stylelint-disable-next-line primer/spacing */\n padding: 0 10px;\n font-size: var(--text-body-size-small);\n /* stylelint-disable-next-line primer/typography */\n line-height: var(--base-size-24);\n\n & .octicon {\n width: 1em; /* Ensures different icons don't change State indicator width */\n }\n}\n"]}
1
+ {"version":3,"sources":["state.pcss"],"names":[],"mappings":"AAIA,cAEE,oBAAqB,CACrB,qEAAsE,CACtE,sCAAuC,CACvC,0CAA2C,CAE3C,+BAAgC,CAChC,iBAAkB,CAClB,kBAAmB,CAEnB,iBACF,CAEA,4BAGE,+BAAgC,CAChC,8EAAgF,CAChF,0CAAiD,CACjD,sGACF,CAEA,aAEE,wEAA0E,CAC1E,iEACF,CAEA,4BALE,+BASF,CAJA,eAEE,wEAA0E,CAC1E,iEACF,CAEA,eACE,+BAAgC,CAChC,4EAA8E,CAC9E,mEACF,CAIA,cAEE,cAAe,CACf,qCAAsC,CAEtC,+BAKF,CAHE,uBACE,SACF","file":"state.css","sourcesContent":["/* State */\n\n/* Default 32px */\n\n.state, /* TODO: Deprecate */\n.State {\n display: inline-block;\n padding: var(--base-size-4) var(--control-medium-paddingInline-normal);\n font-size: var(--text-body-size-medium);\n font-weight: var(--base-text-weight-medium);\n /* stylelint-disable-next-line primer/typography */\n line-height: var(--base-size-20);\n text-align: center;\n white-space: nowrap;\n /* stylelint-disable-next-line primer/borders */\n border-radius: 2em;\n}\n\n.state, /* TODO: Deprecate */\n.State,\n.State--draft {\n color: var(--fgColor-onEmphasis);\n background-color: var(--bgColor-draft-emphasis, var(--bgColor-neutral-emphasis));\n border: var(--borderWidth-thin) solid transparent;\n box-shadow: var(--boxShadow-thin) var(--borderColor-draft-emphasis, var(--borderColor-neutral-emphasis));\n}\n\n.State--open {\n color: var(--fgColor-onEmphasis);\n background-color: var(--bgColor-open-emphasis, var(--color-open-emphasis));\n box-shadow: var(--boxShadow-thin) var(--borderColor-open-emphasis);\n}\n\n.State--merged {\n color: var(--fgColor-onEmphasis);\n background-color: var(--bgColor-done-emphasis, var(--color-done-emphasis));\n box-shadow: var(--boxShadow-thin) var(--borderColor-done-emphasis);\n}\n\n.State--closed {\n color: var(--fgColor-onEmphasis);\n background-color: var(--bgColor-closed-emphasis, var(--color-closed-emphasis));\n box-shadow: var(--boxShadow-thin) var(--borderColor-closed-emphasis);\n}\n\n/* Small 24px */\n\n.State--small {\n /* stylelint-disable-next-line primer/spacing */\n padding: 0 10px;\n font-size: var(--text-body-size-small);\n /* stylelint-disable-next-line primer/typography */\n line-height: var(--base-size-24);\n\n & .octicon {\n width: 1em; /* Ensures different icons don't change State indicator width */\n }\n}\n"]}
@@ -5,7 +5,6 @@
5
5
  .state, /* TODO: Deprecate */
6
6
  .State {
7
7
  display: inline-block;
8
- /* stylelint-disable-next-line primer/spacing */
9
8
  padding: var(--base-size-4) var(--control-medium-paddingInline-normal);
10
9
  font-size: var(--text-body-size-medium);
11
10
  font-weight: var(--base-text-weight-medium);
@@ -1 +1 @@
1
- .Subhead{border-bottom:var(--borderWidth-thin) solid var(--borderColor-muted);display:flex;flex-flow:row wrap;justify-content:flex-end;margin-bottom:var(--stack-gap-normal);padding-bottom:var(--stack-padding-condensed)}.Subhead--spacious{margin-top:var(--base-size-40)}.Subhead-heading{flex:1 1 auto;font-weight:var(--base-text-weight-normal);order:0}.Subhead-heading--large{font-size:var(--base-size-24)}.Subhead-heading--medium{font-size:var(--text-title-size-medium)}.Subhead-heading--danger{color:var(--fgColor-danger);font-weight:var(--base-text-weight-semibold)}.Subhead-description{color:var(--fgColor-muted);flex:1 100%;font-size:var(--text-body-size-medium);order:2}.Subhead-actions{align-self:center;justify-content:flex-end;margin:var(--base-size-4) 0 var(--base-size-4) var(--base-size-4);order:1}.Subhead-actions+.Subhead-description{margin-top:var(--base-size-4)}
1
+ .Subhead{display:flex;padding-bottom:var(--stack-padding-condensed);margin-bottom:var(--stack-gap-normal);border-bottom:var(--borderWidth-thin) solid var(--borderColor-muted);flex-flow:row wrap;justify-content:flex-end}.Subhead--spacious{margin-top:var(--base-size-40)}.Subhead-heading{font-weight:var(--base-text-weight-normal);flex:1 1 auto;order:0}.Subhead-heading--large{font-size:var(--base-size-24)}.Subhead-heading--medium{font-size:var(--text-title-size-medium)}.Subhead-heading--danger{font-weight:var(--base-text-weight-semibold);color:var(--fgColor-danger)}.Subhead-description{font-size:var(--text-body-size-medium);color:var(--fgColor-muted);flex:1 100%;order:2}.Subhead-actions{margin:var(--base-size-4) 0 var(--base-size-4) var(--base-size-4);align-self:center;justify-content:flex-end;order:1}.Subhead-actions+.Subhead-description{margin-top:var(--base-size-4)}
@@ -1 +1 @@
1
- {"version":3,"sources":["subhead.pcss"],"names":[],"mappings":"AAEA,SAME,oEAAqE,CALrE,YAAa,CAMb,kBAAmB,CACnB,wBAAyB,CAHzB,qCAAsC,CAFtC,6CAMF,CAGA,mBACE,8BACF,CAGA,iBAEE,aAAc,CADd,0CAA2C,CAE3C,OACF,CAEA,wBAEE,6BACF,CAEA,yBACE,uCACF,CAGA,yBAEE,2BAA4B,CAD5B,4CAEF,CAGA,qBAEE,0BAA2B,CAC3B,WAAY,CAFZ,sCAAuC,CAGvC,OACF,CAGA,iBAEE,iBAAkB,CAClB,wBAAyB,CAFzB,iEAAkE,CAGlE,OAKF,CAHE,sCACE,6BACF","file":"subhead.css","sourcesContent":["/* Subhead */\n\n.Subhead {\n display: flex;\n /* stylelint-disable-next-line primer/spacing */\n padding-bottom: var(--stack-padding-condensed);\n /* stylelint-disable-next-line primer/spacing */\n margin-bottom: var(--stack-gap-normal);\n border-bottom: var(--borderWidth-thin) solid var(--borderColor-muted);\n flex-flow: row wrap;\n justify-content: flex-end; /* Keep actions right aligned. */\n}\n\n/* Modifier class to give a lot of breathing room between sections of content. */\n.Subhead--spacious {\n margin-top: var(--base-size-40);\n}\n\n/* <h2> sized heading with normal font weight */\n.Subhead-heading {\n font-weight: var(--base-text-weight-normal);\n flex: 1 1 auto;\n order: 0;\n}\n\n.Subhead-heading--large {\n /* stylelint-disable-next-line primer/typography */\n font-size: var(--base-size-24);\n}\n\n.Subhead-heading--medium {\n font-size: var(--text-title-size-medium);\n}\n\n/* Make the text bold and red for dangerous content */\n.Subhead-heading--danger {\n font-weight: var(--base-text-weight-semibold);\n color: var(--fgColor-danger);\n}\n\n/* One-liner of supporting text */\n.Subhead-description {\n font-size: var(--text-body-size-medium);\n color: var(--fgColor-muted);\n flex: 1 100%;\n order: 2;\n}\n\n/* Add 1 or 2 buttons to the right of the heading */\n.Subhead-actions {\n margin: var(--base-size-4) 0 var(--base-size-4) var(--base-size-4);\n align-self: center;\n justify-content: flex-end;\n order: 1;\n\n & + .Subhead-description {\n margin-top: var(--base-size-4);\n }\n}\n"]}
1
+ {"version":3,"sources":["subhead.pcss"],"names":[],"mappings":"AAEA,SACE,YAAa,CACb,6CAA8C,CAC9C,qCAAsC,CACtC,oEAAqE,CACrE,kBAAmB,CACnB,wBACF,CAGA,mBACE,8BACF,CAGA,iBACE,0CAA2C,CAC3C,aAAc,CACd,OACF,CAEA,wBAEE,6BACF,CAEA,yBACE,uCACF,CAGA,yBACE,4CAA6C,CAC7C,2BACF,CAGA,qBACE,sCAAuC,CACvC,0BAA2B,CAC3B,WAAY,CACZ,OACF,CAGA,iBACE,iEAAkE,CAClE,iBAAkB,CAClB,wBAAyB,CACzB,OAKF,CAHE,sCACE,6BACF","file":"subhead.css","sourcesContent":["/* Subhead */\n\n.Subhead {\n display: flex;\n padding-bottom: var(--stack-padding-condensed);\n margin-bottom: var(--stack-gap-normal);\n border-bottom: var(--borderWidth-thin) solid var(--borderColor-muted);\n flex-flow: row wrap;\n justify-content: flex-end; /* Keep actions right aligned. */\n}\n\n/* Modifier class to give a lot of breathing room between sections of content. */\n.Subhead--spacious {\n margin-top: var(--base-size-40);\n}\n\n/* <h2> sized heading with normal font weight */\n.Subhead-heading {\n font-weight: var(--base-text-weight-normal);\n flex: 1 1 auto;\n order: 0;\n}\n\n.Subhead-heading--large {\n /* stylelint-disable-next-line primer/typography */\n font-size: var(--base-size-24);\n}\n\n.Subhead-heading--medium {\n font-size: var(--text-title-size-medium);\n}\n\n/* Make the text bold and red for dangerous content */\n.Subhead-heading--danger {\n font-weight: var(--base-text-weight-semibold);\n color: var(--fgColor-danger);\n}\n\n/* One-liner of supporting text */\n.Subhead-description {\n font-size: var(--text-body-size-medium);\n color: var(--fgColor-muted);\n flex: 1 100%;\n order: 2;\n}\n\n/* Add 1 or 2 buttons to the right of the heading */\n.Subhead-actions {\n margin: var(--base-size-4) 0 var(--base-size-4) var(--base-size-4);\n align-self: center;\n justify-content: flex-end;\n order: 1;\n\n & + .Subhead-description {\n margin-top: var(--base-size-4);\n }\n}\n"]}
@@ -2,9 +2,7 @@
2
2
 
3
3
  .Subhead {
4
4
  display: flex;
5
- /* stylelint-disable-next-line primer/spacing */
6
5
  padding-bottom: var(--stack-padding-condensed);
7
- /* stylelint-disable-next-line primer/spacing */
8
6
  margin-bottom: var(--stack-gap-normal);
9
7
  border-bottom: var(--borderWidth-thin) solid var(--borderColor-muted);
10
8
  flex-flow: row wrap;
@@ -1 +1 @@
1
- .TimelineItem{display:flex;margin-left:var(--stack-gap-normal);padding:var(--stack-padding-normal) 0;position:relative}.TimelineItem:before{background-color:var(--borderColor-muted);bottom:0;content:"";display:block;left:0;position:absolute;top:0;width:var(--borderWidth-thick)}.TimelineItem:target .TimelineItem-badge{border-color:var(--borderColor-accent-emphasis);box-shadow:0 0 .2em var(--borderColor-accent-muted)}.TimelineItem-badge{align-items:center;background-color:var(--timelineBadge-bgColor);border:var(--borderWidth-thick) solid var(--bgColor-default);border-radius:50%;color:var(--fgColor-muted);display:flex;flex-shrink:0;height:var(--control-medium-size);justify-content:center;margin-left:calc(var(--control-medium-size)/-2 + 1px);margin-right:var(--controlStack-medium-gap-condensed);position:relative;width:var(--control-medium-size);z-index:1}.TimelineItem-badge--success{background-color:var(--bgColor-success-emphasis);border:var(--borderWidth-thin) solid #0000;color:var(--fgColor-onEmphasis)}.TimelineItem-body{color:var(--fgColor-muted);flex:auto;margin-top:calc(var(--base-size-4) + 1px);max-width:100%;min-width:0}.TimelineItem-avatar{left:-72px;position:absolute;z-index:1}.TimelineItem-break{background-color:var(--bgColor-default);border:0;border-top:var(--borderWidth-thicker) solid var(--borderColor-default);height:var(--stack-gap-spacious);margin:0;margin-bottom:calc(var(--stack-gap-normal)*-1);margin-left:-56px;position:relative;z-index:1}.TimelineItem--condensed{padding-bottom:0;padding-top:var(--base-size-4)}.TimelineItem--condensed:last-child{padding-bottom:var(--stack-gap-normal)}.TimelineItem--condensed .TimelineItem-badge{background-color:var(--bgColor-default);border:0;color:var(--fgColor-muted);height:var(--base-size-16);margin-bottom:var(--base-size-8);margin-top:var(--base-size-8)}
1
+ .TimelineItem{position:relative;display:flex;padding:var(--stack-padding-normal) 0;margin-left:var(--stack-gap-normal)}.TimelineItem:before{position:absolute;top:0;bottom:0;left:0;display:block;width:var(--borderWidth-thick);content:"";background-color:var(--borderColor-muted)}.TimelineItem:target .TimelineItem-badge{border-color:var(--borderColor-accent-emphasis);box-shadow:0 0 .2em var(--borderColor-accent-muted)}.TimelineItem-badge{position:relative;z-index:1;display:flex;width:var(--control-medium-size);height:var(--control-medium-size);margin-right:var(--controlStack-medium-gap-condensed);margin-left:calc(var(--control-medium-size)/-2 + 1px);color:var(--fgColor-muted);align-items:center;background-color:var(--timelineBadge-bgColor);border:var(--borderWidth-thick) solid var(--bgColor-default);border-radius:50%;justify-content:center;flex-shrink:0}.TimelineItem-badge--success{color:var(--fgColor-onEmphasis);background-color:var(--bgColor-success-emphasis);border:var(--borderWidth-thin) solid #0000}.TimelineItem-body{min-width:0;max-width:100%;margin-top:calc(var(--base-size-4) + 1px);color:var(--fgColor-muted);flex:auto}.TimelineItem-avatar{position:absolute;left:-72px;z-index:1}.TimelineItem-break{position:relative;z-index:1;height:var(--stack-gap-spacious);margin:0;margin-bottom:calc(var(--stack-gap-normal)*-1);margin-left:-56px;background-color:var(--bgColor-default);border:0;border-top:var(--borderWidth-thicker) solid var(--borderColor-default)}.TimelineItem--condensed{padding-top:var(--base-size-4);padding-bottom:0}.TimelineItem--condensed:last-child{padding-bottom:var(--stack-gap-normal)}.TimelineItem--condensed .TimelineItem-badge{height:var(--base-size-16);margin-top:var(--base-size-8);margin-bottom:var(--base-size-8);color:var(--fgColor-muted);background-color:var(--bgColor-default);border:0}
@@ -1 +1 @@
1
- {"version":3,"sources":["timeline_item.pcss"],"names":[],"mappings":"AAEA,cAEE,YAAa,CAIb,mCAAoC,CAFpC,qCAAsC,CAHtC,iBAyBF,CAjBE,qBASE,yCAA0C,CAN1C,QAAS,CAIT,UAAW,CAFX,aAAc,CADd,MAAO,CAHP,iBAAkB,CAClB,KAAM,CAIN,8BAIF,CAEA,yCACE,+CAAgD,CAEhD,mDACF,CAGF,oBAWE,kBAAmB,CACnB,6CAA8C,CAE9C,4DAA6D,CAC7D,iBAAkB,CALlB,0BAA2B,CAP3B,YAAa,CAcb,aAAc,CAZd,iCAAkC,CAWlC,sBAAuB,CAPvB,qDAAwD,CAFxD,qDAAsD,CANtD,iBAAkB,CAGlB,gCAAiC,CAFjC,SAgBF,CAEA,6BAEE,gDAAiD,CACjD,0CAAiD,CAFjD,+BAGF,CAEA,mBAKE,0BAA2B,CAC3B,SAAU,CAFV,yCAA0C,CAF1C,cAAe,CADf,WAMF,CAEA,qBAGE,UAAW,CAFX,iBAAkB,CAGlB,SACF,CAEA,oBASE,uCAAwC,CACxC,QAAS,CACT,sEAAuE,CARvE,gCAAiC,CACjC,QAAS,CAET,8CAAiD,CAEjD,iBAAkB,CAPlB,iBAAkB,CAClB,SAUF,CAEA,yBAEE,gBAAiB,CADjB,8BAiBF,CAbE,oCAEE,sCACF,CAEA,6CAKE,uCAAwC,CACxC,QAAS,CAFT,0BAA2B,CAH3B,0BAA2B,CAE3B,gCAAiC,CADjC,6BAKF","file":"timeline_item.css","sourcesContent":["/* TimelineItem */\n\n.TimelineItem {\n position: relative;\n display: flex;\n /* stylelint-disable-next-line primer/spacing */\n padding: var(--stack-padding-normal) 0;\n /* stylelint-disable-next-line primer/spacing */\n margin-left: var(--stack-gap-normal);\n\n /* The Timeline */\n &::before {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n display: block;\n width: var(--borderWidth-thick);\n content: '';\n /* stylelint-disable-next-line primer/colors */\n background-color: var(--borderColor-muted);\n }\n\n &:target .TimelineItem-badge {\n border-color: var(--borderColor-accent-emphasis);\n /* stylelint-disable-next-line primer/box-shadow */\n box-shadow: 0 0 0.2em var(--borderColor-accent-muted);\n }\n}\n\n.TimelineItem-badge {\n position: relative;\n z-index: 1;\n display: flex;\n width: var(--control-medium-size);\n height: var(--control-medium-size);\n /* stylelint-disable-next-line primer/spacing */\n margin-right: var(--controlStack-medium-gap-condensed);\n /* stylelint-disable-next-line primer/spacing */\n margin-left: calc(var(--control-medium-size) / -2 + 1px);\n color: var(--fgColor-muted);\n align-items: center;\n background-color: var(--timelineBadge-bgColor);\n /* stylelint-disable-next-line primer/colors */\n border: var(--borderWidth-thick) solid var(--bgColor-default);\n border-radius: 50%;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.TimelineItem-badge--success {\n color: var(--fgColor-onEmphasis);\n background-color: var(--bgColor-success-emphasis);\n border: var(--borderWidth-thin) solid transparent;\n}\n\n.TimelineItem-body {\n min-width: 0;\n max-width: 100%;\n /* stylelint-disable-next-line primer/spacing */\n margin-top: calc(var(--base-size-4) + 1px);\n color: var(--fgColor-muted);\n flex: auto;\n}\n\n.TimelineItem-avatar {\n position: absolute;\n /* stylelint-disable-next-line primer/spacing */\n left: -72px;\n z-index: 1;\n}\n\n.TimelineItem-break {\n position: relative;\n z-index: 1;\n height: var(--stack-gap-spacious);\n margin: 0;\n /* stylelint-disable-next-line primer/spacing */\n margin-bottom: calc(var(--stack-gap-normal) * -1);\n /* stylelint-disable-next-line primer/spacing */\n margin-left: -56px;\n background-color: var(--bgColor-default);\n border: 0;\n border-top: var(--borderWidth-thicker) solid var(--borderColor-default);\n}\n\n.TimelineItem--condensed {\n padding-top: var(--base-size-4);\n padding-bottom: 0;\n\n /* TimelineItem--condensed is often grouped. (commits) */\n &:last-child {\n /* stylelint-disable-next-line primer/spacing */\n padding-bottom: var(--stack-gap-normal);\n }\n\n & .TimelineItem-badge {\n height: var(--base-size-16);\n margin-top: var(--base-size-8);\n margin-bottom: var(--base-size-8);\n color: var(--fgColor-muted);\n background-color: var(--bgColor-default);\n border: 0;\n }\n}\n"]}
1
+ {"version":3,"sources":["timeline_item.pcss"],"names":[],"mappings":"AAEA,cACE,iBAAkB,CAClB,YAAa,CACb,qCAAsC,CACtC,mCAoBF,CAjBE,qBACE,iBAAkB,CAClB,KAAM,CACN,QAAS,CACT,MAAO,CACP,aAAc,CACd,8BAA+B,CAC/B,UAAW,CAEX,yCACF,CAEA,yCACE,+CAAgD,CAEhD,mDACF,CAGF,oBACE,iBAAkB,CAClB,SAAU,CACV,YAAa,CACb,gCAAiC,CACjC,iCAAkC,CAClC,qDAAsD,CAEtD,qDAAwD,CACxD,0BAA2B,CAC3B,kBAAmB,CACnB,6CAA8C,CAE9C,4DAA6D,CAC7D,iBAAkB,CAClB,sBAAuB,CACvB,aACF,CAEA,6BACE,+BAAgC,CAChC,gDAAiD,CACjD,0CACF,CAEA,mBACE,WAAY,CACZ,cAAe,CAEf,yCAA0C,CAC1C,0BAA2B,CAC3B,SACF,CAEA,qBACE,iBAAkB,CAElB,UAAW,CACX,SACF,CAEA,oBACE,iBAAkB,CAClB,SAAU,CACV,gCAAiC,CACjC,QAAS,CACT,8CAAiD,CAEjD,iBAAkB,CAClB,uCAAwC,CACxC,QAAS,CACT,sEACF,CAEA,yBACE,8BAA+B,CAC/B,gBAeF,CAZE,oCACE,sCACF,CAEA,6CACE,0BAA2B,CAC3B,6BAA8B,CAC9B,gCAAiC,CACjC,0BAA2B,CAC3B,uCAAwC,CACxC,QACF","file":"timeline_item.css","sourcesContent":["/* TimelineItem */\n\n.TimelineItem {\n position: relative;\n display: flex;\n padding: var(--stack-padding-normal) 0;\n margin-left: var(--stack-gap-normal);\n\n /* The Timeline */\n &::before {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n display: block;\n width: var(--borderWidth-thick);\n content: '';\n /* stylelint-disable-next-line primer/colors */\n background-color: var(--borderColor-muted);\n }\n\n &:target .TimelineItem-badge {\n border-color: var(--borderColor-accent-emphasis);\n /* stylelint-disable-next-line primer/box-shadow */\n box-shadow: 0 0 0.2em var(--borderColor-accent-muted);\n }\n}\n\n.TimelineItem-badge {\n position: relative;\n z-index: 1;\n display: flex;\n width: var(--control-medium-size);\n height: var(--control-medium-size);\n margin-right: var(--controlStack-medium-gap-condensed);\n /* stylelint-disable-next-line primer/spacing */\n margin-left: calc(var(--control-medium-size) / -2 + 1px);\n color: var(--fgColor-muted);\n align-items: center;\n background-color: var(--timelineBadge-bgColor);\n /* stylelint-disable-next-line primer/colors */\n border: var(--borderWidth-thick) solid var(--bgColor-default);\n border-radius: 50%;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.TimelineItem-badge--success {\n color: var(--fgColor-onEmphasis);\n background-color: var(--bgColor-success-emphasis);\n border: var(--borderWidth-thin) solid transparent;\n}\n\n.TimelineItem-body {\n min-width: 0;\n max-width: 100%;\n /* stylelint-disable-next-line primer/spacing */\n margin-top: calc(var(--base-size-4) + 1px);\n color: var(--fgColor-muted);\n flex: auto;\n}\n\n.TimelineItem-avatar {\n position: absolute;\n /* stylelint-disable-next-line primer/spacing */\n left: -72px;\n z-index: 1;\n}\n\n.TimelineItem-break {\n position: relative;\n z-index: 1;\n height: var(--stack-gap-spacious);\n margin: 0;\n margin-bottom: calc(var(--stack-gap-normal) * -1);\n /* stylelint-disable-next-line primer/spacing */\n margin-left: -56px;\n background-color: var(--bgColor-default);\n border: 0;\n border-top: var(--borderWidth-thicker) solid var(--borderColor-default);\n}\n\n.TimelineItem--condensed {\n padding-top: var(--base-size-4);\n padding-bottom: 0;\n\n /* TimelineItem--condensed is often grouped. (commits) */\n &:last-child {\n padding-bottom: var(--stack-gap-normal);\n }\n\n & .TimelineItem-badge {\n height: var(--base-size-16);\n margin-top: var(--base-size-8);\n margin-bottom: var(--base-size-8);\n color: var(--fgColor-muted);\n background-color: var(--bgColor-default);\n border: 0;\n }\n}\n"]}
@@ -3,9 +3,7 @@
3
3
  .TimelineItem {
4
4
  position: relative;
5
5
  display: flex;
6
- /* stylelint-disable-next-line primer/spacing */
7
6
  padding: var(--stack-padding-normal) 0;
8
- /* stylelint-disable-next-line primer/spacing */
9
7
  margin-left: var(--stack-gap-normal);
10
8
 
11
9
  /* The Timeline */
@@ -34,7 +32,6 @@
34
32
  display: flex;
35
33
  width: var(--control-medium-size);
36
34
  height: var(--control-medium-size);
37
- /* stylelint-disable-next-line primer/spacing */
38
35
  margin-right: var(--controlStack-medium-gap-condensed);
39
36
  /* stylelint-disable-next-line primer/spacing */
40
37
  margin-left: calc(var(--control-medium-size) / -2 + 1px);
@@ -75,7 +72,6 @@
75
72
  z-index: 1;
76
73
  height: var(--stack-gap-spacious);
77
74
  margin: 0;
78
- /* stylelint-disable-next-line primer/spacing */
79
75
  margin-bottom: calc(var(--stack-gap-normal) * -1);
80
76
  /* stylelint-disable-next-line primer/spacing */
81
77
  margin-left: -56px;
@@ -90,7 +86,6 @@
90
86
 
91
87
  /* TimelineItem--condensed is often grouped. (commits) */
92
88
  &:last-child {
93
- /* stylelint-disable-next-line primer/spacing */
94
89
  padding-bottom: var(--stack-gap-normal);
95
90
  }
96
91
 
@@ -1 +1 @@
1
- .Truncate{display:inline-flex;max-width:100%;min-width:0}.Truncate>.Truncate-text{max-width:fit-content;min-width:1ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:is(.Truncate>.Truncate-text)+.Truncate-text{margin-left:var(--control-small-gap)}.Truncate-text--primary:is(.Truncate>.Truncate-text){flex-basis:200%}.Truncate-text--expandable:is(.Truncate>.Truncate-text):active,.Truncate-text--expandable:is(.Truncate>.Truncate-text):focus,.Truncate-text--expandable:is(.Truncate>.Truncate-text):hover{cursor:pointer;flex-shrink:0;max-width:100%!important}
1
+ .Truncate{display:inline-flex;min-width:0;max-width:100%}.Truncate>.Truncate-text{min-width:1ch;max-width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:is(.Truncate>.Truncate-text)+.Truncate-text{margin-left:var(--control-small-gap)}.Truncate-text--primary:is(.Truncate>.Truncate-text){flex-basis:200%}.Truncate-text--expandable:is(.Truncate>.Truncate-text):active,.Truncate-text--expandable:is(.Truncate>.Truncate-text):focus,.Truncate-text--expandable:is(.Truncate>.Truncate-text):hover{max-width:100%!important;flex-shrink:0;cursor:pointer}
@@ -1 +1 @@
1
- {"version":3,"sources":["truncate.pcss"],"names":[],"mappings":"AAEA,UACE,mBAAoB,CAEpB,cAAe,CADf,WA2BF,CAxBE,yBAEE,qBAAsB,CADtB,aAAc,CAEd,eAAgB,CAChB,sBAAuB,CACvB,kBAkBF,CAhBE,6CAEE,oCACF,CAEA,qDACE,eACF,CAEA,2LAKE,cAAe,CADf,aAAc,CADd,wBAGF","file":"truncate.css","sourcesContent":["/* Truncate */\n\n.Truncate {\n display: inline-flex;\n min-width: 0;\n max-width: 100%;\n\n & > .Truncate-text {\n min-width: 1ch;\n max-width: fit-content;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n & + .Truncate-text {\n /* stylelint-disable-next-line primer/spacing */\n margin-left: var(--control-small-gap);\n }\n\n &.Truncate-text--primary {\n flex-basis: 200%;\n }\n\n &.Truncate-text--expandable:hover,\n &.Truncate-text--expandable:focus,\n &.Truncate-text--expandable:active {\n max-width: 100% !important;\n flex-shrink: 0;\n cursor: pointer;\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["truncate.pcss"],"names":[],"mappings":"AAEA,UACE,mBAAoB,CACpB,WAAY,CACZ,cAyBF,CAvBE,yBACE,aAAc,CACd,qBAAsB,CACtB,eAAgB,CAChB,sBAAuB,CACvB,kBAiBF,CAfE,6CACE,oCACF,CAEA,qDACE,eACF,CAEA,2LAGE,wBAA0B,CAC1B,aAAc,CACd,cACF","file":"truncate.css","sourcesContent":["/* Truncate */\n\n.Truncate {\n display: inline-flex;\n min-width: 0;\n max-width: 100%;\n\n & > .Truncate-text {\n min-width: 1ch;\n max-width: fit-content;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n & + .Truncate-text {\n margin-left: var(--control-small-gap);\n }\n\n &.Truncate-text--primary {\n flex-basis: 200%;\n }\n\n &.Truncate-text--expandable:hover,\n &.Truncate-text--expandable:focus,\n &.Truncate-text--expandable:active {\n max-width: 100% !important;\n flex-shrink: 0;\n cursor: pointer;\n }\n }\n}\n"]}
@@ -13,7 +13,6 @@
13
13
  white-space: nowrap;
14
14
 
15
15
  & + .Truncate-text {
16
- /* stylelint-disable-next-line primer/spacing */
17
16
  margin-left: var(--control-small-gap);
18
17
  }
19
18
 
@@ -22,6 +22,7 @@ module Primer
22
22
  include AttributesHelper
23
23
  include ClassNameHelper
24
24
  include FetchOrFallbackHelper
25
+ include SafeHrefHelper
25
26
  include TestSelectorHelper
26
27
  include JoinStyleArgumentsHelper
27
28
  include ViewHelper
@@ -137,6 +138,21 @@ module Primer
137
138
  deny_single_argument(:tag, "This component has a fixed tag.", **arguments)
138
139
  end
139
140
 
141
+ # Removes `href` values that point at disallowed URI schemes (`javascript:`,
142
+ # `vbscript:`). Raises in non-production environments so the offending call
143
+ # site gets fixed; in production we silently drop the attribute so the link
144
+ # is rendered inert rather than crashing the page.
145
+ def sanitize_href!(arguments)
146
+ return unless arguments.key?(:href)
147
+ return unless Primer::SafeHrefHelper.unsafe_href?(arguments[:href])
148
+
149
+ if should_raise_error?
150
+ raise ArgumentError, "Rejected dangerous URI scheme in `href`: #{arguments[:href].inspect}"
151
+ end
152
+
153
+ arguments[:href] = nil
154
+ end
155
+
140
156
  def should_raise_error?
141
157
  !Rails.env.production? && raise_on_invalid_options? && !ENV["PRIMER_WARNINGS_DISABLED"]
142
158
  end
@@ -15,6 +15,10 @@ function setScrollGutter(doc) {
15
15
  return;
16
16
  doc.body.style.setProperty('--dialog-scrollgutter', `${window.innerWidth - doc.body.clientWidth}px`);
17
17
  }
18
+ function updateBodyModalClasses(doc) {
19
+ doc.body.classList.toggle('has-modal', Boolean(doc.querySelector('dialog[open]')));
20
+ doc.body.classList.toggle('has-modal-disable-scroll', Boolean(doc.querySelector('dialog[open].Overlay--disableScroll')));
21
+ }
18
22
  function dialogInvokerButtonHandler(event) {
19
23
  const target = event.target;
20
24
  const button = target?.closest('button');
@@ -75,6 +79,7 @@ function dialogInvokerButtonHandler(event) {
75
79
  }
76
80
  }, { once: true });
77
81
  }
82
+ updateBodyModalClasses(dialog.ownerDocument);
78
83
  }
79
84
  }
80
85
  dialogId = button.getAttribute('data-close-dialog-id') || button.getAttribute('data-submit-dialog-id');
@@ -82,6 +87,7 @@ function dialogInvokerButtonHandler(event) {
82
87
  const dialog = document.getElementById(dialogId);
83
88
  if (dialog instanceof HTMLDialogElement && dialog.open) {
84
89
  dialog.close();
90
+ updateBodyModalClasses(dialog.ownerDocument);
85
91
  }
86
92
  }
87
93
  }
@@ -98,6 +104,7 @@ export class DialogHelperElement extends HTMLElement {
98
104
  const { signal } = (__classPrivateFieldSet(this, _DialogHelperElement_abortController, new AbortController(), "f"));
99
105
  document.addEventListener('click', dialogInvokerButtonHandler, true);
100
106
  document.addEventListener('click', this, { signal });
107
+ this.dialog?.addEventListener('close', () => updateBodyModalClasses(this.dialog.ownerDocument), { signal });
101
108
  new MutationObserver(records => {
102
109
  for (const record of records) {
103
110
  if (record.target === this.dialog) {
@@ -132,14 +139,16 @@ export class DialogHelperElement extends HTMLElement {
132
139
  _DialogHelperElement_abortController = new WeakMap(), _DialogHelperElement_instances = new WeakSet(), _DialogHelperElement_handleDialogOpenAttribute = function _DialogHelperElement_handleDialogOpenAttribute() {
133
140
  if (!this.dialog)
134
141
  return;
142
+ const { ownerDocument } = this.dialog;
135
143
  // We don't want to show the Dialog component as non-modal
136
144
  if (this.dialog.matches('[open]:not(:modal)')) {
137
145
  // eslint-disable-next-line no-restricted-syntax
138
146
  this.dialog.addEventListener('close', e => e.stopImmediatePropagation(), { once: true });
139
147
  this.dialog.close();
140
- setScrollGutter(this.dialog.ownerDocument);
148
+ setScrollGutter(ownerDocument);
141
149
  this.dialog.showModal();
142
150
  }
151
+ updateBodyModalClasses(ownerDocument);
143
152
  };
144
153
  if (!window.customElements.get('dialog-helper')) {
145
154
  window.DialogHelperElement = DialogHelperElement;
@@ -3,6 +3,14 @@ function setScrollGutter(doc: Document) {
3
3
  doc.body.style.setProperty('--dialog-scrollgutter', `${window.innerWidth - doc.body.clientWidth}px`)
4
4
  }
5
5
 
6
+ function updateBodyModalClasses(doc: Document) {
7
+ doc.body.classList.toggle('has-modal', Boolean(doc.querySelector('dialog[open]')))
8
+ doc.body.classList.toggle(
9
+ 'has-modal-disable-scroll',
10
+ Boolean(doc.querySelector('dialog[open].Overlay--disableScroll')),
11
+ )
12
+ }
13
+
6
14
  function dialogInvokerButtonHandler(event: Event) {
7
15
  const target = event.target as HTMLElement
8
16
  const button = target?.closest('button')
@@ -69,6 +77,8 @@ function dialogInvokerButtonHandler(event: Event) {
69
77
  {once: true},
70
78
  )
71
79
  }
80
+
81
+ updateBodyModalClasses(dialog.ownerDocument)
72
82
  }
73
83
  }
74
84
 
@@ -77,6 +87,7 @@ function dialogInvokerButtonHandler(event: Event) {
77
87
  const dialog = document.getElementById(dialogId)
78
88
  if (dialog instanceof HTMLDialogElement && dialog.open) {
79
89
  dialog.close()
90
+ updateBodyModalClasses(dialog.ownerDocument)
80
91
  }
81
92
  }
82
93
  }
@@ -91,6 +102,7 @@ export class DialogHelperElement extends HTMLElement {
91
102
  const {signal} = (this.#abortController = new AbortController())
92
103
  document.addEventListener('click', dialogInvokerButtonHandler, true)
93
104
  document.addEventListener('click', this, {signal})
105
+ this.dialog?.addEventListener('close', () => updateBodyModalClasses(this.dialog!.ownerDocument), {signal})
94
106
  new MutationObserver(records => {
95
107
  for (const record of records) {
96
108
  if (record.target === this.dialog) {
@@ -107,14 +119,17 @@ export class DialogHelperElement extends HTMLElement {
107
119
 
108
120
  #handleDialogOpenAttribute() {
109
121
  if (!this.dialog) return
122
+ const {ownerDocument} = this.dialog
110
123
  // We don't want to show the Dialog component as non-modal
111
124
  if (this.dialog.matches('[open]:not(:modal)')) {
112
125
  // eslint-disable-next-line no-restricted-syntax
113
126
  this.dialog.addEventListener('close', e => e.stopImmediatePropagation(), {once: true})
114
127
  this.dialog.close()
115
- setScrollGutter(this.dialog.ownerDocument)
128
+ setScrollGutter(ownerDocument)
116
129
  this.dialog.showModal()
117
130
  }
131
+
132
+ updateBodyModalClasses(ownerDocument)
118
133
  }
119
134
 
120
135
  handleEvent(event: MouseEvent) {
@@ -1 +1 @@
1
- .CollapsibleHeader{container-name:collapsible-header-container;container-type:inline-size;display:block}.Box:has(.CollapsibleHeader--collapsed){border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-width:var(--borderWidth-thicker)}.Box:has(.CollapsibleHeader--collapsed) .Box-body,.Box:has(.CollapsibleHeader--collapsed) .Box-footer,.Box:has(.CollapsibleHeader--collapsed) .Box-list{display:none}.CollapsibleHeader-triggerArea{align-items:center;column-gap:var(--stack-gap-normal);cursor:pointer;display:flex;flex-wrap:nowrap;overflow:hidden;row-gap:var(--base-size-4);-webkit-user-select:none;user-select:none}.CollapsibleHeader>.CollapsibleHeader-triggerArea{flex:1}@container collapsible-header-container (width < 544px){.CollapsibleHeader-triggerArea{align-items:flex-start;flex-direction:column}.CollapsibleHeader[data-collapsed] .CollapsibleHeader-description{display:none}.CollapsibleHeader-description{width:100%}}.CollapsibleHeader--multi-line .CollapsibleHeader-triggerArea{align-items:flex-start;flex-direction:column}.CollapsibleHeader--multi-line.CollapsibleHeader[data-collapsed] .CollapsibleHeader-description{display:none}.CollapsibleHeader--multi-line .CollapsibleHeader-description{overflow:visible;text-overflow:clip;white-space:normal;width:100%}.CollapsibleHeader-title-line{align-items:center;display:flex;flex-basis:66%;gap:var(--stack-gap-condensed);max-width:100%;overflow:hidden}.CollapsibleHeader-description{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:text;user-select:text;white-space:nowrap}
1
+ .CollapsibleHeader{display:block;container-name:collapsible-header-container;container-type:inline-size}.Box:has(.CollapsibleHeader--collapsed){border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-width:var(--borderWidth-thicker)}.Box:has(.CollapsibleHeader--collapsed) :is(.Box-body,.Box-footer,.Box-list){display:none}.CollapsibleHeader-triggerArea{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;flex-wrap:nowrap;align-items:center;column-gap:var(--stack-gap-normal);row-gap:var(--base-size-4);overflow:hidden}.CollapsibleHeader>.CollapsibleHeader-triggerArea{flex:1}@container collapsible-header-container (width < 544px){.CollapsibleHeader-triggerArea{flex-direction:column;align-items:flex-start}.CollapsibleHeader[data-collapsed] .CollapsibleHeader-description{display:none}.CollapsibleHeader-description{width:100%}}.CollapsibleHeader--multi-line .CollapsibleHeader-triggerArea{flex-direction:column;align-items:flex-start}.CollapsibleHeader--multi-line.CollapsibleHeader[data-collapsed] .CollapsibleHeader-description{display:none}.CollapsibleHeader--multi-line .CollapsibleHeader-description{overflow:visible;text-overflow:clip;white-space:normal;width:100%}.CollapsibleHeader-title-line{flex-basis:66%;display:flex;align-items:center;gap:var(--stack-gap-condensed);overflow:hidden;max-width:100%}.CollapsibleHeader-description{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:text;user-select:text}
@@ -3,9 +3,7 @@
3
3
  "selectors": [
4
4
  ".CollapsibleHeader",
5
5
  ".Box:has(.CollapsibleHeader--collapsed)",
6
- ".Box:has(.CollapsibleHeader--collapsed) .Box-body",
7
- ".Box:has(.CollapsibleHeader--collapsed) .Box-footer",
8
- ".Box:has(.CollapsibleHeader--collapsed) .Box-list",
6
+ ".Box:has(.CollapsibleHeader--collapsed) :is(.Box-body,.Box-footer,.Box-list)",
9
7
  ".CollapsibleHeader-triggerArea",
10
8
  ".CollapsibleHeader>.CollapsibleHeader-triggerArea",
11
9
  ".CollapsibleHeader[data-collapsed] .CollapsibleHeader-description",