@refrakt-md/lumina 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 (142) hide show
  1. package/base.css +29 -29
  2. package/contracts/structures.json +58 -60
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js.map +1 -1
  5. package/dist/icons.d.ts.map +1 -1
  6. package/dist/icons.js +57 -57
  7. package/dist/icons.js.map +1 -1
  8. package/dist/presets/catppuccin.js.map +1 -1
  9. package/dist/presets/dracula.js.map +1 -1
  10. package/dist/presets/gruvbox.js.map +1 -1
  11. package/dist/presets/niwaki.js.map +1 -1
  12. package/dist/presets/nord.js.map +1 -1
  13. package/dist/presets/one-dark.js.map +1 -1
  14. package/dist/presets/solarized.js.map +1 -1
  15. package/dist/presets/tideline.d.ts.map +1 -1
  16. package/dist/presets/tideline.js +20 -4
  17. package/dist/presets/tideline.js.map +1 -1
  18. package/dist/presets/tokyo-night.js.map +1 -1
  19. package/dist/tokens.js.map +1 -1
  20. package/index.css +124 -124
  21. package/package.json +5 -5
  22. package/presets.json +61 -13
  23. package/styles/base/attributes.css +32 -13
  24. package/styles/dimensions/checklist.css +45 -46
  25. package/styles/dimensions/cover.css +71 -51
  26. package/styles/dimensions/density.css +69 -65
  27. package/styles/dimensions/frame.css +116 -57
  28. package/styles/dimensions/metadata.css +110 -103
  29. package/styles/dimensions/motion.css +42 -13
  30. package/styles/dimensions/reading.css +27 -27
  31. package/styles/dimensions/sections.css +44 -45
  32. package/styles/dimensions/sequence.css +56 -57
  33. package/styles/dimensions/state.css +8 -2
  34. package/styles/dimensions/substrate.css +82 -58
  35. package/styles/dimensions/surfaces.css +65 -62
  36. package/styles/elements/blockquote.css +24 -25
  37. package/styles/elements/code.css +72 -71
  38. package/styles/elements/table.css +36 -37
  39. package/styles/global.css +163 -121
  40. package/styles/layouts/blog.css +219 -218
  41. package/styles/layouts/default.css +168 -167
  42. package/styles/layouts/docs.css +121 -122
  43. package/styles/layouts/mobile.css +54 -55
  44. package/styles/layouts/on-this-page.css +46 -47
  45. package/styles/layouts/plan.css +248 -247
  46. package/styles/layouts/search.css +142 -140
  47. package/styles/layouts/split.css +45 -45
  48. package/styles/layouts/theme-toggle.css +33 -31
  49. package/styles/layouts/version-switcher.css +38 -37
  50. package/styles/runes/accordion.css +90 -81
  51. package/styles/runes/aggregate.css +50 -39
  52. package/styles/runes/annotate.css +46 -45
  53. package/styles/runes/api.css +22 -23
  54. package/styles/runes/audio.css +140 -141
  55. package/styles/runes/badge.css +12 -13
  56. package/styles/runes/bar.css +4 -5
  57. package/styles/runes/bento.css +73 -62
  58. package/styles/runes/bg.css +62 -47
  59. package/styles/runes/blog.css +89 -90
  60. package/styles/runes/bond.css +49 -50
  61. package/styles/runes/breadcrumb.css +34 -35
  62. package/styles/runes/budget.css +126 -127
  63. package/styles/runes/bug.css +28 -27
  64. package/styles/runes/card.css +63 -60
  65. package/styles/runes/carousel.css +15 -15
  66. package/styles/runes/cast.css +50 -51
  67. package/styles/runes/changelog.css +45 -46
  68. package/styles/runes/character.css +31 -32
  69. package/styles/runes/chart.css +194 -106
  70. package/styles/runes/codegroup.css +109 -100
  71. package/styles/runes/collection.css +87 -86
  72. package/styles/runes/compare.css +38 -39
  73. package/styles/runes/comparison.css +205 -179
  74. package/styles/runes/conversation.css +36 -33
  75. package/styles/runes/cta.css +135 -132
  76. package/styles/runes/datatable.css +84 -83
  77. package/styles/runes/decision.css +25 -26
  78. package/styles/runes/design-context.css +21 -23
  79. package/styles/runes/details.css +26 -27
  80. package/styles/runes/diagram.css +28 -29
  81. package/styles/runes/diff.css +75 -72
  82. package/styles/runes/drawer.css +276 -198
  83. package/styles/runes/embed.css +20 -21
  84. package/styles/runes/event.css +35 -36
  85. package/styles/runes/expand.css +43 -34
  86. package/styles/runes/faction.css +47 -48
  87. package/styles/runes/feature.css +119 -112
  88. package/styles/runes/figure.css +11 -12
  89. package/styles/runes/file-ref.css +11 -13
  90. package/styles/runes/form.css +155 -154
  91. package/styles/runes/gallery.css +59 -60
  92. package/styles/runes/grid.css +10 -7
  93. package/styles/runes/hero.css +189 -185
  94. package/styles/runes/hint.css +57 -58
  95. package/styles/runes/howto.css +62 -64
  96. package/styles/runes/itinerary.css +133 -134
  97. package/styles/runes/juxtapose.css +83 -82
  98. package/styles/runes/lore.css +32 -34
  99. package/styles/runes/map.css +106 -99
  100. package/styles/runes/mediatext.css +30 -27
  101. package/styles/runes/milestone.css +98 -97
  102. package/styles/runes/mockup.css +338 -335
  103. package/styles/runes/nav.css +465 -450
  104. package/styles/runes/organization.css +23 -20
  105. package/styles/runes/page-section.css +14 -15
  106. package/styles/runes/pagination.css +45 -44
  107. package/styles/runes/palette.css +78 -80
  108. package/styles/runes/placeholder.css +8 -9
  109. package/styles/runes/plan-history.css +160 -161
  110. package/styles/runes/plan-progress.css +15 -16
  111. package/styles/runes/plan-ref.css +32 -23
  112. package/styles/runes/playlist.css +106 -107
  113. package/styles/runes/plot.css +92 -91
  114. package/styles/runes/preview.css +152 -149
  115. package/styles/runes/pricing.css +133 -123
  116. package/styles/runes/progress.css +32 -27
  117. package/styles/runes/pullquote.css +89 -90
  118. package/styles/runes/realm.css +47 -48
  119. package/styles/runes/recipe.css +112 -114
  120. package/styles/runes/relationships.css +77 -76
  121. package/styles/runes/reveal.css +90 -79
  122. package/styles/runes/sandbox.css +59 -60
  123. package/styles/runes/section.css +57 -50
  124. package/styles/runes/showcase.css +35 -16
  125. package/styles/runes/sidenote.css +30 -27
  126. package/styles/runes/snippet.css +8 -9
  127. package/styles/runes/spacing.css +86 -88
  128. package/styles/runes/spec.css +24 -25
  129. package/styles/runes/steps.css +89 -80
  130. package/styles/runes/storyboard.css +46 -45
  131. package/styles/runes/swatch.css +22 -23
  132. package/styles/runes/symbol.css +117 -118
  133. package/styles/runes/tabs.css +88 -79
  134. package/styles/runes/testimonial.css +43 -44
  135. package/styles/runes/textblock.css +32 -28
  136. package/styles/runes/timeline.css +63 -64
  137. package/styles/runes/tint.css +214 -215
  138. package/styles/runes/toc.css +40 -41
  139. package/styles/runes/track.css +89 -90
  140. package/styles/runes/typography.css +89 -91
  141. package/styles/runes/work.css +47 -36
  142. package/styles/runes/xref.css +21 -22
