@refrakt-md/lumina 0.9.5 → 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.
Files changed (43) hide show
  1. package/contracts/structures.json +17 -6
  2. package/dist/config.d.ts.map +1 -0
  3. package/dist/config.js.map +1 -0
  4. package/dist/icons.d.ts.map +1 -0
  5. package/dist/icons.js.map +1 -0
  6. package/dist/{layouts/index.d.ts → layouts.d.ts} +1 -1
  7. package/dist/layouts.d.ts.map +1 -0
  8. package/dist/{layouts/index.js → layouts.js} +1 -1
  9. package/dist/layouts.js.map +1 -0
  10. package/dist/transform.d.ts.map +1 -0
  11. package/dist/transform.js.map +1 -0
  12. package/index.css +5 -0
  13. package/package.json +10 -10
  14. package/styles/dimensions/checklist.css +2 -2
  15. package/styles/layouts/docs.css +1 -7
  16. package/styles/layouts/plan.css +435 -0
  17. package/styles/runes/bug.css +24 -10
  18. package/styles/runes/codegroup.css +1 -0
  19. package/styles/runes/decision.css +23 -9
  20. package/styles/runes/embed.css +1 -0
  21. package/styles/runes/event.css +1 -1
  22. package/styles/runes/milestone.css +22 -8
  23. package/styles/runes/plan-entity-tabs.css +88 -0
  24. package/styles/runes/plan-history.css +197 -0
  25. package/styles/runes/plan-ref.css +26 -0
  26. package/styles/runes/plan-relationships.css +40 -0
  27. package/styles/runes/spec.css +21 -7
  28. package/styles/runes/work.css +29 -15
  29. package/dist/layouts/index.d.ts.map +0 -1
  30. package/dist/layouts/index.js.map +0 -1
  31. package/dist/src/config.d.ts.map +0 -1
  32. package/dist/src/config.js.map +0 -1
  33. package/dist/src/icons.d.ts.map +0 -1
  34. package/dist/src/icons.js.map +0 -1
  35. package/dist/src/transform.d.ts.map +0 -1
  36. package/dist/src/transform.js.map +0 -1
  37. package/layouts/index.ts +0 -13
  38. /package/dist/{src/config.d.ts → config.d.ts} +0 -0
  39. /package/dist/{src/config.js → config.js} +0 -0
  40. /package/dist/{src/icons.d.ts → icons.d.ts} +0 -0
  41. /package/dist/{src/icons.js → icons.js} +0 -0
  42. /package/dist/{src/transform.d.ts → transform.d.ts} +0 -0
  43. /package/dist/{src/transform.js → transform.js} +0 -0
@@ -138,7 +138,6 @@
138
138
  "modifiers": {
139
139
  "title": {
140
140
  "source": "meta",
141
- "classPattern": ".rf-codegroup--{value}",
142
141
  "dataAttribute": "data-title"
143
142
  },
144
143
  "overflow": {
@@ -199,7 +198,20 @@
199
198
  "dataRune": "breadcrumb",
200
199
  "childOrder": [
201
200
  "{content}"
202
- ]
201
+ ],
202
+ "modifiers": {
203
+ "separator": {
204
+ "source": "meta",
205
+ "default": "/",
206
+ "dataAttribute": "data-separator"
207
+ }
208
+ },
209
+ "inlineStyles": {
210
+ "separator": {
211
+ "prop": "--separator",
212
+ "template": "\"{}\""
213
+ }
214
+ }
203
215
  },
