@refrakt-md/lumina 0.9.4 → 0.9.6
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/contracts/structures.json +17 -6
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js.map +1 -0
- package/dist/icons.d.ts.map +1 -0
- package/dist/icons.js.map +1 -0
- package/dist/{layouts/index.d.ts → layouts.d.ts} +1 -1
- package/dist/layouts.d.ts.map +1 -0
- package/dist/{layouts/index.js → layouts.js} +1 -1
- package/dist/layouts.js.map +1 -0
- package/dist/transform.d.ts.map +1 -0
- package/dist/transform.js.map +1 -0
- package/index.css +5 -0
- package/package.json +10 -10
- package/styles/dimensions/checklist.css +2 -2
- package/styles/layouts/docs.css +1 -7
- package/styles/layouts/plan.css +435 -0
- package/styles/runes/annotate.css +9 -13
- package/styles/runes/budget.css +3 -2
- package/styles/runes/bug.css +24 -10
- package/styles/runes/codegroup.css +1 -0
- package/styles/runes/decision.css +23 -9
- package/styles/runes/diagram.css +15 -1
- package/styles/runes/embed.css +1 -0
- package/styles/runes/event.css +1 -1
- package/styles/runes/juxtapose.css +14 -13
- package/styles/runes/mediatext.css +9 -1
- package/styles/runes/milestone.css +22 -8
- package/styles/runes/plan-entity-tabs.css +88 -0
- package/styles/runes/plan-history.css +197 -0
- package/styles/runes/plan-ref.css +26 -0
- package/styles/runes/plan-relationships.css +40 -0
- package/styles/runes/spec.css +21 -7
- package/styles/runes/work.css +29 -15
- package/dist/layouts/index.d.ts.map +0 -1
- package/dist/layouts/index.js.map +0 -1
- package/dist/src/config.d.ts.map +0 -1
- package/dist/src/config.js.map +0 -1
- package/dist/src/icons.d.ts.map +0 -1
- package/dist/src/icons.js.map +0 -1
- package/dist/src/transform.d.ts.map +0 -1
- package/dist/src/transform.js.map +0 -1
- package/layouts/index.ts +0 -13
- /package/dist/{src/config.d.ts → config.d.ts} +0 -0
- /package/dist/{src/config.js → config.js} +0 -0
- /package/dist/{src/icons.d.ts → icons.d.ts} +0 -0
- /package/dist/{src/icons.js → icons.js} +0 -0
- /package/dist/{src/transform.d.ts → transform.d.ts} +0 -0
- /package/dist/{src/transform.js → transform.js} +0 -0
package/styles/runes/budget.css
CHANGED
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
align-items: center;
|
|
48
48
|
margin-bottom: 0.5rem;
|
|
49
49
|
}
|
|
50
|
-
.rf-budget-category--estimate .rf-budget-
|
|
50
|
+
.rf-budget-category--estimate .rf-budget-category__subtotal::before {
|
|
51
51
|
content: 'est.';
|
|
52
52
|
font-size: 0.6875rem;
|
|
53
53
|
font-weight: 600;
|
|
@@ -57,7 +57,8 @@
|
|
|
57
57
|
background: var(--rf-color-warning-bg);
|
|
58
58
|
padding: 0.0625rem 0.375rem;
|
|
59
59
|
border-radius: var(--rf-radius-full);
|
|
60
|
-
margin-
|
|
60
|
+
margin-right: 0.5rem;
|
|
61
|
+
vertical-align: middle;
|
|
61
62
|
}
|
|
62
63
|
.rf-budget-category__label {
|
|
63
64
|
font-size: 0.9375rem;
|
package/styles/runes/bug.css
CHANGED
|
@@ -1,4 +1,26 @@
|
|
|
1
1
|
/* Bug */
|
|
2
|
+
|
|
3
|
+
/* Primary badges: ID left, status right */
|
|
4
|
+
.rf-bug__header-primary {
|
|
5
|
+
justify-content: space-between;
|
|
6
|
+
margin-bottom: 0.75rem;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/* Preamble: title + optional description between badge groups */
|
|
10
|
+
.rf-bug__preamble {
|
|
11
|
+
margin-bottom: 0.75rem;
|
|
12
|
+
}
|
|
13
|
+
.rf-bug__title h1,
|
|
14
|
+
.rf-bug__title h2,
|
|
15
|
+
.rf-bug__title h3 {
|
|
16
|
+
margin-top: 0;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/* Secondary badges: pill row below preamble */
|
|
20
|
+
.rf-bug__header-secondary {
|
|
21
|
+
margin-bottom: 1.5rem;
|
|
22
|
+
}
|
|
23
|
+
|
|
2
24
|
.rf-bug__assignee-badge {
|
|
3
25
|
margin-left: auto;
|
|
4
26
|
}
|
|
@@ -7,19 +29,11 @@
|
|
|
7
29
|
font-size: 0.925rem;
|
|
8
30
|
line-height: 1.65;
|
|
9
31
|
}
|
|
10
|
-
.rf-bug__body >
|
|
11
|
-
margin-bottom: 0.75rem;
|
|
12
|
-
}
|
|
13
|
-
.rf-bug__body > header h1,
|
|
14
|
-
.rf-bug__body > header h2,
|
|
15
|
-
.rf-bug__body > header h3 {
|
|
16
|
-
margin-top: 0;
|
|
17
|
-
}
|
|
18
|
-
.rf-bug__body > div > section {
|
|
32
|
+
.rf-bug__body > section {
|
|
19
33
|
margin-top: 1rem;
|
|
20
34
|
padding-top: 0.75rem;
|
|
21
35
|
border-top: 1px solid var(--rf-color-border);
|
|
22
36
|
}
|
|
23
|
-
.rf-bug__body >
|
|
37
|
+
.rf-bug__body > section:first-child {
|
|
24
38
|
margin-top: 0.75rem;
|
|
25
39
|
}
|
|
@@ -1,21 +1,35 @@
|
|
|
1
1
|
/* Decision */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
|
|
3
|
+
/* Primary badges: ID left, status right */
|
|
4
|
+
.rf-decision__header-primary {
|
|
5
|
+
justify-content: space-between;
|
|
6
|
+
margin-bottom: 0.75rem;
|
|
5
7
|
}
|
|
6
|
-
|
|
8
|
+
|
|
9
|
+
/* Preamble: title + optional description between badge groups */
|
|
10
|
+
.rf-decision__preamble {
|
|
7
11
|
margin-bottom: 0.75rem;
|
|
8
12
|
}
|
|
9
|
-
.rf-
|
|
10
|
-
.rf-
|
|
11
|
-
.rf-
|
|
13
|
+
.rf-decision__title h1,
|
|
14
|
+
.rf-decision__title h2,
|
|
15
|
+
.rf-decision__title h3 {
|
|
12
16
|
margin-top: 0;
|
|
13
17
|
}
|
|
14
|
-
|
|
18
|
+
|
|
19
|
+
/* Secondary badges: pill row below preamble */
|
|
20
|
+
.rf-decision__header-secondary {
|
|
21
|
+
margin-bottom: 1.5rem;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.rf-decision__body {
|
|
25
|
+
font-size: 0.925rem;
|
|
26
|
+
line-height: 1.65;
|
|
27
|
+
}
|
|
28
|
+
.rf-decision__body > section {
|
|
15
29
|
margin-top: 1rem;
|
|
16
30
|
padding-top: 0.75rem;
|
|
17
31
|
border-top: 1px solid var(--rf-color-border);
|
|
18
32
|
}
|
|
19
|
-
.rf-decision__body >
|
|
33
|
+
.rf-decision__body > section:first-child {
|
|
20
34
|
margin-top: 0.75rem;
|
|
21
35
|
}
|
package/styles/runes/diagram.css
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/* Diagram */
|
|
2
2
|
.rf-diagram {
|
|
3
|
-
|
|
3
|
+
display: block;
|
|
4
4
|
border-radius: var(--rf-radius-lg);
|
|
5
5
|
padding: 1.5rem;
|
|
6
6
|
text-align: center;
|
|
7
|
+
overflow: hidden;
|
|
7
8
|
}
|
|
8
9
|
.rf-diagram__title {
|
|
9
10
|
font-weight: 600;
|
|
@@ -24,3 +25,16 @@
|
|
|
24
25
|
font-size: 0.875rem;
|
|
25
26
|
margin: 0;
|
|
26
27
|
}
|
|
28
|
+
|
|
29
|
+
/* Mermaid SVG overrides */
|
|
30
|
+
.rf-diagram__container .label {
|
|
31
|
+
font-family: var(--rf-font-sans) !important;
|
|
32
|
+
color: var(--rf-color-text) !important;
|
|
33
|
+
}
|
|
34
|
+
.rf-diagram__container .edgeLabel {
|
|
35
|
+
background-color: var(--rf-color-surface) !important;
|
|
36
|
+
}
|
|
37
|
+
.rf-diagram__container .marker {
|
|
38
|
+
fill: var(--rf-color-muted) !important;
|
|
39
|
+
stroke: var(--rf-color-muted) !important;
|
|
40
|
+
}
|
package/styles/runes/embed.css
CHANGED
package/styles/runes/event.css
CHANGED
|
@@ -122,35 +122,36 @@
|
|
|
122
122
|
/* ─── Toggle bar (injected by behavior) ─── */
|
|
123
123
|
.rf-juxtapose__toggle-bar {
|
|
124
124
|
display: flex;
|
|
125
|
-
gap: 0.
|
|
126
|
-
padding: 0.
|
|
125
|
+
gap: 0.125rem;
|
|
126
|
+
padding: 0.125rem;
|
|
127
127
|
margin-bottom: 0.75rem;
|
|
128
|
-
background: var(--rf-color-surface);
|
|
129
|
-
border:
|
|
130
|
-
border-radius: var(--rf-radius-md);
|
|
128
|
+
background: var(--rf-color-surface-active);
|
|
129
|
+
border-radius: var(--rf-radius-full);
|
|
131
130
|
width: fit-content;
|
|
132
131
|
}
|
|
133
132
|
|
|
134
|
-
.rf-juxtapose__toggle-btn
|
|
135
|
-
|
|
133
|
+
.rf-juxtapose__toggle-btn,
|
|
134
|
+
.rf-juxtapose__toggle-btn[data-state] {
|
|
135
|
+
padding: 0.25rem 0.75rem;
|
|
136
136
|
border: none;
|
|
137
|
-
border-radius: var(--rf-radius-
|
|
137
|
+
border-radius: var(--rf-radius-full);
|
|
138
138
|
background: transparent;
|
|
139
139
|
color: var(--rf-color-muted);
|
|
140
|
-
font-size: 0.
|
|
140
|
+
font-size: 0.75rem;
|
|
141
141
|
font-weight: 500;
|
|
142
142
|
cursor: pointer;
|
|
143
|
-
transition: background
|
|
143
|
+
transition: background 150ms ease, color 150ms ease;
|
|
144
144
|
}
|
|
145
145
|
|
|
146
146
|
.rf-juxtapose__toggle-btn:hover {
|
|
147
147
|
color: var(--rf-color-text);
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
-
.rf-juxtapose__toggle-btn--active
|
|
151
|
-
|
|
150
|
+
.rf-juxtapose__toggle-btn--active,
|
|
151
|
+
.rf-juxtapose__toggle-btn[data-state="active"] {
|
|
152
|
+
background: var(--rf-color-bg);
|
|
152
153
|
color: var(--rf-color-text);
|
|
153
|
-
box-shadow: var(--rf-shadow-
|
|
154
|
+
box-shadow: var(--rf-shadow-xs);
|
|
154
155
|
}
|
|
155
156
|
|
|
156
157
|
/* ─── Fade variant cursor hint ─── */
|
|
@@ -36,9 +36,17 @@
|
|
|
36
36
|
|
|
37
37
|
/* Wrap mode — float-based text wrapping */
|
|
38
38
|
.rf-mediatext[data-wrap="true"] .rf-mediatext__media {
|
|
39
|
-
max-width: 50%;
|
|
40
39
|
margin-bottom: 1rem;
|
|
41
40
|
}
|
|
41
|
+
.rf-mediatext[data-ratio="1:1"][data-wrap="true"] .rf-mediatext__media {
|
|
42
|
+
max-width: 50%;
|
|
43
|
+
}
|
|
44
|
+
.rf-mediatext[data-ratio="1:2"][data-wrap="true"] .rf-mediatext__media {
|
|
45
|
+
max-width: 33.333%;
|
|
46
|
+
}
|
|
47
|
+
.rf-mediatext[data-ratio="2:1"][data-wrap="true"] .rf-mediatext__media {
|
|
48
|
+
max-width: 66.666%;
|
|
49
|
+
}
|
|
42
50
|
.rf-mediatext--left[data-wrap="true"] .rf-mediatext__media {
|
|
43
51
|
float: left;
|
|
44
52
|
margin-right: 2rem;
|
|
@@ -1,4 +1,26 @@
|
|
|
1
1
|
/* Milestone */
|
|
2
|
+
|
|
3
|
+
/* Primary badges: name left, status right */
|
|
4
|
+
.rf-milestone__header-primary {
|
|
5
|
+
justify-content: space-between;
|
|
6
|
+
margin-bottom: 0.75rem;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/* Preamble: title + optional description between badge groups */
|
|
10
|
+
.rf-milestone__preamble {
|
|
11
|
+
margin-bottom: 0.75rem;
|
|
12
|
+
}
|
|
13
|
+
.rf-milestone__title h1,
|
|
14
|
+
.rf-milestone__title h2,
|
|
15
|
+
.rf-milestone__title h3 {
|
|
16
|
+
margin-top: 0;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/* Secondary badges: pill row below preamble */
|
|
20
|
+
.rf-milestone__header-secondary {
|
|
21
|
+
margin-bottom: 1.5rem;
|
|
22
|
+
}
|
|
23
|
+
|
|
2
24
|
.rf-milestone__target-badge {
|
|
3
25
|
margin-left: auto;
|
|
4
26
|
}
|
|
@@ -6,14 +28,6 @@
|
|
|
6
28
|
font-size: 0.925rem;
|
|
7
29
|
line-height: 1.65;
|
|
8
30
|
}
|
|
9
|
-
.rf-milestone__body > header {
|
|
10
|
-
margin-bottom: 0.75rem;
|
|
11
|
-
}
|
|
12
|
-
.rf-milestone__body > header h1,
|
|
13
|
-
.rf-milestone__body > header h2,
|
|
14
|
-
.rf-milestone__body > header h3 {
|
|
15
|
-
margin-top: 0;
|
|
16
|
-
}
|
|
17
31
|
.rf-milestone__body ul {
|
|
18
32
|
padding-left: 1.5rem;
|
|
19
33
|
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/* Plan Entity Tabs — page-level tab navigation for spec/work/bug/decision pages */
|
|
2
|
+
|
|
3
|
+
.rf-plan-entity-tabs {
|
|
4
|
+
margin-block-start: var(--rf-spacing-lg, 1.5rem);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
/* Tab bar — underline style matching the core tabs rune */
|
|
8
|
+
.rf-plan-entity-tabs__tabs {
|
|
9
|
+
display: flex;
|
|
10
|
+
border-bottom: 1px solid var(--rf-color-border, #dee2e6);
|
|
11
|
+
gap: 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/* Tab buttons */
|
|
15
|
+
.rf-plan-entity-tabs__tab {
|
|
16
|
+
flex: 0 0 auto;
|
|
17
|
+
padding: 0.625rem 1.25rem;
|
|
18
|
+
font-size: 0.875rem;
|
|
19
|
+
font-weight: 500;
|
|
20
|
+
font-family: inherit;
|
|
21
|
+
color: var(--rf-color-muted, #868e96);
|
|
22
|
+
background: none;
|
|
23
|
+
border: none;
|
|
24
|
+
border-bottom: 2px solid transparent;
|
|
25
|
+
cursor: pointer;
|
|
26
|
+
transition: color 200ms ease, border-color 200ms ease;
|
|
27
|
+
white-space: nowrap;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.rf-plan-entity-tabs__tab:hover {
|
|
31
|
+
color: var(--rf-color-text, #212529);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.rf-plan-entity-tabs__tab--active,
|
|
35
|
+
.rf-plan-entity-tabs__tab[data-state="active"] {
|
|
36
|
+
color: var(--rf-color-primary, #228be6);
|
|
37
|
+
border-bottom-color: var(--rf-color-primary, #228be6);
|
|
38
|
+
font-weight: 600;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/* Panels container */
|
|
42
|
+
.rf-plan-entity-tabs__panels {
|
|
43
|
+
padding: 0;
|
|
44
|
+
margin: 0;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/* Individual panel */
|
|
48
|
+
.rf-plan-entity-tabs__panel {
|
|
49
|
+
padding-block-start: var(--rf-spacing-lg, 1.5rem);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.rf-plan-entity-tabs__panel > *:first-child {
|
|
53
|
+
margin-top: 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.rf-plan-entity-tabs__panel > *:last-child {
|
|
57
|
+
margin-bottom: 0;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/* When inside entity tabs, relationships and history sections don't need
|
|
61
|
+
their own heading — the tab label provides the context */
|
|
62
|
+
.rf-plan-entity-tabs__panel .rf-plan-relationships__heading,
|
|
63
|
+
.rf-plan-entity-tabs__panel .rf-plan-history__heading {
|
|
64
|
+
display: none;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/* Remove top margin, padding, and border from relationships/history sections when inside a tab panel */
|
|
68
|
+
.rf-plan-entity-tabs__panel .rf-plan-relationships,
|
|
69
|
+
.rf-plan-entity-tabs__panel .rf-plan-history {
|
|
70
|
+
margin-block-start: 0;
|
|
71
|
+
padding-block-start: 0;
|
|
72
|
+
border-block-start: none;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/* ---- TOC dimming when non-Overview tab is active ---- */
|
|
76
|
+
|
|
77
|
+
/* Desktop TOC: dim when a non-overview tab is active */
|
|
78
|
+
:has([data-active-tab]:not([data-active-tab="overview"])) .rf-plan-toc {
|
|
79
|
+
opacity: 0.3;
|
|
80
|
+
pointer-events: none;
|
|
81
|
+
transition: opacity 200ms ease;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
:has([data-active-tab="overview"]) .rf-plan-toc {
|
|
85
|
+
opacity: 1;
|
|
86
|
+
pointer-events: auto;
|
|
87
|
+
transition: opacity 200ms ease;
|
|
88
|
+
}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/* Plan History — vertical timeline (mirrors .rf-timeline--vertical) */
|
|
2
|
+
|
|
3
|
+
.rf-plan-history {
|
|
4
|
+
margin: 2rem 0;
|
|
5
|
+
}
|
|
6
|
+
.rf-plan-history__heading {
|
|
7
|
+
font-size: 1.05rem;
|
|
8
|
+
font-weight: 700;
|
|
9
|
+
color: var(--rf-color-text);
|
|
10
|
+
margin: 0 0 1rem;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/* Event list — vertical line */
|
|
14
|
+
.rf-plan-history__events {
|
|
15
|
+
list-style: none;
|
|
16
|
+
padding: 0;
|
|
17
|
+
margin: 0;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/* Each event entry — left-padded with border line */
|
|
21
|
+
.rf-plan-history__event {
|
|
22
|
+
position: relative;
|
|
23
|
+
padding-left: 2rem;
|
|
24
|
+
padding-bottom: 2rem;
|
|
25
|
+
border-left: 2px solid var(--rf-color-border);
|
|
26
|
+
margin-left: 0.375rem;
|
|
27
|
+
}
|
|
28
|
+
.rf-plan-history__event:last-child {
|
|
29
|
+
border-left-color: transparent;
|
|
30
|
+
padding-bottom: 0;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/* Circle markers on the timeline line */
|
|
34
|
+
.rf-plan-history__event::before {
|
|
35
|
+
content: '';
|
|
36
|
+
position: absolute;
|
|
37
|
+
left: -0.4375rem;
|
|
38
|
+
top: 0.25rem;
|
|
39
|
+
width: 0.75rem;
|
|
40
|
+
height: 0.75rem;
|
|
41
|
+
border-radius: 50%;
|
|
42
|
+
background: var(--rf-color-primary);
|
|
43
|
+
border: 2px solid var(--rf-color-bg);
|
|
44
|
+
box-shadow: 0 0 0 2px var(--rf-color-primary);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/* Open circle for creation events */
|
|
48
|
+
.rf-plan-history__event[data-kind="created"]::before {
|
|
49
|
+
background: var(--rf-color-bg);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/* Date + hash header */
|
|
53
|
+
.rf-plan-history__date {
|
|
54
|
+
display: inline;
|
|
55
|
+
font-size: 0.8rem;
|
|
56
|
+
font-weight: 600;
|
|
57
|
+
color: var(--rf-color-primary);
|
|
58
|
+
letter-spacing: 0.02em;
|
|
59
|
+
margin-right: 0.5rem;
|
|
60
|
+
}
|
|
61
|
+
.rf-plan-history__hash {
|
|
62
|
+
font-family: var(--rf-font-mono);
|
|
63
|
+
font-size: 0.75rem;
|
|
64
|
+
color: var(--rf-color-muted);
|
|
65
|
+
text-decoration: none;
|
|
66
|
+
}
|
|
67
|
+
a.rf-plan-history__hash:hover {
|
|
68
|
+
color: var(--rf-color-primary);
|
|
69
|
+
text-decoration: underline;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/* Changes block */
|
|
73
|
+
.rf-plan-history__changes {
|
|
74
|
+
margin-top: 0.25rem;
|
|
75
|
+
}
|
|
76
|
+
.rf-plan-history__change {
|
|
77
|
+
display: flex;
|
|
78
|
+
align-items: center;
|
|
79
|
+
gap: 0.25rem;
|
|
80
|
+
font-size: 0.925rem;
|
|
81
|
+
line-height: 1.65;
|
|
82
|
+
color: var(--rf-color-muted);
|
|
83
|
+
}
|
|
84
|
+
.rf-plan-history__field {
|
|
85
|
+
font-weight: 500;
|
|
86
|
+
color: var(--rf-color-text);
|
|
87
|
+
}
|
|
88
|
+
.rf-plan-history__field::after {
|
|
89
|
+
content: ':';
|
|
90
|
+
}
|
|
91
|
+
.rf-plan-history__arrow {
|
|
92
|
+
color: var(--rf-color-muted);
|
|
93
|
+
margin-inline: 0.125rem;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/* Value badges (add/remove) */
|
|
97
|
+
.rf-plan-history__value {
|
|
98
|
+
font-size: 0.875rem;
|
|
99
|
+
padding: 0.0625rem 0.375rem;
|
|
100
|
+
border-radius: var(--rf-radius-sm);
|
|
101
|
+
}
|
|
102
|
+
.rf-plan-history__value[data-type="add"] {
|
|
103
|
+
background: var(--rf-color-success-bg);
|
|
104
|
+
color: var(--rf-color-success);
|
|
105
|
+
}
|
|
106
|
+
.rf-plan-history__value[data-type="remove"] {
|
|
107
|
+
background: var(--rf-color-danger-bg);
|
|
108
|
+
color: var(--rf-color-danger);
|
|
109
|
+
text-decoration: line-through;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/* Event kind labels */
|
|
113
|
+
.rf-plan-history__created {
|
|
114
|
+
font-size: 0.925rem;
|
|
115
|
+
color: var(--rf-color-muted);
|
|
116
|
+
}
|
|
117
|
+
.rf-plan-history__resolution,
|
|
118
|
+
.rf-plan-history__content-edit {
|
|
119
|
+
font-size: 0.925rem;
|
|
120
|
+
color: var(--rf-color-muted);
|
|
121
|
+
font-style: italic;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/* Criteria list */
|
|
125
|
+
.rf-plan-history__criteria {
|
|
126
|
+
list-style: none;
|
|
127
|
+
padding: 0;
|
|
128
|
+
margin: 0.25rem 0 0;
|
|
129
|
+
}
|
|
130
|
+
.rf-plan-history__criteria li {
|
|
131
|
+
font-size: 0.8125rem;
|
|
132
|
+
line-height: 1.65;
|
|
133
|
+
color: var(--rf-color-text);
|
|
134
|
+
}
|
|
135
|
+
.rf-plan-history__criteria li[data-action="checked"] {
|
|
136
|
+
color: var(--rf-color-success);
|
|
137
|
+
}
|
|
138
|
+
.rf-plan-history__criteria li[data-action="unchecked"] {
|
|
139
|
+
color: var(--rf-color-danger);
|
|
140
|
+
}
|
|
141
|
+
.rf-plan-history__criteria li[data-action="removed"] {
|
|
142
|
+
color: var(--rf-color-danger);
|
|
143
|
+
text-decoration: line-through;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/* Collapse / empty */
|
|
147
|
+
.rf-plan-history__more {
|
|
148
|
+
color: var(--rf-color-muted);
|
|
149
|
+
font-style: italic;
|
|
150
|
+
cursor: pointer;
|
|
151
|
+
}
|
|
152
|
+
.rf-plan-history__empty {
|
|
153
|
+
color: var(--rf-color-muted);
|
|
154
|
+
font-style: italic;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/* Global feed (commit-grouped) */
|
|
158
|
+
.rf-plan-history--global .rf-plan-history__commit-message {
|
|
159
|
+
display: block;
|
|
160
|
+
font-size: 1.05rem;
|
|
161
|
+
font-weight: 700;
|
|
162
|
+
color: var(--rf-color-text);
|
|
163
|
+
margin-top: 0.25rem;
|
|
164
|
+
margin-bottom: 0.5rem;
|
|
165
|
+
}
|
|
166
|
+
.rf-plan-history--global .rf-plan-history__entity-summary {
|
|
167
|
+
display: flex;
|
|
168
|
+
align-items: baseline;
|
|
169
|
+
gap: 0.5rem;
|
|
170
|
+
font-size: 0.8125rem;
|
|
171
|
+
line-height: 1.65;
|
|
172
|
+
}
|
|
173
|
+
.rf-plan-history--global .rf-plan-history__entity-id {
|
|
174
|
+
font-weight: 600;
|
|
175
|
+
font-family: var(--rf-font-mono);
|
|
176
|
+
font-size: 0.75rem;
|
|
177
|
+
color: var(--rf-color-primary);
|
|
178
|
+
white-space: nowrap;
|
|
179
|
+
}
|
|
180
|
+
.rf-plan-history--global .rf-plan-history__entity-changes {
|
|
181
|
+
color: var(--rf-color-muted);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/* Responsive */
|
|
185
|
+
@media (max-width: 640px) {
|
|
186
|
+
.rf-plan-history__event {
|
|
187
|
+
padding-left: 1.25rem;
|
|
188
|
+
}
|
|
189
|
+
.rf-plan-history__event::before {
|
|
190
|
+
width: 0.625rem;
|
|
191
|
+
height: 0.625rem;
|
|
192
|
+
left: -0.375rem;
|
|
193
|
+
}
|
|
194
|
+
.rf-plan-history__change {
|
|
195
|
+
flex-wrap: wrap;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/* Plan cross-reference links */
|
|
2
|
+
|
|
3
|
+
.rf-plan-ref {
|
|
4
|
+
font-family: var(--rf-font-mono, ui-monospace, monospace);
|
|
5
|
+
font-size: 0.8125rem;
|
|
6
|
+
color: var(--rf-color-info, #339af0);
|
|
7
|
+
text-decoration: none;
|
|
8
|
+
border-bottom: 1px dashed var(--rf-color-info, #339af0);
|
|
9
|
+
padding-inline: 0.25rem;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.rf-plan-ref:hover {
|
|
13
|
+
background: var(--rf-color-info-bg, #e7f5ff);
|
|
14
|
+
border-radius: var(--rf-radius-sm, 0.25rem);
|
|
15
|
+
border-bottom-color: transparent;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.rf-plan-ref::before {
|
|
19
|
+
margin-inline-end: 0.25rem;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.rf-plan-ref[data-type="spec"]::before { content: '\1F4CB'; }
|
|
23
|
+
.rf-plan-ref[data-type="work"]::before { content: '\1F527'; }
|
|
24
|
+
.rf-plan-ref[data-type="bug"]::before { content: '\1F41B'; }
|
|
25
|
+
.rf-plan-ref[data-type="decision"]::before { content: '\2696\FE0F'; }
|
|
26
|
+
.rf-plan-ref[data-type="milestone"]::before { content: '\1F3AF'; }
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/* Plan relationships section */
|
|
2
|
+
|
|
3
|
+
.rf-plan-relationships {
|
|
4
|
+
margin-top: 2rem;
|
|
5
|
+
padding-top: 1.5rem;
|
|
6
|
+
border-top: 1px solid var(--rf-color-border, #dee2e6);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.rf-plan-relationships__heading {
|
|
10
|
+
font-size: 1.125rem;
|
|
11
|
+
font-weight: 600;
|
|
12
|
+
color: var(--rf-color-text, #212529);
|
|
13
|
+
margin: 0 0 1rem;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.rf-plan-relationships__group {
|
|
17
|
+
margin-bottom: 1rem;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.rf-plan-relationships__group-title {
|
|
21
|
+
font-size: 0.8125rem;
|
|
22
|
+
font-weight: 600;
|
|
23
|
+
text-transform: uppercase;
|
|
24
|
+
letter-spacing: 0.04em;
|
|
25
|
+
color: var(--rf-color-muted, #6c757d);
|
|
26
|
+
margin: 0 0 0.375rem;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.rf-plan-relationships__group[data-kind="blocked-by"] .rf-plan-relationships__group-title {
|
|
30
|
+
color: var(--rf-color-danger, #ff6b6b);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.rf-plan-relationships__group[data-kind="blocks"] .rf-plan-relationships__group-title {
|
|
34
|
+
color: var(--rf-color-warning, #f59f00);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.rf-plan-relationships__cards {
|
|
38
|
+
display: flex;
|
|
39
|
+
flex-direction: column;
|
|
40
|
+
}
|
package/styles/runes/spec.css
CHANGED
|
@@ -1,16 +1,30 @@
|
|
|
1
1
|
/* Spec */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
|
|
3
|
+
/* Primary badges: ID left, status right */
|
|
4
|
+
.rf-spec__header-primary {
|
|
5
|
+
justify-content: space-between;
|
|
6
|
+
margin-bottom: 0.75rem;
|
|
5
7
|
}
|
|
6
|
-
|
|
8
|
+
|
|
9
|
+
/* Preamble: title + optional summary between badge groups */
|
|
10
|
+
.rf-spec__preamble {
|
|
7
11
|
margin-bottom: 0.75rem;
|
|
8
12
|
}
|
|
9
|
-
.rf-
|
|
10
|
-
.rf-
|
|
11
|
-
.rf-
|
|
13
|
+
.rf-spec__title h1,
|
|
14
|
+
.rf-spec__title h2,
|
|
15
|
+
.rf-spec__title h3 {
|
|
12
16
|
margin-top: 0;
|
|
13
17
|
}
|
|
18
|
+
|
|
19
|
+
/* Secondary badges: pill row below preamble */
|
|
20
|
+
.rf-spec__header-secondary {
|
|
21
|
+
margin-bottom: 1.5rem;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.rf-spec__body {
|
|
25
|
+
font-size: 0.925rem;
|
|
26
|
+
line-height: 1.65;
|
|
27
|
+
}
|
|
14
28
|
.rf-spec__body blockquote {
|
|
15
29
|
border-left: 3px solid var(--rf-color-border);
|
|
16
30
|
padding: 0.5rem 1rem;
|