@refrakt-md/lumina 0.4.0 → 0.5.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 (71) hide show
  1. package/base.css +16 -0
  2. package/contracts/structures.json +1317 -3
  3. package/dist/config.d.ts +2 -3
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +4 -229
  6. package/dist/config.js.map +1 -1
  7. package/dist/transform.d.ts +2 -0
  8. package/dist/transform.d.ts.map +1 -1
  9. package/dist/transform.js +2 -0
  10. package/dist/transform.js.map +1 -1
  11. package/index.css +11 -0
  12. package/package.json +18 -11
  13. package/styles/elements/blockquote.css +8 -4
  14. package/styles/global.css +0 -7
  15. package/styles/layouts/blog.css +255 -0
  16. package/styles/layouts/default.css +11 -3
  17. package/styles/layouts/docs.css +67 -13
  18. package/styles/layouts/mobile.css +84 -0
  19. package/styles/runes/bento.css +2 -0
  20. package/styles/runes/codegroup.css +7 -2
  21. package/styles/runes/design-context.css +25 -0
  22. package/styles/runes/feature.css +20 -14
  23. package/styles/runes/form.css +1 -2
  24. package/styles/runes/grid.css +25 -7
  25. package/styles/runes/hero.css +15 -0
  26. package/styles/runes/map.css +113 -0
  27. package/styles/runes/palette.css +86 -0
  28. package/styles/runes/preview.css +187 -0
  29. package/styles/runes/sandbox.css +23 -0
  30. package/styles/runes/spacing.css +105 -0
  31. package/styles/runes/steps.css +7 -1
  32. package/styles/runes/swatch.css +28 -0
  33. package/styles/runes/symbol.css +164 -0
  34. package/styles/runes/tabs.css +6 -0
  35. package/styles/runes/testimonial.css +2 -3
  36. package/styles/runes/timeline.css +43 -24
  37. package/styles/runes/typography.css +91 -0
  38. package/svelte/elements.ts +1 -0
  39. package/{sveltekit → svelte}/index.ts +0 -8
  40. package/svelte/layouts/BlogLayout.svelte +173 -0
  41. package/svelte/layouts/DefaultLayout.svelte +67 -0
  42. package/svelte/layouts/DocsLayout.svelte +155 -0
  43. package/{sveltekit → svelte}/manifest.json +1 -1
  44. package/svelte/registry.ts +2 -0
  45. package/svelte/tokens.css +6 -0
  46. package/sveltekit/components/Accordion.svelte +0 -26
  47. package/sveltekit/components/Bento.svelte +0 -50
  48. package/sveltekit/components/Chart.svelte +0 -121
  49. package/sveltekit/components/CodeGroup.svelte +0 -88
  50. package/sveltekit/components/Comparison.svelte +0 -209
  51. package/sveltekit/components/DataTable.svelte +0 -154
  52. package/sveltekit/components/Details.svelte +0 -23
  53. package/sveltekit/components/Diagram.svelte +0 -45
  54. package/sveltekit/components/Embed.svelte +0 -36
  55. package/sveltekit/components/Form.svelte +0 -194
  56. package/sveltekit/components/Grid.svelte +0 -42
  57. package/sveltekit/components/Nav.svelte +0 -62
  58. package/sveltekit/components/Pricing.svelte +0 -20
  59. package/sveltekit/components/Reveal.svelte +0 -62
  60. package/sveltekit/components/Storyboard.svelte +0 -41
  61. package/sveltekit/components/Tabs.svelte +0 -75
  62. package/sveltekit/components/Testimonial.svelte +0 -26
  63. package/sveltekit/elements/Blockquote.svelte +0 -37
  64. package/sveltekit/elements/Pre.svelte +0 -77
  65. package/sveltekit/elements/Table.svelte +0 -40
  66. package/sveltekit/elements.ts +0 -11
  67. package/sveltekit/layouts/BlogLayout.svelte +0 -382
  68. package/sveltekit/layouts/DefaultLayout.svelte +0 -70
  69. package/sveltekit/layouts/DocsLayout.svelte +0 -133
  70. package/sveltekit/registry.ts +0 -59
  71. package/sveltekit/tokens.css +0 -71
