@refrakt-md/lumina 0.8.1 → 0.8.2

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.
@@ -2419,9 +2419,15 @@
2419
2419
  "dataRune": "recipe",
2420
2420
  "childOrder": [
2421
2421
  "meta",
2422
- "{content:content}"
2422
+ "{content}"
2423
2423
  ],
2424
2424
  "modifiers": {
2425
+ "layout": {
2426
+ "source": "meta",
2427
+ "default": "stacked",
2428
+ "classPattern": ".rf-recipe--{value}",
2429
+ "dataAttribute": "data-layout"
2430
+ },
2425
2431
  "prepTime": {
2426
2432
  "source": "meta",
2427
2433
  "classPattern": ".rf-recipe--{value}",
@@ -2442,6 +2448,25 @@
2442
2448
  "default": "medium",
2443
2449
  "classPattern": ".rf-recipe--{value}",
2444
2450
  "dataAttribute": "data-difficulty"
2451
+ },
2452
+ "ratio": {
2453
+ "source": "meta",
2454
+ "default": "1 1",
2455
+ "dataAttribute": "data-ratio"
2456
+ },
2457
+ "valign": {
2458
+ "source": "meta",
2459
+ "default": "top",
2460
+ "dataAttribute": "data-valign"
2461
+ },
2462
+ "gap": {
2463
+ "source": "meta",
2464
+ "default": "default",
2465
+ "dataAttribute": "data-gap"
2466
+ },
2467
+ "collapse": {
2468
+ "source": "meta",
2469
+ "dataAttribute": "data-collapse"
2445
2470
  }
2446
2471
  },
2447
2472
  "elements": {
@@ -2470,10 +2495,46 @@
2470
2495
  "parent": "meta",
2471
2496
  "condition": "difficulty"
2472
2497
  },
2473
- "content": {
2474
- "tag": "div",
2475
- "selector": ".rf-recipe__content",
2476
- "source": "contentWrapper"
2498
+ "header": {
2499
+ "tag": "header",
2500
+ "selector": ".rf-recipe__header",
2501
+ "source": "autoLabel"
2502
+ },
2503
+ "eyebrow": {
2504
+ "tag": "eyebrow",
2505
+ "selector": ".rf-recipe__eyebrow",
2506
+ "source": "autoLabel"
2507
+ },
2508
+ "headline": {
2509
+ "tag": "headline",
2510
+ "selector": ".rf-recipe__headline",
2511
+ "source": "autoLabel"
2512
+ },
2513
+ "blurb": {
2514
+ "tag": "blurb",
2515
+ "selector": ".rf-recipe__blurb",
2516
+ "source": "autoLabel"
2517
+ },
2518
+ "image": {
2519
+ "tag": "image",
2520
+ "selector": ".rf-recipe__image",
2521
+ "source": "autoLabel"
2522
+ },
2523
+ "media": {
2524
+ "tag": "media",
2525
+ "selector": ".rf-recipe__media",
2526
+ "source": "autoLabel"
2527
+ }
2528
+ },
2529
+ "inlineStyles": {
2530
+ "ratio": {
2531
+ "prop": "--split-ratio"
2532
+ },
2533
+ "valign": {
2534
+ "prop": "--split-valign"
2535
+ },
2536
+ "gap": {
2537
+ "prop": "--split-gap"
2477
2538
  }
2478
2539
  }
2479
2540
  },
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 framework adapters",
4
- "version": "0.8.1",
4
+ "version": "0.8.2",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -51,15 +51,15 @@
51
51
  "build": "tsc"
52
52
  },
53
53
  "dependencies": {
54
- "@refrakt-md/runes": "0.8.1",
55
- "@refrakt-md/transform": "0.8.1",
56
- "@refrakt-md/types": "0.8.1",
57
- "@refrakt-md/svelte": "0.8.1"
54
+ "@refrakt-md/runes": "0.8.2",
55
+ "@refrakt-md/transform": "0.8.2",
56
+ "@refrakt-md/types": "0.8.2",
57
+ "@refrakt-md/svelte": "0.8.2"
58
58
  },
