velo-text 1.0.1 → 1.0.2
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/CHANGELOG.md +11 -0
- package/README.md +6 -6
- package/dist/assets/icons/index.d.ts +1 -1
- package/dist/assets/icons/index.d.ts.map +1 -1
- package/dist/assets/icons/index.js +3 -1
- package/dist/assets/icons/index.js.map +1 -1
- package/package.json +1 -1
- package/skill/editor.md +1 -1
- package/skill/themes.md +2 -0
- package/themes/components.css +8 -0
- package/themes/editor-overlays.css +12 -9
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,12 @@ All notable changes follow [Keep a Changelog](https://keepachangelog.com/) and [
|
|
|
8
8
|
- CLI `npx velo-text@beta skill` / `pnpx velo-text@beta skill` installs the agent skill into `.cursor/skills` and `.agents/skills`
|
|
9
9
|
- Four document faces (Velo Sans / Serif / Mono / Display): same TTF in the editor and PDF FontFile2
|
|
10
10
|
|
|
11
|
+
### Changed
|
|
12
|
+
- Toolbar and table chrome wrap instead of nested horizontal scroll
|
|
13
|
+
- Chrome metrics via `--pde-icon-size` / `--pde-control-size` (default 16px / 28px); hosts override on `[data-pde-theme]`
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
11
17
|
|
|
12
18
|
|
|
13
19
|
|
|
@@ -17,6 +23,10 @@ All notable changes follow [Keep a Changelog](https://keepachangelog.com/) and [
|
|
|
17
23
|
|
|
18
24
|
|
|
19
25
|
|
|
26
|
+
## [1.0.2] - 2026-09-02
|
|
27
|
+
|
|
28
|
+
### Added
|
|
29
|
+
-
|
|
20
30
|
|
|
21
31
|
## [1.0.1] - 2026-08-31
|
|
22
32
|
|
|
@@ -132,3 +142,4 @@ First public **beta** on npm (`velo-text@beta`). Treat it as a trial API: layout
|
|
|
132
142
|
[1.0.0-beta.8]: https://github.com/velo-text/velo-text/releases/tag/v1.0.0-beta.8
|
|
133
143
|
[1.0.0]: https://github.com/velo-text/velo-text/releases/tag/v1.0.0
|
|
134
144
|
[1.0.1]: https://github.com/velo-text/velo-text/releases/tag/v1.0.1
|
|
145
|
+
[1.0.2]: https://github.com/velo-text/velo-text/releases/tag/v1.0.2
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# velo-text
|
|
2
2
|
|
|
3
|
-
**1.0.
|
|
3
|
+
**1.0.2** — public beta. APIs and export layout can still change. Install with the `beta` tag, not as if it were a stable 1.0.
|
|
4
4
|
|
|
5
5
|
Portable document editor with variables `{{name}}`, tables, images, LaTeX equations and deterministic export to **PDF, ODT, and DOCX** — **zero runtime dependencies**, TypeScript strict. LibreOffice/Word CI and full visual parity across Office formats are still open.
|
|
6
6
|
|
|
@@ -13,10 +13,10 @@ Requires **Node >= 18**. Use **pnpm**.
|
|
|
13
13
|
```bash
|
|
14
14
|
pnpm add velo-text@beta
|
|
15
15
|
# exact prerelease
|
|
16
|
-
pnpm add velo-text@1.0.
|
|
16
|
+
pnpm add velo-text@1.0.2
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
Do not run `pnpm add velo-text` expecting a stable `latest` until 1.0.
|
|
19
|
+
Do not run `pnpm add velo-text` expecting a stable `latest` until 1.0.2 is published.
|
|
20
20
|
|
|
21
21
|
### Agent skill (any project)
|
|
22
22
|
|
|
@@ -38,7 +38,7 @@ import "velo-text/themes/components.css";
|
|
|
38
38
|
|
|
39
39
|
## Publish / GitHub Actions
|
|
40
40
|
|
|
41
|
-
Do **not** put an npm token in the repo. Create GitHub secret **`NPM_TOKEN`**, then push tag `v1.0.
|
|
41
|
+
Do **not** put an npm token in the repo. Create GitHub secret **`NPM_TOKEN`**, then push tag `v1.0.2`. CI publishes to npm (`beta`) and opens a GitHub Release. Details: [docs/guide/publish.md](docs/guide/publish.md).
|
|
42
42
|
|
|
43
43
|
## Quick start
|
|
44
44
|
|
|
@@ -107,10 +107,10 @@ pnpm run test:visual # HTML snapshots in tests/visual/snapshots
|
|
|
107
107
|
pnpm run fuzz -- --iterations=5000
|
|
108
108
|
pnpm run build # tsc → dist/
|
|
109
109
|
pnpm docs:dev # VitePress docs + playground at /playground/
|
|
110
|
-
pnpm version:set 1.0.
|
|
110
|
+
pnpm version:set 1.0.2 # bump version (then tag v1.0.2 and push)
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
-
Publish is **GitHub Actions only** (push tag `v1.0.
|
|
113
|
+
Publish is **GitHub Actions only** (push tag `v1.0.2` after setting secret `NPM_TOKEN`).
|
|
114
114
|
|
|
115
115
|
## Zero dependencies
|
|
116
116
|
|
|
@@ -21,5 +21,5 @@ export declare function listIconNames(): IconName[];
|
|
|
21
21
|
/**
|
|
22
22
|
* CSS for icons + selection color — icons inherit color, selection uses theme token.
|
|
23
23
|
*/
|
|
24
|
-
export declare const iconCss = "\n.pde-icon {\n display: inline-block;\n vertical-align: middle;\n flex-shrink: 0;\n color: var(--pde-icon-color, currentColor);\n pointer-events: none;\n}\n.pde-root::selection {\n background: var(--pde-color-selection, #cbd7ff);\n}\n.pde-toolbar button:hover .pde-icon,\n.pde-toolbar button[aria-pressed=\"true\"] .pde-icon {\n color: var(--pde-color-primary, #3659e3);\n}\n.pde-toolbar button:disabled .pde-icon {\n color: var(--pde-color-muted, #667085);\n opacity: 0.5;\n}\n";
|
|
24
|
+
export declare const iconCss = "\n.pde-icon {\n display: inline-block;\n vertical-align: middle;\n flex-shrink: 0;\n width: var(--pde-icon-size, 16px);\n height: var(--pde-icon-size, 16px);\n color: var(--pde-icon-color, currentColor);\n pointer-events: none;\n}\n.pde-root::selection {\n background: var(--pde-color-selection, #cbd7ff);\n}\n.pde-toolbar button:hover .pde-icon,\n.pde-toolbar button[aria-pressed=\"true\"] .pde-icon {\n color: var(--pde-color-primary, #3659e3);\n}\n.pde-toolbar button:disabled .pde-icon {\n color: var(--pde-color-muted, #667085);\n opacity: 0.5;\n}\n";
|
|
25
25
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/assets/icons/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,QAAQ,GACR,WAAW,GACX,eAAe,GACf,MAAM,GACN,UAAU,GACV,UAAU,GACV,UAAU,GACV,eAAe,GACf,aAAa,GACb,OAAO,GACP,MAAM,GACN,OAAO,GACP,WAAW,GACX,OAAO,GACP,UAAU,GACV,UAAU,GACV,WAAW,GACX,aAAa,GACb,YAAY,GACZ,cAAc,GACd,OAAO,GACP,OAAO,GACP,aAAa,GACb,OAAO,GACP,YAAY,GACZ,cAAc,GACd,MAAM,GACN,OAAO,GACP,aAAa,GACb,aAAa,GACb,cAAc,GACd,SAAS,GACT,UAAU,GACV,SAAS,GACT,MAAM,GACN,MAAM,GACN,UAAU,GACV,OAAO,GACP,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,WAAW,GACX,WAAW,GACX,aAAa,GACb,YAAY,GACZ,WAAW,GACX,UAAU,GACV,aAAa,GACb,aAAa,GACb,QAAQ,GACR,UAAU,GACV,WAAW,GACX,OAAO,GACP,gBAAgB,GAChB,OAAO,CAAC;AAEZ,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAgED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAE,WAAgB,GAAG,MAAM,CASzE;AAED,wBAAgB,WAAW,CAAC,IAAI,GAAE,WAAgB,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAI5E;AAED,wBAAgB,aAAa,IAAI,QAAQ,EAAE,CAE1C;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/assets/icons/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,QAAQ,GACR,WAAW,GACX,eAAe,GACf,MAAM,GACN,UAAU,GACV,UAAU,GACV,UAAU,GACV,eAAe,GACf,aAAa,GACb,OAAO,GACP,MAAM,GACN,OAAO,GACP,WAAW,GACX,OAAO,GACP,UAAU,GACV,UAAU,GACV,WAAW,GACX,aAAa,GACb,YAAY,GACZ,cAAc,GACd,OAAO,GACP,OAAO,GACP,aAAa,GACb,OAAO,GACP,YAAY,GACZ,cAAc,GACd,MAAM,GACN,OAAO,GACP,aAAa,GACb,aAAa,GACb,cAAc,GACd,SAAS,GACT,UAAU,GACV,SAAS,GACT,MAAM,GACN,MAAM,GACN,UAAU,GACV,OAAO,GACP,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,WAAW,GACX,WAAW,GACX,aAAa,GACb,YAAY,GACZ,WAAW,GACX,UAAU,GACV,aAAa,GACb,aAAa,GACb,QAAQ,GACR,UAAU,GACV,WAAW,GACX,OAAO,GACP,gBAAgB,GAChB,OAAO,CAAC;AAEZ,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAgED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAE,WAAgB,GAAG,MAAM,CASzE;AAED,wBAAgB,WAAW,CAAC,IAAI,GAAE,WAAgB,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAI5E;AAED,wBAAgB,aAAa,IAAI,QAAQ,EAAE,CAE1C;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,0jBAqBnB,CAAC"}
|
|
@@ -71,7 +71,7 @@ export function getIconSvg(name, opts = {}) {
|
|
|
71
71
|
const inner = ICONS[name];
|
|
72
72
|
if (!inner)
|
|
73
73
|
throw new Error(`Unknown icon: ${name}`);
|
|
74
|
-
const size = opts.size ??
|
|
74
|
+
const size = opts.size ?? 16;
|
|
75
75
|
const color = opts.color ?? "currentColor";
|
|
76
76
|
const strokeWidth = opts.strokeWidth ?? 2;
|
|
77
77
|
const klass = ["pde-icon", `pde-icon--${name}`, opts.className].filter(Boolean).join(" ");
|
|
@@ -95,6 +95,8 @@ export const iconCss = `
|
|
|
95
95
|
display: inline-block;
|
|
96
96
|
vertical-align: middle;
|
|
97
97
|
flex-shrink: 0;
|
|
98
|
+
width: var(--pde-icon-size, 16px);
|
|
99
|
+
height: var(--pde-icon-size, 16px);
|
|
98
100
|
color: var(--pde-icon-color, currentColor);
|
|
99
101
|
pointer-events: none;
|
|
100
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/assets/icons/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/assets/icons/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/skill/editor.md
CHANGED
|
@@ -34,7 +34,7 @@ SSR/Astro: `renderDocumentToHtml` / `renderBlocksToHtml` at build; hydrate edito
|
|
|
34
34
|
|
|
35
35
|
Document fonts: `DOCUMENT_FONTS` (`Velo Sans`, `Velo Serif`, `Velo Mono`, `Velo Display`). `setFontFamily` writes those names; PDF embeds the same TTF.
|
|
36
36
|
|
|
37
|
-
Toolbar buttons: `preventDefault` on `mousedown` (keep caret, including in cells).
|
|
37
|
+
Toolbar buttons: `preventDefault` on `mousedown` (keep caret, including in cells). Toolbar and table/column bars wrap; size via `--pde-icon-size` / `--pde-control-size`.
|
|
38
38
|
|
|
39
39
|
## DOM / input
|
|
40
40
|
|
package/skill/themes.md
CHANGED
package/themes/components.css
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
@import "./editor-overlays.css";
|
|
3
3
|
@import "./editor-columns.css";
|
|
4
4
|
|
|
5
|
+
/* Chrome metrics — override on the host (`data-pde-theme` / `.pde-host`). */
|
|
6
|
+
[data-pde-theme] {
|
|
7
|
+
--pde-icon-size: 16px;
|
|
8
|
+
--pde-control-size: 28px;
|
|
9
|
+
}
|
|
10
|
+
|
|
5
11
|
[data-pde-theme="light-neutral"] {
|
|
6
12
|
--pde-color-bg: #ffffff;
|
|
7
13
|
--pde-color-surface: #f7f8fa;
|
|
@@ -120,6 +126,8 @@
|
|
|
120
126
|
display: inline-block;
|
|
121
127
|
vertical-align: middle;
|
|
122
128
|
flex-shrink: 0;
|
|
129
|
+
width: var(--pde-icon-size, 16px);
|
|
130
|
+
height: var(--pde-icon-size, 16px);
|
|
123
131
|
color: var(--pde-icon-color, currentColor);
|
|
124
132
|
}
|
|
125
133
|
.pde-toolbar .pde-icon {
|
|
@@ -111,13 +111,13 @@
|
|
|
111
111
|
position: absolute;
|
|
112
112
|
z-index: 28;
|
|
113
113
|
display: flex;
|
|
114
|
-
flex-wrap:
|
|
114
|
+
flex-wrap: wrap;
|
|
115
115
|
align-items: center;
|
|
116
116
|
gap: 2px;
|
|
117
117
|
padding: 4px;
|
|
118
118
|
width: max-content;
|
|
119
|
-
max-width: 100
|
|
120
|
-
overflow
|
|
119
|
+
max-width: min(100%, 28rem);
|
|
120
|
+
overflow: visible;
|
|
121
121
|
border: 1px solid var(--pde-color-border);
|
|
122
122
|
background: var(--pde-color-surface);
|
|
123
123
|
border-radius: var(--pde-radius-md);
|
|
@@ -126,8 +126,8 @@
|
|
|
126
126
|
font-family: var(--pde-font-ui);
|
|
127
127
|
}
|
|
128
128
|
.pde-table-bar button {
|
|
129
|
-
min-width: 28px;
|
|
130
|
-
height: 28px;
|
|
129
|
+
min-width: var(--pde-control-size, 28px);
|
|
130
|
+
height: var(--pde-control-size, 28px);
|
|
131
131
|
display: inline-flex;
|
|
132
132
|
align-items: center;
|
|
133
133
|
justify-content: center;
|
|
@@ -158,6 +158,7 @@
|
|
|
158
158
|
padding: 8px;
|
|
159
159
|
margin: 0 auto 16px;
|
|
160
160
|
max-width: 860px;
|
|
161
|
+
overflow: visible;
|
|
161
162
|
background: var(--pde-color-surface);
|
|
162
163
|
border: 1px solid var(--pde-color-border);
|
|
163
164
|
border-radius: var(--pde-radius-md);
|
|
@@ -165,6 +166,8 @@
|
|
|
165
166
|
}
|
|
166
167
|
.pde-toolbar-group {
|
|
167
168
|
display: flex;
|
|
169
|
+
flex-wrap: wrap;
|
|
170
|
+
align-items: center;
|
|
168
171
|
gap: 2px;
|
|
169
172
|
padding: 0 6px;
|
|
170
173
|
border-right: 1px solid var(--pde-color-border);
|
|
@@ -174,8 +177,8 @@
|
|
|
174
177
|
display: inline-flex;
|
|
175
178
|
align-items: center;
|
|
176
179
|
justify-content: center;
|
|
177
|
-
width:
|
|
178
|
-
height:
|
|
180
|
+
width: var(--pde-control-size, 28px);
|
|
181
|
+
height: var(--pde-control-size, 28px);
|
|
179
182
|
border: none;
|
|
180
183
|
border-radius: var(--pde-radius-sm);
|
|
181
184
|
background: none;
|
|
@@ -280,8 +283,8 @@
|
|
|
280
283
|
max-width: min(100%, 360px);
|
|
281
284
|
}
|
|
282
285
|
.pde-sel-bubble button {
|
|
283
|
-
min-width: 28px;
|
|
284
|
-
height: 28px;
|
|
286
|
+
min-width: var(--pde-control-size, 28px);
|
|
287
|
+
height: var(--pde-control-size, 28px);
|
|
285
288
|
display: inline-flex;
|
|
286
289
|
align-items: center;
|
|
287
290
|
justify-content: center;
|