eidotter 0.43.0 → 0.44.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/llms.txt CHANGED
@@ -27,8 +27,8 @@ Apps default to the amber theme and offer the light theme via a consistent setti
27
27
 
28
28
  ## Upgrading
29
29
  - Every minor with breaking/visible changes ships a guide at `node_modules/eidotter/migrations/<version>.md` (index: `migrations/README.md`).
30
- - Read every guide between the installed and the target version, oldest first, and follow its checklist. Guides: `migrations/0.41.0.md`, `migrations/0.43.0.md`.
31
- - 0.x caret gotcha: `^0.40.x` never resolves to 0.41.0; bump the range explicitly, to `^0.43.0`.
30
+ - Read every guide between the installed and the target version, oldest first, and follow its checklist. Guides: `migrations/0.41.0.md`, `migrations/0.43.0.md`, `migrations/0.44.0.md`.
31
+ - 0.x caret gotcha: `^0.40.x` never resolves to 0.41.0; bump the range explicitly, to `^0.44.0`.
32
32
 
33
33
  ## Token Categories
34
34
  - `--color-semantic-*`: USE THESE for components (background, text, border, status)
@@ -31,7 +31,7 @@ Commit the lockfile.
31
31
  the `end` slot and the MENU trigger did not fit. Now the name moves onto a
32
32
  second line. The brand link shrinks before the `end` slot does; the end slot
33
33
  clips only once the brand reaches its floor (the icon plus about 8 tracked
34
- characters). Words break at spaces. Only a single word longer than the floor
34
+ characters; from 0.44.0 the floor is the longest word, see 0.44.0.md). Words break at spaces. Only a single word longer than the floor
35
35
  breaks mid-word. The icon top-aligns beside a two-line name. A brand that fits
36
36
  on one line renders exactly as before.
37
37
 