59
59
  "peerDependencies": {
60
60
  "svelte": "^5.0.0",
61
61
  "@sveltejs/kit": "^2.0.0",
62
- "@refrakt-md/html": "0.8.1"
62
+ "@refrakt-md/html": "0.8.2"
63
63
  },
64
64
  "devDependencies": {
65
65
  "postcss": "^8.4.0"
@@ -113,14 +113,20 @@
113
113
  );
114
114
  }
115
115
 
116
- /* Section spacing — vertical rhythm between block runes
117
- * Symmetric margins collapse between plain sections (no visual change)
118
- * but ensure correct gaps at plain→tinted boundaries (where tinted
119
- * sections use padding instead of margin). */
120
- .rf-page-content > article > * + * {
116
+ /* Section spacing — vertical rhythm around block runes.
117
+ * Rune blocks (elements with data-rune) get section-level margins.
118
+ * Prose elements (p, h2, pre, table, etc.) keep their natural flow
119
+ * spacing from global.css only gaining section margins when
120
+ * immediately adjacent to a rune block. */
121
+ .rf-page-content > article > * + [data-rune] {
121
122
  margin-top: var(--rf-spacing-section, 4rem);
122
123
  margin-bottom: var(--rf-spacing-section, 4rem);
123
124
  }
125
+ /* Prose after a rune block: section gap above only.
126
+ * No margin-bottom so subsequent prose keeps natural flow spacing. */
127
+ .rf-page-content > article > [data-rune] + :not([data-rune]) {
128
+ margin-top: var(--rf-spacing-section, 4rem);
129
+ }
124
130
  .rf-page-content > article > [data-spacing="flush"] {
125
131
  margin-top: 0;
126
132
  margin-bottom: 0;
@@ -200,7 +200,10 @@
200
200
  bottom: 0;
201
201
  transform: none;
202
202
  width: 100%;
203
+ height: 100vh;
204
+ height: 100dvh;
203
205
  max-height: 100vh;
206
+ max-height: 100dvh;
204
207
  border-radius: 0;
205
208
  border: none;
206
209
  }
@@ -5,6 +5,28 @@
5
5
  padding: 2rem;
6
6
  margin: 1.5rem 0;
7
7
  }
8
+ .rf-recipe__header {
9
+ margin-bottom: 1.5rem;
10
+ }
11
+ .rf-recipe .rf-recipe__eyebrow {
12
+ font-size: 0.875rem;
13
+ font-weight: 600;
14
+ letter-spacing: 0.05em;
15
+ text-transform: uppercase;
16
+ color: var(--rf-color-primary);
17
+ margin: 0 0 0.5rem;
18
+ }
19
+ .rf-recipe__headline {
20
+ margin-top: 0;
21
+ }
22
+ .rf-recipe .rf-recipe__blurb {
23
+ color: var(--rf-color-muted);
24
+ margin-bottom: 0;
25
+ max-width: 40rem;
26
+ }
27
+ .rf-recipe__image {
28
+ margin-bottom: 1rem;
29
+ }
8
30
  .rf-recipe__meta {
9
31
  display: flex;
10
32
  flex-wrap: wrap;
@@ -45,3 +67,18 @@
45
67
  .rf-recipe__content ol li {
46
68
  padding: 0.25rem 0;
47
69
  }
70
+ /* Media zone */
71
+ .rf-recipe__media {
72
+ border-radius: var(--rf-radius-lg);
73
+ }
74
+ .rf-recipe__media img {
75
+ display: block;
76
+ width: 100%;
77
+ height: auto;
78
+ border-radius: var(--rf-radius-lg);
79
+ }
80
+ /* Split layout: meta bar spans full width above the grid */
81
+ .rf-recipe[data-layout="split"] > .rf-recipe__meta,
82
+ .rf-recipe[data-layout="split-reverse"] > .rf-recipe__meta {
83
+ grid-column: 1 / -1;
84
+ }