@meddleware/dev 0.0.2 → 0.0.4

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
  ],
@@ -0,0 +1,48 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>Copyleft Notice</title>
7
+ <style>
8
+ :root {
9
+ color-scheme: light dark;
10
+ font-family:
11
+ system-ui,
12
+ -apple-system,
13
+ BlinkMacSystemFont,
14
+ "Segoe UI",
15
+ sans-serif;
16
+ }
17
+ body {
18
+ margin: 0;
19
+ padding: 2rem;
20
+ line-height: 1.6;
21
+ max-width: 48rem;
22
+ }
23
+ h1 {
24
+ margin-top: 0;
25
+ font-size: 1.5rem;
26
+ }
27
+ code {
28
+ font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
29
+ }
30
+ </style>
31
+ </head>
32
+ <body>
33
+ <h1>Copyleft Notice</h1>
34
+ <p>
35
+ This page is reserved for works distributed under a copyleft-style
36
+ permission structure.
37
+ </p>
38
+ <p>
39
+ Copyleft generally means that derivatives and redistributions must
40
+ preserve the same or compatible licensing terms, depending on the specific
41
+ licence in force.
42
+ </p>
43
+ <p>
44
+ The exact legal meaning depends on the licence or notice that accompanies
45
+ the relevant work.
46
+ </p>
47
+ </body>
48
+ </html>
@@ -0,0 +1,48 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>Copyright Notice</title>
7
+ <style>
8
+ :root {
9
+ color-scheme: light dark;
10
+ font-family:
11
+ system-ui,
12
+ -apple-system,
13
+ BlinkMacSystemFont,
14
+ "Segoe UI",
15
+ sans-serif;
16
+ }
17
+ body {
18
+ margin: 0;
19
+ padding: 2rem;
20
+ line-height: 1.6;
21
+ max-width: 48rem;
22
+ }
23
+ h1 {
24
+ margin-top: 0;
25
+ font-size: 1.5rem;
26
+ }
27
+ code {
28
+ font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
29
+ }
30
+ </style>
31
+ </head>
32
+ <body>
33
+ <h1>Copyright Notice</h1>
34
+ <p>
35
+ Unless otherwise stated, the content and code in this application are
36
+ protected by copyright.
37
+ </p>
38
+ <p>
39
+ Copyright in the relevant work is retained by the applicable rights holder
40
+ and used under the permissions, licences, or agreements associated with
41
+ that work.
42
+ </p>
43
+ <p>
44
+ For the full application footer, see the main interface. This page exists
45
+ as a static legal reference.
46
+ </p>
47
+ </body>
48
+ </html>
@@ -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
  }
@@ -1,19 +1,27 @@
1
1
  // Dev theme = VitePress default theme + Meddleware brand overrides.
2
2
  // The design-token CSS is imported so the palette stays in lockstep with the apps; custom.css
3
3
  // maps VitePress's --vp-c-brand-* onto the functional primary ramps from design-tokens.
4
- import { h } from 'vue'
5
4
  import DefaultTheme from 'vitepress/theme'
6
5
  import type { Theme } from 'vitepress'
6
+ import { CopyrightLine } from '@meddleware/ui'
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, router: _router, siteData: _siteData }) {
14
+ // Register CopyrightLine as a global component
15
+ app.component('CopyrightLine', CopyrightLine)
16
+
17
+ if (typeof document !== 'undefined') {
18
+ const m = new Date().getMonth();
19
+ document.documentElement.dataset.season =
20
+ m >= 2 && m <= 4 ? 'spring' :
21
+ m >= 5 && m <= 7 ? 'summer' :
22
+ m >= 8 && m <= 10 ? 'autumn' : 'winter';
23
+ }
24
+ },
17
25
  }
18
26
 
19
27
  export default theme
package/docs/index.md CHANGED
@@ -40,5 +40,9 @@ features:
40
40
  - title: API reference
41
41
  details: Full TypeDoc SDK reference lives in the user docs — every exported function, type, and class.
42
42
  link: https://docs.meddleware.co.uk/blockchain/sui/
43
- linkText: API reference
43
+ linkText: API reference
44
44
  ---
45
+
46
+ <div class="vp-doc" style="padding-top: 2rem; border-top: 1px solid var(--border); margin-top: 3rem; text-align: center;">
47
+ <CopyrightLine symbolVariant="kopimi" organisation-name="Meddleware" rightsStatement="jam" />
48
+ </div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meddleware/dev",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
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>",
@@ -25,7 +25,8 @@
25
25
  "access": "public"
26
26
  },
27
27
  "dependencies": {
28
- "@meddleware/design-tokens": "^0.1.3"
28
+ "@meddleware/design-tokens": "^0.1.4",
29
+ "@meddleware/ui": "^0.1.16"
29
30
  },
30
31
  "devDependencies": {
31
32
  "@types/node": "~24.12.2",