@@ -0,0 +1,110 @@
1
+ # Upgrading to eidotter 0.44.0
2
+
3
+ From 0.43.x. Coming from older versions, read [0.41.0.md](./0.41.0.md) and
4
+ [0.43.0.md](./0.43.0.md) first.
5
+
6
+ 0.44.0 fixes what the first 0.43 adoptions found. Four changes are visible
7
+ without touching your code; one prop is new.
8
+
9
+ ## Who must act
10
+
11
+ - Apps that mark AI-drafted content (`data-ai-block`, `data-provenance="ai-draft"`): check your headings (section 2).
12
+ - Apps that render `PageShell`: give the page its own background and font if it relied on PageShell's (section 3).
13
+ - Everyone else: bump and check the Header and the ⌘K palette at phone width.
14
+
15
+ ## 1. How to bump
16
+
17
+ ```bash
18
+ npm install eidotter@^0.44.0
19
+ npm ls eidotter # 0.44.0 or later
20
+ ```
21
+
22
+ Commit the lockfile.
23
+
24
+ ## 2. Visible: headings are never marked as AI-drafted
25
+
26
+ **What changed.** `provenance.css` used to paint `h1` to `h6` with the
27
+ magenta AI-draft gradient inside a `data-ai-block` wrapper, and on a heading
28
+ that carried `data-provenance="ai-draft"` itself. Headings now keep their
29
+ normal colour in both cases. Only prose (paragraphs, list items, quotes and
30
+ their emphasis) shows the marker. A heading nested inside a marked container
31
+ (a `<div data-provenance="ai-draft">`) gets a readable colour back: your own
32
+ heading colour if you set one, otherwise the body text colour.
33
+
34
+ **How to find it.** Open a page wrapped in `data-ai-block`. Page, section and
35
+ card titles that were magenta are now in your heading colour.
36
+
37
+ **What to do.** Nothing, unless your own CSS paints headings with the
38
+ gradient. Search your styles for `data-ai-block` or `ai-draft` rules that
39
+ target `h1`–`h6` and remove them.
40
+
41
+ ## 3. Visible: PageShell inherits the page
42
+
43
+ **What changed.** `PageShell` no longer paints `background-primary` and no
44
+ longer sets `font-family`, `font-size` or `line-height`. Your page's own
45
+ background (a CRT tint, `RetroEffects`) and body font now show through. Its
46
+ column no longer grows past the viewport when a child is wide (a Header with an
47
+ `end` slot, a Footer), and with `contentId` the content gets `tabIndex={-1}`,
48
+ so a skip link moves keyboard focus.
49
+
50
+ **What to do.** If your page had no background or font of its own and relied
51
+ on PageShell's, set them on `body` or put a class on the shell:
52
+
53
+ ```tsx
54
+ <PageShell className="my-page" …>
55
+ ```
56
+
57
+ ```css
58
+ .my-page {
59
+ background-color: var(--color-semantic-background-primary);
60
+ font-family: var(--typography-font-family-body), var(--typography-font-family-fallback);
61
+ line-height: 1.5;
62
+ }
63
+ ```
64
+
65
+ **How to verify.** At 320px and 390px, `document.documentElement.scrollWidth`
66
+ equals the viewport width.
67
+
68
+ ## 4. Visible: a one-word Header brand never splits
69
+
70
+ **What changed.** 0.43.0 floored the brand at about 8 tracked characters and
71
+ broke a longer single word mid-word ("DMNC.TEC / H" at 320px). The floor is
72
+ now the brand's longest word: words break only at spaces, and once the brand is
73
+ at its floor the `end` slot clips instead. A single word wider than the whole
74
+ row (about 11 tracked characters beside the lockup icon and MENU at 320px)
75
+ overflows.
76
+
77
+ **What to do.** Check the Header at 320px. If the `end` slot content is cut
78
+ off, hide it below a width you choose or move it into the menu. If the brand
79
+ word itself is too long, shorten `brandName` or use `brandCollapse="mark"`.
80
+
81
+ ## 5. Visible: CmdPalette
82
+
83
+ - The search input is focused as the palette opens, in the same tap or
84
+ keypress, so phones raise the keyboard straight away.
85
+ - The blinking `_` in the `JUMP TO` strip is gone (it looked like an input).
86
+ The `eidotter-cmdpal__blink` class no longer exists; delete any CSS that
87
+ targets it.
88
+
89
+ ## 6. New: LegalPage `embedded`
90
+
91
+ ```tsx
92
+ <PageShell header={…} footer={…}>
93
+ <LegalPage embedded title="Impressum" date="Stand: Oktober 2026">
94
+ <ImpressumAddress />
95
+ </LegalPage>
96
+ </PageShell>
97
+ ```
98
+
99
+ `embedded` drops LegalPage's own 720px column, centring, padding, min-height,
100
+ background and font, and start-aligns the hero without the rule under it, so
101
+ the page shares your site's left edge. Without it, LegalPage renders as before.
102
+
103
+ ## Checklist
104
+
105
+ - [ ] `npm install eidotter@^0.44.0`; `npm ls eidotter` shows 0.44.0 or later. Commit the lockfile.
106
+ - [ ] Pages with `data-ai-block`: titles are in your heading colour; remove any own CSS that painted headings (section 2).
107
+ - [ ] Pages on `PageShell`: background and font come from your page; no sideways scroll at 320/390 (section 3).
108
+ - [ ] Header at 320px: brand on whole words, nothing important lost from the `end` slot (section 4).
109
+ - [ ] Delete CSS targeting `eidotter-cmdpal__blink`, if any (section 5).
110
+ - [ ] Optional: `LegalPage embedded` inside your page column (section 6).
@@ -35,6 +35,7 @@ The folder ships in the npm package:
35
35
  node_modules/eidotter/migrations/README.md
36
36
  node_modules/eidotter/migrations/0.41.0.md
37
37
  node_modules/eidotter/migrations/0.43.0.md
