@refrakt-md/lumina 0.21.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 +5 -3
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +44 -3
- package/dist/tokens.js.map +1 -1
- package/index.css +11 -1
- package/package.json +7 -5
- package/styles/base/attributes.css +6 -7
- package/styles/dimensions/checklist.css +7 -36
- package/styles/dimensions/cover.css +13 -95
- package/styles/dimensions/density.css +6 -3
- package/styles/dimensions/frame.css +7 -4
- package/styles/dimensions/media.css +14 -61
- package/styles/dimensions/metadata.css +30 -80
- package/styles/dimensions/sections.css +16 -30
- package/styles/dimensions/sequence.css +17 -82
- 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 +24 -63
- package/styles/layouts/blog.css +34 -95
- package/styles/layouts/default.css +12 -86
- package/styles/layouts/docs.css +9 -159
- package/styles/layouts/mobile.css +3 -52
- package/styles/layouts/on-this-page.css +8 -7
- package/styles/layouts/plan.css +27 -158
- package/styles/layouts/search.css +17 -82
- package/styles/layouts/split.css +24 -169
- package/styles/layouts/theme-toggle.css +3 -29
- package/styles/layouts/version-switcher.css +9 -10
- package/styles/runes/accordion.css +25 -68
- package/styles/runes/aggregate.css +4 -13
- package/styles/runes/annotate.css +11 -40
- package/styles/runes/api.css +4 -1
- package/styles/runes/audio.css +12 -50
- package/styles/runes/badge.css +5 -2
- package/styles/runes/bar.css +3 -0
- package/styles/runes/bento.css +18 -161
- package/styles/runes/bg.css +3 -37
- package/styles/runes/blog.css +18 -20
- package/styles/runes/bond.css +6 -26
- package/styles/runes/breadcrumb.css +7 -15
- package/styles/runes/budget.css +23 -45
- package/styles/runes/bug.css +5 -2
- package/styles/runes/card.css +27 -95
- package/styles/runes/cast.css +10 -27
- package/styles/runes/changelog.css +13 -17
- package/styles/runes/character.css +6 -20
- package/styles/runes/chart.css +15 -57
- package/styles/runes/codegroup.css +18 -26
- package/styles/runes/collection.css +8 -85
- package/styles/runes/compare.css +8 -19
- package/styles/runes/comparison.css +29 -56
- package/styles/runes/conversation.css +9 -31
- package/styles/runes/cta.css +17 -40
- package/styles/runes/datatable.css +33 -48
- package/styles/runes/decision.css +5 -2
- package/styles/runes/design-context.css +5 -4
- package/styles/runes/details.css +9 -17
- package/styles/runes/diagram.css +8 -16
- package/styles/runes/diff.css +11 -94
- package/styles/runes/drawer.css +9 -113
- package/styles/runes/embed.css +5 -13
- package/styles/runes/event.css +5 -3
- package/styles/runes/expand.css +10 -45
- package/styles/runes/faction.css +6 -12
- package/styles/runes/feature.css +15 -43
- package/styles/runes/figure.css +7 -26
- package/styles/runes/file-ref.css +3 -18
- package/styles/runes/form.css +19 -48
- package/styles/runes/gallery.css +8 -140
- package/styles/runes/grid.css +4 -56
- package/styles/runes/hero.css +28 -140
- package/styles/runes/hint.css +23 -48
- package/styles/runes/howto.css +9 -31
- package/styles/runes/itinerary.css +15 -44
- package/styles/runes/juxtapose.css +17 -92
- package/styles/runes/lore.css +7 -14
- package/styles/runes/map.css +9 -42
- package/styles/runes/mediatext.css +4 -45
- package/styles/runes/milestone.css +15 -28
- package/styles/runes/mockup.css +10 -115
- package/styles/runes/nav.css +37 -212
- package/styles/runes/organization.css +6 -5
- package/styles/runes/page-section.css +3 -4
- package/styles/runes/pagination.css +10 -42
- package/styles/runes/palette.css +16 -35
- package/styles/runes/placeholder.css +16 -0
- package/styles/runes/plan-history.css +23 -43
- package/styles/runes/plan-progress.css +6 -7
- package/styles/runes/plan-ref.css +4 -1
- package/styles/runes/playlist.css +10 -44
- package/styles/runes/plot.css +9 -25
- package/styles/runes/preview.css +9 -34
- package/styles/runes/pricing.css +23 -41
- package/styles/runes/progress.css +8 -27
- package/styles/runes/pullquote.css +9 -31
- package/styles/runes/realm.css +6 -12
- package/styles/runes/recipe.css +12 -36
- package/styles/runes/relationships.css +5 -36
- package/styles/runes/reveal.css +17 -22
- package/styles/runes/sandbox.css +9 -39
- package/styles/runes/section.css +10 -24
- package/styles/runes/showcase.css +3 -20
- package/styles/runes/sidenote.css +5 -4
- package/styles/runes/snippet.css +3 -0
- package/styles/runes/spacing.css +14 -33
- package/styles/runes/spec.css +5 -2
- package/styles/runes/steps.css +14 -46
- package/styles/runes/storyboard.css +4 -19
- package/styles/runes/swatch.css +4 -7
- package/styles/runes/symbol.css +16 -14
- package/styles/runes/tabs.css +15 -18
- package/styles/runes/testimonial.css +12 -13
- package/styles/runes/textblock.css +6 -24
- package/styles/runes/timeline.css +10 -28
- package/styles/runes/tint.css +3 -0
- package/styles/runes/toc.css +9 -7
- package/styles/runes/track.css +12 -41
- package/styles/runes/typography.css +15 -27
- package/styles/runes/work.css +5 -2
- package/styles/runes/xref.css +3 -1
- package/tokens/base.css +56 -66
- package/tokens/dark.css +79 -80
- package/styles/dimensions/guest-posture.css +0 -27
package/styles/runes/form.css
CHANGED
|
@@ -1,42 +1,20 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* Form */
|
|
2
3
|
.rf-form {
|
|
3
|
-
display: flex;
|
|
4
|
-
flex-direction: column;
|
|
5
4
|
gap: 1.25rem;
|
|
6
5
|
max-width: none;
|
|
7
6
|
}
|
|
8
7
|
.rf-form__body {
|
|
9
|
-
display: flex;
|
|
10
|
-
flex-direction: column;
|
|
11
8
|
gap: 1.25rem;
|
|
12
9
|
}
|
|
13
|
-
.rf-form meta { display: none; }
|
|
14
|
-
/* Honeypot */
|
|
15
|
-
.rf-form__hp {
|
|
16
|
-
position: absolute;
|
|
17
|
-
left: -9999px;
|
|
18
|
-
opacity: 0;
|
|
19
|
-
height: 0;
|
|
20
|
-
overflow: hidden;
|
|
21
|
-
}
|
|
22
10
|
/* Inline variant */
|
|
23
11
|
.rf-form--inline .rf-form__body {
|
|
24
|
-
flex-direction: row;
|
|
25
|
-
flex-wrap: wrap;
|
|
26
|
-
align-items: flex-end;
|
|
27
12
|
gap: 0.75rem;
|
|
28
13
|
}
|
|
29
|
-
.rf-form--inline .rf-form-field {
|
|
30
|
-
flex: 1;
|
|
31
|
-
min-width: 10rem;
|
|
32
|
-
}
|
|
33
|
-
.rf-form--inline .rf-form__submit {
|
|
34
|
-
align-self: flex-end;
|
|
35
|
-
}
|
|
36
14
|
/* Compact variant */
|
|
37
15
|
.rf-form--compact {
|
|
38
16
|
gap: 0.75rem;
|
|
39
|
-
font-size:
|
|
17
|
+
font-size: var(--rf-text-sm);
|
|
40
18
|
}
|
|
41
19
|
.rf-form--compact .rf-form__body {
|
|
42
20
|
gap: 0.75rem;
|
|
@@ -45,17 +23,15 @@
|
|
|
45
23
|
.rf-form--compact textarea,
|
|
46
24
|
.rf-form--compact select {
|
|
47
25
|
padding: 0.375rem 0.625rem;
|
|
48
|
-
font-size:
|
|
26
|
+
font-size: var(--rf-text-sm);
|
|
49
27
|
}
|
|
50
28
|
/* Field */
|
|
51
29
|
.rf-form-field {
|
|
52
|
-
display: flex;
|
|
53
|
-
flex-direction: column;
|
|
54
30
|
gap: 0.375rem;
|
|
55
31
|
}
|
|
56
32
|
.rf-form-field label {
|
|
57
|
-
font-size:
|
|
58
|
-
font-weight:
|
|
33
|
+
font-size: var(--rf-text-sm);
|
|
34
|
+
font-weight: var(--rf-weight-semibold);
|
|
59
35
|
color: var(--rf-color-text);
|
|
60
36
|
}
|
|
61
37
|
.rf-form-field__required {
|
|
@@ -68,13 +44,11 @@
|
|
|
68
44
|
padding: 0.5rem 0.75rem;
|
|
69
45
|
border: 1px solid var(--rf-color-border);
|
|
70
46
|
border-radius: var(--rf-radius-md);
|
|
71
|
-
font-size:
|
|
47
|
+
font-size: var(--rf-text);
|
|
72
48
|
font-family: inherit;
|
|
73
49
|
color: var(--rf-color-text);
|
|
74
50
|
background: var(--rf-color-bg);
|
|
75
51
|
transition: border-color 0.15s, box-shadow 0.15s;
|
|
76
|
-
width: 100%;
|
|
77
|
-
box-sizing: border-box;
|
|
78
52
|
}
|
|
79
53
|
.rf-form-field input:focus,
|
|
80
54
|
.rf-form-field textarea:focus,
|
|
@@ -85,7 +59,6 @@
|
|
|
85
59
|
}
|
|
86
60
|
.rf-form-field textarea {
|
|
87
61
|
resize: vertical;
|
|
88
|
-
min-height: 6rem;
|
|
89
62
|
}
|
|
90
63
|
/* Fieldset */
|
|
91
64
|
.rf-form-fieldset {
|
|
@@ -94,8 +67,8 @@
|
|
|
94
67
|
margin: 0.5rem 0 0;
|
|
95
68
|
}
|
|
96
69
|
.rf-form-fieldset legend {
|
|
97
|
-
font-size:
|
|
98
|
-
font-weight:
|
|
70
|
+
font-size: var(--rf-text-lg);
|
|
71
|
+
font-weight: var(--rf-weight-bold);
|
|
99
72
|
color: var(--rf-color-text);
|
|
100
73
|
padding: 0;
|
|
101
74
|
margin-bottom: 0.75rem;
|
|
@@ -106,22 +79,19 @@
|
|
|
106
79
|
padding: 0;
|
|
107
80
|
}
|
|
108
81
|
.rf-form-choice-group legend {
|
|
109
|
-
font-size:
|
|
110
|
-
font-weight:
|
|
82
|
+
font-size: var(--rf-text-sm);
|
|
83
|
+
font-weight: var(--rf-weight-semibold);
|
|
111
84
|
color: var(--rf-color-text);
|
|
112
85
|
padding: 0;
|
|
113
86
|
margin-bottom: 0.5rem;
|
|
114
87
|
}
|
|
115
88
|
.rf-form-choice {
|
|
116
|
-
display: flex;
|
|
117
|
-
align-items: center;
|
|
118
89
|
gap: 0.5rem;
|
|
119
90
|
padding: 0.375rem 0;
|
|
120
91
|
cursor: pointer;
|
|
121
|
-
font-size:
|
|
92
|
+
font-size: var(--rf-text);
|
|
122
93
|
}
|
|
123
94
|
.rf-form-choice input {
|
|
124
|
-
width: auto;
|
|
125
95
|
margin: 0;
|
|
126
96
|
accent-color: var(--rf-color-primary);
|
|
127
97
|
}
|
|
@@ -132,11 +102,10 @@
|
|
|
132
102
|
color: white;
|
|
133
103
|
border: none;
|
|
134
104
|
border-radius: var(--rf-radius-md);
|
|
135
|
-
font-size:
|
|
136
|
-
font-weight:
|
|
105
|
+
font-size: var(--rf-text);
|
|
106
|
+
font-weight: var(--rf-weight-semibold);
|
|
137
107
|
cursor: pointer;
|
|
138
108
|
transition: background 0.15s;
|
|
139
|
-
align-self: flex-start;
|
|
140
109
|
}
|
|
141
110
|
.rf-form__submit:hover {
|
|
142
111
|
background: color-mix(in srgb, var(--rf-color-primary) 85%, black);
|
|
@@ -146,13 +115,13 @@
|
|
|
146
115
|
}
|
|
147
116
|
/* Help & description */
|
|
148
117
|
.rf-form__help {
|
|
149
|
-
font-size:
|
|
118
|
+
font-size: var(--rf-text-sm);
|
|
150
119
|
color: var(--rf-color-muted);
|
|
151
120
|
font-style: italic;
|
|
152
121
|
margin: 0;
|
|
153
122
|
}
|
|
154
123
|
.rf-form__text {
|
|
155
|
-
font-size:
|
|
124
|
+
font-size: var(--rf-text);
|
|
156
125
|
color: var(--rf-color-muted);
|
|
157
126
|
margin: 0;
|
|
158
127
|
}
|
|
@@ -166,8 +135,8 @@
|
|
|
166
135
|
.rf-form__status {
|
|
167
136
|
padding: 0.75rem 1rem;
|
|
168
137
|
border-radius: var(--rf-radius-md);
|
|
169
|
-
font-size:
|
|
170
|
-
font-weight:
|
|
138
|
+
font-size: var(--rf-text-sm);
|
|
139
|
+
font-weight: var(--rf-weight-medium);
|
|
171
140
|
}
|
|
172
141
|
.rf-form__status--submitting {
|
|
173
142
|
background: var(--rf-color-surface);
|
|
@@ -183,3 +152,5 @@
|
|
|
183
152
|
color: var(--rf-color-danger);
|
|
184
153
|
border: 1px solid color-mix(in srgb, var(--rf-color-danger) 25%, transparent);
|
|
185
154
|
}
|
|
155
|
+
|
|
156
|
+
}
|
package/styles/runes/gallery.css
CHANGED
|
@@ -1,208 +1,76 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* image), so the outer padding is treated as a frame margin and locked to the
|
|
5
|
-
* same value as the inter-item gap — outer = inter = a single visual rhythm.
|
|
6
|
-
* Both are theme tokens (`--rf-gallery-edge` / `--rf-gallery-gap`), not author
|
|
7
|
-
* attributes; the `gap` attribute was removed because aesthetic spacing is the
|
|
8
|
-
* theme's concern. `columns` stays an author attribute — that's content density,
|
|
9
|
-
* not aesthetics. */
|
|
1
|
+
@layer skin {
|
|
2
|
+
/* Gallery — skin. The grid/carousel/masonry layouts, item/lightbox/nav positioning,
|
|
3
|
+
* and responsive columns live in @refrakt-md/skeleton (styles/runes/gallery.css). */
|
|
10
4
|
.rf-gallery {
|
|
11
|
-
position: relative;
|
|
12
5
|
margin: 0;
|
|
13
6
|
--rf-gallery-edge: 0.5rem;
|
|
14
7
|
--rf-gallery-gap: 0.5rem;
|
|
15
8
|
padding: var(--rf-gallery-edge);
|
|
16
9
|
}
|
|
17
|
-
|
|
18
|
-
/* Layout modifier classes */
|
|
19
|
-
.rf-gallery--grid {}
|
|
20
|
-
.rf-gallery--carousel {}
|
|
21
|
-
.rf-gallery--masonry {}
|
|
22
|
-
|
|
23
|
-
/* Items container — grid layout by default */
|
|
24
10
|
.rf-gallery__items {
|
|
25
|
-
display: grid;
|
|
26
|
-
grid-template-columns: repeat(var(--gallery-columns, 3), 1fr);
|
|
27
11
|
gap: var(--rf-gallery-gap);
|
|
28
12
|
}
|
|
29
|
-
|
|
30
|
-
/* Individual gallery items */
|
|
31
13
|
.rf-gallery__item {
|
|
32
|
-
position: relative;
|
|
33
|
-
overflow: hidden;
|
|
34
14
|
border-radius: var(--rf-radius-md);
|
|
35
15
|
margin: 0;
|
|
36
16
|
}
|
|
37
|
-
.rf-gallery__item img {
|
|
38
|
-
width: 100%;
|
|
39
|
-
height: 100%;
|
|
40
|
-
object-fit: cover;
|
|
41
|
-
display: block;
|
|
42
|
-
}
|
|
43
17
|
.rf-gallery__item figcaption {
|
|
44
|
-
position: absolute;
|
|
45
|
-
bottom: 0;
|
|
46
|
-
left: 0;
|
|
47
|
-
right: 0;
|
|
48
18
|
padding: 0.5rem 0.75rem;
|
|
49
19
|
background: linear-gradient(transparent, rgba(0, 0, 0, 0.6));
|
|
50
20
|
color: white;
|
|
51
|
-
font-size:
|
|
21
|
+
font-size: var(--rf-text-sm);
|
|
52
22
|
}
|
|
53
|
-
|
|
54
|
-
/* Gallery caption */
|
|
55
23
|
.rf-gallery > figcaption {
|
|
56
24
|
margin-top: 0.625rem;
|
|
57
|
-
font-size:
|
|
25
|
+
font-size: var(--rf-text-sm);
|
|
58
26
|
color: var(--rf-color-muted);
|
|
59
27
|
text-align: center;
|
|
60
28
|
font-style: italic;
|
|
61
29
|
}
|
|
62
|
-
|
|
63
|
-
/* Carousel layout */
|
|
64
|
-
.rf-gallery[data-layout="carousel"] .rf-gallery__items {
|
|
65
|
-
display: flex;
|
|
66
|
-
overflow-x: auto;
|
|
67
|
-
scroll-snap-type: x mandatory;
|
|
68
|
-
-webkit-overflow-scrolling: touch;
|
|
69
|
-
}
|
|
70
|
-
.rf-gallery[data-layout="carousel"] .rf-gallery__item {
|
|
71
|
-
flex: 0 0 calc(100% / var(--gallery-columns, 3));
|
|
72
|
-
scroll-snap-align: start;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/* Carousel nav buttons */
|
|
76
30
|
.rf-gallery__nav {
|
|
77
|
-
position: absolute;
|
|
78
|
-
top: 50%;
|
|
79
|
-
transform: translateY(-50%);
|
|
80
|
-
z-index: 2;
|
|
81
|
-
width: 2.5rem;
|
|
82
|
-
height: 2.5rem;
|
|
83
31
|
border-radius: 50%;
|
|
84
32
|
border: none;
|
|
85
33
|
background: var(--rf-color-surface);
|
|
86
34
|
color: var(--rf-color-text);
|
|
87
35
|
box-shadow: var(--rf-shadow-md);
|
|
88
36
|
cursor: pointer;
|
|
89
|
-
|
|
90
|
-
align-items: center;
|
|
91
|
-
justify-content: center;
|
|
92
|
-
font-size: 1.25rem;
|
|
37
|
+
font-size: var(--rf-text-xl);
|
|
93
38
|
opacity: 0.8;
|
|
94
39
|
transition: opacity 0.2s;
|
|
95
40
|
}
|
|
96
41
|
.rf-gallery__nav:hover {
|
|
97
42
|
opacity: 1;
|
|
98
43
|
}
|
|
99
|
-
/* Inset the carousel nav buttons from the image edge by the same 0.5rem the
|
|
100
|
-
* gallery uses as its thin-edge frame, so the buttons overlap onto the image
|
|
101
|
-
* slightly rather than sitting flush against it. The gallery's outer padding
|
|
102
|
-
* already inserts 0.5rem between gallery border and image, so the total offset
|
|
103
|
-
* from the gallery border is `edge + 0.5rem` = 1rem. */
|
|
104
|
-
.rf-gallery__nav--prev {
|
|
105
|
-
left: calc(var(--rf-gallery-edge) + 0.5rem);
|
|
106
|
-
}
|
|
107
|
-
.rf-gallery__nav--next {
|
|
108
|
-
right: calc(var(--rf-gallery-edge) + 0.5rem);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/* Masonry layout — CSS multi-column flow gives true variable-height masonry in
|
|
112
|
-
* every browser. (`grid-template-rows: masonry` is Firefox-only behind a flag
|
|
113
|
-
* and silently falls back to uniform-height grid rows everywhere else, which is
|
|
114
|
-
* why heights used to only vary in the collapsed single-column case.) Items
|
|
115
|
-
* flow top-to-bottom inside each column, then move to the next column. */
|
|
116
44
|
.rf-gallery[data-layout="masonry"] .rf-gallery__items {
|
|
117
|
-
display: block;
|
|
118
|
-
column-count: var(--gallery-columns, 3);
|
|
119
45
|
column-gap: var(--rf-gallery-gap);
|
|
120
46
|
}
|
|
121
47
|
.rf-gallery[data-layout="masonry"] .rf-gallery__item {
|
|
122
|
-
break-inside: avoid;
|
|
123
48
|
margin-bottom: var(--rf-gallery-gap);
|
|
124
49
|
}
|
|
125
|
-
/* In masonry the row height isn't pinned, so let each image take its natural
|
|
126
|
-
* height (grid mode keeps `height: 100%` for uniform tiles). */
|
|
127
|
-
.rf-gallery[data-layout="masonry"] .rf-gallery__item img {
|
|
128
|
-
height: auto;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/* Lightbox cursor hint */
|
|
132
50
|
.rf-gallery[data-lightbox="true"] .rf-gallery__item {
|
|
133
51
|
cursor: zoom-in;
|
|
134
52
|
}
|
|
135
|
-
|
|
136
|
-
/* Lightbox overlay */
|
|
137
53
|
.rf-gallery__lightbox {
|
|
138
|
-
position: fixed;
|
|
139
|
-
inset: 0;
|
|
140
|
-
z-index: 9999;
|
|
141
54
|
background: rgba(0, 0, 0, 0.9);
|
|
142
|
-
display: flex;
|
|
143
|
-
align-items: center;
|
|
144
|
-
justify-content: center;
|
|
145
55
|
}
|
|
146
56
|
.rf-gallery__lightbox img {
|
|
147
|
-
max-width: 90vw;
|
|
148
|
-
max-height: 90vh;
|
|
149
|
-
object-fit: contain;
|
|
150
57
|
border-radius: var(--rf-radius-md);
|
|
151
58
|
}
|
|
152
59
|
.rf-gallery__lightbox-close {
|
|
153
|
-
position: absolute;
|
|
154
|
-
top: 1rem;
|
|
155
|
-
right: 1rem;
|
|
156
|
-
width: 2.5rem;
|
|
157
|
-
height: 2.5rem;
|
|
158
60
|
border-radius: 50%;
|
|
159
61
|
border: none;
|
|
160
62
|
background: rgba(255, 255, 255, 0.15);
|
|
161
63
|
color: white;
|
|
162
|
-
font-size:
|
|
64
|
+
font-size: var(--rf-text-2xl);
|
|
163
65
|
cursor: pointer;
|
|
164
|
-
display: flex;
|
|
165
|
-
align-items: center;
|
|
166
|
-
justify-content: center;
|
|
167
66
|
}
|
|
168
67
|
.rf-gallery__lightbox-nav {
|
|
169
|
-
position: absolute;
|
|
170
|
-
top: 50%;
|
|
171
|
-
transform: translateY(-50%);
|
|
172
|
-
width: 3rem;
|
|
173
|
-
height: 3rem;
|
|
174
68
|
border-radius: 50%;
|
|
175
69
|
border: none;
|
|
176
70
|
background: rgba(255, 255, 255, 0.15);
|
|
177
71
|
color: white;
|
|
178
|
-
font-size:
|
|
72
|
+
font-size: var(--rf-text-2xl);
|
|
179
73
|
cursor: pointer;
|
|
180
|
-
display: flex;
|
|
181
|
-
align-items: center;
|
|
182
|
-
justify-content: center;
|
|
183
|
-
}
|
|
184
|
-
.rf-gallery__lightbox-nav--prev {
|
|
185
|
-
left: 1rem;
|
|
186
|
-
}
|
|
187
|
-
.rf-gallery__lightbox-nav--next {
|
|
188
|
-
right: 1rem;
|
|
189
74
|
}
|
|
190
75
|
|
|
191
|
-
/* Responsive: collapse columns on small screens. (Gap is theme-locked at all
|
|
192
|
-
* widths — no override needed.) */
|
|
193
|
-
@media (max-width: 768px) {
|
|
194
|
-
.rf-gallery {
|
|
195
|
-
--gallery-columns: 2 !important;
|
|
196
|
-
}
|
|
197
|
-
.rf-gallery[data-layout="carousel"] .rf-gallery__item {
|
|
198
|
-
flex-basis: 80%;
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
@media (max-width: 480px) {
|
|
202
|
-
.rf-gallery {
|
|
203
|
-
--gallery-columns: 1 !important;
|
|
204
|
-
}
|
|
205
|
-
.rf-gallery[data-layout="carousel"] .rf-gallery__item {
|
|
206
|
-
flex-basis: 100%;
|
|
207
|
-
}
|
|
208
76
|
}
|
package/styles/runes/grid.css
CHANGED
|
@@ -1,62 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
@layer skin {
|
|
2
|
+
/* Grid — skin. The grid system (tracks, columns, flow, spans, modes, aspect cells,
|
|
3
|
+
* collapse) lives in @refrakt-md/skeleton (styles/runes/grid.css). */
|
|
2
4
|
.rf-grid [data-layout="grid"] {
|
|
3
|
-
display: grid;
|
|
4
|
-
grid-template-columns: var(--grid-ratio, repeat(auto-fit, minmax(250px, 1fr)));
|
|
5
|
-
align-items: var(--grid-valign, stretch);
|
|
6
5
|
gap: var(--grid-gap, 1.5rem);
|
|
7
6
|
}
|
|
8
|
-
/* Explicit column counts override auto-fit */
|
|
9
|
-
.rf-grid [data-columns="1"] { grid-template-columns: 1fr; }
|
|
10
|
-
.rf-grid [data-columns="2"] { grid-template-columns: repeat(2, 1fr); }
|
|
11
|
-
.rf-grid [data-columns="3"] { grid-template-columns: repeat(3, 1fr); }
|
|
12
|
-
.rf-grid [data-columns="4"] { grid-template-columns: repeat(4, 1fr); }
|
|
13
|
-
.rf-grid [data-columns="5"] { grid-template-columns: repeat(5, 1fr); }
|
|
14
|
-
.rf-grid [data-columns="6"] { grid-template-columns: repeat(6, 1fr); }
|
|
15
|
-
/* Flow */
|
|
16
|
-
.rf-grid [data-flow="column"] { grid-auto-flow: column; }
|
|
17
|
-
.rf-grid [data-flow="dense"] { grid-auto-flow: dense; }
|
|
18
|
-
.rf-grid [data-flow="row dense"] { grid-auto-flow: row dense; }
|
|
19
|
-
.rf-grid [data-flow="column dense"] { grid-auto-flow: column dense; }
|
|
20
|
-
/* Spans */
|
|
21
|
-
.rf-grid [data-colspan="2"] { grid-column: span 2; }
|
|
22
|
-
.rf-grid [data-colspan="3"] { grid-column: span 3; }
|
|
23
|
-
.rf-grid [data-colspan="4"] { grid-column: span 4; }
|
|
24
|
-
.rf-grid [data-rowspan="2"] { grid-row: span 2; }
|
|
25
|
-
.rf-grid [data-rowspan="3"] { grid-row: span 3; }
|
|
26
|
-
.rf-grid [data-rowspan="4"] { grid-row: span 4; }
|
|
27
|
-
/* Cell styling */
|
|
28
7
|
.rf-grid [data-name="cell"] p:first-child { margin-top: 0; }
|
|
29
8
|
.rf-grid [data-name="cell"] p:last-child { margin-bottom: 0; }
|
|
30
|
-
|
|
31
|
-
.rf-grid[data-mode="auto"] [data-layout="grid"] {
|
|
32
|
-
grid-template-columns: repeat(auto-fill, minmax(var(--grid-min, 250px), 1fr));
|
|
33
|
-
}
|
|
34
|
-
/* Masonry mode — progressive enhancement */
|
|
35
|
-
.rf-grid[data-mode="masonry"] [data-layout="grid"] {
|
|
36
|
-
grid-template-rows: masonry;
|
|
37
|
-
}
|
|
38
|
-
/* Aspect ratio enforcement on cells */
|
|
39
|
-
.rf-grid[data-aspect] [data-name="cell"] {
|
|
40
|
-
aspect-ratio: var(--grid-aspect);
|
|
41
|
-
overflow: hidden;
|
|
42
|
-
}
|
|
43
|
-
.rf-grid[data-aspect] [data-name="cell"] > img,
|
|
44
|
-
.rf-grid[data-aspect] [data-name="cell"] > video {
|
|
45
|
-
width: 100%;
|
|
46
|
-
height: 100%;
|
|
47
|
-
object-fit: cover;
|
|
48
|
-
}
|
|
49
|
-
/* Stack order when collapsed */
|
|
50
|
-
.rf-grid[data-stack="reverse"] [data-name="cell"]:last-child {
|
|
51
|
-
order: -1;
|
|
52
|
-
}
|
|
53
|
-
/* Collapse breakpoints */
|
|
54
|
-
@media (max-width: 640px) {
|
|
55
|
-
.rf-grid[data-collapse="sm"] [data-layout="grid"] { grid-template-columns: 1fr; }
|
|
56
|
-
}
|
|
57
|
-
@media (max-width: 768px) {
|
|
58
|
-
.rf-grid[data-collapse="md"] [data-layout="grid"] { grid-template-columns: 1fr; }
|
|
59
|
-
}
|
|
60
|
-
@media (max-width: 1024px) {
|
|
61
|
-
.rf-grid[data-collapse="lg"] [data-layout="grid"] { grid-template-columns: 1fr; }
|
|
9
|
+
|
|
62
10
|
}
|