@refrakt-md/skeleton 0.32.0 → 0.34.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.
Files changed (69) hide show
  1. package/index.css +102 -102
  2. package/package.json +2 -2
  3. package/styles/dimensions/checklist.css +1 -1
  4. package/styles/dimensions/cover.css +12 -3
  5. package/styles/dimensions/guest-posture.css +2 -1
  6. package/styles/dimensions/metadata.css +12 -4
  7. package/styles/dimensions/sequence.css +1 -1
  8. package/styles/global.css +52 -12
  9. package/styles/layouts/blog.css +89 -25
  10. package/styles/layouts/default.css +63 -18
  11. package/styles/layouts/docs.css +111 -29
  12. package/styles/layouts/mobile.css +24 -8
  13. package/styles/layouts/on-this-page.css +6 -2
  14. package/styles/layouts/plan.css +108 -32
  15. package/styles/layouts/search.css +27 -9
  16. package/styles/layouts/split.css +45 -13
  17. package/styles/runes/accordion.css +25 -9
  18. package/styles/runes/annotate.css +9 -3
  19. package/styles/runes/audio.css +3 -1
  20. package/styles/runes/bento.css +151 -40
  21. package/styles/runes/bond.css +2 -2
  22. package/styles/runes/breadcrumb.css +6 -2
  23. package/styles/runes/budget.css +3 -1
  24. package/styles/runes/card.css +32 -10
  25. package/styles/runes/cast.css +12 -4
  26. package/styles/runes/changelog.css +12 -4
  27. package/styles/runes/character.css +3 -1
  28. package/styles/runes/chart.css +10 -3
  29. package/styles/runes/codegroup.css +6 -2
  30. package/styles/runes/collection.css +7 -7
  31. package/styles/runes/compare.css +3 -1
  32. package/styles/runes/comparison.css +33 -11
  33. package/styles/runes/conversation.css +6 -2
  34. package/styles/runes/cta.css +1 -1
  35. package/styles/runes/details.css +7 -2
  36. package/styles/runes/drawer.css +4 -20
  37. package/styles/runes/feature.css +1 -1
  38. package/styles/runes/figure.css +22 -7
  39. package/styles/runes/file-ref.css +3 -1
  40. package/styles/runes/form.css +3 -1
  41. package/styles/runes/gallery.css +3 -1
  42. package/styles/runes/grid.css +57 -19
  43. package/styles/runes/hero.css +20 -7
  44. package/styles/runes/hint.css +20 -6
  45. package/styles/runes/itinerary.css +25 -9
  46. package/styles/runes/juxtapose.css +15 -5
  47. package/styles/runes/lore.css +6 -2
  48. package/styles/runes/map.css +16 -5
  49. package/styles/runes/mediatext.css +28 -10
  50. package/styles/runes/milestone.css +1 -1
  51. package/styles/runes/mockup.css +5 -2
  52. package/styles/runes/nav.css +10 -4
  53. package/styles/runes/plan-history.css +13 -5
  54. package/styles/runes/plot.css +14 -5
  55. package/styles/runes/preview.css +18 -6
  56. package/styles/runes/pricing.css +7 -3
  57. package/styles/runes/pullquote.css +12 -4
  58. package/styles/runes/relationships.css +7 -7
  59. package/styles/runes/reveal.css +4 -2
  60. package/styles/runes/sandbox.css +6 -2
  61. package/styles/runes/section.css +1 -1
  62. package/styles/runes/showcase.css +6 -2
  63. package/styles/runes/steps.css +16 -6
  64. package/styles/runes/storyboard.css +15 -5
  65. package/styles/runes/symbol.css +9 -3
  66. package/styles/runes/tabs.css +1 -1
  67. package/styles/runes/testimonial.css +6 -2
  68. package/styles/runes/textblock.css +9 -3
  69. package/styles/runes/timeline.css +14 -6
@@ -4,8 +4,12 @@
4
4
  * reflows. Type, colour, spacing, borders, radii, the dropdown chrome, and the
