@ashley-shrok/viewmodel-shell 0.5.0 → 0.7.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ashley-shrok/viewmodel-shell",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin TypeScript adapter renders it to DOM. Backend-agnostic — a .NET reference backend ships with the repo, but any language can produce the JSON contract.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -38,22 +38,20 @@
38
38
  "prepublishOnly": "npm run build"
39
39
  },
40
40
  "devDependencies": {
41
+ "@opentui/core": "^0.2.14",
42
+ "@opentui/react": "^0.2.14",
43
+ "@types/bun": "^1.1.0",
41
44
  "@types/node": "^22.0.0",
42
- "@types/react": "^18.3.0",
43
- "ink": "^5.0.1",
44
- "ink-select-input": "^6.2.0",
45
- "ink-testing-library": "^4.0.0",
46
- "ink-text-input": "^6.0.0",
45
+ "@types/react": "^19.0.0",
47
46
  "jsdom": "^25.0.1",
48
- "react": "^18.3.1",
47
+ "react": "^19.2.0",
49
48
  "typescript": "^5.4.0",
50
49
  "vitest": "^2.1.4"
51
50
  },
52
51
  "optionalDependencies": {
53
- "ink": "^5.0.1",
54
- "ink-select-input": "^6.2.0",
55
- "ink-text-input": "^6.0.0",
56
- "react": "^18.3.1"
52
+ "@opentui/core": "^0.2.14",
53
+ "@opentui/react": "^0.2.14",
54
+ "react": "^19.2.0"
57
55
  },
58
56
  "exports": {
59
57
  ".": {
@@ -54,10 +54,15 @@
54
54
  --vms-text-lg: 1rem;
55
55
  --vms-text-xl: 1.375rem;
56
56
  --vms-text-2xl: 2.25rem;
57
- /* Page shell (D-12) */
58
- --vms-page-max: 1080px;
57
+ /* Page shell (D-12) — additive override seam (issue #13); host/theme-retunable
58
+ via a single :root{} override imported after the theme. The two width
59
+ ratchets — --vms-page-max-wide (1440px default) and --vms-page-max-full
60
+ (none) — back the `.vms-page--wide` / `.vms-page--full` modifier classes
61
+ emitted when PageNode.width is set. */
62
+ --vms-page-max: 1080px;
63
+ --vms-page-max-wide: 1440px;
59
64
  /* Card-grid min item width — additive override seam (D-05); host/theme-retunable */
60
- --vms-card-min: 16rem;
65
+ --vms-card-min: 16rem;
61
66
  }
62
67
 
63
68
  /* ── Page chrome ──
@@ -116,6 +121,15 @@ body {
116
121
  --vms-space-lg: 1rem;
117
122
  }
118
123
 
124
+ /* ── Width override (0.7.0 / issue #13) ──
125
+ `.vms-page--wide` opts a data-heavy page into a wider cap (1440px default)
126
+ without retuning the global --vms-page-max. `.vms-page--full` removes the
127
+ cap entirely (full-bleed). Both compose with --vms-page-max-wide for host
128
+ retunes — set `:root { --vms-page-max-wide: 1280px }` to change the wide
129
+ value app-wide while leaving the framework default alone. */
130
+ .vms-page--wide { max-width: var(--vms-page-max-wide); }
131
+ .vms-page--full { max-width: none; }
132
+
119
133
  /* ── Layout preset: cards (LAYOUT-03, D-04) ──
120
134
  auto-fit intrinsically collapses toward 1 column as the container narrows;
121
135
  min(...,100%) floor prevents single-column overflow on a narrow viewport