38
+ node_modules/eidotter/migrations/0.44.0.md
38
39
  ```
39
40
 
40
41
  It is also exported, so tooling can resolve a guide by path:
@@ -46,3 +47,4 @@ It is also exported, so tooling can resolve a guide by path:
46
47
  |---|---|
47
48
  | [0.41.0](./0.41.0.md) | 16px floor, CSS reset and unused utilities no longer leak, `text-secondary` meaning change, Header lockup default, overlays on `DosDialog` (removed classes), focus rings; adopt `IconButton`, `DosDialog`, `DosWindow`, the favicon export and the `amber-paper` theme |
48
49
  | [0.43.0](./0.43.0.md) | `Header` brand wraps instead of ellipsizing; adopt `PageShell`/`PageSection`, `Bench` and the opt-in `Header` `layout`/`rule`/`contained`/`brandCollapse` props |
50
+ | [0.44.0](./0.44.0.md) | Headings never AI-marked; `PageShell` inherits background and font; one-word Header brand never splits; `CmdPalette` cursor removed; adopt `LegalPage` `embedded` |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eidotter",
3
- "version": "0.43.0",
3
+ "version": "0.44.0",
4
4
  "type": "module",
5
5
  "description": "A DOS Themed Design System",
6
6
  "main": "./dist/index.umd.js",
@@ -146,8 +146,8 @@
146
146
  },
147
147
  "devDependencies": {
148
148
  "@eslint/js": "^10.0.1",
149
- "@figma/plugin-typings": "^1.107.0-beta.2",
150
- "@figma/rest-api-spec": "^0.41.0",
149
+ "@figma/plugin-typings": "^1.142.0",
150
+ "@figma/rest-api-spec": "^0.45.0",
151
151
  "@storybook/addon-a11y": "^10.2.7",
152
152
  "@storybook/addon-designs": "^12.0.0",
153
153
  "@storybook/addon-docs": "^10.2.7",
@@ -155,42 +155,42 @@
155
155
  "@storybook/react": "^10.2.7",
156
156
  "@storybook/react-vite": "^10.2.7",
157
157
  "@storybook/test-runner": "^0.26.0",
158
- "@tailwindcss/postcss": "^4.3.0",
159
- "@testing-library/dom": "^10.4.1",
160
- "@testing-library/jest-dom": "^6.6.3",
161
- "@testing-library/react": "^16.3.0",
158
+ "@tailwindcss/postcss": "^4.3.3",
159
+ "@testing-library/dom": "^10.4.2",
160
+ "@testing-library/jest-dom": "^7.0.1",
161
+ "@testing-library/react": "^16.3.3",
162
162
  "@testing-library/user-event": "^14.6.1",
163
163
  "@types/glob": "^8.1.0",
164
164
  "@types/jest": "^30.0.0",
165
- "@types/node": "^26.0.1",
166
- "@types/react": "^19.1.2",
167
- "@types/react-dom": "^19.0.0",
168
- "@vitejs/plugin-react": "^6.0.2",
165
+ "@types/node": "^26.6.5",
166
+ "@types/react": "^19.3.0",
167
+ "@types/react-dom": "^19.3.0",
168
+ "@vitejs/plugin-react": "^6.1.2",
169
169
  "axe-playwright": "^2.2.2",
170
- "chromatic": "^18.13.0",
170
+ "chromatic": "^18.13.2",
171
171
  "cross-env": "^10.1.0",
172
172
  "dotenv": "^17.3.1",
173
- "eslint": "^10.0.3",
173
+ "eslint": "^10.13.0",
174
174
  "eslint-plugin-react-hooks": "^7.0.1",
175
175
  "figma-js": "^1.16.1-0",
176
176
  "gh-pages": "^6.3.0",
177
177
  "glob": "^13.0.0",
178
178
  "identity-obj-proxy": "^3.0.0",
179
- "jest": "^30.2.0",
180
- "jest-environment-jsdom": "^30.0.2",
179
+ "jest": "~30.4.2",
180
+ "jest-environment-jsdom": "~30.4.1",
181
181
  "leva": "^0.10.1",
182
182
  "postcss": "^8.5.8",
183
183
  "remark-gfm": "^4.0.1",
184
184
  "storybook": "^10.2.7",
185
- "style-dictionary": "^5.1.1",
186
- "tailwindcss": "^4.3.0",
185
+ "style-dictionary": "5.5.2",
186
+ "tailwindcss": "^4.3.3",
187
187
  "tailwindcss-react-aria-components": "^2.0.1",
188
- "ts-jest": "^29.4.0",
188
+ "ts-jest": "^29.4.15",
189
189
  "ts-morph": "^28.0.0",
190
190
  "ts-node": "^10.9.2",
191
- "tsx": "^4.23.1",
191
+ "tsx": "^4.23.15",
192
192
  "typescript": "^5.7.3",
193
- "typescript-eslint": "^8.54.0",
193
+ "typescript-eslint": "^8.72.0",
194
194
  "vite": "^8.0.10"
195
195
  },
196
196
  "dependencies": {