@meddleware/dev 0.0.2 → 0.0.3

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.
@@ -23,9 +23,20 @@ export default defineConfig({
23
23
  search: { provider: 'local' },
24
24
 
25
25
  nav: [
26
- { text: 'Getting started', link: '/getting-started/' },
27
- { text: 'Design system', link: '/design-system/' },
28
- { text: 'Sui', link: '/sui/' },
26
+ {
27
+ text: 'Web',
28
+ items: [
29
+ { text: 'Getting started', link: '/getting-started/' },
30
+ { text: 'Design system', link: '/design-system/' },
31
+ ],
32
+ },
33
+ {
34
+ text: 'Blockchain',
35
+ items: [
36
+ { text: 'Active', items: [{ text: 'Sui', link: '/sui/' }] },
37
+ { text: 'Coming soon', items: [{ text: 'More blockchains', link: '/blockchain/' }] },
38
+ ],
39
+ },
29
40
  { text: 'API reference →', link: 'https://docs.meddleware.co.uk/blockchain/sui/' },
30
41
  // TODO white-label: { text: 'Operator guides', link: '/operator/' }
31
42
  ],
@@ -1,63 +1,56 @@
1
1
  /*
2
2
  * Meddleware brand overrides for the VitePress default theme.
3
- * Brand = the functional primaries from @meddleware/design-tokens (red accent + blue), so the
4
- * dev docs track the apps. No gold/purple (design philosophy: primary/rainbow accents as human
5
- * universals, not royalty/priesthood signalling).
3
+ * Brand = the naturalistic triadic palette from @meddleware/design-tokens (terracotta accent,
4
+ * moss primary, slate secondary), so the dev docs track the apps. Breaking the red/blue binary
5
+ * with earth-derived colours that appear together in nature.
6
6
  */
7
7
 
8
8
  :root {
9
- /* Brand = primary red (mirrors --accent in the apps). */
10
- --vp-c-brand-1: var(--mw-red-500);
11
- --vp-c-brand-2: var(--mw-red-300);
12
- --vp-c-brand-3: var(--mw-red-300);
13
- --vp-c-brand-soft: color-mix(in srgb, var(--mw-red-500) 14%, transparent);
9
+ /* Brand = primary terracotta (mirrors --accent in the apps). */
10
+ --vp-c-brand-1: var(--mw-terracotta-500);
11
+ --vp-c-brand-2: var(--mw-terracotta-300);
12
+ --vp-c-brand-3: var(--mw-terracotta-600);
13
+ --vp-c-brand-soft: rgba(184, 69, 39, 0.14);
14
14
 
15
- /* Home hero: redblue wash, warm (orange) glow — no gold. */
15
+ /* Home hero: terracottamoss wash (earth-derived triad). */
16
16
  --vp-home-hero-name-color: transparent;
17
17
  --vp-home-hero-name-background: linear-gradient(
18
- 120deg,
19
- var(--mw-red-500),
20
- var(--mw-blue-500)
18
+ 135deg,
19
+ var(--mw-terracotta-500),
20
+ var(--mw-moss-500)
21
21
  );
22
22
  --vp-home-hero-image-background-image: linear-gradient(
23
- 120deg,
24
- var(--mw-red-300),
25
- var(--mw-orange-500)
23
+ 135deg,
24
+ var(--mw-terracotta-300),
25
+ var(--mw-moss-500)
26
26
  );
27
27
  --vp-home-hero-image-filter: blur(44px);
28
28
  }
29
29
 
30
30
  .dark {
31
- /* Dark mode: lightened red for legibility (mirrors --accent dark stop in tokens). */
32
- --vp-c-brand-1: var(--mw-red-300);
33
- --vp-c-brand-2: var(--mw-red-300);
34
- --vp-c-brand-3: var(--mw-red-500);
35
- --vp-c-brand-soft: color-mix(in srgb, var(--mw-red-500) 30%, transparent);
31
+ /* Dark mode: lightened terracotta for legibility (mirrors --accent dark stop in tokens). */
32
+ --vp-c-brand-1: var(--mw-terracotta-300);
33
+ --vp-c-brand-2: var(--mw-terracotta-500);
34
+ --vp-c-brand-3: var(--mw-terracotta-600);
35
+ --vp-c-brand-soft: rgba(224, 120, 80, 0.16);
36
36
 
37
37
  --vp-home-hero-name-background: linear-gradient(
38
- 120deg,
39
- var(--mw-red-300),
40
- var(--mw-blue-300)
38
+ 135deg,
39
+ var(--mw-terracotta-300),
40
+ var(--mw-moss-300)
41
41
  );
42
42
  --vp-home-hero-image-background-image: linear-gradient(
43
- 120deg,
44
- var(--mw-red-500),
45
- var(--mw-orange-500)
43
+ 135deg,
44
+ var(--mw-terracotta-500),
45
+ var(--mw-moss-300)
46
46
  );
47
47
  }
48
48
 
49
- /* "tip" custom blocks use the info (blue) role — functional, not gold. */
49
+ /* "tip" custom blocks use the info (slate) role — functional, naturalistic. */
50
50
  .vp-doc .custom-block.tip {
51
- border-color: var(--mw-blue-500);
51
+ border-color: var(--mw-slate-500);
52
52
  }
53
53
 
54
- /* Encouraging prompt rendered below the hero tagline on the home page (home-hero-actions-after slot). */
55
- .home-explore-prompt {
56
- margin: 0 auto 2rem;
57
- max-width: 480px;
58
- text-align: center;
59
- font-size: 1rem;
60
- font-weight: 500;
61
- color: var(--vp-c-brand-1);
62
- line-height: 1.5;
54
+ .dark .vp-doc .custom-block.tip {
55
+ border-color: var(--mw-slate-300);
63
56
  }
@@ -5,15 +5,20 @@ import { h } from 'vue'
5
5
  import DefaultTheme from 'vitepress/theme'
6
6
  import type { Theme } from 'vitepress'
7
7
  import '@meddleware/design-tokens/tokens.css'
8
+ import '@meddleware/design-tokens/seasons.css'
8
9
  import './custom.css'
9
10
 
10
11
  const theme: Theme = {
11
12
  extends: DefaultTheme,
12
- Layout: () =>
13
- h(DefaultTheme.Layout, null, {
14
- 'home-hero-actions-after': () =>
15
- h('p', { class: 'home-explore-prompt' }, 'Choose a topic above to start building.'),
16
- }),
13
+ enhanceApp({ app: _app, router: _router, siteData: _siteData }) {
14
+ if (typeof document !== 'undefined') {
15
+ const m = new Date().getMonth();
16
+ document.documentElement.dataset.season =
17
+ m >= 2 && m <= 4 ? 'spring' :
18
+ m >= 5 && m <= 7 ? 'summer' :
19
+ m >= 8 && m <= 10 ? 'autumn' : 'winter';
20
+ }
21
+ },
17
22
  }
18
23
 
19
24
  export default theme
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meddleware/dev",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "Meddleware developer documentation site (dev.meddleware.co.uk) — VitePress. Integration guides, design system usage, and Sui development patterns.",
5
5
  "homepage": "https://dev.meddleware.co.uk/",
6
6
  "author": "Meddleware <dev@meddleware.co.uk>",