@atelic-action/artifact 3.0.0 → 4.0.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 CHANGED
@@ -45,7 +45,7 @@ What a document is built from stays in `@atelic-action/ui`, and this package imp
45
45
  bun add @atelic-action/artifact @atelic-action/ui
46
46
  ```
47
47
 
48
- Peer dependencies: `@atelic-action/ui` at `^2.2.1`, `react` at `^19.0.0`, and `lucide-react` at `^1.23.0`. The package ships TSX and CSS as source, compiled inside the site's own Vite like ui's; a site whose `vite.config.ts` is one `artifactConfig` call from `@atelic-action/ui/vite` needs nothing more, for the build, the prerender, and the dev server alike. The default labels a document sets live in the document: the read's `readLabels` and the sealed document's gate copy are overridden through props, and the monthly page's four questions are fixed on purpose, since they are its contract with the Statement of Work.
48
+ Peer dependencies: `@atelic-action/ui` at `^3.0.0`, `react` at `^19.0.0`, and `lucide-react` at `^1.23.0`. The package ships TSX and CSS as source, compiled inside the site's own Vite like ui's; a site whose `vite.config.ts` is one `artifactConfig` call from `@atelic-action/ui/vite` needs nothing more, for the build, the prerender, and the dev server alike. The default labels a document sets live in the document: the read's `readLabels` and the sealed document's gate copy are overridden through props, and the monthly page's four questions are fixed on purpose, since they are its contract with the Statement of Work.
49
49
 
50
50
  ```tsx
51
51
  import { Writeup } from "@atelic-action/artifact";
@@ -136,6 +136,8 @@ Static files. `vercel.json` points Vercel at `dist/client` with no framework pre
136
136
 
137
137
  A document is fixed or grown here, in `src/documents/`, with its test in `tst/documents/`, and released as a version of this package; a folder takes it with `bun update @atelic-action/artifact`. A piece a document is built from (the grade chip, the sign off, a page component, the chrome, the wall, a command) is fixed in `@atelic-action/ui` and released there first, then taken here by bumping the ui range. An improvement to the seed itself (a route, a stub file, the example content) is made here and copied into the folders by hand.
138
138
 
139
+ A folder taking 4.0.0 takes ui 3.0.0 with it (`bun update @atelic-action/artifact @atelic-action/ui --latest --cwd <short>`) and repoints its own routes, since ui 3.0.0 keeps acronyms capitalized with no alias for the old spelling: `canonicalUrl` from `@atelic-action/ui/artifact` becomes `canonicalURL` in `src/routes/index.tsx`, and the root route's `baseCss` import becomes `baseCSS`.
140
+
139
141
  ## Releasing
140
142
 
141
143
  1. Bump `version` in `package.json` and merge it to `main`: patch for a fix, minor for a new document or prop, major for a breaking prop, type, or class rename.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atelic-action/artifact",
3
- "version": "3.0.0",
3
+ "version": "4.0.0",
4
4
  "description": "The composed documents the Atelic practice hands or sends a business (the writeup, the read, the monthly page, the note, and the sealed document), built from the pieces in @atelic-action/ui",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -37,12 +37,12 @@
37
37
  "format": "biome format . --write"
38
38
  },
39
39
  "peerDependencies": {
40
- "@atelic-action/ui": "^2.2.1",
40
+ "@atelic-action/ui": "^3.0.0",
41
41
  "lucide-react": "^1.23.0",
42
42
  "react": "^19.0.0"
43
43
  },
44
44
  "devDependencies": {
45
- "@atelic-action/ui": "^2.2.1",
45
+ "@atelic-action/ui": "^3.0.0",
46
46
  "@biomejs/biome": "^2.0.0",
47
47
  "@playwright/test": "^1.60.0",
48
48
  "@sentry/react": "^10.0.0",
@@ -227,7 +227,7 @@ export function Gate({
227
227
  errorText = "That email does not open this document. Use the address it was sent to.",
228
228
  onUnlock,
229
229
  }: GateProps) {
230
- const [html, setHtml] = useState<string | null>(null);
230
+ const [html, setHTML] = useState<string | null>(null);
231
231
  const [failed, setFailed] = useState(false);
232
232
  const [busy, setBusy] = useState(false);
233
233
  const [value, setValue] = useState("");
@@ -253,7 +253,7 @@ export function Gate({
253
253
  if (opened) {
254
254
  writeStored(storageKey, fromQuery);
255
255
  identifyReader(opened.email, identifyDomain);
256
- setHtml(opened.html);
256
+ setHTML(opened.html);
257
257
  onUnlockRef.current?.(opened.person);
258
258
  return;
259
259
  }
@@ -267,7 +267,7 @@ export function Gate({
267
267
  const opened = await openDocument(payload, stored);
268
268
  if (cancelled || !opened) return;
269
269
  identifyReader(opened.email, identifyDomain);
270
- setHtml(opened.html);
270
+ setHTML(opened.html);
271
271
  onUnlockRef.current?.(opened.person);
272
272
  }
273
273
 
@@ -290,7 +290,7 @@ export function Gate({
290
290
  }
291
291
  writeStored(storageKey, value);
292
292
  identifyReader(opened.email, identifyDomain);
293
- setHtml(opened.html);
293
+ setHTML(opened.html);
294
294
  onUnlockRef.current?.(opened.person);
295
295
  }
296
296