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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +50 -0
- data/app/assets/javascripts/primer_view_components.js +1 -1
- data/app/assets/javascripts/primer_view_components.js.map +1 -1
- data/app/assets/styles/primer_view_components.css +1 -1
- data/app/assets/styles/primer_view_components.css.map +1 -1
- data/app/components/primer/alpha/action_bar.css +1 -1
- data/app/components/primer/alpha/action_bar.css.map +1 -1
- data/app/components/primer/alpha/action_bar.pcss +0 -3
- data/app/components/primer/alpha/action_list.css +1 -1
- data/app/components/primer/alpha/action_list.css.json +4 -10
- data/app/components/primer/alpha/action_list.css.map +1 -1
- data/app/components/primer/alpha/action_list.pcss +0 -2
- data/app/components/primer/alpha/auto_complete.css +1 -1
- data/app/components/primer/alpha/auto_complete.css.json +2 -4
- data/app/components/primer/alpha/auto_complete.css.map +1 -1
- data/app/components/primer/alpha/auto_complete.pcss +3 -10
- data/app/components/primer/alpha/banner.css +1 -1
- data/app/components/primer/alpha/banner.css.map +1 -1
- data/app/components/primer/alpha/banner.pcss +0 -1
- data/app/components/primer/alpha/button_marketing.css +1 -1
- data/app/components/primer/alpha/button_marketing.css.map +1 -1
- data/app/components/primer/alpha/button_marketing.pcss +4 -4
- data/app/components/primer/alpha/dialog.css +1 -1
- data/app/components/primer/alpha/dialog.css.json +2 -1
- data/app/components/primer/alpha/dialog.css.map +1 -1
- data/app/components/primer/alpha/dialog.pcss +4 -1
- data/app/components/primer/alpha/dropdown.css +1 -1
- data/app/components/primer/alpha/dropdown.css.map +1 -1
- data/app/components/primer/alpha/layout.css +1 -1
- data/app/components/primer/alpha/layout.css.json +10 -14
- data/app/components/primer/alpha/layout.css.map +1 -1
- data/app/components/primer/alpha/layout.pcss +3 -1
- data/app/components/primer/alpha/menu.css +1 -1
- data/app/components/primer/alpha/menu.css.map +1 -1
- data/app/components/primer/alpha/menu.pcss +0 -6
- data/app/components/primer/alpha/overlay.css +1 -1
- data/app/components/primer/alpha/overlay.css.map +1 -1
- data/app/components/primer/alpha/segmented_control.css +1 -1
- data/app/components/primer/alpha/segmented_control.css.json +1 -2
- data/app/components/primer/alpha/segmented_control.css.map +1 -1
- data/app/components/primer/alpha/segmented_control.pcss +0 -2
- data/app/components/primer/alpha/select_panel.css +1 -1
- data/app/components/primer/alpha/select_panel.css.map +1 -1
- data/app/components/primer/alpha/select_panel_element.ts +1 -1
- data/app/components/primer/alpha/skeleton_box.css +1 -1
- data/app/components/primer/alpha/skeleton_box.css.map +1 -1
- data/app/components/primer/alpha/stack.css +1 -1
- data/app/components/primer/alpha/stack.css.map +1 -1
- data/app/components/primer/alpha/tab_nav.css +1 -1
- data/app/components/primer/alpha/tab_nav.css.map +1 -1
- data/app/components/primer/alpha/tab_nav.pcss +0 -5
- data/app/components/primer/alpha/text_field.css +1 -1
- data/app/components/primer/alpha/text_field.css.json +2 -2
- data/app/components/primer/alpha/text_field.css.map +1 -1
- data/app/components/primer/alpha/text_field.pcss +14 -7
- data/app/components/primer/alpha/toggle_switch.css +1 -1
- data/app/components/primer/alpha/toggle_switch.css.map +1 -1
- data/app/components/primer/alpha/toggle_switch.pcss +8 -6
- data/app/components/primer/alpha/tree_view/sub_tree_node.rb +1 -1
- data/app/components/primer/alpha/tree_view/tree_view_icon_pair_element.js +1 -1
- data/app/components/primer/alpha/tree_view/tree_view_icon_pair_element.ts +1 -1
- data/app/components/primer/alpha/tree_view/visual.rb +1 -1
- data/app/components/primer/alpha/tree_view.css +1 -1
- data/app/components/primer/alpha/tree_view.css.json +2 -2
- data/app/components/primer/alpha/tree_view.css.map +1 -1
- data/app/components/primer/alpha/tree_view.pcss +1 -0
- data/app/components/primer/alpha/underline_nav.css +1 -1
- data/app/components/primer/alpha/underline_nav.css.map +1 -1
- data/app/components/primer/alpha/underline_nav.pcss +0 -3
- data/app/components/primer/base_component.rb +1 -0
- data/app/components/primer/beta/avatar.css +1 -1
- data/app/components/primer/beta/avatar.css.map +1 -1
- data/app/components/primer/beta/avatar_stack.css +1 -1
- data/app/components/primer/beta/avatar_stack.css.map +1 -1
- data/app/components/primer/beta/blankslate.css +1 -1
- data/app/components/primer/beta/blankslate.css.map +1 -1
- data/app/components/primer/beta/blankslate.pcss +2 -53
- data/app/components/primer/beta/border_box.css +1 -1
- data/app/components/primer/beta/border_box.css.map +1 -1
- data/app/components/primer/beta/border_box.rb +18 -7
- data/app/components/primer/beta/breadcrumbs.css +1 -1
- data/app/components/primer/beta/breadcrumbs.css.json +2 -1
- data/app/components/primer/beta/breadcrumbs.css.map +1 -1
- data/app/components/primer/beta/breadcrumbs.pcss +6 -5
- data/app/components/primer/beta/button.css +1 -1
- data/app/components/primer/beta/button.css.map +1 -1
- data/app/components/primer/beta/button.pcss +0 -1
- data/app/components/primer/beta/button_group.css +1 -1
- data/app/components/primer/beta/button_group.css.map +1 -1
- data/app/components/primer/beta/button_group.rb +1 -1
- data/app/components/primer/beta/counter.css +1 -1
- data/app/components/primer/beta/counter.css.map +1 -1
- data/app/components/primer/beta/flash.css +1 -1
- data/app/components/primer/beta/flash.css.map +1 -1
- data/app/components/primer/beta/label.css +1 -1
- data/app/components/primer/beta/label.css.map +1 -1
- data/app/components/primer/beta/link.css +1 -1
- data/app/components/primer/beta/link.css.map +1 -1
- data/app/components/primer/beta/popover.css +1 -1
- data/app/components/primer/beta/popover.css.json +22 -16
- data/app/components/primer/beta/popover.css.map +1 -1
- data/app/components/primer/beta/popover.pcss +132 -101
- data/app/components/primer/beta/progress_bar.css +1 -1
- data/app/components/primer/beta/progress_bar.css.map +1 -1
- data/app/components/primer/beta/state.css +1 -1
- data/app/components/primer/beta/state.css.map +1 -1
- data/app/components/primer/beta/state.pcss +0 -1
- data/app/components/primer/beta/subhead.css +1 -1
- data/app/components/primer/beta/subhead.css.map +1 -1
- data/app/components/primer/beta/subhead.pcss +0 -2
- data/app/components/primer/beta/timeline_item.css +1 -1
- data/app/components/primer/beta/timeline_item.css.map +1 -1
- data/app/components/primer/beta/timeline_item.pcss +0 -5
- data/app/components/primer/beta/truncate.css +1 -1
- data/app/components/primer/beta/truncate.css.map +1 -1
- data/app/components/primer/beta/truncate.pcss +0 -1
- data/app/components/primer/component.rb +16 -0
- data/app/components/primer/dialog_helper.js +10 -1
- data/app/components/primer/dialog_helper.ts +16 -1
- data/app/components/primer/open_project/border_box/collapsible_header.css +1 -1
- data/app/components/primer/open_project/border_box/collapsible_header.css.json +1 -3
- data/app/components/primer/open_project/border_box/collapsible_header.css.map +1 -1
- data/app/components/primer/open_project/border_box/collapsible_header.html.erb +1 -1
- data/app/components/primer/open_project/border_box/collapsible_header.pcss +3 -1
- data/app/components/primer/open_project/border_box/collapsible_header.rb +10 -9
- data/app/components/primer/open_project/border_grid.css +1 -1
- data/app/components/primer/open_project/border_grid.css.map +1 -1
- data/app/components/primer/open_project/border_grid.pcss +11 -9
- data/app/components/primer/open_project/collapsible.d.ts +1 -1
- data/app/components/primer/open_project/collapsible.js +8 -4
- data/app/components/primer/open_project/collapsible.ts +10 -4
- data/app/components/primer/open_project/collapsible_section.html.erb +6 -10
- data/app/components/primer/open_project/collapsible_section.rb +8 -0
- data/app/components/primer/open_project/drag_handle.css +1 -1
- data/app/components/primer/open_project/drag_handle.css.map +1 -1
- data/app/components/primer/open_project/filterable_tree_view.css +1 -1
- data/app/components/primer/open_project/filterable_tree_view.css.map +1 -1
- data/app/components/primer/open_project/filterable_tree_view.html.erb +9 -5
- data/app/components/primer/open_project/filterable_tree_view.pcss +2 -0
- data/app/components/primer/open_project/filterable_tree_view.rb +9 -1
- data/app/components/primer/open_project/inline_message.css +1 -1
- data/app/components/primer/open_project/inline_message.css.map +1 -1
- data/app/components/primer/open_project/page_header/dialog.rb +1 -1
- data/app/components/primer/open_project/page_header/menu.rb +1 -1
- data/app/components/primer/open_project/page_header.css +1 -1
- data/app/components/primer/open_project/page_header.css.map +1 -1
- data/app/components/primer/open_project/page_header.pcss +2 -0
- data/app/components/primer/open_project/pagination.css +1 -1
- data/app/components/primer/open_project/pagination.css.map +1 -1
- data/app/components/primer/open_project/pagination.pcss +4 -1
- data/app/components/primer/open_project/side_panel/section.css +1 -1
- data/app/components/primer/open_project/side_panel/section.css.map +1 -1
- data/app/components/primer/open_project/side_panel/section.pcss +3 -3
- data/app/components/primer/open_project/sub_header.css +1 -1
- data/app/components/primer/open_project/sub_header.css.map +1 -1
- data/app/lib/primer/forms/acts_as_component.rb +1 -1
- data/app/lib/primer/forms/dsl/input.rb +5 -1
- data/app/lib/primer/forms/toggle_switch_form.rb +1 -1
- data/app/lib/primer/safe_href_helper.rb +36 -0
- data/lib/primer/form_components.rb +1 -1
- data/lib/primer/static/generate_previews.rb +1 -1
- data/lib/primer/view_components/version.rb +1 -1
- data/previews/primer/beta/border_box_preview.rb +3 -3
- data/previews/primer/open_project/collapsible_section_preview/with_link_in_title.html.erb +6 -0
- data/previews/primer/open_project/collapsible_section_preview.rb +9 -0
- data/previews/primer/open_project/filterable_tree_view_preview/async_custom_loading_indicator.html.erb +9 -0
- data/previews/primer/open_project/filterable_tree_view_preview.rb +7 -0
- data/static/arguments.json +12 -0
- data/static/classes.json +21 -0
- data/static/classnames.cjs +507 -0
- data/static/classnames.d.ts +2 -0
- data/static/classnames.js +509 -0
- data/static/info_arch.json +46 -2
- data/static/previews.json +2394 -2368
- metadata +9 -48
- data/app/assets/javascripts/components/primer/alpha/action_bar_element.d.ts +0 -17
- data/app/assets/javascripts/components/primer/alpha/action_list.d.ts +0 -16
- data/app/assets/javascripts/components/primer/alpha/action_menu/action_menu_element.d.ts +0 -49
- data/app/assets/javascripts/components/primer/alpha/action_menu/action_menu_focus_zone_stack.d.ts +0 -17
- data/app/assets/javascripts/components/primer/alpha/dropdown/menu.d.ts +0 -1
- data/app/assets/javascripts/components/primer/alpha/dropdown.d.ts +0 -1
- data/app/assets/javascripts/components/primer/alpha/modal_dialog.d.ts +0 -18
- data/app/assets/javascripts/components/primer/alpha/segmented_control.d.ts +0 -12
- data/app/assets/javascripts/components/primer/alpha/select_panel_element.d.ts +0 -65
- data/app/assets/javascripts/components/primer/alpha/tab_container.d.ts +0 -1
- data/app/assets/javascripts/components/primer/alpha/toggle_switch.d.ts +0 -34
- data/app/assets/javascripts/components/primer/alpha/tool_tip.d.ts +0 -27
- data/app/assets/javascripts/components/primer/alpha/tree_view/tree_view.d.ts +0 -47
- data/app/assets/javascripts/components/primer/alpha/tree_view/tree_view_icon_pair_element.d.ts +0 -15
- data/app/assets/javascripts/components/primer/alpha/tree_view/tree_view_include_fragment_element.d.ts +0 -9
- data/app/assets/javascripts/components/primer/alpha/tree_view/tree_view_roving_tab_index.d.ts +0 -3
- data/app/assets/javascripts/components/primer/alpha/tree_view/tree_view_sub_tree_node_element.d.ts +0 -47
- data/app/assets/javascripts/components/primer/alpha/x_banner.d.ts +0 -18
- data/app/assets/javascripts/components/primer/anchored_position.d.ts +0 -27
- data/app/assets/javascripts/components/primer/beta/auto_complete/auto_complete.d.ts +0 -1
- data/app/assets/javascripts/components/primer/beta/clipboard_copy.d.ts +0 -1
- data/app/assets/javascripts/components/primer/beta/details_toggle_element.d.ts +0 -40
- data/app/assets/javascripts/components/primer/beta/nav_list.d.ts +0 -20
- data/app/assets/javascripts/components/primer/beta/nav_list_group_element.d.ts +0 -19
- data/app/assets/javascripts/components/primer/beta/relative_time.d.ts +0 -1
- data/app/assets/javascripts/components/primer/dialog_helper.d.ts +0 -15
- data/app/assets/javascripts/components/primer/focus_group.d.ts +0 -19
- data/app/assets/javascripts/components/primer/open_project/avatar_fallback.d.ts +0 -28
- data/app/assets/javascripts/components/primer/open_project/border_box/collapsible_header.d.ts +0 -11
- data/app/assets/javascripts/components/primer/open_project/collapsible.d.ts +0 -13
- data/app/assets/javascripts/components/primer/open_project/collapsible_section.d.ts +0 -10
- data/app/assets/javascripts/components/primer/open_project/danger_dialog_form_helper.d.ts +0 -18
- data/app/assets/javascripts/components/primer/open_project/filterable_tree_view.d.ts +0 -29
- data/app/assets/javascripts/components/primer/open_project/page_header_element.d.ts +0 -9
- data/app/assets/javascripts/components/primer/open_project/sub_header_element.d.ts +0 -17
- data/app/assets/javascripts/components/primer/open_project/zen_mode_button.d.ts +0 -18
- data/app/assets/javascripts/components/primer/primer.d.ts +0 -42
- data/app/assets/javascripts/components/primer/scrollable_region.d.ts +0 -13
- data/app/assets/javascripts/components/primer/shared_events.d.ts +0 -26
- data/app/assets/javascripts/components/primer/utils.d.ts +0 -1
- data/app/assets/javascripts/lib/primer/forms/character_counter.d.ts +0 -41
- data/app/assets/javascripts/lib/primer/forms/primer_multi_input.d.ts +0 -10
- data/app/assets/javascripts/lib/primer/forms/primer_text_area.d.ts +0 -13
- data/app/assets/javascripts/lib/primer/forms/primer_text_field.d.ts +0 -30
- 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
|
|
60
|
-
.Popover-message--bottom-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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
|
-
|
|
92
|
-
|
|
93
|
-
|
|
105
|
+
.Popover-message--top-right::before,
|
|
106
|
+
.Popover-message--bottom-right::before {
|
|
107
|
+
right: var(--base-size-20);
|
|
108
|
+
}
|
|
94
109
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
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
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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
|
-
|
|
114
|
-
|
|
115
|
-
|
|
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
|
|
122
|
-
.Popover-message--right-
|
|
123
|
-
.Popover-message--
|
|
124
|
-
.Popover-message--
|
|
125
|
-
.Popover-message--
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
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
|
-
|
|
135
|
-
|
|
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
|
-
|
|
139
|
-
|
|
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
|
-
|
|
148
|
-
|
|
149
|
-
|
|
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
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
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
|
-
|
|
164
|
-
|
|
165
|
-
|
|
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
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
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--
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
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--
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
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
|
-
|
|
194
|
-
|
|
195
|
-
|
|
223
|
+
.Popover-message--right-bottom::before,
|
|
224
|
+
.Popover-message--left-bottom::before {
|
|
225
|
+
bottom: var(--base-size-16);
|
|
226
|
+
}
|
|
196
227
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
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);
|
|
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,
|
|
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{
|
|
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,
|
|
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);
|
|
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,
|
|
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;
|
|
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,
|
|
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;
|
|
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,
|
|
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"]}
|
|
@@ -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(
|
|
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(
|
|
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
|
|
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",
|