@refrakt-md/lumina 0.22.0 → 0.23.0
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/base.css +2 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +7 -0
- package/dist/config.js.map +1 -1
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +2 -0
- package/dist/tokens.js.map +1 -1
- package/index.css +10 -1
- package/package.json +5 -4
- package/styles/base/attributes.css +6 -7
- package/styles/dimensions/checklist.css +6 -35
- package/styles/dimensions/cover.css +13 -95
- package/styles/dimensions/density.css +3 -0
- package/styles/dimensions/frame.css +3 -0
- package/styles/dimensions/media.css +14 -61
- package/styles/dimensions/metadata.css +24 -74
- package/styles/dimensions/sections.css +10 -24
- package/styles/dimensions/sequence.css +14 -79
- package/styles/dimensions/state.css +39 -56
- package/styles/dimensions/substrate.css +3 -0
- package/styles/dimensions/surfaces.css +73 -113
- package/styles/elements/blockquote.css +3 -2
- package/styles/elements/code.css +3 -0
- package/styles/elements/table.css +3 -0
- package/styles/global.css +9 -48
- package/styles/layouts/blog.css +3 -64
- package/styles/layouts/default.css +3 -77
- package/styles/layouts/docs.css +3 -153
- package/styles/layouts/mobile.css +1 -50
- package/styles/layouts/on-this-page.css +3 -2
- package/styles/layouts/plan.css +3 -134
- package/styles/layouts/search.css +3 -68
- package/styles/layouts/split.css +24 -169
- package/styles/layouts/theme-toggle.css +3 -29
- package/styles/layouts/version-switcher.css +3 -4
- package/styles/runes/accordion.css +15 -58
- package/styles/runes/aggregate.css +3 -12
- package/styles/runes/annotate.css +6 -35
- package/styles/runes/api.css +3 -0
- package/styles/runes/audio.css +3 -41
- package/styles/runes/badge.css +3 -0
- package/styles/runes/bar.css +3 -0
- package/styles/runes/bento.css +16 -159
- package/styles/runes/bg.css +3 -37
- package/styles/runes/blog.css +3 -5
- package/styles/runes/bond.css +3 -23
- package/styles/runes/breadcrumb.css +5 -13
- package/styles/runes/budget.css +3 -25
- package/styles/runes/bug.css +3 -0
- package/styles/runes/card.css +24 -92
- package/styles/runes/cast.css +5 -22
- package/styles/runes/changelog.css +5 -9
- package/styles/runes/character.css +3 -17
- package/styles/runes/chart.css +10 -52
- package/styles/runes/codegroup.css +15 -23
- package/styles/runes/collection.css +5 -82
- package/styles/runes/compare.css +3 -14
- package/styles/runes/comparison.css +7 -34
- package/styles/runes/conversation.css +5 -27
- package/styles/runes/cta.css +3 -26
- package/styles/runes/datatable.css +25 -40
- package/styles/runes/decision.css +3 -0
- package/styles/runes/design-context.css +3 -2
- package/styles/runes/details.css +5 -13
- package/styles/runes/diagram.css +5 -13
- package/styles/runes/diff.css +5 -88
- package/styles/runes/drawer.css +1 -105
- package/styles/runes/embed.css +4 -12
- package/styles/runes/event.css +3 -1
- package/styles/runes/expand.css +5 -40
- package/styles/runes/faction.css +3 -9
- package/styles/runes/feature.css +4 -32
- package/styles/runes/figure.css +5 -24
- package/styles/runes/file-ref.css +3 -18
- package/styles/runes/form.css +3 -32
- package/styles/runes/gallery.css +3 -135
- package/styles/runes/grid.css +4 -56
- package/styles/runes/hero.css +13 -126
- package/styles/runes/hint.css +16 -41
- package/styles/runes/howto.css +3 -25
- package/styles/runes/itinerary.css +3 -32
- package/styles/runes/juxtapose.css +12 -87
- package/styles/runes/lore.css +3 -10
- package/styles/runes/map.css +3 -36
- package/styles/runes/mediatext.css +3 -44
- package/styles/runes/milestone.css +3 -16
- package/styles/runes/mockup.css +3 -108
- package/styles/runes/nav.css +3 -178
- package/styles/runes/organization.css +3 -2
- package/styles/runes/page-section.css +3 -4
- package/styles/runes/pagination.css +5 -37
- package/styles/runes/palette.css +3 -22
- package/styles/runes/placeholder.css +3 -3
- package/styles/runes/plan-history.css +3 -23
- package/styles/runes/plan-progress.css +3 -4
- package/styles/runes/plan-ref.css +3 -0
- package/styles/runes/playlist.css +2 -36
- package/styles/runes/plot.css +3 -19
- package/styles/runes/preview.css +3 -28
- package/styles/runes/pricing.css +7 -25
- package/styles/runes/progress.css +6 -25
- package/styles/runes/pullquote.css +3 -26
- package/styles/runes/realm.css +3 -9
- package/styles/runes/recipe.css +3 -27
- package/styles/runes/relationships.css +3 -34
- package/styles/runes/reveal.css +7 -12
- package/styles/runes/sandbox.css +6 -36
- package/styles/runes/section.css +4 -18
- package/styles/runes/showcase.css +3 -20
- package/styles/runes/sidenote.css +3 -2
- package/styles/runes/snippet.css +3 -0
- package/styles/runes/spacing.css +3 -22
- package/styles/runes/spec.css +3 -0
- package/styles/runes/steps.css +4 -36
- package/styles/runes/storyboard.css +2 -17
- package/styles/runes/swatch.css +3 -6
- package/styles/runes/symbol.css +6 -4
- package/styles/runes/tabs.css +6 -9
- package/styles/runes/testimonial.css +5 -6
- package/styles/runes/textblock.css +2 -20
- package/styles/runes/timeline.css +3 -21
- package/styles/runes/tint.css +3 -0
- package/styles/runes/toc.css +5 -3
- package/styles/runes/track.css +2 -31
- package/styles/runes/typography.css +3 -15
- package/styles/runes/work.css +3 -0
- package/styles/runes/xref.css +3 -1
- package/tokens/base.css +13 -0
- package/tokens/dark.css +3 -0
- package/styles/dimensions/guest-posture.css +0 -27
|
@@ -1,134 +1,63 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* selects the arrangement. Built-in items carry `.rf-collection__card` /
|
|
5
|
-
* `__item`; a body template emits its own markup inside `.rf-collection__item`.
|
|
6
|
-
*/
|
|
7
|
-
|
|
1
|
+
@layer skin {
|
|
2
|
+
/* Collection — skin. The list/grid arrangement, card flex column, and block-item
|
|
3
|
+
* display reset live in @refrakt-md/skeleton (styles/runes/collection.css). */
|
|
8
4
|
.rf-collection {
|
|
9
5
|
margin: var(--rf-spacing-md) 0;
|
|
10
6
|
}
|
|
11
|
-
|
|
12
|
-
/* Preamble — rendered above items only when the query is non-empty, so a
|
|
13
|
-
* heading/intro can live inside the rune and vanish with an empty section. */
|
|
14
7
|
.rf-collection__preamble > :first-child { margin-top: 0; }
|
|
15
|
-
|
|
16
|
-
/* Empty state — shown in place of items when the query yields nothing. */
|
|
17
8
|
.rf-collection__empty {
|
|
18
9
|
color: var(--rf-color-muted);
|
|
19
10
|
font-size: 0.9375em;
|
|
20
11
|
}
|
|
21
|
-
|
|
22
12
|
.rf-collection__items {
|
|
23
|
-
display: flex;
|
|
24
|
-
flex-direction: column;
|
|
25
13
|
gap: var(--rf-spacing-sm);
|
|
26
14
|
}
|
|
27
|
-
|
|
28
|
-
/* grid arranges items into responsive columns; list stays a stacked flow.
|
|
29
|
-
* Item chrome (a card box, bare row, …) comes from the item, not the layout. */
|
|
30
15
|
.rf-collection[data-layout='grid'] .rf-collection__items {
|
|
31
|
-
display: grid;
|
|
32
|
-
grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
|
|
33
16
|
gap: var(--rf-spacing-md);
|
|
34
|
-
align-items: stretch;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/* Uniform heights per row: grid stretches each item to the tallest in its row;
|
|
38
|
-
* a body-template item then lets its card fill that stretched height. */
|
|
39
|
-
.rf-collection[data-layout='grid'] .rf-collection__item {
|
|
40
|
-
display: flex;
|
|
41
17
|
}
|
|
42
|
-
.rf-collection[data-layout='grid'] .rf-collection__item > * {
|
|
43
|
-
flex: 1;
|
|
44
|
-
min-width: 0;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/* Grouped grid: the grid belongs to each group (its items are the cells), not
|
|
48
|
-
* to __items — whose children are the group blocks (heading groups) or the
|
|
49
|
-
* accordion wrapper. Left on __items, each group becomes a single cell, i.e. a
|
|
50
|
-
* column per group. So when __items holds groups it stacks them, and each
|
|
51
|
-
* group becomes the grid instead, with the group title spanning every column. */
|
|
52
18
|
.rf-collection[data-layout='grid'] .rf-collection__items:has(.rf-collection__group),
|
|
53
19
|
.rf-collection[data-layout='grid'] .rf-collection__items:has(.rf-accordion) {
|
|
54
|
-
display: flex;
|
|
55
|
-
flex-direction: column;
|
|
56
20
|
gap: var(--rf-spacing-md);
|
|
57
21
|
}
|
|
58
22
|
.rf-collection[data-layout='grid'] .rf-collection__group {
|
|
59
|
-
display: grid;
|
|
60
|
-
grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
|
|
61
23
|
gap: var(--rf-spacing-md);
|
|
62
|
-
align-items: stretch;
|
|
63
24
|
}
|
|
64
|
-
.rf-collection[data-layout='grid'] .rf-collection__group-title {
|
|
65
|
-
grid-column: 1 / -1;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
.rf-collection__item {
|
|
69
|
-
min-width: 0;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
25
|
.rf-collection__card {
|
|
73
|
-
display: flex;
|
|
74
|
-
flex-direction: column;
|
|
75
26
|
gap: var(--rf-spacing-xs);
|
|
76
27
|
padding: var(--rf-spacing-md);
|
|
77
28
|
border: 1px solid var(--rf-color-border);
|
|
78
29
|
border-radius: var(--rf-radius-md);
|
|
79
30
|
background: var(--rf-color-surface);
|
|
80
31
|
}
|
|
81
|
-
|
|
82
32
|
.rf-collection__card:hover {
|
|
83
33
|
background: var(--rf-color-surface-hover);
|
|
84
34
|
}
|
|
85
|
-
|
|
86
35
|
.rf-collection__title {
|
|
87
36
|
font-weight: var(--rf-weight-semibold);
|
|
88
37
|
color: var(--rf-color-text);
|
|
89
38
|
text-decoration: none;
|
|
90
39
|
}
|
|
91
|
-
|
|
92
40
|
.rf-collection__title:hover {
|
|
93
41
|
color: var(--rf-color-primary);
|
|
94
42
|
}
|
|
95
|
-
|
|
96
43
|
.rf-collection__field {
|
|
97
44
|
font-size: 0.875em;
|
|
98
45
|
color: var(--rf-color-muted);
|
|
99
46
|
}
|
|
100
|
-
|
|
101
|
-
/* grouping */
|
|
102
47
|
.rf-collection__group {
|
|
103
48
|
margin-top: var(--rf-spacing-md);
|
|
104
|
-
display: flex;
|
|
105
|
-
flex-direction: column;
|
|
106
49
|
/* Tight default for short item rows (the built-in title link, no body). */
|
|
107
50
|
gap: var(--rf-spacing-xs);
|
|
108
51
|
}
|
|
109
|
-
/* Modestly roomier when items carry a body template (block content — a card,
|
|
110
|
-
* callout, list, …), so they don't collide. Body-template items are marked
|
|
111
|
-
* `data-block` by the resolver; the built-in inline title rows are not.
|
|
112
|
-
* Mirrors the rf-relationships rule. */
|
|
113
52
|
.rf-collection__group:has(.rf-collection__item[data-block]) {
|
|
114
53
|
gap: var(--rf-spacing-sm);
|
|
115
54
|
}
|
|
116
|
-
|
|
117
|
-
/* Block-content item — let the body template (card / callout / etc.) fill the
|
|
118
|
-
* container instead of shrink-fitting. No-op in grid mode (items there are
|
|
119
|
-
* already `display: flex` with `flex: 1` on the child). Trim the outer margins
|
|
120
|
-
* of the template's first/last block so the group `gap` controls inter-item
|
|
121
|
-
* spacing — works for any block content, not a wrapper element. */
|
|
122
|
-
.rf-collection__item[data-block] {
|
|
123
|
-
display: block;
|
|
124
|
-
}
|
|
125
55
|
.rf-collection__item[data-block] > :first-child {
|
|
126
56
|
margin-top: 0;
|
|
127
57
|
}
|
|
128
58
|
.rf-collection__item[data-block] > :last-child {
|
|
129
59
|
margin-bottom: 0;
|
|
130
60
|
}
|
|
131
|
-
|
|
132
61
|
.rf-collection__group-title {
|
|
133
62
|
margin: 0 0 var(--rf-spacing-sm);
|
|
134
63
|
font-size: 0.875em;
|
|
@@ -136,31 +65,25 @@
|
|
|
136
65
|
letter-spacing: var(--rf-tracking-wider);
|
|
137
66
|
color: var(--rf-color-muted);
|
|
138
67
|
}
|
|
139
|
-
|
|
140
68
|
/* table layout */
|
|
141
69
|
.rf-collection__table {
|
|
142
70
|
width: 100%;
|
|
143
71
|
border-collapse: collapse;
|
|
144
72
|
}
|
|
145
|
-
|
|
146
73
|
.rf-collection__table th,
|
|
147
74
|
.rf-collection__table td {
|
|
148
75
|
padding: var(--rf-spacing-sm);
|
|
149
76
|
text-align: left;
|
|
150
77
|
border-bottom: 1px solid var(--rf-color-border);
|
|
151
78
|
}
|
|
152
|
-
|
|
153
79
|
.rf-collection__table th {
|
|
154
80
|
font-size: 0.875em;
|
|
155
81
|
text-transform: uppercase;
|
|
156
82
|
letter-spacing: var(--rf-tracking-wider);
|
|
157
83
|
color: var(--rf-color-muted);
|
|
158
84
|
}
|
|
159
|
-
|
|
160
|
-
/* Heading-template cells (`layout="table"` body) wrap their content as
|
|
161
|
-
* markdown paragraphs, which pick up the global `p { margin-bottom: 1rem }`
|
|
162
|
-
* and leave dead space inside each row. Drop it inside the table — table
|
|
163
|
-
* cells don't want paragraph spacing. */
|
|
164
85
|
.rf-collection__table td p {
|
|
165
86
|
margin: 0;
|
|
166
87
|
}
|
|
88
|
+
|
|
89
|
+
}
|
package/styles/runes/compare.css
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* Compare */
|
|
2
3
|
.rf-compare {
|
|
3
4
|
border: 1px solid var(--rf-color-border);
|
|
4
5
|
border-radius: var(--rf-radius-md);
|
|
5
|
-
overflow: hidden;
|
|
6
6
|
}
|
|
7
7
|
.rf-compare__header {
|
|
8
8
|
padding: 0.5rem 1rem;
|
|
@@ -13,18 +13,6 @@
|
|
|
13
13
|
background: var(--rf-color-surface);
|
|
14
14
|
border-bottom: 1px solid var(--rf-color-border);
|
|
15
15
|
}
|
|
16
|
-
.rf-compare--side-by-side .rf-compare__panels {
|
|
17
|
-
display: grid;
|
|
18
|
-
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
19
|
-
}
|
|
20
|
-
.rf-compare--stacked .rf-compare__panels {
|
|
21
|
-
display: flex;
|
|
22
|
-
flex-direction: column;
|
|
23
|
-
}
|
|
24
|
-
.rf-compare [data-panel] {
|
|
25
|
-
min-width: 0;
|
|
26
|
-
overflow: auto;
|
|
27
|
-
}
|
|
28
16
|
.rf-compare--side-by-side [data-panel] + [data-panel] {
|
|
29
17
|
border-left: 1px solid var(--rf-color-border);
|
|
30
18
|
}
|
|
@@ -32,7 +20,6 @@
|
|
|
32
20
|
border-top: 1px solid var(--rf-color-border);
|
|
33
21
|
}
|
|
34
22
|
.rf-compare [data-label] {
|
|
35
|
-
display: block;
|
|
36
23
|
padding: 0.5rem 1rem;
|
|
37
24
|
font-size: var(--rf-text-xs);
|
|
38
25
|
font-weight: var(--rf-weight-semibold);
|
|
@@ -50,3 +37,5 @@
|
|
|
50
37
|
border: none;
|
|
51
38
|
border-radius: 0;
|
|
52
39
|
}
|
|
40
|
+
|
|
41
|
+
}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
@layer skin {
|
|
2
|
+
/* Comparison — skin. The grid passthroughs, scroll/sticky geometry, cards grid,
|
|
3
|
+
* card flex + badge positioning, and metadata hiding live in @refrakt-md/skeleton
|
|
4
|
+
* (styles/runes/comparison.css). */
|
|
2
5
|
.rf-comparison {
|
|
3
6
|
margin: 2rem 0;
|
|
4
7
|
}
|
|
5
|
-
.rf-comparison__grid {
|
|
6
|
-
display: contents;
|
|
7
|
-
}
|
|
8
|
-
.rf-comparison-column__body,
|
|
9
|
-
.rf-comparison-row__body {
|
|
10
|
-
display: contents;
|
|
11
|
-
}
|
|
12
8
|
.rf-comparison__title {
|
|
13
9
|
text-align: center;
|
|
14
10
|
margin: 0 0 1.5rem;
|
|
@@ -16,12 +12,8 @@
|
|
|
16
12
|
font-weight: var(--rf-weight-bold);
|
|
17
13
|
color: var(--rf-color-text);
|
|
18
14
|
}
|
|
19
|
-
.rf-comparison > meta,
|
|
20
|
-
.rf-comparison > span[property] { display: none; }
|
|
21
15
|
/* Table layout */
|
|
22
16
|
.rf-comparison__table-wrapper {
|
|
23
|
-
overflow-x: auto;
|
|
24
|
-
-webkit-overflow-scrolling: touch;
|
|
25
17
|
margin: 0 -1rem;
|
|
26
18
|
padding: 0 1rem;
|
|
27
19
|
}
|
|
@@ -30,11 +22,6 @@
|
|
|
30
22
|
border-collapse: collapse;
|
|
31
23
|
font-size: var(--rf-text);
|
|
32
24
|
}
|
|
33
|
-
.rf-comparison__table thead {
|
|
34
|
-
position: sticky;
|
|
35
|
-
top: 0;
|
|
36
|
-
z-index: 1;
|
|
37
|
-
}
|
|
38
25
|
.rf-comparison__table th,
|
|
39
26
|
.rf-comparison__table td {
|
|
40
27
|
padding: 0.75rem 1rem;
|
|
@@ -54,7 +41,6 @@
|
|
|
54
41
|
border-bottom-color: var(--rf-color-primary);
|
|
55
42
|
}
|
|
56
43
|
.rf-comparison__recommended-badge {
|
|
57
|
-
display: block;
|
|
58
44
|
font-size: var(--rf-text-xs);
|
|
59
45
|
font-weight: var(--rf-weight-semibold);
|
|
60
46
|
text-transform: uppercase;
|
|
@@ -63,7 +49,6 @@
|
|
|
63
49
|
margin-top: 0.25rem;
|
|
64
50
|
}
|
|
65
51
|
.rf-comparison__label-col {
|
|
66
|
-
width: 1%;
|
|
67
52
|
white-space: nowrap;
|
|
68
53
|
}
|
|
69
54
|
.rf-comparison__row-label {
|
|
@@ -80,7 +65,6 @@
|
|
|
80
65
|
background: color-mix(in srgb, var(--rf-color-primary) 3%, transparent);
|
|
81
66
|
}
|
|
82
67
|
.rf-comparison__cell p { margin: 0; font-size: var(--rf-text-sm); }
|
|
83
|
-
.rf-comparison__cell strong { display: none; }
|
|
84
68
|
.rf-comparison__cell em {
|
|
85
69
|
font-style: italic;
|
|
86
70
|
color: var(--rf-color-muted);
|
|
@@ -110,7 +94,6 @@
|
|
|
110
94
|
}
|
|
111
95
|
/* Callout badge */
|
|
112
96
|
.rf-comparison__callout-badge {
|
|
113
|
-
display: inline-block;
|
|
114
97
|
background: color-mix(in srgb, var(--rf-color-primary) 10%, transparent);
|
|
115
98
|
color: var(--rf-color-primary);
|
|
116
99
|
font-size: var(--rf-text-xs);
|
|
@@ -121,17 +104,13 @@
|
|
|
121
104
|
.rf-comparison__callout-badge p { margin: 0; font-size: inherit; }
|
|
122
105
|
/* Cards layout */
|
|
123
106
|
.rf-comparison__cards {
|
|
124
|
-
display: grid;
|
|
125
|
-
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
|
|
126
107
|
gap: 1.5rem;
|
|
127
|
-
align-items: start;
|
|
128
108
|
}
|
|
129
109
|
.rf-comparison-card {
|
|
130
110
|
border: 1px solid var(--rf-color-border);
|
|
131
111
|
border-radius: var(--rf-radius-md);
|
|
132
112
|
padding: 1.5rem;
|
|
133
113
|
background: var(--rf-color-bg);
|
|
134
|
-
position: relative;
|
|
135
114
|
transition: box-shadow 200ms ease, transform 200ms ease;
|
|
136
115
|
}
|
|
137
116
|
.rf-comparison-card:hover {
|
|
@@ -143,10 +122,6 @@
|
|
|
143
122
|
transform: scale(1.02);
|
|
144
123
|
}
|
|
145
124
|
.rf-comparison-card__badge {
|
|
146
|
-
position: absolute;
|
|
147
|
-
top: -0.625rem;
|
|
148
|
-
left: 50%;
|
|
149
|
-
transform: translateX(-50%);
|
|
150
125
|
background: var(--rf-color-primary);
|
|
151
126
|
color: white;
|
|
152
127
|
font-size: var(--rf-text-xs);
|
|
@@ -164,7 +139,6 @@
|
|
|
164
139
|
color: var(--rf-color-text);
|
|
165
140
|
}
|
|
166
141
|
.rf-comparison-card__rows {
|
|
167
|
-
list-style: none;
|
|
168
142
|
padding: 0;
|
|
169
143
|
margin: 0;
|
|
170
144
|
}
|
|
@@ -173,13 +147,11 @@
|
|
|
173
147
|
font-size: var(--rf-text-sm);
|
|
174
148
|
color: var(--rf-color-muted);
|
|
175
149
|
border-bottom: 1px solid var(--rf-color-border);
|
|
176
|
-
display: flex;
|
|
177
|
-
align-items: baseline;
|
|
178
150
|
gap: 0.5rem;
|
|
179
151
|
}
|
|
180
152
|
.rf-comparison-card__row:last-child { border-bottom: none; }
|
|
181
153
|
.rf-comparison-card__row strong { color: var(--rf-color-text); white-space: nowrap; }
|
|
182
|
-
.rf-comparison-card__row p { margin: 0;
|
|
154
|
+
.rf-comparison-card__row p { margin: 0; }
|
|
183
155
|
.rf-comparison-card__row--negative { opacity: 0.7; }
|
|
184
156
|
.rf-comparison-card__row--callout {
|
|
185
157
|
border-bottom: none;
|
|
@@ -203,9 +175,10 @@
|
|
|
203
175
|
.rf-comparison-row { padding: 0.25rem 0; }
|
|
204
176
|
/* Responsive */
|
|
205
177
|
@media (max-width: 640px) {
|
|
206
|
-
.rf-comparison__cards { grid-template-columns: 1fr; }
|
|
207
178
|
.rf-comparison-card--highlighted { transform: none; }
|
|
208
179
|
.rf-comparison__table { font-size: var(--rf-text-sm); }
|
|
209
180
|
.rf-comparison__table th,
|
|
210
181
|
.rf-comparison__table td { padding: 0.5rem 0.625rem; }
|
|
211
182
|
}
|
|
183
|
+
|
|
184
|
+
}
|
|
@@ -1,28 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
@layer skin {
|
|
2
|
+
/* Conversation — skin. The column stack, bubble flex/width/side-alignment, and the
|
|
3
|
+
* data-carrier hides live in @refrakt-md/skeleton (styles/runes/conversation.css). */
|
|
2
4
|
.rf-conversation {
|
|
3
|
-
display: flex;
|
|
4
|
-
flex-direction: column;
|
|
5
5
|
gap: 1rem;
|
|
6
6
|
max-width: 40rem;
|
|
7
7
|
}
|
|
8
8
|
.rf-conversation__messages {
|
|
9
|
-
display: flex;
|
|
10
|
-
flex-direction: column;
|
|
11
9
|
gap: 1rem;
|
|
12
10
|
}
|
|
13
|
-
.rf-conversation-message {
|
|
14
|
-
display: flex;
|
|
15
|
-
flex-direction: column;
|
|
16
|
-
max-width: 80%;
|
|
17
|
-
}
|
|
18
|
-
.rf-conversation-message--left {
|
|
19
|
-
align-self: flex-start;
|
|
20
|
-
align-items: flex-start;
|
|
21
|
-
}
|
|
22
|
-
.rf-conversation-message--right {
|
|
23
|
-
align-self: flex-end;
|
|
24
|
-
align-items: flex-end;
|
|
25
|
-
}
|
|
26
11
|
.rf-conversation-message__speaker {
|
|
27
12
|
font-size: var(--rf-text-xs);
|
|
28
13
|
font-weight: var(--rf-weight-semibold);
|
|
@@ -47,12 +32,5 @@
|
|
|
47
32
|
}
|
|
48
33
|
.rf-conversation-message__body p { margin: 0; }
|
|
49
34
|
.rf-conversation-message__body p + p { margin-top: 0.5rem; }
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
* so the property-carrier span is data only — hide it. Same for the meta
|
|
53
|
-
* tags the engine consumes. `data-field` is the post-engine attribute set by
|
|
54
|
-
* createComponentRenderable. */
|
|
55
|
-
.rf-conversation-message > span[data-field="speaker"],
|
|
56
|
-
.rf-conversation-message > meta[data-field] { display: none; }
|
|
57
|
-
.rf-conversation-message__body > span[data-field],
|
|
58
|
-
.rf-conversation-message__body > meta { display: none; }
|
|
35
|
+
|
|
36
|
+
}
|
package/styles/runes/cta.css
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
@layer skin {
|
|
2
|
+
/* Call to Action — skin. The preamble/eyebrow/button-row layout + mobile stack
|
|
3
|
+
* live in @refrakt-md/skeleton (styles/runes/cta.css). */
|
|
2
4
|
.rf-cta {
|
|
3
5
|
padding: 3.5rem 2rem 3rem;
|
|
4
6
|
}
|
|
@@ -8,8 +10,6 @@
|
|
|
8
10
|
text-align: center;
|
|
9
11
|
}
|
|
10
12
|
.rf-cta__preamble {
|
|
11
|
-
flex-direction: column;
|
|
12
|
-
align-items: center;
|
|
13
13
|
gap: 0.25rem;
|
|
14
14
|
margin-bottom: 1.5rem;
|
|
15
15
|
}
|
|
@@ -25,8 +25,6 @@
|
|
|
25
25
|
}
|
|
26
26
|
/* Pill-badge variant when eyebrow contains a link */
|
|
27
27
|
.rf-cta .rf-cta__eyebrow:has(a) {
|
|
28
|
-
display: inline-block;
|
|
29
|
-
position: relative;
|
|
30
28
|
padding: 0.25rem 0.875rem;
|
|
31
29
|
border: 1px solid var(--rf-color-border);
|
|
32
30
|
border-radius: var(--rf-radius-full);
|
|
@@ -45,9 +43,6 @@
|
|
|
45
43
|
text-decoration: none;
|
|
46
44
|
}
|
|
47
45
|
.rf-cta .rf-cta__eyebrow:has(a) a::before {
|
|
48
|
-
content: '';
|
|
49
|
-
position: absolute;
|
|
50
|
-
inset: 0;
|
|
51
46
|
border-radius: inherit;
|
|
52
47
|
}
|
|
53
48
|
.rf-cta__image {
|
|
@@ -78,11 +73,7 @@
|
|
|
78
73
|
line-height: var(--rf-leading-relaxed);
|
|
79
74
|
}
|
|
80
75
|
.rf-cta ul {
|
|
81
|
-
display: flex;
|
|
82
76
|
gap: 0.75rem;
|
|
83
|
-
justify-content: center;
|
|
84
|
-
flex-wrap: wrap;
|
|
85
|
-
list-style: none;
|
|
86
77
|
padding: 0;
|
|
87
78
|
margin: 0;
|
|
88
79
|
}
|
|
@@ -92,8 +83,6 @@
|
|
|
92
83
|
}
|
|
93
84
|
.rf-cta li a,
|
|
94
85
|
.rf-cta nav a {
|
|
95
|
-
display: inline-flex;
|
|
96
|
-
align-items: center;
|
|
97
86
|
padding: 0.625rem 1.5rem;
|
|
98
87
|
border-radius: var(--rf-radius-sm);
|
|
99
88
|
text-decoration: none;
|
|
@@ -143,16 +132,4 @@
|
|
|
143
132
|
max-width: none;
|
|
144
133
|
}
|
|
145
134
|
|
|
146
|
-
/* Mobile: stack action buttons full-width so multi-button CTAs line up */
|
|
147
|
-
@media (max-width: 640px) {
|
|
148
|
-
.rf-cta ul {
|
|
149
|
-
flex-direction: column;
|
|
150
|
-
align-items: stretch;
|
|
151
|
-
}
|
|
152
|
-
.rf-cta li a,
|
|
153
|
-
.rf-cta nav a {
|
|
154
|
-
justify-content: center;
|
|
155
|
-
width: 100%;
|
|
156
|
-
box-sizing: border-box;
|
|
157
|
-
}
|
|
158
135
|
}
|
|
@@ -1,15 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
@layer skin {
|
|
2
|
+
/* DataTable — skin. The toolbar/pagination flex + input width live in
|
|
3
|
+
* @refrakt-md/skeleton (styles/runes/datatable.css). The table chrome (header
|
|
4
|
+
* strip, cell padding, row borders, hover) stays here. */
|
|
5
|
+
|
|
6
|
+
/* The sunken surface chrome (fill + border + container radius) stays, but the
|
|
7
|
+
* elevation padding is dropped: the toolbar, table, and pagination each carry
|
|
8
|
+
* their own rhythm and sit flush with the surface edge. */
|
|
9
|
+
.rf-datatable {
|
|
10
|
+
padding: 0;
|
|
11
|
+
}
|
|
2
12
|
.rf-datatable__toolbar {
|
|
3
|
-
|
|
4
|
-
justify-content: flex-end;
|
|
5
|
-
padding: 0.5rem 0.75rem;
|
|
6
|
-
background: var(--rf-color-surface);
|
|
13
|
+
padding: var(--rf-spacing-sm);
|
|
7
14
|
}
|
|
8
15
|
.rf-datatable__input {
|
|
9
|
-
|
|
10
|
-
padding: 0.35rem 0.625rem;
|
|
16
|
+
padding: var(--rf-spacing-snug);
|
|
11
17
|
border: 1px solid var(--rf-color-border);
|
|
12
|
-
border-radius: var(--rf-radius-
|
|
18
|
+
border-radius: var(--rf-radius-media);
|
|
13
19
|
font-size: var(--rf-text-xs);
|
|
14
20
|
font-family: var(--rf-font-sans);
|
|
15
21
|
background: var(--rf-color-bg);
|
|
@@ -20,31 +26,12 @@
|
|
|
20
26
|
border-color: var(--rf-color-primary);
|
|
21
27
|
box-shadow: 0 0 0 2px color-mix(in srgb, var(--rf-color-primary) 15%, transparent);
|
|
22
28
|
}
|
|
23
|
-
.rf-
|
|
24
|
-
border: none;
|
|
25
|
-
border-radius: 0;
|
|
26
|
-
margin: 0;
|
|
27
|
-
overflow: visible;
|
|
28
|
-
}
|
|
29
|
-
.rf-datatable__content .rf-datatable__table th {
|
|
30
|
-
background: var(--rf-color-surface);
|
|
31
|
-
}
|
|
32
|
-
.rf-datatable__content .rf-datatable__table th:first-child,
|
|
33
|
-
.rf-datatable__content .rf-datatable__table th:last-child {
|
|
34
|
-
border-radius: 0;
|
|
35
|
-
}
|
|
36
|
-
.rf-datatable__content table {
|
|
29
|
+
.rf-datatable__table {
|
|
37
30
|
width: 100%;
|
|
38
31
|
border-collapse: collapse;
|
|
39
32
|
margin: 0;
|
|
40
33
|
}
|
|
41
|
-
.rf-
|
|
42
|
-
margin: 0;
|
|
43
|
-
border: none;
|
|
44
|
-
border-radius: 0;
|
|
45
|
-
overflow: visible;
|
|
46
|
-
}
|
|
47
|
-
.rf-datatable__content th {
|
|
34
|
+
.rf-datatable__table th {
|
|
48
35
|
text-align: left;
|
|
49
36
|
padding: 0.75rem 1rem;
|
|
50
37
|
font-size: var(--rf-text-xs);
|
|
@@ -52,33 +39,29 @@
|
|
|
52
39
|
text-transform: uppercase;
|
|
53
40
|
letter-spacing: var(--rf-tracking-wider);
|
|
54
41
|
color: var(--rf-color-muted);
|
|
55
|
-
background: var(--rf-color-surface);
|
|
56
42
|
}
|
|
57
|
-
|
|
43
|
+
/* Sortable headers (the behavior sets inline cursor:pointer on them). */
|
|
44
|
+
.rf-datatable__table th[style*="cursor"]:hover {
|
|
58
45
|
color: var(--rf-color-text);
|
|
59
46
|
}
|
|
60
|
-
.rf-
|
|
47
|
+
.rf-datatable__sort-indicator {
|
|
61
48
|
font-size: var(--rf-text-xs);
|
|
62
49
|
opacity: 0.7;
|
|
63
50
|
}
|
|
64
|
-
.rf-
|
|
51
|
+
.rf-datatable__table td {
|
|
65
52
|
padding: 0.75rem 1rem;
|
|
66
53
|
border-bottom: 1px solid var(--rf-color-border);
|
|
67
54
|
font-size: var(--rf-text-sm);
|
|
68
55
|
}
|
|
69
|
-
.rf-
|
|
56
|
+
.rf-datatable__table tr:last-child td {
|
|
70
57
|
border-bottom: none;
|
|
71
58
|
}
|
|
72
|
-
.rf-
|
|
59
|
+
.rf-datatable__table tr:hover td {
|
|
73
60
|
background: var(--rf-color-surface-hover);
|
|
74
61
|
}
|
|
75
62
|
.rf-datatable__pagination {
|
|
76
|
-
display: flex;
|
|
77
|
-
align-items: center;
|
|
78
|
-
justify-content: flex-end;
|
|
79
63
|
gap: 0.75rem;
|
|
80
|
-
padding:
|
|
81
|
-
background: var(--rf-color-surface);
|
|
64
|
+
padding: var(--rf-spacing-sm);
|
|
82
65
|
}
|
|
83
66
|
.rf-datatable__page-btn {
|
|
84
67
|
padding: 0.25rem 0.5rem;
|
|
@@ -103,3 +86,5 @@
|
|
|
103
86
|
font-size: var(--rf-text-xs);
|
|
104
87
|
color: var(--rf-color-muted);
|
|
105
88
|
}
|
|
89
|
+
|
|
90
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* Design Context — unified token card wrapper */
|
|
2
3
|
.rf-design-context__title {
|
|
3
4
|
font-size: var(--rf-text-xl);
|
|
@@ -5,8 +6,6 @@
|
|
|
5
6
|
margin-bottom: 1rem;
|
|
6
7
|
}
|
|
7
8
|
.rf-design-context__sections {
|
|
8
|
-
display: flex;
|
|
9
|
-
flex-direction: column;
|
|
10
9
|
gap: 1.5rem;
|
|
11
10
|
}
|
|
12
11
|
|
|
@@ -21,3 +20,5 @@
|
|
|
21
20
|
border-radius: 0;
|
|
22
21
|
padding: 0;
|
|
23
22
|
}
|
|
23
|
+
|
|
24
|
+
}
|
package/styles/runes/details.css
CHANGED
|
@@ -1,33 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
.
|
|
3
|
-
|
|
1
|
+
@layer skin {
|
|
2
|
+
/* Details — skin. The summary flex, marker hide, disclosure-marker push, and the
|
|
3
|
+
* open-rotate live in @refrakt-md/skeleton (styles/runes/details.css). */
|
|
4
4
|
.rf-details__summary {
|
|
5
|
-
display: flex;
|
|
6
|
-
align-items: center;
|
|
7
5
|
gap: 0.5rem;
|
|
8
6
|
padding: 0.75rem 0;
|
|
9
7
|
font-weight: var(--rf-weight-semibold);
|
|
10
8
|
font-size: var(--rf-text-sm);
|
|
11
9
|
cursor: pointer;
|
|
12
10
|
user-select: none;
|
|
13
|
-
list-style: none;
|
|
14
11
|
transition: background-color 200ms ease;
|
|
15
12
|
}
|
|
16
|
-
.rf-details__summary::-webkit-details-marker { display: none; }
|
|
17
|
-
.rf-details__summary::marker { display: none; content: ''; }
|
|
18
13
|
.rf-details__summary:hover {
|
|
19
14
|
color: var(--rf-color-primary);
|
|
20
15
|
}
|
|
21
16
|
.rf-details__summary::after {
|
|
22
17
|
content: '▸';
|
|
23
|
-
flex-shrink: 0;
|
|
24
|
-
margin-left: auto;
|
|
25
18
|
color: var(--rf-color-muted);
|
|
26
19
|
transition: transform 200ms ease;
|
|
27
20
|
}
|
|
28
|
-
.rf-details[open] .rf-details__summary::after {
|
|
29
|
-
transform: rotate(90deg);
|
|
30
|
-
}
|
|
31
21
|
.rf-details__body {
|
|
32
22
|
padding: 0 0 1rem;
|
|
33
23
|
font-size: var(--rf-text-sm);
|
|
@@ -36,3 +26,5 @@
|
|
|
36
26
|
.rf-details__body p:last-child {
|
|
37
27
|
margin-bottom: 0;
|
|
38
28
|
}
|
|
29
|
+
|
|
30
|
+
}
|
package/styles/runes/diagram.css
CHANGED
|
@@ -1,31 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
@layer skin {
|
|
2
|
+
/* Diagram — skin. The block/clip, scrollable container, and responsive SVG live in
|
|
3
|
+
* @refrakt-md/skeleton (styles/runes/diagram.css). */
|
|
2
4
|
.rf-diagram {
|
|
3
|
-
display: block;
|
|
4
5
|
border-radius: var(--rf-radius-lg);
|
|
5
6
|
padding: 1.5rem;
|
|
6
7
|
text-align: center;
|
|
7
|
-
overflow: hidden;
|
|
8
8
|
}
|
|
9
9
|
.rf-diagram__title {
|
|
10
10
|
font-weight: var(--rf-weight-semibold);
|
|
11
11
|
font-size: var(--rf-text);
|
|
12
12
|
margin-bottom: 1rem;
|
|
13
13
|
}
|
|
14
|
-
.rf-diagram__container {
|
|
15
|
-
display: flex;
|
|
16
|
-
justify-content: center;
|
|
17
|
-
overflow-x: auto;
|
|
18
|
-
}
|
|
19
|
-
.rf-diagram__container svg {
|
|
20
|
-
max-width: 100%;
|
|
21
|
-
height: auto;
|
|
22
|
-
}
|
|
23
14
|
.rf-diagram__source {
|
|
24
15
|
text-align: left;
|
|
25
16
|
font-size: var(--rf-text-sm);
|
|
26
17
|
margin: 0;
|
|
27
18
|
}
|
|
28
|
-
|
|
29
19
|
/* Mermaid SVG overrides */
|
|
30
20
|
.rf-diagram__container .label {
|
|
31
21
|
font-family: var(--rf-font-sans) !important;
|
|
@@ -38,3 +28,5 @@
|
|
|
38
28
|
fill: var(--rf-color-muted) !important;
|
|
39
29
|
stroke: var(--rf-color-muted) !important;
|
|
40
30
|
}
|
|
31
|
+
|
|
32
|
+
}
|