@@ -1,156 +1,157 @@
1
1
  @layer skin {
2
- /* Form */
3
- .rf-form {
4
- gap: 1.25rem;
5
- max-width: none;
6
- }
7
- .rf-form__body {
8
- gap: 1.25rem;
9
- }
10
- /* Inline variant */
11
- .rf-form--inline .rf-form__body {
12
- gap: 0.75rem;
13
- }
14
- /* Compact variant */
15
- .rf-form--compact {
16
- gap: 0.75rem;
17
- font-size: var(--rf-text-sm);
18
- }
19
- .rf-form--compact .rf-form__body {
20
- gap: 0.75rem;
21
- }
22
- .rf-form--compact input,
23
- .rf-form--compact textarea,
24
- .rf-form--compact select {
25
- padding: 0.375rem 0.625rem;
26
- font-size: var(--rf-text-sm);
27
- }
28
- /* Field */
29
- .rf-form-field {
30
- gap: 0.375rem;
31
- }
32
- .rf-form-field label {
33
- font-size: var(--rf-text-sm);
34
- font-weight: var(--rf-weight-semibold);
35
- color: var(--rf-color-text);
36
- }
37
- .rf-form-field__required {
38
- color: var(--rf-color-danger);
39
- margin-left: 0.125rem;
40
- }
41
- .rf-form-field input,
42
- .rf-form-field textarea,
43
- .rf-form-field select {
44
- padding: 0.5rem 0.75rem;
45
- border: 1px solid var(--rf-color-border);
46
- border-radius: var(--rf-radius-md);
47
- font-size: var(--rf-text);
48
- font-family: inherit;
49
- color: var(--rf-color-text);
50
- background: var(--rf-color-bg);
51
- transition: border-color 0.15s, box-shadow 0.15s;
52
- }
53
- .rf-form-field input:focus,
54
- .rf-form-field textarea:focus,
55
- .rf-form-field select:focus {
56
- outline: none;
57
- border-color: var(--rf-color-primary);
58
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--rf-color-primary) 15%, transparent);
59
- }
60
- .rf-form-field textarea {
61
- resize: vertical;
62
- }
63
- /* Fieldset */
64
- .rf-form-fieldset {
65
- border: none;
66
- padding: 0;
67
- margin: 0.5rem 0 0;
68
- }
69
- .rf-form-fieldset legend {
70
- font-size: var(--rf-text-lg);
71
- font-weight: var(--rf-weight-bold);
72
- color: var(--rf-color-text);
73
- padding: 0;
74
- margin-bottom: 0.75rem;
75
- }
76
- /* Choice groups */
77
- .rf-form-choice-group {
78
- border: none;
79
- padding: 0;
80
- }
81
- .rf-form-choice-group legend {
82
- font-size: var(--rf-text-sm);
83
- font-weight: var(--rf-weight-semibold);
84
- color: var(--rf-color-text);
85
- padding: 0;
86
- margin-bottom: 0.5rem;
87
- }
88
- .rf-form-choice {
89
- gap: 0.5rem;
90
- padding: 0.375rem 0;
91
- cursor: pointer;
92
- font-size: var(--rf-text);
93
- }
94
- .rf-form-choice input {
95
- margin: 0;
96
- accent-color: var(--rf-color-primary);
97
- }
98
- /* Submit */
99
- .rf-form__submit {
100
- padding: 0.625rem 1.5rem;
101
- background: var(--rf-color-primary);
102
- color: white;
103
- border: none;
104
- border-radius: var(--rf-radius-md);
105
- font-size: var(--rf-text);
106
- font-weight: var(--rf-weight-semibold);
107
- cursor: pointer;
108
- transition: background 0.15s;
109
- }
110
- .rf-form__submit:hover {
111
- background: color-mix(in srgb, var(--rf-color-primary) 85%, black);
112
- }
113
- .rf-form__submit:active {
114
- transform: scale(0.98);
115
- }
116
- /* Help & description */
117
- .rf-form__help {
118
- font-size: var(--rf-text-sm);
119
- color: var(--rf-color-muted);
120
- font-style: italic;
121
- margin: 0;
122
- }
123
- .rf-form__text {
124
- font-size: var(--rf-text);
125
- color: var(--rf-color-muted);
126
- margin: 0;
127
- }
128
- /* Separator */
129
- .rf-form__separator {
130
- border: none;
131
- border-top: 1px solid var(--rf-color-border);
132
- margin: 0.5rem 0;
133
- }
134
- /* Status messages */
135
- .rf-form__status {
136
- padding: 0.75rem 1rem;
137
- border-radius: var(--rf-radius-md);
138
- font-size: var(--rf-text-sm);
139
- font-weight: var(--rf-weight-medium);
140
- }
141
- .rf-form__status--submitting {
142
- background: var(--rf-color-surface);
143
- color: var(--rf-color-muted);
144
- }
145
- .rf-form__status--success {
146
- background: color-mix(in srgb, var(--rf-color-success) 10%, transparent);
147
- color: var(--rf-color-success);
148
- border: 1px solid color-mix(in srgb, var(--rf-color-success) 25%, transparent);
149
- }
150
- .rf-form__status--error {
151
- background: color-mix(in srgb, var(--rf-color-danger) 10%, transparent);
152
- color: var(--rf-color-danger);
153
- border: 1px solid color-mix(in srgb, var(--rf-color-danger) 25%, transparent);
154
- }
155
-
2
+ /* Form */
3
+ .rf-form {
4
+ gap: 1.25rem;
5
+ max-width: none;
6
+ }
7
+ .rf-form__body {
8
+ gap: 1.25rem;
9
+ }
10
+ /* Inline variant */
11
+ .rf-form--inline .rf-form__body {
12
+ gap: 0.75rem;
13
+ }
14
+ /* Compact variant */
15
+ .rf-form--compact {
16
+ gap: 0.75rem;
17
+ font-size: var(--rf-text-sm);
18
+ }
19
+ .rf-form--compact .rf-form__body {
20
+ gap: 0.75rem;
21
+ }
22
+ .rf-form--compact input,
23
+ .rf-form--compact textarea,
24
+ .rf-form--compact select {
25
+ padding: 0.375rem 0.625rem;
26
+ font-size: var(--rf-text-sm);
27
+ }
28
+ /* Field */
29
+ .rf-form-field {
30
+ gap: 0.375rem;
31
+ }
32
+ .rf-form-field label {
33
+ font-size: var(--rf-text-sm);
34
+ font-weight: var(--rf-weight-semibold);
35
+ color: var(--rf-color-text);
36
+ }
37
+ .rf-form-field__required {
38
+ color: var(--rf-color-danger);
39
+ margin-left: 0.125rem;
40
+ }
41
+ .rf-form-field input,
42
+ .rf-form-field textarea,
43
+ .rf-form-field select {
44
+ padding: 0.5rem 0.75rem;
45
+ border: 1px solid var(--rf-color-border);
46
+ border-radius: var(--rf-radius-md);
47
+ font-size: var(--rf-text);
48
+ font-family: inherit;
49
+ color: var(--rf-color-text);
50
+ background: var(--rf-color-bg);
51
+ transition:
52
+ border-color 0.15s,
53
+ box-shadow 0.15s;
54
+ }
55
+ .rf-form-field input:focus,
56
+ .rf-form-field textarea:focus,
57
+ .rf-form-field select:focus {
58
+ outline: none;
59
+ border-color: var(--rf-color-primary);
60
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--rf-color-primary) 15%, transparent);
61
+ }
62
+ .rf-form-field textarea {
63
+ resize: vertical;
64
+ }
65
+ /* Fieldset */
66
+ .rf-form-fieldset {
67
+ border: none;
68
+ padding: 0;
69
+ margin: 0.5rem 0 0;
70
+ }
71
+ .rf-form-fieldset legend {
72
+ font-size: var(--rf-text-lg);
73
+ font-weight: var(--rf-weight-bold);
74
+ color: var(--rf-color-text);
75
+ padding: 0;
76
+ margin-bottom: 0.75rem;
77
+ }
78
+ /* Choice groups */
79
+ .rf-form-choice-group {
80
+ border: none;
81
+ padding: 0;
82
+ }
83
+ .rf-form-choice-group legend {
84
+ font-size: var(--rf-text-sm);
85
+ font-weight: var(--rf-weight-semibold);
86
+ color: var(--rf-color-text);
87
+ padding: 0;
88
+ margin-bottom: 0.5rem;
89
+ }
90
+ .rf-form-choice {
91
+ gap: 0.5rem;
92
+ padding: 0.375rem 0;
93
+ cursor: pointer;
94
+ font-size: var(--rf-text);
95
+ }
96
+ .rf-form-choice input {
97
+ margin: 0;
98
+ accent-color: var(--rf-color-primary);
99
+ }
100
+ /* Submit */
101
+ .rf-form__submit {
102
+ padding: 0.625rem 1.5rem;
103
+ background: var(--rf-color-primary);
104
+ color: white;
105
+ border: none;
106
+ border-radius: var(--rf-radius-md);
107
+ font-size: var(--rf-text);
108
+ font-weight: var(--rf-weight-semibold);
109
+ cursor: pointer;
110
+ transition: background 0.15s;
111
+ }
112
+ .rf-form__submit:hover {
113
+ background: color-mix(in srgb, var(--rf-color-primary) 85%, black);
114
+ }
115
+ .rf-form__submit:active {
116
+ transform: scale(0.98);
117
+ }
118
+ /* Help & description */
119
+ .rf-form__help {
120
+ font-size: var(--rf-text-sm);
121
+ color: var(--rf-color-muted);
122
+ font-style: italic;
123
+ margin: 0;
124
+ }
125
+ .rf-form__text {
126
+ font-size: var(--rf-text);
127
+ color: var(--rf-color-muted);
128
+ margin: 0;
129
+ }
130
+ /* Separator */
131
+ .rf-form__separator {
132
+ border: none;
133
+ border-top: 1px solid var(--rf-color-border);
134
+ margin: 0.5rem 0;
135
+ }
136
+ /* Status messages */
137
+ .rf-form__status {
138
+ padding: 0.75rem 1rem;
139
+ border-radius: var(--rf-radius-md);
140
+ font-size: var(--rf-text-sm);
141
+ font-weight: var(--rf-weight-medium);
142
+ }
143
+ .rf-form__status--submitting {
144
+ background: var(--rf-color-surface);
145
+ color: var(--rf-color-muted);
146
+ }
147
+ .rf-form__status--success {
148
+ background: color-mix(in srgb, var(--rf-color-success) 10%, transparent);
149
+ color: var(--rf-color-success);
150
+ border: 1px solid color-mix(in srgb, var(--rf-color-success) 25%, transparent);
151
+ }
152
+ .rf-form__status--error {
153
+ background: color-mix(in srgb, var(--rf-color-danger) 10%, transparent);
154
+ color: var(--rf-color-danger);
155
+ border: 1px solid color-mix(in srgb, var(--rf-color-danger) 25%, transparent);
156
+ }
156
157
  }
