@mixtint/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.
- package/app/assets/javascripts/primer_view_components.js +1 -1
- package/app/assets/javascripts/primer_view_components.js.map +1 -1
- package/app/assets/styles/primer_view_components.css +210 -647
- package/app/assets/styles/primer_view_components.css.map +1 -1
- package/app/components/primer/alpha/action_bar.css +9 -3
- package/app/components/primer/alpha/action_list.css +92 -2
- package/app/components/primer/alpha/auto_complete.css +4 -22
- package/app/components/primer/alpha/auto_complete.css.json +1 -3
- package/app/components/primer/alpha/banner.css +0 -1
- package/app/components/primer/alpha/button_marketing.css +4 -4
- package/app/components/primer/alpha/dialog.css +66 -1
- package/app/components/primer/alpha/dialog.css.json +2 -1
- package/app/components/primer/alpha/dropdown.css +0 -6
- package/app/components/primer/alpha/layout.css +3 -1
- package/app/components/primer/alpha/menu.css +0 -6
- package/app/components/primer/alpha/overlay.css +5 -0
- package/app/components/primer/alpha/segmented_control.css +0 -4
- package/app/components/primer/alpha/tab_nav.css +0 -8
- package/app/components/primer/alpha/text_field.css +97 -5
- package/app/components/primer/alpha/text_field.css.json +2 -2
- package/app/components/primer/alpha/toggle_switch.css +8 -7
- package/app/components/primer/alpha/tree_view/tree_view_icon_pair_element.js +1 -1
- package/app/components/primer/alpha/tree_view.css +1 -0
- package/app/components/primer/alpha/underline_nav.css +0 -3
- package/app/components/primer/beta/avatar.css +0 -1
- package/app/components/primer/beta/avatar_stack.css +33 -0
- package/app/components/primer/beta/blankslate.css +2 -61
- package/app/components/primer/beta/border_box.css +35 -0
- package/app/components/primer/beta/breadcrumbs.css +7 -4
- package/app/components/primer/beta/breadcrumbs.css.json +2 -1
- package/app/components/primer/beta/button.css +51 -1
- package/app/components/primer/beta/flash.css +0 -16
- package/app/components/primer/beta/label.css +0 -2
- package/app/components/primer/beta/link.css +0 -2
- package/app/components/primer/beta/popover.css +138 -85
- package/app/components/primer/beta/popover.css.json +22 -16
- package/app/components/primer/beta/state.css +0 -1
- package/app/components/primer/beta/subhead.css +0 -8
- package/app/components/primer/beta/timeline_item.css +0 -5
- package/app/components/primer/beta/truncate.css +0 -1
- package/app/components/primer/dialog_helper.js +10 -1
- package/app/components/primer/open_project/avatar_stack.css +10 -0
- package/app/components/primer/open_project/border_box/collapsible_header.css +3 -1
- package/app/components/primer/open_project/border_grid.css +11 -9
- package/app/components/primer/open_project/collapsible.d.ts +1 -1
- package/app/components/primer/open_project/collapsible.js +8 -4
- package/app/components/primer/open_project/filterable_tree_view.css +2 -7
- package/app/components/primer/open_project/page_header.css +2 -5
- package/app/components/primer/open_project/pagination.css +4 -1
- package/app/components/primer/open_project/side_panel/section.css +3 -3
- package/package.json +35 -15
- package/static/arguments.json +12 -0
- package/static/classes.json +21 -0
- package/static/classnames.cjs +516 -0
- package/static/classnames.d.ts +2 -0
- package/static/classnames.js +518 -0
- package/static/info_arch.json +59 -2
- package/static/previews.json +2439 -2400
|
@@ -7,26 +7,32 @@
|
|
|
7
7
|
".Popover-message::after",
|
|
8
8
|
".Popover-message--no-caret::before",
|
|
9
9
|
".Popover-message--no-caret::after",
|
|
10
|
-
"
|
|
11
|
-
"
|
|
10
|
+
".Popover-message--bottom::before",
|
|
11
|
+
".Popover-message--bottom::after",
|
|
12
|
+
".Popover-message--bottom-right::before",
|
|
13
|
+
".Popover-message--bottom-right::after",
|
|
14
|
+
".Popover-message--bottom-left::before",
|
|
15
|
+
".Popover-message--bottom-left::after",
|
|
12
16
|
".Popover-message--top-right",
|
|
13
17
|
".Popover-message--bottom-right",
|
|
14
|
-
"
|
|
15
|
-
"
|
|
18
|
+
".Popover-message--top-right::before",
|
|
19
|
+
".Popover-message--top-right::after",
|
|
16
20
|
".Popover-message--top-left",
|
|
17
21
|
".Popover-message--bottom-left",
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
22
|
+
".Popover-message--top-left::before",
|
|
23
|
+
".Popover-message--top-left::after",
|
|
24
|
+
".Popover-message--right::before",
|
|
25
|
+
".Popover-message--right::after",
|
|
26
|
+
".Popover-message--right-top::before",
|
|
27
|
+
".Popover-message--right-top::after",
|
|
28
|
+
".Popover-message--right-bottom::before",
|
|
29
|
+
".Popover-message--right-bottom::after",
|
|
30
|
+
".Popover-message--left::before",
|
|
31
|
+
".Popover-message--left::after",
|
|
32
|
+
".Popover-message--left-top::before",
|
|
33
|
+
".Popover-message--left-top::after",
|
|
34
|
+
".Popover-message--left-bottom::before",
|
|
35
|
+
".Popover-message--left-bottom::after",
|
|
30
36
|
".Popover-message--large",
|
|
31
37
|
".Popover-message > .btn-octicon"
|
|
32
38
|
]
|
|
@@ -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);
|
|
@@ -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;
|
|
@@ -12,13 +10,11 @@
|
|
|
12
10
|
}
|
|
13
11
|
|
|
14
12
|
/* Modifier class to give a lot of breathing room between sections of content. */
|
|
15
|
-
|
|
16
13
|
.Subhead--spacious {
|
|
17
14
|
margin-top: var(--base-size-40);
|
|
18
15
|
}
|
|
19
16
|
|
|
20
17
|
/* <h2> sized heading with normal font weight */
|
|
21
|
-
|
|
22
18
|
.Subhead-heading {
|
|
23
19
|
font-weight: var(--base-text-weight-normal);
|
|
24
20
|
flex: 1 1 auto;
|
|
@@ -35,14 +31,12 @@
|
|
|
35
31
|
}
|
|
36
32
|
|
|
37
33
|
/* Make the text bold and red for dangerous content */
|
|
38
|
-
|
|
39
34
|
.Subhead-heading--danger {
|
|
40
35
|
font-weight: var(--base-text-weight-semibold);
|
|
41
36
|
color: var(--fgColor-danger);
|
|
42
37
|
}
|
|
43
38
|
|
|
44
39
|
/* One-liner of supporting text */
|
|
45
|
-
|
|
46
40
|
.Subhead-description {
|
|
47
41
|
font-size: var(--text-body-size-medium);
|
|
48
42
|
color: var(--fgColor-muted);
|
|
@@ -51,14 +45,12 @@
|
|
|
51
45
|
}
|
|
52
46
|
|
|
53
47
|
/* Add 1 or 2 buttons to the right of the heading */
|
|
54
|
-
|
|
55
48
|
.Subhead-actions {
|
|
56
49
|
margin: var(--base-size-4) 0 var(--base-size-4) var(--base-size-4);
|
|
57
50
|
align-self: center;
|
|
58
51
|
justify-content: flex-end;
|
|
59
52
|
order: 1;
|
|
60
53
|
}
|
|
61
|
-
|
|
62
54
|
.Subhead-actions + .Subhead-description {
|
|
63
55
|
margin-top: var(--base-size-4);
|
|
64
56
|
}
|
|
@@ -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 */
|
|
@@ -35,7 +33,6 @@
|
|
|
35
33
|
display: flex;
|
|
36
34
|
width: var(--control-medium-size);
|
|
37
35
|
height: var(--control-medium-size);
|
|
38
|
-
/* stylelint-disable-next-line primer/spacing */
|
|
39
36
|
margin-right: var(--controlStack-medium-gap-condensed);
|
|
40
37
|
/* stylelint-disable-next-line primer/spacing */
|
|
41
38
|
margin-left: calc(var(--control-medium-size) / -2 + 1px);
|
|
@@ -76,7 +73,6 @@
|
|
|
76
73
|
z-index: 1;
|
|
77
74
|
height: var(--stack-gap-spacious);
|
|
78
75
|
margin: 0;
|
|
79
|
-
/* stylelint-disable-next-line primer/spacing */
|
|
80
76
|
margin-bottom: calc(var(--stack-gap-normal) * -1);
|
|
81
77
|
/* stylelint-disable-next-line primer/spacing */
|
|
82
78
|
margin-left: -56px;
|
|
@@ -93,7 +89,6 @@
|
|
|
93
89
|
}
|
|
94
90
|
|
|
95
91
|
.TimelineItem--condensed:last-child {
|
|
96
|
-
/* stylelint-disable-next-line primer/spacing */
|
|
97
92
|
padding-bottom: var(--stack-gap-normal);
|
|
98
93
|
}
|
|
99
94
|
|
|
@@ -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;
|
|
@@ -1,28 +1,38 @@
|
|
|
1
1
|
/* stylelint-disable selector-max-type, selector-max-specificity */
|
|
2
2
|
/* Type selectors are required for the avatar-fallback custom element wrapper.
|
|
3
3
|
Specificity overrides are needed to properly style nested avatar stacking. */
|
|
4
|
+
|
|
4
5
|
/* OpenProject AvatarStack - styles for avatar-fallback wrapper elements */
|
|
6
|
+
|
|
5
7
|
/* Make avatar-fallback invisible to layout - inner img acts as direct child */
|
|
8
|
+
|
|
6
9
|
.AvatarStack-body avatar-fallback {
|
|
7
10
|
display: contents;
|
|
8
11
|
}
|
|
12
|
+
|
|
9
13
|
/*
|
|
10
14
|
* Z-index stacking for avatars inside avatar-fallback wrappers.
|
|
11
15
|
* The base CSS uses .avatar:first-child/:last-child but those selectors
|
|
12
16
|
* don't match when .avatar is inside avatar-fallback (not a direct child).
|
|
13
17
|
*/
|
|
18
|
+
|
|
14
19
|
.AvatarStack-body avatar-fallback:first-child .avatar {
|
|
15
20
|
z-index: 3;
|
|
16
21
|
}
|
|
22
|
+
|
|
17
23
|
.AvatarStack-body avatar-fallback:nth-child(2) .avatar {
|
|
18
24
|
z-index: 2;
|
|
19
25
|
}
|
|
26
|
+
|
|
20
27
|
/* Hide 4th+ wrapped avatars */
|
|
28
|
+
|
|
21
29
|
.AvatarStack-body avatar-fallback:nth-child(n + 4) {
|
|
22
30
|
display: none;
|
|
23
31
|
opacity: 0;
|
|
24
32
|
}
|
|
33
|
+
|
|
25
34
|
/* Show all on hover/focus */
|
|
35
|
+
|
|
26
36
|
:is(.AvatarStack-body:hover:not([data-disable-expand]),.AvatarStack-body:focus-within:not([data-disable-expand])) avatar-fallback:nth-child(n + 4) {
|
|
27
37
|
display: contents;
|
|
28
38
|
opacity: 1;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/* CSS for BorderBox::CollapsibleHeader */
|
|
2
2
|
|
|
3
|
+
/* stylelint-disable selector-nested-pattern -- component nests descendant class selectors (and `.X > &`) inside container queries, not &-prefixed selectors */
|
|
4
|
+
|
|
3
5
|
.CollapsibleHeader {
|
|
4
6
|
display: block;
|
|
5
7
|
container-name: collapsible-header-container;
|
|
@@ -58,7 +60,7 @@
|
|
|
58
60
|
|
|
59
61
|
.CollapsibleHeader--multi-line .CollapsibleHeader-description {
|
|
60
62
|
overflow: visible;
|
|
61
|
-
text-overflow:
|
|
63
|
+
text-overflow: clip;
|
|
62
64
|
white-space: normal;
|
|
63
65
|
width: 100%;
|
|
64
66
|
}
|
|
@@ -3,26 +3,28 @@
|
|
|
3
3
|
.BorderGrid {
|
|
4
4
|
display: table;
|
|
5
5
|
width: 100%;
|
|
6
|
-
margin-top: -
|
|
7
|
-
margin-bottom: -
|
|
6
|
+
margin-top: calc(-1 * var(--base-size-16));
|
|
7
|
+
margin-bottom: calc(-1 * var(--base-size-16));
|
|
8
8
|
table-layout: fixed;
|
|
9
|
+
/* stylelint-disable-next-line primer/borders -- table border-collapse keyword, not a border size */
|
|
9
10
|
border-collapse: collapse;
|
|
11
|
+
/* stylelint-disable-next-line primer/borders -- table border-style keyword, not a border size */
|
|
10
12
|
border-style: hidden
|
|
11
13
|
}
|
|
12
14
|
|
|
13
15
|
.BorderGrid .BorderGrid-cell {
|
|
14
|
-
padding-top:
|
|
15
|
-
padding-bottom:
|
|
16
|
+
padding-top: var(--base-size-16);
|
|
17
|
+
padding-bottom: var(--base-size-16)
|
|
16
18
|
}
|
|
17
19
|
|
|
18
20
|
.BorderGrid--spacious {
|
|
19
|
-
margin-top: -
|
|
20
|
-
margin-bottom: -
|
|
21
|
+
margin-top: calc(-1 * var(--base-size-24));
|
|
22
|
+
margin-bottom: calc(-1 * var(--base-size-24))
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
.BorderGrid--spacious .BorderGrid-cell {
|
|
24
|
-
padding-top:
|
|
25
|
-
padding-bottom:
|
|
26
|
+
padding-top: var(--base-size-24);
|
|
27
|
+
padding-bottom: var(--base-size-24)
|
|
26
28
|
}
|
|
27
29
|
|
|
28
30
|
.BorderGrid-row {
|
|
@@ -31,5 +33,5 @@
|
|
|
31
33
|
|
|
32
34
|
.BorderGrid-cell {
|
|
33
35
|
display: table-cell;
|
|
34
|
-
border:
|
|
36
|
+
border: var(--borderWidth-thin) solid var(--borderColor-muted)
|
|
35
37
|
}
|
|
@@ -5,7 +5,7 @@ export declare abstract class CollapsibleElement extends HTMLElement {
|
|
|
5
5
|
collapsibleElements: HTMLElement[];
|
|
6
6
|
collapsed: boolean;
|
|
7
7
|
toggleViaKeyboard(event: KeyboardEvent): void;
|
|
8
|
-
toggle(): void;
|
|
8
|
+
toggle(event?: Event): void;
|
|
9
9
|
attributeChangedCallback(name: string): void;
|
|
10
10
|
hideAll(): void;
|
|
11
11
|
expandAll(): void;
|
|
@@ -5,7 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { attr, target, targets } from '@github/catalyst';
|
|
8
|
-
// eslint-disable-next-line custom-elements/expose-class-on-global
|
|
9
8
|
export class CollapsibleElement extends HTMLElement {
|
|
10
9
|
constructor() {
|
|
11
10
|
super(...arguments);
|
|
@@ -13,11 +12,16 @@ export class CollapsibleElement extends HTMLElement {
|
|
|
13
12
|
}
|
|
14
13
|
toggleViaKeyboard(event) {
|
|
15
14
|
if (event.code === 'Enter' || event.code === 'Space') {
|
|
16
|
-
|
|
17
|
-
this.toggle();
|
|
15
|
+
this.toggle(event);
|
|
18
16
|
}
|
|
19
17
|
}
|
|
20
|
-
toggle() {
|
|
18
|
+
toggle(event) {
|
|
19
|
+
if (event &&
|
|
20
|
+
event.target instanceof Element &&
|
|
21
|
+
!event.target.closest('[data-collapsible-toggle]') &&
|
|
22
|
+
event.target.closest('a, button'))
|
|
23
|
+
return;
|
|
24
|
+
event?.preventDefault();
|
|
21
25
|
this.collapsed = !this.collapsed;
|
|
22
26
|
}
|
|
23
27
|
attributeChangedCallback(name) {
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
/* stylelint-disable-next-line selector-max-type */
|
|
13
|
-
|
|
14
13
|
filterable-tree-view {
|
|
15
14
|
display: flex;
|
|
16
15
|
flex-direction: column;
|
|
@@ -30,30 +29,26 @@ filterable-tree-view {
|
|
|
30
29
|
}
|
|
31
30
|
|
|
32
31
|
/* Highlight style for CSS Custom Highlight API */
|
|
33
|
-
|
|
34
32
|
::highlight(primer-filterable-tree-view-search-results) {
|
|
33
|
+
/* stylelint-disable-next-line primer/no-display-colors, primer/colors -- intentional yellow search-match highlight; no Primer semantic token exists for this */
|
|
35
34
|
background-color: var(--display-yellow-scale-2);
|
|
36
35
|
}
|
|
37
36
|
|
|
38
37
|
/* Fallback: <mark> elements used when CSS Custom Highlight API is unavailable */
|
|
39
|
-
|
|
40
38
|
/* stylelint-disable-next-line selector-max-type */
|
|
41
|
-
|
|
42
39
|
filterable-tree-view mark {
|
|
40
|
+
/* stylelint-disable-next-line primer/no-display-colors, primer/colors -- intentional yellow search-match highlight; no Primer semantic token exists for this */
|
|
43
41
|
background-color: var(--display-yellow-scale-2);
|
|
44
42
|
color: inherit;
|
|
45
43
|
}
|
|
46
44
|
|
|
47
45
|
/* Loading skeleton */
|
|
48
|
-
|
|
49
46
|
.FilterableTreeViewLoadingSkeleton {
|
|
50
47
|
display: none;
|
|
51
48
|
}
|
|
52
49
|
|
|
53
50
|
/* stylelint-disable selector-no-qualifying-type */
|
|
54
|
-
|
|
55
51
|
/* stylelint-disable selector-max-type */
|
|
56
|
-
|
|
57
52
|
filterable-tree-view[data-loading] .FilterableTreeViewLoadingSkeleton {
|
|
58
53
|
display: block;
|
|
59
54
|
}
|
|
@@ -41,13 +41,13 @@
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
/* One-liner of supporting text */
|
|
44
|
-
|
|
45
44
|
.PageHeader-description {
|
|
46
45
|
font-size: var(--text-body-size-medium);
|
|
47
46
|
color: var(--fgColor-muted);
|
|
48
47
|
flex: 1 auto;
|
|
49
48
|
}
|
|
50
49
|
|
|
50
|
+
/* stylelint-disable-next-line selector-max-type -- description holds rich text; links can only be targeted by the `a` type selector */
|
|
51
51
|
.PageHeader-description--underlined-links a {
|
|
52
52
|
/* Ensure the accessibility is met, given that the description is written in light grey */
|
|
53
53
|
-webkit-text-decoration: underline;
|
|
@@ -74,7 +74,6 @@
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
/* OpenProject legacy form markup inside header actions: match Primer / dark theme */
|
|
77
|
-
|
|
78
77
|
.PageHeader-actions .form--label {
|
|
79
78
|
color: var(--fgColor-muted);
|
|
80
79
|
min-width: 0;
|
|
@@ -120,7 +119,6 @@
|
|
|
120
119
|
}
|
|
121
120
|
|
|
122
121
|
/* Hide the context bar on desktop when no breadcrumb is visible */
|
|
123
|
-
|
|
124
122
|
@media screen and (min-width: 543.98px) {
|
|
125
123
|
.PageHeader--noBreadcrumb .PageHeader-contextBar {
|
|
126
124
|
display: none;
|
|
@@ -128,11 +126,10 @@
|
|
|
128
126
|
}
|
|
129
127
|
|
|
130
128
|
/* Match the title bar and actions height with the toggle menu button for proper vertical alignment */
|
|
131
|
-
|
|
132
129
|
.PageHeader--noBreadcrumb .PageHeader-titleBar {
|
|
130
|
+
/* stylelint-disable-next-line primer/typography -- control size var intentionally matches the toggle-menu button height for vertical alignment */
|
|
133
131
|
line-height: var(--control-small-size);
|
|
134
132
|
}
|
|
135
|
-
|
|
136
133
|
.PageHeader--noBreadcrumb .PageHeader-actions {
|
|
137
134
|
height: var(--control-small-size);
|
|
138
135
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/* stylelint-disable selector-max-type -- pagination arrows are styled via `.Page[rel] > svg`; the svg icon can only be targeted by its type selector */
|
|
2
|
+
|
|
1
3
|
.Page {
|
|
2
4
|
min-width: var(--base-size-32);
|
|
3
5
|
height: var(--base-size-32);
|
|
@@ -7,7 +9,7 @@
|
|
|
7
9
|
white-space: nowrap;
|
|
8
10
|
vertical-align: middle;
|
|
9
11
|
cursor: pointer;
|
|
10
|
-
border-radius: var(--borderRadius-medium
|
|
12
|
+
border-radius: var(--borderRadius-medium);
|
|
11
13
|
transition: background-color 0.2s cubic-bezier(0.3, 0, 0.5, 1);
|
|
12
14
|
display: inline-flex;
|
|
13
15
|
align-items: center;
|
|
@@ -63,6 +65,7 @@
|
|
|
63
65
|
|
|
64
66
|
.Page[aria-current]:focus-visible {
|
|
65
67
|
outline: 2px solid var(--bgColor-accent-emphasis);
|
|
68
|
+
/* stylelint-disable-next-line primer/box-shadow -- custom focus-ring built from Primer size/color primitives; no single Primer box-shadow token matches */
|
|
66
69
|
box-shadow: inset 0 0 0 var(--base-size-2) var(--fgColor-onEmphasis);
|
|
67
70
|
}
|
|
68
71
|
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
display: flex;
|
|
5
5
|
align-items: center;
|
|
6
6
|
height: 32px;
|
|
7
|
-
margin-bottom:
|
|
7
|
+
margin-bottom: var(--base-size-8);
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
.SidePanel-sectionCounter {
|
|
11
|
-
margin-left:
|
|
11
|
+
margin-left: var(--base-size-8);
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
.SidePanel-sectionAction {
|
|
@@ -23,5 +23,5 @@
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
:is(.SidePanel-sectionContent,.SidePanel-sectionDescription):not(:last-child) {
|
|
26
|
-
margin-bottom:
|
|
26
|
+
margin-bottom: var(--base-size-16);
|
|
27
27
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mixtint/primer-view-components",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.90.1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -8,6 +8,23 @@
|
|
|
8
8
|
"main": "app/assets/javascripts/primer_view_components.js",
|
|
9
9
|
"module": "app/components/primer/primer.js",
|
|
10
10
|
"types": "app/components/primer/primer.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./app/components/primer/primer.d.ts",
|
|
14
|
+
"import": "./app/components/primer/primer.js",
|
|
15
|
+
"require": "./app/assets/javascripts/primer_view_components.js"
|
|
16
|
+
},
|
|
17
|
+
"./classnames": {
|
|
18
|
+
"types": "./static/classnames.d.ts",
|
|
19
|
+
"import": "./static/classnames.js",
|
|
20
|
+
"require": "./static/classnames.cjs"
|
|
21
|
+
},
|
|
22
|
+
"./app/*": {
|
|
23
|
+
"types": "./app/*.d.ts",
|
|
24
|
+
"default": "./app/*"
|
|
25
|
+
},
|
|
26
|
+
"./*": "./*"
|
|
27
|
+
},
|
|
11
28
|
"repository": "opf/primer_view_components",
|
|
12
29
|
"keywords": [
|
|
13
30
|
"rails",
|
|
@@ -24,6 +41,9 @@
|
|
|
24
41
|
},
|
|
25
42
|
"files": [
|
|
26
43
|
"static/*.json",
|
|
44
|
+
"static/classnames.js",
|
|
45
|
+
"static/classnames.cjs",
|
|
46
|
+
"static/classnames.d.ts",
|
|
27
47
|
"app/assets/**/*",
|
|
28
48
|
"app/components/primer/**/*.js",
|
|
29
49
|
"app/components/primer/**/*.css",
|
|
@@ -53,7 +73,7 @@
|
|
|
53
73
|
"@github/details-menu-element": "^1.0.13",
|
|
54
74
|
"@github/image-crop-element": "^5.0.0",
|
|
55
75
|
"@github/include-fragment-element": "^6.4.1",
|
|
56
|
-
"@github/relative-time-element": "^5.
|
|
76
|
+
"@github/relative-time-element": "^5.3.0",
|
|
57
77
|
"@github/remote-input-element": "^0.4.0",
|
|
58
78
|
"@github/tab-container-element": "^3.4.0",
|
|
59
79
|
"@oddbird/popover-polyfill": "^0.5.2",
|
|
@@ -65,39 +85,39 @@
|
|
|
65
85
|
},
|
|
66
86
|
"devDependencies": {
|
|
67
87
|
"@changesets/changelog-github": "^0.5.2",
|
|
68
|
-
"@changesets/cli": "^2.31.
|
|
88
|
+
"@changesets/cli": "^2.31.1",
|
|
69
89
|
"@github/axe-github": "^0.8.1",
|
|
70
90
|
"@github/browserslist-config": "^1.0.0",
|
|
71
91
|
"@github/markdownlint-github": "^0.8.3",
|
|
72
92
|
"@github/prettier-config": "0.0.6",
|
|
73
|
-
"@playwright/test": "^1.
|
|
74
|
-
"@primer/css": "22.
|
|
93
|
+
"@playwright/test": "^1.62.0",
|
|
94
|
+
"@primer/css": "22.3.0",
|
|
75
95
|
"@primer/primitives": "^11.9.0",
|
|
76
96
|
"@primer/stylelint-config": "^13.6.0",
|
|
77
97
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
78
|
-
"@rollup/plugin-typescript": "^
|
|
98
|
+
"@rollup/plugin-typescript": "^12.3.0",
|
|
79
99
|
"axe-core": "^4.12.1",
|
|
80
100
|
"chokidar-cli": "^3.0.0",
|
|
81
|
-
"css-what": "^
|
|
82
|
-
"cssnano": "^
|
|
83
|
-
"eslint": "^9.39.
|
|
84
|
-
"eslint-plugin-github": "^6.
|
|
101
|
+
"css-what": "^8.0.0",
|
|
102
|
+
"cssnano": "^8.0.2",
|
|
103
|
+
"eslint": "^9.39.5",
|
|
104
|
+
"eslint-plugin-github": "^6.1.1",
|
|
85
105
|
"glob": "^11.1.0",
|
|
86
106
|
"markdownlint-cli2": "^0.22.1",
|
|
87
107
|
"mocha": "^11.7.6",
|
|
88
|
-
"playwright": "^1.
|
|
89
|
-
"postcss": "^8.5.
|
|
108
|
+
"playwright": "^1.62.0",
|
|
109
|
+
"postcss": "^8.5.24",
|
|
90
110
|
"postcss-cli": "^11.0.1",
|
|
91
111
|
"postcss-import": "^16.1.1",
|
|
92
112
|
"postcss-mixins": "^12.1.2",
|
|
93
113
|
"postcss-preset-env": "^11.3.2",
|
|
94
|
-
"prettier": "^3.9.
|
|
114
|
+
"prettier": "^3.9.6",
|
|
95
115
|
"rollup": "^2.80.0",
|
|
96
116
|
"rollup-plugin-terser": "^7.0.2",
|
|
97
117
|
"stylelint-actions-formatters": "^16.3.1",
|
|
98
118
|
"tslib": "^2.8.1",
|
|
99
|
-
"typescript": "^
|
|
100
|
-
"vite": "^8.1.
|
|
119
|
+
"typescript": "^6.0.3",
|
|
120
|
+
"vite": "^8.1.5",
|
|
101
121
|
"vite-plugin-ruby": "^5.2.2"
|
|
102
122
|
},
|
|
103
123
|
"prettier": "@github/prettier-config",
|
package/static/arguments.json
CHANGED
|
@@ -4250,6 +4250,18 @@
|
|
|
4250
4250
|
"default": "`:default`",
|
|
4251
4251
|
"description": "One of `:condensed`, `:default`, or `:spacious`."
|
|
4252
4252
|
},
|
|
4253
|
+
{
|
|
4254
|
+
"name": "list_arguments",
|
|
4255
|
+
"type": "Hash",
|
|
4256
|
+
"default": "`{}`",
|
|
4257
|
+
"description": "[System arguments](/system-arguments)"
|
|
4258
|
+
},
|
|
4259
|
+
{
|
|
4260
|
+
"name": "list_id",
|
|
4261
|
+
"type": "String",
|
|
4262
|
+
"default": "N/A",
|
|
4263
|
+
"description": "Deprecated. Use <code>list_arguments: { id: ... }</code> instead."
|
|
4264
|
+
},
|
|
4253
4265
|
{
|
|
4254
4266
|
"name": "system_arguments",
|
|
4255
4267
|
"type": "Hash",
|
package/static/classes.json
CHANGED
|
@@ -566,6 +566,9 @@
|
|
|
566
566
|
"Popover-message": [
|
|
567
567
|
"Primer::Beta::Popover"
|
|
568
568
|
],
|
|
569
|
+
"Popover-message--bottom": [
|
|
570
|
+
"Primer::Beta::Popover"
|
|
571
|
+
],
|
|
569
572
|
"Popover-message--bottom-left": [
|
|
570
573
|
"Primer::Beta::Popover"
|
|
571
574
|
],
|
|
@@ -575,9 +578,27 @@
|
|
|
575
578
|
"Popover-message--large": [
|
|
576
579
|
"Primer::Beta::Popover"
|
|
577
580
|
],
|
|
581
|
+
"Popover-message--left": [
|
|
582
|
+
"Primer::Beta::Popover"
|
|
583
|
+
],
|
|
584
|
+
"Popover-message--left-bottom": [
|
|
585
|
+
"Primer::Beta::Popover"
|
|
586
|
+
],
|
|
587
|
+
"Popover-message--left-top": [
|
|
588
|
+
"Primer::Beta::Popover"
|
|
589
|
+
],
|
|
578
590
|
"Popover-message--no-caret": [
|
|
579
591
|
"Primer::Beta::Popover"
|
|
580
592
|
],
|
|
593
|
+
"Popover-message--right": [
|
|
594
|
+
"Primer::Beta::Popover"
|
|
595
|
+
],
|
|
596
|
+
"Popover-message--right-bottom": [
|
|
597
|
+
"Primer::Beta::Popover"
|
|
598
|
+
],
|
|
599
|
+
"Popover-message--right-top": [
|
|
600
|
+
"Primer::Beta::Popover"
|
|
601
|
+
],
|
|
581
602
|
"Popover-message--top-left": [
|
|
582
603
|
"Primer::Beta::Popover"
|
|
583
604
|
],
|