@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
@@ -1,70 +0,0 @@
1
- <script lang="ts">
2
- import { Renderer } from '@refrakt-md/svelte';
3
-
4
- let { regions, renderable }: {
5
- title: string;
6
- description: string;
7
- regions: Record<string, { name: string; mode: string; content: any[] }>;
8
- renderable: any;
9
- pages: any[];
10
- } = $props();
11
- </script>
12
-
13
- {#if regions.header}
14
- <header class="site-header">
15
- <div class="site-header-inner">
16
- <Renderer node={regions.header.content} />
17
- </div>
18
- </header>
19
- {/if}
20
-
21
- <main class="page-content">
22
- <Renderer node={renderable} />
23
- </main>
24
-
25
- <style>
26
- .site-header {
27
- border-bottom: 1px solid var(--color-border);
28
- }
29
- .site-header-inner {
30
- display: flex;
31
- align-items: center;
32
- justify-content: space-between;
33
- padding: 0.875rem 1.5rem;
34
- }
35
- .site-header :global(p) {
36
- margin: 0;
37
- line-height: 1;
38
- }
39
- .site-header :global(a) {
40
- display: inline-block;
41
- color: inherit;
42
- text-decoration: none;
43
- }
44
- .site-header :global(a:hover) {
45
- text-decoration: none;
46
- }
47
- .site-header :global(img) {
48
- display: block;
49
- height: 1.5rem;
50
- width: auto;
51
- }
52
- .site-header-inner :global(p:last-child:not(:first-child)) {
53
- font-size: 0.85rem;
54
- }
55
- .site-header-inner :global(p:last-child:not(:first-child) a) {
56
- margin-left: 1.5rem;
57
- color: var(--color-muted);
58
- }
59
- .site-header-inner :global(p:last-child:not(:first-child) a:hover) {
60
- color: var(--color-text);
61
- }
62
- .page-content {
63
- padding-top: 2.5rem;
64
- padding-bottom: 4rem;
65
- max-width: 64rem;
66
- margin: 0 auto;
67
- padding-left: 1.5rem;
68
- padding-right: 1.5rem;
69
- }
70
- </style>
@@ -1,133 +0,0 @@
1
- <script lang="ts">
2
- import { Renderer } from '@refrakt-md/svelte';
3
-
4
- let { regions, renderable }: {
5
- title: string;
6
- description: string;
7
- regions: Record<string, { name: string; mode: string; content: any[] }>;
8
- renderable: any;
9
- pages: any[];
10
- } = $props();
11
-
12
- const hasNav = $derived(!!regions.nav);
13
- </script>
14
-
15
- {#if regions.header}
16
- <header class="site-header">
17
- <div class="site-header-inner">
18
- <Renderer node={regions.header.content} />
19
- </div>
20
- </header>
21
- {/if}
22
-
23
- {#if regions.nav}
24
- <aside class="sidebar">
25
- <Renderer node={regions.nav.content} />
26
- </aside>
27
- {/if}
28
-
29
- <main class="page-content" class:has-nav={hasNav}>
30
- <div class="page-content-inner">
31
- <Renderer node={renderable} />
32
- </div>
33
- </main>
34
-
35
- <style>
36
- /* ---- Fixed header ---- */
37
- .site-header {
38
- position: fixed;
39
- top: 0;
40
- left: 0;
41
- right: 0;
42
- z-index: 10;
43
- background: var(--color-bg, #fff);
44
- border-bottom: 1px solid var(--color-border);
45
- }
46
- .site-header-inner {
47
- display: flex;
48
- align-items: center;
49
- justify-content: space-between;
50
- padding: 0.875rem 1.5rem;
51
- }
52
- .site-header :global(p) {
53
- margin: 0;
54
- line-height: 1;
55
- }
56
- .site-header :global(a) {
57
- display: inline-block;
58
- color: inherit;
59
- text-decoration: none;
60
- }
61
- .site-header :global(a:hover) {
62
- text-decoration: none;
63
- }
64
- .site-header :global(img) {
65
- display: block;
66
- height: 1.5rem;
67
- width: auto;
68
- }
69
- .site-header-inner :global(p:last-child:not(:first-child)) {
70
- font-size: 0.85rem;
71
- }
72
- .site-header-inner :global(p:last-child:not(:first-child) a) {
73
- margin-left: 1.5rem;
74
- color: var(--color-muted);
75
- }
76
- .site-header-inner :global(p:last-child:not(:first-child) a:hover) {
77
- color: var(--color-text);
78
- }
79
-
80
- /* ---- Fixed sidebar ---- */
81
- .sidebar {
82
- position: fixed;
83
- left: 0;
84
- top: 3.375rem; /* header height */
85
- bottom: 0;
86
- width: 240px;
87
- overflow-y: auto;
88
- padding: 1.5rem;
89
- border-right: 1px solid var(--color-border);
90
- background: var(--color-bg, #fff);
91
- z-index: 5;
92
- }
93
- .sidebar::-webkit-scrollbar {
94
- width: 0;
95
- }
96
-
97
- /* ---- Content area ---- */
98
- .page-content {
99
- padding-top: 5rem; /* clears fixed header */
100
- padding-bottom: 4rem;
101
- }
102
- .page-content.has-nav {
103
- margin-left: 240px;
104
- }
105
- .page-content-inner {
106
- max-width: 60rem;
107
- margin: 0 auto;
108
- padding: 0 2.5rem;
109
- }
110
-
111
- /* ---- Mobile ---- */
112
- @media (max-width: 768px) {
113
- .site-header {
114
- position: static;
115
- }
116
- .sidebar {
117
- position: static;
118
- width: auto;
119
- border-right: none;
120
- border-bottom: 1px solid var(--color-border);
121
- padding: 1rem 1.5rem;
122
- }
123
- .page-content {
124
- padding-top: 2rem;
125
- }
126
- .page-content.has-nav {
127
- margin-left: 0;
128
- }
129
- .page-content-inner {
130
- padding: 0 1.5rem;
131
- }
132
- }
133
- </style>
@@ -1,59 +0,0 @@
1
- import type { ComponentRegistry } from '@refrakt-md/svelte';
2
- import Tabs from './components/Tabs.svelte';
3
- import DataTable from './components/DataTable.svelte';
4
- import Diagram from './components/Diagram.svelte';
5
- import Reveal from './components/Reveal.svelte';
6
- import Form from './components/Form.svelte';
7
- import Nav from './components/Nav.svelte';
8
- import Accordion from './components/Accordion.svelte';
9
- import Details from './components/Details.svelte';
10
- import Chart from './components/Chart.svelte';
11
- import Grid from './components/Grid.svelte';
12
- import Comparison from './components/Comparison.svelte';
13
- import Pricing from './components/Pricing.svelte';
14
- import Testimonial from './components/Testimonial.svelte';
15
- import Embed from './components/Embed.svelte';
16
- import Storyboard from './components/Storyboard.svelte';
17
- import Bento from './components/Bento.svelte';
18
- import CodeGroup from './components/CodeGroup.svelte';
19
-
20
- /** Maps typeof attribute values to Lumina theme Svelte components.
21
- * Components registered here handle interactive behavior, complex data
22
- * rendering, or dynamic layouts. All other runes use the generic Renderer
23
- * path with BEM classes applied by the identity transform.
24
- */
25
- export const registry: ComponentRegistry = {
26
- // Interactive
27
- 'CodeGroup': CodeGroup,
28
- 'TabGroup': Tabs,
29
- 'Tab': Tabs,
30
- 'DataTable': DataTable,
31
- 'Form': Form,
32
- 'FormField': Form,
33
- 'Reveal': Reveal,
34
- 'RevealStep': Reveal,
35
- 'Diagram': Diagram,
36
- 'Nav': Nav,
37
- 'NavGroup': Nav,
38
- 'NavItem': Nav,
39
- 'Accordion': Accordion,
40
- 'AccordionItem': Accordion,
41
- 'Details': Details,
42
- // Complex data rendering
43
- 'Chart': Chart,
44
- 'Comparison': Comparison,
45
- 'ComparisonColumn': Comparison,
46
- 'ComparisonRow': Comparison,
47
- // Dynamic layout
48
- 'Grid': Grid,
49
- 'Storyboard': Storyboard,
50
- 'StoryboardPanel': Storyboard,
51
- 'Bento': Bento,
52
- 'BentoCell': Bento,
53
- 'Embed': Embed,
54
- // Rendering logic
55
- 'Pricing': Pricing,
56
- 'Tier': Pricing,
57
- 'FeaturedTier': Pricing,
58
- 'Testimonial': Testimonial,
59
- };
@@ -1,71 +0,0 @@
1
- /* ──────────────────────────────────────────────
2
- Lumina Theme — Token Bridge
3
- Imports identity tokens + global styles (--rf-* prefix),
4
- then aliases legacy --* names for existing components.
5
- ────────────────────────────────────────────── */
6
-
7
- @import '../index.css';
8
-
9
- :root {
10
- /* Typography */
11
- --font-sans: var(--rf-font-sans);
12
- --font-mono: var(--rf-font-mono);
13
-
14
- /* Primary scale */
15
- --color-primary-50: var(--rf-color-primary-50);
16
- --color-primary-100: var(--rf-color-primary-100);
17
- --color-primary-200: var(--rf-color-primary-200);
18
- --color-primary-300: var(--rf-color-primary-300);
19
- --color-primary-400: var(--rf-color-primary-400);
20
- --color-primary-500: var(--rf-color-primary-500);
21
- --color-primary-600: var(--rf-color-primary-600);
22
- --color-primary-700: var(--rf-color-primary-700);
23
- --color-primary-800: var(--rf-color-primary-800);
24
- --color-primary-900: var(--rf-color-primary-900);
25
- --color-primary-950: var(--rf-color-primary-950);
26
-
27
- /* Core palette */
28
- --color-text: var(--rf-color-text);
29
- --color-muted: var(--rf-color-muted);
30
- --color-border: var(--rf-color-border);
31
- --color-bg: var(--rf-color-bg);
32
- --color-primary: var(--rf-color-primary);
33
- --color-primary-hover: var(--rf-color-primary-hover);
34
-
35
- /* Surfaces */
36
- --color-surface: var(--rf-color-surface);
37
- --color-surface-hover: var(--rf-color-surface-hover);
38
- --color-surface-active: var(--rf-color-surface-active);
39
- --color-surface-raised: var(--rf-color-surface-raised);
40
-
41
- /* Semantic */
42
- --color-info: var(--rf-color-info);
43
- --color-info-bg: var(--rf-color-info-bg);
44
- --color-info-border: var(--rf-color-info-border);
45
- --color-warning: var(--rf-color-warning);
46
- --color-warning-bg: var(--rf-color-warning-bg);
47
- --color-warning-border: var(--rf-color-warning-border);
48
- --color-danger: var(--rf-color-danger);
49
- --color-danger-bg: var(--rf-color-danger-bg);
50
- --color-danger-border: var(--rf-color-danger-border);
51
- --color-success: var(--rf-color-success);
52
- --color-success-bg: var(--rf-color-success-bg);
53
- --color-success-border: var(--rf-color-success-border);
54
-
55
- /* Radii */
56
- --radius-sm: var(--rf-radius-sm);
57
- --radius-md: var(--rf-radius-md);
58
- --radius-lg: var(--rf-radius-lg);
59
- --radius-full: var(--rf-radius-full);
60
-
61
- /* Shadows */
62
- --shadow-xs: var(--rf-shadow-xs);
63
- --shadow-sm: var(--rf-shadow-sm);
64
- --shadow-md: var(--rf-shadow-md);
65
- --shadow-lg: var(--rf-shadow-lg);
66
-
67
- /* Code block */
68
- --color-code-bg: var(--rf-color-code-bg);
69
- --color-code-text: var(--rf-color-code-text);
70
- --color-inline-code-bg: var(--rf-color-inline-code-bg);
71
- }