@@ -1,63 +1,62 @@
1
1
  @layer skin {
2
- /* Gallery — skin. The grid/carousel/masonry layouts, item/lightbox/nav positioning,
2
+ /* Gallery — skin. The grid/carousel/masonry layouts, item/lightbox/nav positioning,
3
3
  * and responsive columns live in @refrakt-md/skeleton (styles/runes/gallery.css). */
4
- .rf-gallery {
5
- margin: 0;
6
- --rf-gallery-edge: 0.5rem;
7
- --rf-gallery-gap: 0.5rem;
8
- padding: var(--rf-gallery-edge);
9
- }
10
- .rf-gallery__items {
11
- gap: var(--rf-gallery-gap);
12
- }
13
- .rf-gallery__item {
14
- border-radius: var(--rf-radius-md);
15
- margin: 0;
16
- }
17
- .rf-gallery__item figcaption {
18
- padding: 0.5rem 0.75rem;
19
- background: linear-gradient(transparent, rgba(0, 0, 0, 0.6));
20
- color: white;
21
- font-size: var(--rf-text-sm);
22
- }
23
- .rf-gallery > figcaption {
24
- margin-top: 0.625rem;
25
- font-size: var(--rf-text-sm);
26
- color: var(--rf-color-muted);
27
- text-align: center;
28
- font-style: italic;
29
- }
30
- /* Carousel nav chrome is now the shared `.rf-carousel__nav` (styles/runes/carousel.css). */
31
- .rf-gallery[data-layout="masonry"] .rf-gallery__items {
32
- column-gap: var(--rf-gallery-gap);
33
- }
34
- .rf-gallery[data-layout="masonry"] .rf-gallery__item {
35
- margin-bottom: var(--rf-gallery-gap);
36
- }
37
- .rf-gallery[data-lightbox="true"] .rf-gallery__item {
38
- cursor: zoom-in;
39
- }
40
- .rf-gallery__lightbox {
41
- background: rgba(0, 0, 0, 0.9);
42
- }
43
- .rf-gallery__lightbox img {
44
- border-radius: var(--rf-radius-md);
45
- }
46
- .rf-gallery__lightbox-close {
47
- border-radius: 50%;
48
- border: none;
49
- background: rgba(255, 255, 255, 0.15);
50
- color: white;
51
- font-size: var(--rf-text-2xl);
52
- cursor: pointer;
53
- }
54
- .rf-gallery__lightbox-nav {
55
- border-radius: 50%;
56
- border: none;
57
- background: rgba(255, 255, 255, 0.15);
58
- color: white;
59
- font-size: var(--rf-text-2xl);
60
- cursor: pointer;
61
- }
62
-
4
+ .rf-gallery {
5
+ margin: 0;
6
+ --rf-gallery-edge: 0.5rem;
7
+ --rf-gallery-gap: 0.5rem;
8
+ padding: var(--rf-gallery-edge);
9
+ }
10
+ .rf-gallery__items {
11
+ gap: var(--rf-gallery-gap);
12
+ }
13
+ .rf-gallery__item {
14
+ border-radius: var(--rf-radius-md);
15
+ margin: 0;
16
+ }
17
+ .rf-gallery__item figcaption {
18
+ padding: 0.5rem 0.75rem;
19
+ background: linear-gradient(transparent, rgba(0, 0, 0, 0.6));
20
+ color: white;
21
+ font-size: var(--rf-text-sm);
22
+ }
23
+ .rf-gallery > figcaption {
24
+ margin-top: 0.625rem;
25
+ font-size: var(--rf-text-sm);
26
+ color: var(--rf-color-muted);
27
+ text-align: center;
28
+ font-style: italic;
29
+ }
30
+ /* Carousel nav chrome is now the shared `.rf-carousel__nav` (styles/runes/carousel.css). */
31
+ .rf-gallery[data-layout="masonry"] .rf-gallery__items {
32
+ column-gap: var(--rf-gallery-gap);
33
+ }
34
+ .rf-gallery[data-layout="masonry"] .rf-gallery__item {
35
+ margin-bottom: var(--rf-gallery-gap);
36
+ }
37
+ .rf-gallery[data-lightbox="true"] .rf-gallery__item {
38
+ cursor: zoom-in;
39
+ }
40
+ .rf-gallery__lightbox {
41
+ background: rgba(0, 0, 0, 0.9);
42
+ }
43
+ .rf-gallery__lightbox img {
44
+ border-radius: var(--rf-radius-md);
45
+ }
46
+ .rf-gallery__lightbox-close {
47
+ border-radius: 50%;
48
+ border: none;
49
+ background: rgba(255, 255, 255, 0.15);
50
+ color: white;
51
+ font-size: var(--rf-text-2xl);
52
+ cursor: pointer;
53
+ }
54
+ .rf-gallery__lightbox-nav {
55
+ border-radius: 50%;
56
+ border: none;
57
+ background: rgba(255, 255, 255, 0.15);
58
+ color: white;
59
+ font-size: var(--rf-text-2xl);
60
+ cursor: pointer;
61
+ }
63
62
  }
@@ -1,10 +1,13 @@
1
1
  @layer skin {
2
- /* Grid — skin. The grid system (tracks, columns, flow, spans, modes, aspect cells,
2
+ /* Grid — skin. The grid system (tracks, columns, flow, spans, modes, aspect cells,
3
3
  * collapse) lives in @refrakt-md/skeleton (styles/runes/grid.css). */
4
- .rf-grid [data-layout="grid"] {
5
- gap: var(--grid-gap, 1.5rem);
6
- }
7
- .rf-grid [data-name="cell"] p:first-child { margin-top: 0; }
8
- .rf-grid [data-name="cell"] p:last-child { margin-bottom: 0; }
9
-
4
+ .rf-grid [data-layout="grid"] {
5
+ gap: var(--grid-gap, 1.5rem);
6
+ }
7
+ .rf-grid [data-name="cell"] p:first-child {
8
+ margin-top: 0;
9
+ }
10
+ .rf-grid [data-name="cell"] p:last-child {
11
+ margin-bottom: 0;
12
+ }
10
13
  }