204
216
  "BreadcrumbItem": {
205
217
  "block": "breadcrumb-item",
@@ -2353,7 +2365,8 @@
2353
2365
  "dataRune": "event",
2354
2366
  "childOrder": [
2355
2367
  "header",
2356
- "{content:content}"
2368
+ "{content:content}",
2369
+ "register"
2357
2370
  ],
2358
2371
  "modifiers": {
2359
2372
  "date": {
@@ -2384,8 +2397,7 @@
2384
2397
  "source": "structure",
2385
2398
  "conditionAny": [
2386
2399
  "date",
2387
- "location",
2388
- "url"
2400
+ "location"
2389
2401
  ]
2390
2402
  },
2391
2403
  "meta": {
@@ -2405,7 +2417,6 @@
2405
2417
  "tag": "a",
2406
2418
  "selector": ".rf-event__register",
2407
2419
  "source": "structure",
2408
- "parent": "header",
2409
2420
  "condition": "url"
2410
2421
  },
2411
2422
  "content": {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,gFAAgF;AAChF,eAAO,MAAM,YAAY,6CAoFvB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AAElD,gFAAgF;AAChF,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,EAAE;IACxD,KAAK,EAAE;QACN,IAAI,EAAE;YACL,KAAK,EAAE;gBACN,UAAU,EAAE,oBAAoB;gBAChC,OAAO,EAAE,yBAAyB;gBAClC,OAAO,EAAE,sBAAsB;gBAC/B,SAAS,EAAE,uBAAuB;gBAClC,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,wBAAwB;aAChC;YACD,IAAI,EAAE;gBACL,UAAU,EAAE,oBAAoB;gBAChC,OAAO,EAAE,yBAAyB;gBAClC,OAAO,EAAE,sBAAsB;gBAC/B,SAAS,EAAE,uBAAuB;gBAClC,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,wBAAwB;aAChC;SACD;QACD,MAAM,EAAE;YACP,KAAK,EAAE;gBACN,UAAU,EAAE,yBAAyB;gBACrC,OAAO,EAAE,+BAA+B;gBACxC,OAAO,EAAE,sBAAsB;gBAC/B,SAAS,EAAE,uBAAuB;gBAClC,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,wBAAwB;aAChC;YACD,IAAI,EAAE;gBACL,UAAU,EAAE,yBAAyB;gBACrC,OAAO,EAAE,+BAA+B;gBACxC,OAAO,EAAE,sBAAsB;gBAC/B,SAAS,EAAE,uBAAuB;gBAClC,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,wBAAwB;aAChC;SACD;QACD,IAAI,EAAE;YACL,KAAK,EAAE;gBACN,UAAU,EAAE,gCAAgC;gBAC5C,OAAO,EAAE,sBAAsB;gBAC/B,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,wBAAwB;aAChC;YACD,IAAI,EAAE;gBACL,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,sBAAsB;gBAC/B,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,SAAS;aACjB;SACD;QACD,IAAI,EAAE;YACL,KAAK,EAAE;gBACN,UAAU,EAAE,yBAAyB;gBACrC,OAAO,EAAE,sBAAsB;gBAC/B,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,6BAA6B;aACrC;YACD,IAAI,EAAE;gBACL,UAAU,EAAE,6BAA6B;gBACzC,OAAO,EAAE,6BAA6B;gBACtC,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,6BAA6B;aACrC;SACD;QACD,IAAI,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE;gBACL,UAAU,EAAE,6BAA6B;gBACzC,OAAO,EAAE,4BAA4B;gBACrC,MAAM,EAAE,wBAAwB;aAChC;SACD;KACD;IACD,KAAK,EAAE;QACN,IAAI,EAAE;YACL,IAAI,EAAE,4SAA4S;YAClT,OAAO,EAAE,iXAAiX;YAC1X,OAAO,EAAE,uSAAuS;YAChT,KAAK,EAAE,qRAAqR;SAC5R;QACD,MAAM,EAAE,WAAW;KACnB;CACD,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoFxC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,MAAM,CAAC,MAAM,KAAK,GAA2B;IAC5C,aAAa,EAAE,gPAAgP;IAC/P,YAAY,EAAE,iPAAiP;IAC/P,UAAU,EAAE,gPAAgP;IAC5P,YAAY,EAAE,iPAAiP;IAC/P,UAAU,EAAE,uSAAuS;IACnT,QAAQ,EAAE,uSAAuS;IACjT,OAAO,EAAE,uSAAuS;IAChT,MAAM,EAAE,kVAAkV;IAC1V,eAAe,EAAE,qTAAqT;IACtU,QAAQ,EAAE,8PAA8P;IACxQ,UAAU,EAAE,qjBAAqjB;IACjkB,MAAM,EAAE,2OAA2O;IACnP,OAAO,EAAE,qNAAqN;IAC9N,OAAO,EAAE,4NAA4N;IACrO,GAAG,EAAE,+OAA+O;IACpP,MAAM,EAAE,8TAA8T;IACtU,MAAM,EAAE,4YAA4Y;IACpZ,SAAS,EAAE,0WAA0W;IACrX,YAAY,EAAE,+WAA+W;IAC7X,QAAQ,EAAE,+VAA+V;IACzW,eAAe,EAAE,gSAAgS;IACjT,WAAW,EAAE,qWAAqW;IAClX,WAAW,EAAE,iaAAia;IAC9a,QAAQ,EAAE,mUAAmU;IAC7U,OAAO,EAAE,+UAA+U;IACxV,OAAO,EAAE,yUAAyU;IAClV,QAAQ,EAAE,gaAAga;IAC1a,MAAM,EAAE,qPAAqP;IAC7P,UAAU,EAAE,gPAAgP;IAC5P,UAAU,EAAE,kTAAkT;IAC9T,QAAQ,EAAE,oYAAoY;IAC9Y,OAAO,EAAE,gQAAgQ;IACzQ,KAAK,EAAE,iiBAAiiB;IACxiB,SAAS,EAAE,mUAAmU;IAC9U,YAAY,EAAE,iRAAiR;IAC/R,OAAO,EAAE,oTAAoT;IAC7T,SAAS,EAAE,kVAAkV;IAC7V,MAAM,EAAE,0WAA0W;IAClX,UAAU,EAAE,0fAA0f;IACtgB,KAAK,EAAE,4UAA4U;IACnV,MAAM,EAAE,gSAAgS;IACxS,QAAQ,EAAE,+RAA+R;IACzS,MAAM,EAAE,uSAAuS;IAC/S,OAAO,EAAE,kaAAka;IAC3a,MAAM,EAAE,oXAAoX;IAC5X,UAAU,EAAE,iTAAiT;IAC7T,gBAAgB,EAAE,uaAAua;IACzb,OAAO,EAAE,0PAA0P;IACnQ,MAAM,EAAE,+VAA+V;IACvW,UAAU,EAAE,mUAAmU;IAC/U,MAAM,EAAE,yjBAAyjB;IACjkB,OAAO,EAAE,kWAAkW;IAC3W,MAAM,EAAE,+QAA+Q;IACvR,gBAAgB,EAAE,kUAAkU;IACpV,cAAc,EAAE,qTAAqT;IACrU,cAAc,EAAE,wQAAwQ;IACxR,UAAU,EAAE,8QAA8Q;IAC1R,aAAa,EAAE,2SAA2S;IAC1T,QAAQ,EAAE,+WAA+W;IACzX,cAAc,EAAE,0YAA0Y;IAC1Z,KAAK,EAAE,mVAAmV;IAC1V,SAAS,EAAE,+dAA+d;IAC1e,WAAW,EAAE,2XAA2X;IACxY,aAAa,EAAE,0XAA0X;IACzY,aAAa,EAAE,sSAAsS;IACrT,aAAa,EAAE,0RAA0R;IACzS,eAAe,EAAE,8VAA8V;IAC/W,SAAS,EAAE,qaAAqa;IAChb,OAAO,EAAE,0bAA0b;IACnc,WAAW,EAAE,0SAA0S;IACvT,QAAQ,EAAE,mSAAmS;IAC7S,aAAa,EAAE,0PAA0P;IACzQ,aAAa,EAAE,iQAAiQ;IAChR,OAAO,EAAE,sWAAsW;IAC/W,MAAM,EAAE,sRAAsR;IAC9R,KAAK,EAAE,wWAAwW;IAC/W,QAAQ,EAAE,wfAAwf;IAClgB,UAAU,EAAE,8hBAA8hB;IAC1iB,WAAW,EAAE,4VAA4V;IACzW,QAAQ,EAAE,0pBAA0pB;IACpqB,QAAQ,EAAE,ueAAue;IACjf,QAAQ,EAAE,4RAA4R;IACtS,SAAS,EAAE,giBAAgiB;CAC3iB,CAAC"}
@@ -9,4 +9,4 @@ export declare const layouts: {
9
9
  docs: import("@refrakt-md/transform").LayoutConfig;
10
10
  'blog-article': import("@refrakt-md/transform").LayoutConfig;
11
11
  };
12
- //# sourceMappingURL=index.d.ts.map
12
+ //# sourceMappingURL=layouts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layouts.d.ts","sourceRoot":"","sources":["../src/layouts.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,OAAO;;;;CAInB,CAAC"}
@@ -10,4 +10,4 @@ export const layouts = {
10
10
  docs: docsLayout,
11
11
  'blog-article': blogArticleLayout,
12
12
  };
13
- //# sourceMappingURL=index.js.map
13
+ //# sourceMappingURL=layouts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layouts.js","sourceRoot":"","sources":["../src/layouts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAErF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACtB,OAAO,EAAE,aAAa;IACtB,IAAI,EAAE,UAAU;IAChB,cAAc,EAAE,iBAAiB;CACjC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAElG,sGAAsG;AACtG,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,2FAA2F;AAC3F,eAAO,MAAM,iBAAiB,sGAAgC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,sEAAsE;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,sGAAsG;AACtG,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,2FAA2F;AAC3F,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC"}
package/index.css CHANGED
@@ -21,6 +21,7 @@
21
21
  @import './styles/layouts/search.css';
22
22
  @import './styles/layouts/version-switcher.css';
23
23
  @import './styles/layouts/split.css';
24
+ @import './styles/layouts/plan.css';
24
25
 
25
26
  /* Universal Rune Attributes */
26
27
  @import './styles/base/attributes.css';
@@ -115,3 +116,7 @@
115
116
  @import './styles/runes/decision-log.css';
116
117
  @import './styles/runes/plan-progress.css';
117
118
  @import './styles/runes/plan-activity.css';
119
+ @import './styles/runes/plan-ref.css';
120
+ @import './styles/runes/plan-relationships.css';
121
+ @import './styles/runes/plan-history.css';
122
+ @import './styles/runes/plan-entity-tabs.css';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@refrakt-md/lumina",
3
3
  "description": "Lumina theme for refrakt.md — design tokens, CSS, identity transform, and layout configs",
4
- "version": "0.9.5",
4
+ "version": "0.9.6",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -12,20 +12,20 @@
12
12
  "publishConfig": {
13
13
  "access": "public"
14
14
  },
15
- "main": "dist/src/transform.js",
16
- "types": "dist/src/transform.d.ts",
15
+ "main": "dist/transform.js",
16
+ "types": "dist/transform.d.ts",
17
17
  "exports": {
18
18
  ".": "./index.css",
19
19
  "./base.css": "./base.css",
20
20
  "./transform": {
21
- "types": "./dist/src/transform.d.ts",
22
- "default": "./dist/src/transform.js"
21
+ "types": "./dist/transform.d.ts",
22
+ "default": "./dist/transform.js"
23
23
  },
24
24
  "./manifest": "./manifest.json",
25
25
  "./contracts": "./contracts/structures.json",
26
26
  "./layouts": {
27
- "types": "./dist/layouts/index.d.ts",
28
- "default": "./dist/layouts/index.js"
27
+ "types": "./dist/layouts.d.ts",
28
+ "default": "./dist/layouts.js"
29
29
  },
30
30
  "./styles/runes/*.css": "./styles/runes/*.css"
31
31
  },
@@ -43,9 +43,9 @@
43
43
  "build": "tsc"
44
44
  },
45
45
  "dependencies": {
46
- "@refrakt-md/runes": "0.9.5",
47
- "@refrakt-md/transform": "0.9.5",
48
- "@refrakt-md/types": "0.9.5"
46
+ "@refrakt-md/runes": "0.9.6",
47
+ "@refrakt-md/transform": "0.9.6",
48
+ "@refrakt-md/types": "0.9.6"
49
49
  },
50
50
  "devDependencies": {
51
51
  "postcss": "^8.4.0"
@@ -23,8 +23,8 @@
23
23
 
24
24
  /* Checked — filled with checkmark */
25
25
  [data-checked="checked"]::before {
26
- background: var(--rf-color-success);
27
- border-color: var(--rf-color-success);
26
+ background: var(--rf-color-primary);
27
+ border-color: var(--rf-color-primary);
28
28
  }
29
29
 
30
30
  [data-checked="checked"] {
@@ -148,16 +148,10 @@
148
148
  width: 0;
149
149
  }
150
150
 
151
- /* ---- Smooth scroll with fixed-header offset ---- */
151
+ /* ---- Fixed-header offset ---- */
152
152
  html:has(.rf-docs-header) {
153
- scroll-behavior: smooth;
154
153
  scroll-padding-top: 5rem;
155
154
  }
156
- @media (prefers-reduced-motion: reduce) {
157
- html:has(.rf-docs-header) {
158
- scroll-behavior: auto;
159
- }
160
- }
161
155
 
162
156
  /* ---- Mobile toolbar (hidden on desktop) ---- */
163
157
  .rf-docs-toolbar {
@@ -0,0 +1,435 @@
1
+ /* Plan layout */
2
+
3
+ /* ---- Dashboard grid ---- */
4
+
5
+ .rf-plan-dashboard {
6
+ display: grid;
7
+ grid-template-columns: repeat(auto-fill, minmax(24rem, 1fr));
8
+ gap: var(--rf-spacing-lg, 1.5rem);
9
+ padding: var(--rf-spacing-lg, 1.5rem);
10
+ }
11
+
12
+ .rf-plan-dashboard__section {
13
+ min-width: 0;
14
+ }
15
+
16
+ .rf-plan-dashboard__section-title {
17
+ font-size: 1.125rem;
18
+ font-weight: 600;
19
+ color: var(--rf-color-text, #212529);
20
+ margin-block-end: var(--rf-spacing-md, 1rem);
21
+ padding-block-end: var(--rf-spacing-sm, 0.5rem);
22
+ border-block-end: 2px solid var(--rf-color-border, #dee2e6);
23
+ }
24
+
25
+ /* ---- Fixed sidebar ---- */
26
+
27
+ .rf-plan-sidebar {
28
+ position: fixed;
29
+ inset-block: 0;
30
+ inset-inline-start: 0;
31
+ width: var(--plan-sidebar-width, 240px);
32
+ background: var(--rf-color-bg, #fff);
33
+ border-inline-end: 1px solid var(--rf-color-border, #dee2e6);
34
+ padding: var(--rf-spacing-lg, 1.5rem) var(--rf-spacing-md, 1rem);
35
+ overflow-y: auto;
36
+ }
37
+
38
+ .rf-plan-sidebar::-webkit-scrollbar {
39
+ width: 0;
40
+ }
41
+
42
+ .rf-plan-sidebar__title {
43
+ display: flex;
44
+ align-items: center;
45
+ justify-content: space-between;
46
+ font-size: 1.125rem;
47
+ font-weight: 700;
48
+ margin-block-end: var(--rf-spacing-lg, 1.5rem);
49
+ color: var(--rf-color-text, #212529);
50
+ }
51
+
52
+ .rf-plan-sidebar__search-trigger {
53
+ display: inline-flex;
54
+ align-items: center;
55
+ justify-content: center;
56
+ padding: 0.25rem;
57
+ border: 1px solid var(--rf-color-border, #dee2e6);
58
+ border-radius: var(--rf-radius-sm, 4px);
59
+ background: var(--rf-color-surface, #f8f9fa);
60
+ color: var(--rf-color-muted, #868e96);
61
+ cursor: pointer;
62
+ transition: border-color 0.15s, color 0.15s, background 0.15s;
63
+ }
64
+ .rf-plan-sidebar__search-trigger:hover {
65
+ border-color: var(--rf-color-primary, #228be6);
66
+ color: var(--rf-color-text, #212529);
67
+ background: var(--rf-color-surface-hover, #f1f3f5);
68
+ }
69
+ .rf-plan-sidebar__search-trigger svg {
70
+ width: 16px;
71
+ height: 16px;
72
+ flex-shrink: 0;
73
+ }
74
+
75
+ .rf-plan-sidebar__group {
76
+ margin-block-end: var(--rf-spacing-lg, 1.5rem);
77
+ }
78
+
79
+ .rf-plan-sidebar__group-title {
80
+ font-size: 0.8125rem;
81
+ font-weight: 600;
82
+ text-transform: uppercase;
83
+ letter-spacing: 0.05em;
84
+ color: var(--rf-color-muted, #6c757d);
85
+ margin-block-end: var(--rf-spacing-sm, 0.5rem);
86
+ }
87
+
88
+ /* Status sub-group */
89
+ .rf-plan-sidebar__status-group {
90
+ margin-block-end: 0.25rem;
91
+ }
92
+
93
+ .rf-plan-sidebar__status-header {
94
+ display: flex;
95
+ align-items: center;
96
+ justify-content: space-between;
97
+ width: 100%;
98
+ padding: 0.25rem 0.5rem;
99
+ border: none;
100
+ border-radius: var(--rf-radius-sm, 0.25rem);
101
+ background: transparent;
102
+ color: var(--rf-color-muted, #6c757d);
103
+ font-size: 0.8125rem;
104
+ cursor: pointer;
105
+ text-align: start;
106
+ transition: background 0.15s ease;
107
+ }
108
+
109
+ .rf-plan-sidebar__status-header:hover {
110
+ background: var(--rf-color-surface-active, #f1f3f5);
111
+ }
112
+
113
+ .rf-plan-sidebar__status-header::before {
114
+ content: '\25B8';
115
+ display: inline-block;
116
+ margin-inline-end: 0.25rem;
117
+ transition: transform 0.15s ease;
118
+ font-size: 0.75em;
119
+ }
120
+
121
+ .rf-plan-sidebar__status-header[aria-expanded="true"]::before {
122
+ transform: rotate(90deg);
123
+ }
124
+
125
+ .rf-plan-sidebar__status-label {
126
+ flex: 1;
127
+ font-weight: 500;
128
+ }
129
+
130
+ .rf-plan-sidebar__status-count {
131
+ font-size: 0.75rem;
132
+ font-weight: 600;
133
+ color: var(--rf-color-muted, #6c757d);
134
+ background: var(--rf-color-surface-active, #f1f3f5);
135
+ padding: 0 0.375rem;
136
+ border-radius: var(--rf-radius-full, 9999px);
137
+ min-width: 1.25rem;
138
+ text-align: center;
139
+ }
140
+
141
+ .rf-plan-sidebar__status-items {
142
+ padding-inline-start: var(--rf-spacing-sm, 0.5rem);
143
+ }
144
+
145
+ .rf-plan-sidebar__status-items[hidden] {
146
+ display: none;
147
+ }
148
+
149
+ .rf-plan-sidebar__link {
150
+ display: block;
151
+ padding: 0.25rem 0.5rem;
152
+ border-radius: var(--rf-radius-sm, 0.25rem);
153
+ color: var(--rf-color-text, #212529);
154
+ text-decoration: none;
155
+ font-size: 0.8125rem;
156
+ transition: background 0.15s ease;
157
+ }
158
+
159
+ .rf-plan-sidebar__link:hover {
160
+ background: var(--rf-color-surface-active, #f1f3f5);
161
+ }
162
+
163
+ .rf-plan-sidebar__link--dashboard {
164
+ display: flex;
165
+ align-items: center;
166
+ gap: 0.375rem;
167
+ margin-block-end: var(--rf-spacing-md, 1rem);
168
+ }
169
+
170
+ .rf-plan-sidebar__dashboard-icon {
171
+ flex-shrink: 0;
172
+ opacity: 0.6;
173
+ }
174
+
175
+ .rf-plan-sidebar__link--dashboard.rf-plan-sidebar__link--active .rf-plan-sidebar__dashboard-icon {
176
+ opacity: 1;
177
+ }
178
+
179
+ .rf-plan-sidebar__link--active {
180
+ background: var(--rf-color-info-bg, #e7f5ff);
181
+ color: var(--rf-color-info, #339af0);
182
+ font-weight: 600;
183
+ }
184
+
185
+ .rf-plan-sidebar__link--focused {
186
+ outline: 2px solid var(--rf-color-info, #339af0);
187
+ outline-offset: -2px;
188
+ background: var(--rf-color-surface-active, #f1f3f5);
189
+ }
190
+
191
+ .rf-plan-sidebar__link--blocked {
192
+ border-left: 2px solid var(--rf-color-danger, #ff6b6b);
193
+ }
194
+
195
+ .rf-plan-sidebar__status-link {
196
+ display: flex;
197
+ align-items: center;
198
+ justify-content: space-between;
199
+ }
200
+
201
+ .rf-plan-sidebar__blocker-icon {
202
+ margin-left: auto;
203
+ font-size: 0.75rem;
204
+ color: var(--rf-color-danger, #ff6b6b);
205
+ flex-shrink: 0;
206
+ }
207
+
208
+ /* Views section in sidebar */
209
+ .rf-plan-sidebar__view-header {
210
+ font-size: 0.6875rem;
211
+ font-weight: 600;
212
+ text-transform: uppercase;
213
+ letter-spacing: 0.05em;
214
+ color: var(--rf-color-muted, #6c757d);
215
+ padding: 0.25rem 0.5rem;
216
+ margin-block-start: 0.25rem;
217
+ }
218
+
219
+ .rf-plan-sidebar__view-items {
220
+ padding-inline-start: 0.25rem;
221
+ }
222
+
223
+ .rf-plan-sidebar__link .rf-plan-sidebar__view-label {
224
+ flex: 1;
225
+ overflow: hidden;
226
+ text-overflow: ellipsis;
227
+ white-space: nowrap;
228
+ }
229
+
230
+ .rf-plan-sidebar__link .rf-plan-sidebar__view-count {
231
+ font-size: 0.6875rem;
232
+ font-weight: 600;
233
+ color: var(--rf-color-muted, #6c757d);
234
+ background: var(--rf-color-surface-active, #f1f3f5);
235
+ padding: 0 0.375rem;
236
+ border-radius: var(--rf-radius-full, 9999px);
237
+ min-width: 1.25rem;
238
+ text-align: center;
239
+ }
240
+
241
+ .rf-plan-sidebar__group[data-type="views"] .rf-plan-sidebar__link {
242
+ display: flex;
243
+ align-items: center;
244
+ justify-content: space-between;
245
+ }
246
+
247
+ /* ---- Content area ---- */
248
+
249
+ .rf-plan-main {
250
+ margin-inline-start: var(--plan-sidebar-width, 240px);
251
+ padding: var(--rf-spacing-xl, 2rem);
252
+ }
253
+
254
+ /* Inner wrapper: flex layout when TOC is present */
255
+ .rf-plan-main__inner--has-toc {
256
+ display: flex;
257
+ gap: var(--rf-spacing-xl, 2rem);
258
+ max-width: calc(60rem + 200px + 2rem);
259
+ margin: 0 auto;
260
+ }
261
+ .rf-plan-main__inner--has-toc .rf-plan-main__body {
262
+ flex: 1;
263
+ min-width: 0;
264
+ max-width: 60rem;
265
+ }
266
+
267
+ .rf-plan-main__body {
268
+ max-width: 60rem;
269
+ margin: 0 auto;
270
+ padding: 0 2.5rem;
271
+ }
272
+
273
+ /* ---- "On this page" TOC aside ---- */
274
+
275
+ .rf-plan-toc {
276
+ width: 200px;
277
+ flex-shrink: 0;
278
+ position: sticky;
279
+ top: var(--rf-spacing-lg, 1.5rem);
280
+ align-self: flex-start;
281
+ max-height: calc(100vh - var(--rf-spacing-xl, 2rem) * 2);
282
+ overflow-y: auto;
283
+ }
284
+
285
+ /* ---- Mobile toolbar (hidden on desktop) ---- */
286
+
287
+ .rf-plan-toolbar {
288
+ display: none;
289
+ align-items: center;
290
+ gap: 0.75rem;
291
+ padding: 0.625rem 1rem;
292
+ border-block-end: 1px solid var(--rf-color-border, #dee2e6);
293
+ background: var(--rf-color-bg, #fff);
294
+ position: sticky;
295
+ top: 0;
296
+ z-index: 100;
297
+ }
298
+
299
+ .rf-plan-toolbar__hamburger {
300
+ background: none;
301
+ border: none;
302
+ padding: 0.25rem;
303
+ cursor: pointer;
304
+ color: var(--rf-color-muted, #6c757d);
305
+ line-height: 0;
306
+ flex-shrink: 0;
307
+ }
308
+
309
+ .rf-plan-toolbar__hamburger:hover {
310
+ color: var(--rf-color-text, #212529);
311
+ }
312
+
313
+ .rf-plan-toolbar__title {
314
+ font-size: 0.875rem;
315
+ font-weight: 600;
316
+ color: var(--rf-color-text, #212529);
317
+ flex: 1;
318
+ min-width: 0;
319
+ }
320
+
321
+ .rf-plan-toolbar__section-nav-toggle {
322
+ background: none;
323
+ border: none;
324
+ padding: 0.25rem;
325
+ cursor: pointer;
326
+ color: var(--rf-color-muted, #6c757d);
327
+ line-height: 0;
328
+ flex-shrink: 0;
329
+ }
330
+
331
+ .rf-plan-toolbar__section-nav-toggle:hover {
332
+ color: var(--rf-color-text, #212529);
333
+ }
334
+
335
+ /* ---- Section nav dropdown ---- */
336
+
337
+ .rf-section-nav {
338
+ display: none;
339
+ position: absolute;
340
+ top: 100%;
341
+ right: 0.5rem;
342
+ min-width: 14rem;
343
+ background: var(--rf-color-bg, #fff);
344
+ border: 1px solid var(--rf-color-border, #dee2e6);
345
+ border-radius: var(--rf-radius-md, 0.5rem);
346
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
347
+ z-index: 200;
348
+ padding: 0.25rem 0;
349
+ }
350
+
351
+ .rf-section-nav[data-open] {
352
+ display: block;
353
+ }
354
+
355
+ .rf-section-nav__list {
356
+ list-style: none;
357
+ margin: 0;
358
+ padding: 0;
359
+ }
360
+
361
+ .rf-section-nav__item {
362
+ border-inline-start: 2px solid transparent;
363
+ }
364
+
365
+ .rf-section-nav__link {
366
+ display: block;
367
+ padding: 0.5rem 1rem;
368
+ color: var(--rf-color-text, #212529);
369
+ text-decoration: none;
370
+ font-size: 0.8125rem;
371
+ line-height: 1.4;
372
+ }
373
+
374
+ .rf-section-nav__link:hover {
375
+ background: var(--rf-color-surface-active, #f1f3f5);
376
+ }
377
+
378
+ .rf-section-nav__item[data-active] {
379
+ border-inline-start-color: var(--rf-color-info, #339af0);
380
+ }
381
+
382
+ .rf-section-nav__item[data-active] .rf-section-nav__link {
383
+ color: var(--rf-color-info, #339af0);
384
+ font-weight: 600;
385
+ }
386
+
387
+ /* ---- Responsive ---- */
388
+
389
+ /* Hide TOC on medium screens */
390
+ @media (max-width: 64rem) {
391
+ .rf-plan-toc {
392
+ display: none;
393
+ }
394
+ .rf-plan-main__inner--has-toc {
395
+ display: block;
396
+ }
397
+ }
398
+
399
+ @media (max-width: 48rem) {
400
+ /* Offset scroll targets for sticky toolbar */
401
+ html:has(.rf-plan-toolbar) {
402
+ scroll-padding-top: 3.5rem;
403
+ }
404
+
405
+ .rf-plan-toolbar {
406
+ display: flex;
407
+ }
408
+
409
+ .rf-plan-sidebar {
410
+ display: none;
411
+ }
412
+
413
+ /* Search trigger is in the toolbar on mobile; hide the sidebar copy */
414
+ .rf-mobile-panel .rf-plan-sidebar__search-trigger {
415
+ display: none;
416
+ }
417
+
418
+ .rf-mobile-panel--nav {
419
+ top: 3.0625rem;
420
+ }
421
+
422
+ .rf-plan-main {
423
+ margin-inline-start: 0;
424
+ padding: var(--rf-spacing-md, 1rem);
425
+ }
426
+
427
+ .rf-plan-main__body {
428
+ padding: 0;
429
+ }
430
+
431
+ .rf-plan-dashboard {
432
+ grid-template-columns: 1fr;
433
+ padding: var(--rf-spacing-md, 1rem);
434
+ }
435
+ }
@@ -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 > header {
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 > div > section:first-child {
37
+ .rf-bug__body > section:first-child {
24
38
  margin-top: 0.75rem;
25
39
  }
@@ -30,6 +30,7 @@
30
30
  font-family: var(--rf-font-mono);
31
31
  font-size: 0.8rem;
32
32
  font-weight: normal;
33
+ color: inherit;
33
34
  opacity: 0.7;
34
35
  }
35
36
  .rf-codegroup ul {