eidotter 0.41.3 → 0.42.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/README.md +3 -1
- package/dist/components/CmdPalette/components/CmdPalette.js +5 -3
- package/dist/components/IconButton/components/IconButton.d.ts +20 -3
- package/dist/components/IconButton/components/IconButton.js +1 -1
- package/dist/components/IconButton/components/index.d.ts +1 -1
- package/dist/components/IconButton/index.d.ts +1 -1
- package/dist/components/Lightbox/components/Lightbox.d.ts +2 -1
- package/dist/components/Lightbox/components/Lightbox.js +8 -3
- package/dist/components/Nav/components/Nav.d.ts +20 -7
- package/dist/components/Nav/components/index.d.ts +1 -1
- package/dist/components/Nav/index.d.ts +1 -1
- package/dist/components/RangeBar/components/RangeBar.js +2 -2
- package/dist/components/registry.js +9 -0
- package/dist/eidotter.css +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.es.js +611 -961
- package/dist/index.umd.js +3 -3
- package/guidelines/README.md +37 -0
- package/guidelines/components.md +2 -2
- package/llms.txt +2 -2
- package/migrations/0.41.0.md +7 -5
- package/package.json +4 -4
package/guidelines/README.md
CHANGED
|
@@ -107,6 +107,43 @@ import 'eidotter/tokens.css'; // Design token CSS variables
|
|
|
107
107
|
import 'eidotter/styles'; // Component CSS + Tailwind utilities
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
+
### Fonts: what your build emits
|
|
111
|
+
|
|
112
|
+
`eidotter/styles` declares two font families: the display tier (Perfect DOS
|
|
113
|
+
VGA 437, one TTF, about 80 KB) and the body tier (JetBrains Mono Nerd Font,
|
|
114
|
+
four woff2 files, about 1 MB each). Your bundler copies every file an
|
|
115
|
+
`@font-face` rule points at into the build output, so the four woff2 files
|
|
116
|
+
land in `dist/` even if no page uses the body tier.
|
|
117
|
+
|
|
118
|
+
This is by design and costs no page weight: browsers download a font file
|
|
119
|
+
only when text on the page uses that face. A page that never renders
|
|
120
|
+
`font-dos-body`, `.dos-body`, `.dos-body-lg`, `.dos-caption`, `.dos-micro` or
|
|
121
|
+
`var(--typography-font-family-body)` requests the TTF only. The cost is
|
|
122
|
+
deploy size (about 4 MB of unused files).
|
|
123
|
+
|
|
124
|
+
If deploy size matters and you never use the body tier, drop its four
|
|
125
|
+
`@font-face` rules before your bundler resolves the CSS `url()`s. In Vite:
|
|
126
|
+
|
|
127
|
+
```js
|
|
128
|
+
// vite.config.js
|
|
129
|
+
const dropEidotterBodyFonts = {
|
|
130
|
+
name: 'drop-eidotter-body-fonts',
|
|
131
|
+
enforce: 'pre',
|
|
132
|
+
transform(code, id) {
|
|
133
|
+
if (!/eidotter[\\/]dist[\\/]eidotter\.css/.test(id)) return null;
|
|
134
|
+
return code.replace(/@font-face\s*\{[^}]*JetBrains Mono Nerd Font[^}]*\}/g, '');
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
export default { plugins: [dropEidotterBodyFonts] };
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Checked with Vite 8 on a page that imports only `eidotter/styles`: the build
|
|
142
|
+
output drops from 4.2 MB to 268 KB, and only the TTF is emitted. Body-tier text
|
|
143
|
+
then falls back to the system `monospace`. Other bundlers need the same step
|
|
144
|
+
(remove the four rules from `node_modules/eidotter/dist/eidotter.css` before
|
|
145
|
+
CSS `url()` resolution); eidotter has not tested a recipe for them.
|
|
146
|
+
|
|
110
147
|
### Tailwind Preset (optional)
|
|
111
148
|
|
|
112
149
|
Use eidotter tokens as Tailwind classes in your own code:
|
package/guidelines/components.md
CHANGED
|
@@ -462,7 +462,7 @@ Navigation path showing location hierarchy.
|
|
|
462
462
|
| currentLabel | `string` | - | **Required.** Current page label |
|
|
463
463
|
| showBackArrow | `boolean` | `true` | Show < on last trail item |
|
|
464
464
|
| separator | `string` | `'/'` | Custom separator |
|
|
465
|
-
| linkComponent | `
|
|
465
|
+
| linkComponent | `NavLinkComponent` | - | Custom link (e.g., Next.js `Link`, passed directly with @types/react 18 or 19) |
|
|
466
466
|
|
|
467
467
|
### Examples
|
|
468
468
|
|
|
@@ -761,7 +761,7 @@ Sticky site header composing branding link + Nav. Supports retro/modern variants
|
|
|
761
761
|
| activeHref | `string` | — | Currently active href (highlights matching nav link) |
|
|
762
762
|
| variant | `'retro' \| 'modern'` | `'retro'` | Visual variant applied to both header and nav |
|
|
763
763
|
| sticky | `boolean` | `true` | Whether the header sticks to viewport top |
|
|
764
|
-
| linkComponent | `
|
|
764
|
+
| linkComponent | `NavLinkComponent` | `'a'` | Custom link component for framework routing (e.g., Next.js `Link`, no wrapper) |
|
|
765
765
|
| children | `ReactNode` | — | Custom branding content (replaces brandName) |
|
|
766
766
|
| className | `string` | — | Additional CSS class name |
|
|
767
767
|
|
package/llms.txt
CHANGED
|
@@ -28,7 +28,7 @@ Apps default to the amber theme and offer the light theme via a consistent setti
|
|
|
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
30
|
- Read every guide between the installed and the target version, oldest first, and follow its checklist. First guide: `migrations/0.41.0.md`.
|
|
31
|
-
- 0.x caret gotcha: `^0.40.x` never resolves to 0.41.0; bump the range explicitly, to `^0.
|
|
31
|
+
- 0.x caret gotcha: `^0.40.x` never resolves to 0.41.0; bump the range explicitly, to `^0.42.0` (0.41.0 shipped before its review fixes).
|
|
32
32
|
|
|
33
33
|
## Token Categories
|
|
34
34
|
- `--color-semantic-*`: USE THESE for components (background, text, border, status)
|
|
@@ -73,7 +73,7 @@ Apps default to the amber theme and offer the light theme via a consistent setti
|
|
|
73
73
|
- Input: Text fields
|
|
74
74
|
- DosDialog: The one overlay shell (CmdPalette chrome + dark title strip with yellow title); placement center/top, size sm/md/lg/full, head/footer slots
|
|
75
75
|
- Modal: Dialog with title strip and close control, built on DosDialog
|
|
76
|
-
- IconButton: The one icon-only control (pixel glyph in a thin square outline, hover inverts); size md 36 (all built-in controls) / window 28 (dense chrome), variant outline/bare, required label; used for every close, prev/next and window control
|
|
76
|
+
- IconButton: The one icon-only control (pixel glyph in a thin square outline, hover inverts); size md 36 (all built-in controls) / window 28 (dense chrome) / touch 44 (stage-sized targets), variant outline/bare, tone accent (default) / inherit (currentColor, for coloured bars), required label; used for every close, prev/next and window control
|
|
77
77
|
- DosWindow: In-page window chrome (DosDialog strip on a brand border + drop shadow), controls/footer slots, active/inactive; server-safe; DosFigure and Card are built on it
|
|
78
78
|
- Progress: Loading/completion bars
|
|
79
79
|
- RetroEffects: CRT scanlines, phosphor glow
|
package/migrations/0.41.0.md
CHANGED
|
@@ -61,7 +61,7 @@ cp node_modules/eidotter/dist/eidotter.css /tmp/eidotter-old.css
|
|
|
61
61
|
Then change the range explicitly to the latest 0.41.x (0.41.3 or later):
|
|
62
62
|
|
|
63
63
|
```bash
|
|
64
|
-
npm install eidotter@^0.
|
|
64
|
+
npm install eidotter@^0.42.0
|
|
65
65
|
# check what actually resolved: 0.41.3 or later
|
|
66
66
|
npm ls eidotter
|
|
67
67
|
```
|
|
@@ -917,7 +917,7 @@ Work top to bottom. Each step points at the section above that explains it.
|
|
|
917
917
|
- [ ] Read every guide in `node_modules/eidotter/migrations/` between your old
|
|
918
918
|
version and 0.41.0, oldest first (see `README.md` in that folder).
|
|
919
919
|
- [ ] `cp node_modules/eidotter/dist/eidotter.css /tmp/eidotter-old.css` (before `npm install`).
|
|
920
|
-
- [ ] Install the latest 0.41.x (0.41.3 or later): `npm install eidotter@^0.
|
|
920
|
+
- [ ] Install the latest 0.41.x (0.41.3 or later): `npm install eidotter@^0.42.0`, then `npm ls eidotter` shows 0.41.3 or later. Commit the lockfile.
|
|
921
921
|
- [ ] Tailwind v4 apps: load eidotter in a cascade layer (`@layer theme, base, components, eidotter, utilities;` then `@import "eidotter/styles" layer(eidotter);`), drop the JS `import 'eidotter/styles'`, keep your own resets layered ("Tailwind v4 apps" after "How to bump").
|
|
922
922
|
- [ ] No-Tailwind apps: run the class diff from section 2 and fix every real hit.
|
|
923
923
|
- [ ] No-preflight apps: set `html` font, colours and `a` colour yourself (section 4).
|
|
@@ -945,9 +945,11 @@ additive or automatic unless noted. Details are in the eidotter
|
|
|
945
945
|
[CHANGELOG](https://github.com/CinimoDY/eiDotter/blob/main/CHANGELOG.md). It is
|
|
946
946
|
not shipped in the npm package; read it on GitHub.
|
|
947
947
|
|
|
948
|
-
- **0.37.2:** two-tier typography. Display text stays Perfect DOS
|
|
949
|
-
437 and body text (`.dos-body`, `font-dos-body`) is JetBrains Mono Nerd
|
|
950
|
-
|
|
948
|
+
- **0.37.2:** two-tier typography (DMNC-885). Display text stays Perfect DOS
|
|
949
|
+
VGA 437 and body text (`.dos-body`, `font-dos-body`) is JetBrains Mono Nerd
|
|
950
|
+
Font. The four body-tier woff2 files land in your build output from this
|
|
951
|
+
version on; see "Fonts: what your build emits" in `guidelines/README.md` if
|
|
952
|
+
you never use the body tier.
|
|
951
953
|
- **0.38.0:** `article` entry kind for `TimelineContainer` (thumbnail strip and
|
|
952
954
|
summary when collapsed; gallery, body and read-more when expanded). Additive.
|
|
953
955
|
- **0.38.0:** `RetroEffects` `boot` no longer flashes content before the
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eidotter",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.42.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A DOS Themed Design System",
|
|
6
6
|
"main": "./dist/index.umd.js",
|
|
@@ -149,12 +149,12 @@
|
|
|
149
149
|
"@figma/plugin-typings": "^1.107.0-beta.2",
|
|
150
150
|
"@figma/rest-api-spec": "^0.41.0",
|
|
151
151
|
"@storybook/addon-a11y": "^10.2.7",
|
|
152
|
-
"@storybook/addon-designs": "^
|
|
152
|
+
"@storybook/addon-designs": "^12.0.0",
|
|
153
153
|
"@storybook/addon-docs": "^10.2.7",
|
|
154
154
|
"@storybook/addon-links": "^10.2.7",
|
|
155
155
|
"@storybook/react": "^10.2.7",
|
|
156
156
|
"@storybook/react-vite": "^10.2.7",
|
|
157
|
-
"@storybook/test-runner": "^0.
|
|
157
|
+
"@storybook/test-runner": "^0.26.0",
|
|
158
158
|
"@tailwindcss/postcss": "^4.3.0",
|
|
159
159
|
"@testing-library/dom": "^10.4.1",
|
|
160
160
|
"@testing-library/jest-dom": "^6.6.3",
|
|
@@ -167,7 +167,7 @@
|
|
|
167
167
|
"@types/react-dom": "^19.0.0",
|
|
168
168
|
"@vitejs/plugin-react": "^6.0.2",
|
|
169
169
|
"axe-playwright": "^2.2.2",
|
|
170
|
-
"chromatic": "^
|
|
170
|
+
"chromatic": "^18.13.0",
|
|
171
171
|
"cross-env": "^10.1.0",
|
|
172
172
|
"dotenv": "^17.3.1",
|
|
173
173
|
"eslint": "^10.0.3",
|