5
5
  * chevron glyph stay skin (Lumina's styles/runes/nav.css). */
6
6
 
7
- .rf-nav ul { list-style: none; }
8
- .rf-nav-item__link { display: block; }
7
+ .rf-nav ul {
8
+ list-style: none;
9
+ }
10
+ .rf-nav-item__link {
11
+ display: block;
12
+ }
9
13
 
10
14
  /* Inline-badge items sit on one row. */
11
15
  .rf-nav-item:has(> .rf-badge[data-name="badge"]) {
@@ -26,7 +30,7 @@
26
30
  }
27
31
  .rf-nav--collapsible .rf-nav-group h2::after,
28
32
  .rf-nav--collapsible .rf-nav-group h3::after {
29
- content: '';
33
+ content: "";
30
34
  width: 0.5rem;
31
35
  height: 0.5rem;
32
36
  transform: rotate(45deg);
@@ -81,7 +85,9 @@
81
85
  pointer-events: auto;
82
86
  transform: translateY(0);
83
87
  }
84
- .rf-nav--menubar .rf-nav-group__panel ul { list-style: none; }
88
+ .rf-nav--menubar .rf-nav-group__panel ul {
89
+ list-style: none;
90
+ }
85
91
  .rf-nav--menubar .rf-nav-group__panel > ul > li > .rf-nav-item__link {
86
92
  display: block;
87
93
  width: 100%;
@@ -3,22 +3,30 @@
3
3
  * change/entity-summary flex, the criteria list reset, the commit-message block,
4
4
  * and the mobile change wrap. Connector borders, marker chrome, badges, and type
5
5
  * are skin. */
6
- .rf-plan-history__events { list-style: none; }
7
- .rf-plan-history__event { position: relative; }
6
+ .rf-plan-history__events {
7
+ list-style: none;
8
+ }
9
+ .rf-plan-history__event {
10
+ position: relative;
11
+ }
8
12
  .rf-plan-history__event::before {
9
- content: '';
13
+ content: "";
10
14
  position: absolute;
11
15
  left: -0.4375rem;
12
16
  top: 0.25rem;
13
17
  width: 0.75rem;
14
18
  height: 0.75rem;
15
19
  }
16
- .rf-plan-history__date { display: inline; }
20
+ .rf-plan-history__date {
21
+ display: inline;
22
+ }
17
23
  .rf-plan-history__change {
18
24
  display: flex;
19
25
  align-items: center;
20
26
  }
21
- .rf-plan-history__criteria { list-style: none; }
27
+ .rf-plan-history__criteria {
28
+ list-style: none;
29
+ }
22
30
  .rf-plan-history--global .rf-plan-history__commit-message {
23
31
  display: block;
24
32
  }
@@ -2,12 +2,21 @@
2
2
  * beat positioning + dot box placement (incl. the linear connector dot offset and
3
3
  * the linear label block). Dot colours, connector borders, type, and spacing are
4
4
  * skin. */
5
- .rf-plot { display: flex; flex-direction: column; }
6
- .rf-plot > span[property="name"] { display: block; }
7
- .rf-plot ol { list-style: none; }
8
- .rf-beat { position: relative; }
5
+ .rf-plot {
6
+ display: flex;
7
+ flex-direction: column;
8
+ }
9
+ .rf-plot > span[property="name"] {
10
+ display: block;
11
+ }
12
+ .rf-plot ol {
13
+ list-style: none;
14
+ }
15
+ .rf-beat {
16
+ position: relative;
17
+ }
9
18
  .rf-beat::before {
10
- content: '';
19
+ content: "";
11
20
  position: absolute;
12
21
  left: 0.375rem;
13
22
  top: 1rem;
@@ -22,8 +22,12 @@
22
22
  .rf-preview__controls[hidden] {
23
23
  display: none;
24
24
  }
25
- .rf-preview__view-toggle { display: flex; }
26
- .rf-preview__toggle { display: flex; }
25
+ .rf-preview__view-toggle {
26
+ display: flex;
27
+ }
28
+ .rf-preview__toggle {
29
+ display: flex;
30
+ }
27
31
  .rf-preview__toggle-btn {
28
32
  display: flex;
29
33
  align-items: center;
@@ -31,11 +35,17 @@
31
35
  width: 1.625rem;
32
36
  height: 1.625rem;
33
37
  }
34
- .rf-preview__canvas { overflow: hidden; }
38
+ .rf-preview__canvas {
39
+ overflow: hidden;
40
+ }
35
41
  /* Clip the source panel to its rounded corners (matching the canvas) — otherwise
36
42
  * the code block's square fill bleeds past the rounded border at the bottom. */
37
- .rf-preview__source { overflow: hidden; }
38
- .rf-preview__viewport-toggle { display: flex; }
43
+ .rf-preview__source {
44
+ overflow: hidden;
45
+ }
46
+ .rf-preview__viewport-toggle {
47
+ display: flex;
48
+ }
39
49
  .rf-preview__viewport-frame {
40
50
  position: relative;
41
51
  overflow: hidden;
@@ -58,7 +68,9 @@
58
68
  pointer-events: none;
59
69
  z-index: 1;
60
70
  }
61
- .rf-preview__source-tabs { display: flex; }
71
+ .rf-preview__source-tabs {
72
+ display: flex;
73
+ }
62
74
  /* The in-feature breakout (`.rf-preview--in-feature { margin-inline: -gutter }`)
63
75
  * is NOT here: it overrides the skin rule `.rf-preview { margin: 2rem 0 }` by
64
76
  * specificity, so it must stay in @layer skin — in @layer skeleton it loses to
@@ -15,7 +15,7 @@
15
15
  position: relative;
16
16
  }
17
17
  .rf-pricing__eyebrow:has(a) a::before {
18
- content: '';
18
+ content: "";
19
19
  position: absolute;
20
20
  inset: 0;
21
21
  }
@@ -32,8 +32,12 @@
32
32
  flex-direction: column;
33
33
  }
34
34
 
35
- .rf-tier__body { flex: 1; }
36
- .rf-tier__body ul { list-style: none; }
35
+ .rf-tier__body {
36
+ flex: 1;
37
+ }
38
+ .rf-tier__body ul {
39
+ list-style: none;
40
+ }
37
41
  .rf-tier__body a {
38
42
  display: block;
39
43
  margin-top: auto;
@@ -2,7 +2,9 @@
2
2
  * positioning + the per-variant glyph hides + centred glyph re-centre, the
3
3
  * centre/right auto-margins, and the float modes (+ responsive). The quote glyph,
4
4
  * type, borders, backgrounds, and the inner-blockquote reset are skin. */
5
- .rf-pullquote { position: relative; }
5
+ .rf-pullquote {
6
+ position: relative;
7
+ }
6
8
  .rf-pullquote::before {
7
9
  position: absolute;
8
10
  top: -0.25rem;
@@ -16,11 +18,15 @@
16
18
  left: 50%;
17
19
  transform: translateX(-50%);
18
20
  }
19
- .rf-pullquote--left::before { display: none; }
21
+ .rf-pullquote--left::before {
22
+ display: none;
23
+ }
20
24
  .rf-pullquote--right {
21
25
  margin-left: auto;
22
26
  }
23
- .rf-pullquote--right::before { display: none; }
27
+ .rf-pullquote--right::before {
28
+ display: none;
29
+ }
24
30
  .rf-pullquote[data-align="left"] {
25
31
  float: left;
26
32
  width: 40%;
@@ -29,7 +35,9 @@
29
35
  float: right;
30
36
  width: 40%;
31
37
  }
32
- .rf-pullquote--editorial::before { display: none; }
38
+ .rf-pullquote--editorial::before {
39
+ display: none;
40
+ }
33
41
  @media (max-width: 768px) {
34
42
  .rf-pullquote[data-align="left"],
35
43
  .rf-pullquote[data-align="right"] {
@@ -6,29 +6,29 @@
6
6
  display: flex;
7
7
  flex-direction: column;
8
8
  }
9
- .rf-relationships[data-layout='grid'] .rf-relationships__items {
9
+ .rf-relationships[data-layout="grid"] .rf-relationships__items {
10
10
  display: grid;
11
11
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
12
12
  align-items: stretch;
13
13
  }
14
- .rf-relationships[data-layout='grid'] .rf-relationships__item {
14
+ .rf-relationships[data-layout="grid"] .rf-relationships__item {
15
15
  display: flex;
16
16
  }
17
- .rf-relationships[data-layout='grid'] .rf-relationships__item > * {
17
+ .rf-relationships[data-layout="grid"] .rf-relationships__item > * {
18
18
  flex: 1;
19
19
  min-width: 0;
20
20
  }
21
- .rf-relationships[data-layout='grid'] .rf-relationships__items:has(.rf-relationships__group),
22
- .rf-relationships[data-layout='grid'] .rf-relationships__items:has(.rf-accordion) {
21
+ .rf-relationships[data-layout="grid"] .rf-relationships__items:has(.rf-relationships__group),
22
+ .rf-relationships[data-layout="grid"] .rf-relationships__items:has(.rf-accordion) {
23
23
  display: flex;
24
24
  flex-direction: column;
25
25
  }
26
- .rf-relationships[data-layout='grid'] .rf-relationships__group {
26
+ .rf-relationships[data-layout="grid"] .rf-relationships__group {
27
27
  display: grid;
28
28
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
29
29
  align-items: stretch;
30
30
  }
31
- .rf-relationships[data-layout='grid'] .rf-relationships__group-title {
31
+ .rf-relationships[data-layout="grid"] .rf-relationships__group-title {
32
32
  grid-column: 1 / -1;
33
33
  }
34
34
  .rf-relationships__group {
@@ -8,7 +8,7 @@
8
8
  position: relative;
9
9
  }
10
10
  .rf-reveal__eyebrow:has(a) a::before {
11
- content: '';
11
+ content: "";
12
12
  position: absolute;
13
13
  inset: 0;
14
14
  }
@@ -21,7 +21,9 @@
21
21
  overflow: hidden;
22
22
  }
23
23
  .rf-reveal-step__body > span[property],
24
- .rf-reveal-step__body > meta { display: none; }
24
+ .rf-reveal-step__body > meta {
25
+ display: none;
26
+ }
25
27
  .rf-reveal__next,
26
28
  .rf-reveal__reset {
27
29
  display: inline-flex;
@@ -2,7 +2,9 @@
2
2
  * layout (positioning, flex, sizing). Radii, surface, borders, type, and the play
3
3
  * glyph stay skin (Lumina's styles/runes/sandbox.css). */
4
4
 
5
- .rf-sandbox { overflow: hidden; }
5
+ .rf-sandbox {
6
+ overflow: hidden;
7
+ }
6
8
  /* `height="fill"` pins the iframe to 100% of its host (SPEC-101) — so the host
7
9
  * itself needs to claim 100% of its container's height for the iframe's 100%
8
10
  * to mean anything. Without this the iframe collapses to the 150px fallback
@@ -14,7 +16,9 @@
14
16
  display: block;
15
17
  width: 100%;
16
18
  }
17
- .rf-sandbox__untrusted-banner { display: block; }
19
+ .rf-sandbox__untrusted-banner {
20
+ display: block;
21
+ }
18
22
  .rf-sandbox__poster {
19
23
  position: relative;
20
24
  display: flex;
@@ -15,7 +15,7 @@
15
15
  position: relative;
16
16
  }
17
17
  .rf-section__eyebrow:has(a) a::before {
18
- content: '';
18
+ content: "";
19
19
  position: absolute;
20
20
  inset: 0;
21
21
  }
@@ -1,8 +1,12 @@
1
1
  /* showcase — structure. The relative root + viewport (frame anchors), the breakout
2
2
  * overflow on a non-clipping host, and the bento-cell fill. The spacing/inset axes
3
3
  * (margins/padding values) and the mobile bleed reset are skin. */
4
- .rf-showcase { position: relative; }
5
- .rf-showcase__viewport { position: relative; }
4
+ .rf-showcase {
5
+ position: relative;
6
+ }
7
+ .rf-showcase__viewport {
8
+ position: relative;
9
+ }
6
10
  :has(> .rf-showcase[data-displace]:not(.rf-showcase--in-bento-cell)) {
7
11
  overflow: visible;
8
12
  }
@@ -3,7 +3,9 @@
3
3
  * resets, and the media-position flip. All spacing, type, surface, and the badge
4
4
  * chrome stay skin (Lumina's styles/runes/steps.css). */
5
5
 
6
- .rf-steps { counter-reset: step; }
6
+ .rf-steps {
7
+ counter-reset: step;
8
+ }
7
9
 
8
10
  .rf-steps__preamble {
9
11
  flex-direction: column;
@@ -16,14 +18,18 @@
16
18
  position: relative;
17
19
  }
18
20
  .rf-steps__eyebrow:has(a) a::before {
19
- content: '';
21
+ content: "";
20
22
  position: absolute;
21
23
  inset: 0;
22
24
  }
23
25
 
24
- .rf-steps ol { list-style: none; }
26
+ .rf-steps ol {
27
+ list-style: none;
28
+ }
25
29
 
26
- .rf-step__content { display: contents; }
30
+ .rf-step__content {
31
+ display: contents;
32
+ }
27
33
 
28
34
  .rf-step {
29
35
  counter-increment: step;
@@ -51,11 +57,15 @@
51
57
  /* A leading bold opening the step body acts as its title (list-based steps),
52
58
  * so it blocks onto its own line. Scoped to the first inline `strong` of the
53
59
  * first paragraph — inline bold elsewhere in the body must stay inline. */
54
- .rf-step__content > p:first-child > strong:first-child {
60
+ .rf-step__content
61
+ > p:first-child
62
+ > strong:first-child {
55
63
  display: block;
56
64
  }
57
65
 
58
- .rf-step__media { overflow: hidden; }
66
+ .rf-step__media {
67
+ overflow: hidden;
68
+ }
59
69
 
60
70
  /* BUG-001 — content-first DOM inverts the shared media-first stacked contract
61
71
  * (layouts/split.css): counter it so the labels are truthful. */
@@ -5,18 +5,28 @@
5
5
  display: grid;
6
6
  grid-template-columns: repeat(var(--sb-columns, 3), 1fr);
7
7
  }
8
- .rf-storyboard--clean .rf-storyboard-panel { overflow: hidden; }
9
- .rf-storyboard--comic .rf-storyboard-panel { overflow: hidden; }
8
+ .rf-storyboard--clean .rf-storyboard-panel {
9
+ overflow: hidden;
10
+ }
11
+ .rf-storyboard--comic .rf-storyboard-panel {
12
+ overflow: hidden;
13
+ }
10
14
  .rf-storyboard-panel img {
11
15
  width: 100%;
12
16
  height: auto;
13
17
  display: block;
14
18
  }
15
19
  .rf-storyboard-panel__body > span[property],
16
- .rf-storyboard-panel__body > meta { display: none; }
20
+ .rf-storyboard-panel__body > meta {
21
+ display: none;
22
+ }
17
23
  @media (max-width: 768px) {
18
- .rf-storyboard__panels { grid-template-columns: repeat(2, 1fr) !important; }
24
+ .rf-storyboard__panels {
25
+ grid-template-columns: repeat(2, 1fr) !important;
26
+ }
19
27
  }
20
28
  @media (max-width: 480px) {
21
- .rf-storyboard__panels { grid-template-columns: 1fr !important; }
29
+ .rf-storyboard__panels {
30
+ grid-template-columns: 1fr !important;
31
+ }
22
32
  }
@@ -3,6 +3,12 @@
3
3
  * (already skeleton); everything else here — bar padding, doc-prose spacing,
4
4
  * borders, type, the blockquote reset — is skin (Lumina's styles/runes/symbol.css). */
5
5
 
6
- .rf-symbol__body > div > ul { list-style: none; }
7
- .rf-symbol__body > div > ul > li > ul { list-style: none; }
8
- .rf-symbol-member ul { list-style: none; }
6
+ .rf-symbol__body > div > ul {
7
+ list-style: none;
8
+ }
9
+ .rf-symbol__body > div > ul > li > ul {
10
+ list-style: none;
11
+ }
12
+ .rf-symbol-member ul {
13
+ list-style: none;
14
+ }
@@ -9,7 +9,7 @@
9
9
  position: relative;
10
10
  }
11
11
  .rf-tabs__eyebrow:has(a) a::before {
12
- content: '';
12
+ content: "";
13
13
  position: absolute;
14
14
  inset: 0;
15
15
  }
@@ -4,8 +4,12 @@
4
4
  * styles/runes/testimonial.css) — the `blockquote::before { display:none }` reset
5
5
  * must stay skin to override elements/blockquote.css by source order. */
6
6
 
7
- .rf-testimonial__author-name { display: block; }
8
- .rf-testimonial__author-role { display: block; }
7
+ .rf-testimonial__author-name {
8
+ display: block;
9
+ }
10
+ .rf-testimonial__author-role {
11
+ display: block;
12
+ }
9
13
  .rf-testimonial :is(img, .rf-placeholder) {
10
14
  width: 48px;
11
15
  height: 48px;
@@ -4,9 +4,15 @@
4
4
  .rf-textblock__body {
5
5
  display: block;
6
6
  }
7
- .rf-textblock[data-columns="2"] .rf-textblock__body { column-count: 2; }
8
- .rf-textblock[data-columns="3"] .rf-textblock__body { column-count: 3; }
9
- .rf-textblock[data-columns="4"] .rf-textblock__body { column-count: 4; }
7
+ .rf-textblock[data-columns="2"] .rf-textblock__body {
8
+ column-count: 2;
9
+ }
10
+ .rf-textblock[data-columns="3"] .rf-textblock__body {
11
+ column-count: 3;
12
+ }
13
+ .rf-textblock[data-columns="4"] .rf-textblock__body {
14
+ column-count: 4;
15
+ }
10
16
  @media (max-width: 768px) {
11
17
  .rf-textblock[data-columns="3"] .rf-textblock__body,
12
18
  .rf-textblock[data-columns="4"] .rf-textblock__body {
@@ -2,12 +2,20 @@
2
2
  * display, the marker box placement (vertical + horizontal), the horizontal flex
3
3
  * scroll, and the horizontal entry min-width. Connector borders, marker chrome,
4
4
  * type, and spacing are skin. */
5
- .rf-timeline ol { list-style: none; }
6
- .rf-timeline-entry { position: relative; }
7
- .rf-timeline-entry > time { display: block; }
8
- .rf-timeline-entry > span { display: block; }
5
+ .rf-timeline ol {
6
+ list-style: none;
7
+ }
8
+ .rf-timeline-entry {
9
+ position: relative;
10
+ }
11
+ .rf-timeline-entry > time {
12
+ display: block;
13
+ }
14
+ .rf-timeline-entry > span {
15
+ display: block;
16
+ }
9
17
  .rf-timeline--vertical .rf-timeline-entry::before {
10
- content: '';
18
+ content: "";
11
19
  position: absolute;
12
20
  left: -0.4375rem;
13
21
  top: 0.25rem;
@@ -22,7 +30,7 @@
22
30
  min-width: 12rem;
23
31
  }
24
32
  .rf-timeline--horizontal .rf-timeline-entry::before {
25
- content: '';
33
+ content: "";
26
34
  position: absolute;
27
35
  top: -0.4375rem;
28
36
  left: 0.5rem;