package/dist/config.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import type { ThemeConfig } from '@refrakt-md/transform';
2
- /** Lumina theme configuration — drives the identity transform */
3
- export declare const luminaConfig: ThemeConfig;
1
+ /** Lumina theme configuration extends base with icon SVGs */
2
+ export declare const luminaConfig: import("@refrakt-md/theme-base").ThemeConfig;
4
3
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,iEAAiE;AACjE,eAAO,MAAM,YAAY,EAAE,WAgP1B,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,+DAA+D;AAC/D,eAAO,MAAM,YAAY,8CASvB,CAAC"}
package/dist/config.js CHANGED
@@ -1,7 +1,6 @@
1
- /** Lumina theme configuration drives the identity transform */
2
- export const luminaConfig = {
3
- prefix: 'rf',
4
- tokenPrefix: '--rf',
1
+ import { baseConfig, mergeThemeConfig } from '@refrakt-md/theme-base';
2
+ /** Lumina theme configuration — extends base with icon SVGs */
3
+ export const luminaConfig = mergeThemeConfig(baseConfig, {
5
4
  icons: {
6
5
  hint: {
7
6
  note: '<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>',
@@ -10,229 +9,5 @@ export const luminaConfig = {
10
9
  check: '<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><polyline points="22 4 12 14.01 9 11.01"/></svg>',
11
10
  },
12
11
  },
13
- runes: {
14
- // ─── Simple runes (block name only, engine adds BEM classes) ───
15
- Accordion: { block: 'accordion' },
16
- AccordionItem: { block: 'accordion-item', autoLabel: { name: 'header' } },
17
- Details: { block: 'details', autoLabel: { summary: 'summary' } },
18
- Grid: { block: 'grid' },
19
- CodeGroup: {
20
- block: 'codegroup',
21
- structure: {
22
- topbar: {
23
- tag: 'div', before: true,
24
- children: [
25
- { tag: 'span', ref: 'dot' },
26
- { tag: 'span', ref: 'dot' },
27
- { tag: 'span', ref: 'dot' },
28
- ],
29
- },
30
- },
31
- },
32
- PageSection: { block: 'page-section' },
33
- TableOfContents: { block: 'toc' },
34
- Embed: { block: 'embed' },
35
- Breadcrumb: { block: 'breadcrumb' },
36
- BreadcrumbItem: { block: 'breadcrumb-item' },
37
- Testimonial: { block: 'testimonial' },
38
- Timeline: { block: 'timeline' },
39
- TimelineEntry: { block: 'timeline-entry' },
40
- Changelog: { block: 'changelog' },
41
- ChangelogRelease: { block: 'changelog-release' },
42
- Event: {
43
- block: 'event',
44
- contentWrapper: { tag: 'div', ref: 'content' },
45
- modifiers: {
46
- date: { source: 'meta' },
47
- endDate: { source: 'meta' },
48
- location: { source: 'meta' },
49
- url: { source: 'meta' },
50
- },
51
- structure: {
52
- details: {
53
- tag: 'div', before: true,
54
- children: [
55
- {
56
- tag: 'div', ref: 'detail', condition: 'date',
57
- children: [
58
- { tag: 'span', ref: 'label', children: ['Date'] },
59
- { tag: 'span', ref: 'value', metaText: 'date' },
60
- { tag: 'span', ref: 'end-date', metaText: 'endDate', textPrefix: ' — ', condition: 'endDate' },
61
- ],
62
- },
63
- {
64
- tag: 'div', ref: 'detail', condition: 'location',
65
- children: [
66
- { tag: 'span', ref: 'label', children: ['Location'] },
67
- { tag: 'span', ref: 'value', metaText: 'location' },
68
- ],
69
- },
70
- {
71
- tag: 'a', ref: 'register', condition: 'url',
72
- attrs: { href: { fromModifier: 'url' } },
73
- children: ['Register'],
74
- },
75
- ],
76
- },
77
- },
78
- },
79
- Organization: { block: 'organization' },
80
- Cast: { block: 'cast' },
81
- CastMember: { block: 'cast-member' },
82
- Recipe: {
83
- block: 'recipe',
84
- contentWrapper: { tag: 'div', ref: 'content' },
85
- modifiers: {
86
- prepTime: { source: 'meta' },
87
- cookTime: { source: 'meta' },
88
- servings: { source: 'meta' },
89
- difficulty: { source: 'meta', default: 'medium' },
90
- },
91
- structure: {
92
- meta: {
93
- tag: 'div', before: true,
94
- conditionAny: ['prepTime', 'cookTime', 'servings', 'difficulty'],
95
- children: [
96
- { tag: 'span', ref: 'meta-item', metaText: 'prepTime', transform: 'duration', textPrefix: 'Prep: ', condition: 'prepTime' },
97
- { tag: 'span', ref: 'meta-item', metaText: 'cookTime', transform: 'duration', textPrefix: 'Cook: ', condition: 'cookTime' },
98
- { tag: 'span', ref: 'meta-item', metaText: 'servings', textPrefix: 'Serves: ', condition: 'servings' },
99
- { tag: 'span', ref: 'badge', metaText: 'difficulty', condition: 'difficulty' },
100
- ],
101
- },
102
- },
103
- },
104
- RecipeIngredient: { block: 'recipe-ingredient' },
105
- Pricing: { block: 'pricing' },
106
- Tier: { block: 'tier' },
107
- FeaturedTier: { block: 'featured-tier' },
108
- Feature: { block: 'feature', contextModifiers: { 'Hero': 'in-hero', 'Grid': 'in-grid' } },
109
- FeatureDefinition: { block: 'feature-definition' },
110
- Steps: { block: 'steps' },
111
- Step: { block: 'step' },
112
- Nav: { block: 'nav' },
113
- NavGroup: { block: 'nav-group' },
114
- NavItem: { block: 'nav-item' },
115
- Api: {
116
- block: 'api',
117
- contentWrapper: { tag: 'div', ref: 'body' },
118
- modifiers: {
119
- method: { source: 'meta', default: 'GET' },
120
- path: { source: 'meta' },
121
- auth: { source: 'meta' },
122
- },
123
- structure: {
124
- header: {
125
- tag: 'div', before: true,
126
- children: [
127
- { tag: 'span', ref: 'method', metaText: 'method' },
128
- { tag: 'code', ref: 'path', metaText: 'path' },
129
- { tag: 'span', ref: 'auth', metaText: 'auth', condition: 'auth' },
130
- ],
131
- },
132
- },
133
- },
134
- Diff: {
135
- block: 'diff',
136
- modifiers: { mode: { source: 'meta', default: 'unified' } },
137
- },
138
- Chart: { block: 'chart' },
139
- MusicPlaylist: { block: 'music-playlist' },
140
- MusicRecording: { block: 'music-recording' },
141
- // ─── Runes with modifier meta tags ───
142
- Hint: {
143
- block: 'hint',
144
- modifiers: { hintType: { source: 'meta', default: 'note' } },
145
- contextModifiers: { 'Hero': 'in-hero', 'Feature': 'in-feature' },
146
- structure: {
147
- header: {
148
- tag: 'div', before: true,
149
- children: [
150
- { tag: 'span', ref: 'icon', icon: { group: 'hint', variant: 'hintType' } },
151
- { tag: 'span', ref: 'title', metaText: 'hintType' },
152
- ],
153
- },
154
- },
155
- },
156
- Hero: {
157
- block: 'hero',
158
- modifiers: { align: { source: 'meta', default: 'center' } },
159
- contextModifiers: { 'Feature': 'in-feature' },
160
- },
161
- CallToAction: { block: 'cta', contextModifiers: { 'Hero': 'in-hero', 'Pricing': 'in-pricing' } },
162
- Figure: {
163
- block: 'figure',
164
- modifiers: {
165
- size: { source: 'meta', default: 'default' },
166
- align: { source: 'meta', default: 'center' },
167
- },
168
- },
169
- Sidenote: {
170
- block: 'sidenote',
171
- modifiers: { style: { source: 'meta', default: 'sidenote' } },
172
- },
173
- Compare: {
174
- block: 'compare',
175
- modifiers: { layout: { source: 'meta', default: 'side-by-side' } },
176
- },
177
- Conversation: { block: 'conversation' },
178
- ConversationMessage: {
179
- block: 'conversation-message',
180
- modifiers: { alignment: { source: 'meta', default: 'left' } },
181
- },
182
- Annotate: {
183
- block: 'annotate',
184
- modifiers: { style: { source: 'meta', default: 'margin' } },
185
- },
186
- AnnotateNote: { block: 'annotate-note' },
187
- Storyboard: {
188
- block: 'storyboard',
189
- modifiers: { style: { source: 'meta', default: 'clean' } },
190
- },
191
- StoryboardPanel: { block: 'storyboard-panel' },
192
- Bento: { block: 'bento' },
193
- BentoCell: {
194
- block: 'bento-cell',
195
- modifiers: { size: { source: 'meta', default: 'medium' } },
196
- },
197
- Comparison: { block: 'comparison' },
198
- ComparisonColumn: { block: 'comparison-column' },
199
- ComparisonRow: {
200
- block: 'comparison-row',
201
- modifiers: { rowType: { source: 'meta', default: 'text' } },
202
- },
203
- HowTo: {
204
- block: 'howto',
205
- contentWrapper: { tag: 'div', ref: 'content' },
206
- modifiers: {
207
- estimatedTime: { source: 'meta' },
208
- difficulty: { source: 'meta', default: 'medium' },
209
- },
210
- structure: {
211
- meta: {
212
- tag: 'div', before: true,
213
- conditionAny: ['estimatedTime', 'difficulty'],
214
- children: [
215
- { tag: 'span', ref: 'meta-item', metaText: 'estimatedTime', transform: 'duration', textPrefix: 'Estimated time: ', condition: 'estimatedTime' },
216
- { tag: 'span', ref: 'meta-item', metaText: 'difficulty', textPrefix: 'Difficulty: ', condition: 'difficulty' },
217
- ],
218
- },
219
- },
220
- },
221
- // ─── Interactive runes (still get BEM classes, components add behavior) ───
222
- TabGroup: { block: 'tabs' },
223
- Tab: { block: 'tab' },
224
- DataTable: { block: 'datatable' },
225
- Form: {
226
- block: 'form',
227
- modifiers: { style: { source: 'meta', default: 'stacked' } },
228
- },
229
- FormField: {
230
- block: 'form-field',
231
- modifiers: { fieldType: { source: 'meta', default: 'text' } },
232
- },
233
- Reveal: { block: 'reveal' },
234
- RevealStep: { block: 'reveal-step' },
235
- Diagram: { block: 'diagram' },
236
- },
237
- };
12
+ });
238
13
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,+DAA+D;AAC/D,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,EAAE;IACxD,KAAK,EAAE;QACN,IAAI,EAAE;YACL,IAAI,EAAE,4SAA4S;YAClT,OAAO,EAAE,iXAAiX;YAC1X,OAAO,EAAE,uSAAuS;YAChT,KAAK,EAAE,qRAAqR;SAC5R;KACD;CACD,CAAC,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export { createTransform } from '@refrakt-md/transform';
2
2
  export type { ThemeConfig, RuneConfig, SerializedTag, RendererNode } from '@refrakt-md/transform';
3
+ /** Lumina theme configuration — rune-to-BEM-block mappings, modifier sources, structural injection */
4
+ export { luminaConfig } from './config.js';
3
5
  /** Lumina identity transform — adds BEM classes, consumes meta tags, enhances structure */
4
6
  export declare const identityTransform: (tree: import("@refrakt-md/transform").RendererNode) => import("@refrakt-md/transform").RendererNode;
5
7
  //# sourceMappingURL=transform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAElG,2FAA2F;AAC3F,eAAO,MAAM,iBAAiB,sGAAgC,CAAC"}
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAElG,sGAAsG;AACtG,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,2FAA2F;AAC3F,eAAO,MAAM,iBAAiB,sGAAgC,CAAC"}
package/dist/transform.js CHANGED
@@ -2,6 +2,8 @@ import { createTransform } from '@refrakt-md/transform';
2
2
  import { luminaConfig } from './config.js';
3
3
  // Re-export everything from @refrakt-md/transform for backward compat
4
4
  export { createTransform } from '@refrakt-md/transform';
5
+ /** Lumina theme configuration — rune-to-BEM-block mappings, modifier sources, structural injection */
6
+ export { luminaConfig } from './config.js';
5
7
  /** Lumina identity transform — adds BEM classes, consumes meta tags, enhances structure */
6
8
  export const identityTransform = createTransform(luminaConfig);
7
9
  //# sourceMappingURL=transform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,sEAAsE;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,2FAA2F;AAC3F,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,sEAAsE;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,sGAAsG;AACtG,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,2FAA2F;AAC3F,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC"}
package/index.css CHANGED
@@ -12,8 +12,10 @@
12
12
  @import './styles/elements/blockquote.css';
13
13
 
14
14
  /* Layouts */
15
+ @import './styles/layouts/mobile.css';
15
16
  @import './styles/layouts/default.css';
16
17
  @import './styles/layouts/docs.css';
18
+ @import './styles/layouts/blog.css';
17
19
 
18
20
  /* Runes */
19
21
  @import './styles/runes/accordion.css';
@@ -42,16 +44,25 @@
42
44
  @import './styles/runes/hero.css';
43
45
  @import './styles/runes/hint.css';
44
46
  @import './styles/runes/howto.css';
47
+ @import './styles/runes/map.css';
45
48
  @import './styles/runes/nav.css';
46
49
  @import './styles/runes/organization.css';
47
50
  @import './styles/runes/page-section.css';
51
+ @import './styles/runes/preview.css';
48
52
  @import './styles/runes/pricing.css';
53
+ @import './styles/runes/sandbox.css';
49
54
  @import './styles/runes/recipe.css';
50
55
  @import './styles/runes/reveal.css';
51
56
  @import './styles/runes/sidenote.css';
52
57
  @import './styles/runes/steps.css';
53
58
  @import './styles/runes/storyboard.css';
59
+ @import './styles/runes/symbol.css';
54
60
  @import './styles/runes/tabs.css';
55
61
  @import './styles/runes/testimonial.css';
56
62
  @import './styles/runes/timeline.css';
57
63
  @import './styles/runes/toc.css';
64
+ @import './styles/runes/swatch.css';
65
+ @import './styles/runes/palette.css';
66
+ @import './styles/runes/typography.css';
67
+ @import './styles/runes/spacing.css';
68
+ @import './styles/runes/design-context.css';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@refrakt-md/lumina",
3
3
  "description": "Lumina theme for refrakt.md — design tokens, CSS, identity transform, and framework adapters",
4
- "version": "0.4.0",
4
+ "version": "0.5.0",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -16,41 +16,48 @@
16
16
  "types": "dist/transform.d.ts",
17
17
  "exports": {
18
18
  ".": "./index.css",
19
+ "./base.css": "./base.css",
19
20
  "./transform": {
20
21
  "types": "./dist/transform.d.ts",
21
22
  "default": "./dist/transform.js"
22
23
  },
23
24
  "./manifest": "./manifest.json",
24
25
  "./contracts": "./contracts/structures.json",
25
- "./sveltekit": {
26
- "types": "./sveltekit/index.ts",
27
- "svelte": "./sveltekit/index.ts",
28
- "default": "./sveltekit/index.ts"
26
+ "./svelte": {
27
+ "types": "./svelte/index.ts",
28
+ "svelte": "./svelte/index.ts",
29
+ "default": "./svelte/index.ts"
29
30
  },
30
- "./sveltekit/tokens.css": "./sveltekit/tokens.css",
31
- "./sveltekit/manifest": "./sveltekit/manifest.json"
31
+ "./styles/runes/*.css": "./styles/runes/*.css",
32
+ "./svelte/tokens.css": "./svelte/tokens.css",
33
+ "./svelte/manifest": "./svelte/manifest.json"
32
34
  },
33
35
  "files": [
34
36
  "dist",
37
+ "base.css",
35
38
  "index.css",
36
39
  "tokens",
37
40
  "styles",
38
41
  "contracts",
39
42
  "manifest.json",
40
- "sveltekit"
43
+ "svelte"
41
44
  ],
42
45
  "scripts": {
43
46
  "build": "tsc"
44
47
  },
45
48
  "dependencies": {
46
- "@refrakt-md/transform": "0.4.0",
47
- "@refrakt-md/types": "0.4.0",
48
- "@refrakt-md/svelte": "0.4.0"
49
+ "@refrakt-md/theme-base": "0.5.0",
50
+ "@refrakt-md/transform": "0.5.0",
51
+ "@refrakt-md/types": "0.5.0",
52
+ "@refrakt-md/svelte": "0.5.0"
49
53
  },
50
54
  "peerDependencies": {
51
55
  "svelte": "^5.0.0",
52
56
  "@sveltejs/kit": "^2.0.0"
53
57
  },
58
+ "devDependencies": {
59
+ "postcss": "^8.4.0"
60
+ },
54
61
  "peerDependenciesMeta": {
55
62
  "svelte": {
56
63
  "optional": true
@@ -1,5 +1,5 @@
1
1
  /* Blockquote */
2
- .rf-blockquote {
2
+ blockquote {
3
3
  position: relative;
4
4
  border-left: 3px solid var(--rf-color-primary);
5
5
  margin: 1.5rem 0;
@@ -8,15 +8,19 @@
8
8
  background: var(--rf-color-surface);
9
9
  border-radius: 0 var(--rf-radius-md) var(--rf-radius-md) 0;
10
10
  }
11
- .rf-blockquote__mark {
11
+ blockquote::before {
12
+ content: '';
12
13
  position: absolute;
13
14
  left: 0.75rem;
14
15
  top: 1rem;
15
16
  width: 18px;
16
17
  height: 18px;
17
- color: var(--rf-color-primary);
18
+ background: var(--rf-color-primary);
18
19
  opacity: 0.4;
20
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 8C10 5.79 8.21 4 6 4C3.79 4 2 5.79 2 8C2 10.21 3.79 12 6 12C6.67 12 7.31 11.83 7.88 11.54C7.63 14.08 5.55 16.09 3 16.34V18.36C6.68 18.09 9.64 15.13 9.93 11.45C9.98 10.99 10 10.5 10 10V8ZM22 8C22 5.79 20.21 4 18 4C15.79 4 14 5.79 14 8C14 10.21 15.79 12 18 12C18.67 12 19.31 11.83 19.88 11.54C19.63 14.08 17.55 16.09 15 16.34V18.36C18.68 18.09 21.64 15.13 21.93 11.45C21.98 10.99 22 10.5 22 10V8Z'/%3E%3C/svg%3E");
21
+ mask-size: contain;
22
+ mask-repeat: no-repeat;
19
23
  }
20
- .rf-blockquote p:last-child {
24
+ blockquote p:last-child {
21
25
  margin-bottom: 0;
22
26
  }
package/styles/global.css CHANGED
@@ -102,13 +102,6 @@ li > p {
102
102
  margin-bottom: 0.5rem;
103
103
  }
104
104
 
105
- blockquote {
106
- border-left: 3px solid var(--rf-color-border);
107
- margin: 1.5rem 0;
108
- padding: 0.5rem 1rem;
109
- color: var(--rf-color-muted);
110
- }
111
-
112
105
  table {
113
106
  width: 100%;
114
107
  border-collapse: collapse;