@atelic-action/ui 3.0.0 → 3.1.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.
@@ -11,10 +11,12 @@
11
11
  * up anywhere else.
12
12
  *
13
13
  * Public content is the short list that is safe to ship to every page: the
14
- * 404's copy, the sealed proposal (ciphertext by design, GATE.md), and the
15
- * heads in `*.meta.ts`, which carry a title and nothing a snapshot produced.
16
- * Every other module under src/content/ is treated as private, so a new
17
- * artifact starts behind the wall.
14
+ * 404's copy, the sealed proposal (ciphertext by design, GATE.md), the note
15
+ * (built from public signals only, the practice's FOOTPRINT.md, Privacy,
16
+ * and meant to be read at /notes with no sign in, which a host opens through
17
+ * the gate's `open` option), and the heads in `*.meta.ts`, which carry a title and
18
+ * nothing a snapshot produced. Every other module under src/content/ is
19
+ * treated as private, so a new artifact starts behind the wall.
18
20
  */
19
21
  import type { Plugin } from "vite";
20
22
  /** Where the client build writes the chunks the wall holds back. */
@@ -1,6 +1,6 @@
1
1
  /** Where the client build writes the chunks the wall holds back. */
2
2
  export const DOC_DIR = "assets/doc";
3
- const PUBLIC_CONTENT = /\/src\/content\/(not-found\.tsx|proposal[^/]*|[^/]+\.meta\.ts)$/;
3
+ const PUBLIC_CONTENT = /\/src\/content\/(not-found\.tsx|proposal[^/]*|notes\.(?:tsx|json)|[^/]+\.meta\.ts)$/;
4
4
  /** Whether a module id is content that must never ship to the login page. */
5
5
  export function isPrivateContent(id) {
6
6
  const path = id.split("?")[0].replaceAll("\\", "/");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atelic-action/ui",
3
- "version": "3.0.0",
3
+ "version": "3.1.0",
4
4
  "description": "Shared UI for the Atelic templates: site chrome, base styles, the component library, the access gate, and the app shell they install",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
@@ -33,7 +33,7 @@ function readSaved(name: string): boolean {
33
33
  const config = peekAppConfig();
34
34
  if (!config) return false;
35
35
  try {
36
- return localStorage.getItem(config.storagePrefix + "-" + name) === "true";
36
+ return localStorage.getItem(`${config.storagePrefix}-${name}`) === "true";
37
37
  } catch {
38
38
  return false;
39
39
  }
@@ -43,7 +43,7 @@ function writeSaved(name: string, value: boolean) {
43
43
  const config = peekAppConfig();
44
44
  if (!config) return;
45
45
  try {
46
- localStorage.setItem(config.storagePrefix + "-" + name, String(value));
46
+ localStorage.setItem(`${config.storagePrefix}-${name}`, String(value));
47
47
  } catch {
48
48
  // Storage refused; the state lives in memory for this visit.
49
49
  }
@@ -11,17 +11,20 @@
11
11
  * up anywhere else.
12
12
  *
13
13
  * Public content is the short list that is safe to ship to every page: the
14
- * 404's copy, the sealed proposal (ciphertext by design, GATE.md), and the
15
- * heads in `*.meta.ts`, which carry a title and nothing a snapshot produced.
16
- * Every other module under src/content/ is treated as private, so a new
17
- * artifact starts behind the wall.
14
+ * 404's copy, the sealed proposal (ciphertext by design, GATE.md), the note
15
+ * (built from public signals only, the practice's FOOTPRINT.md, Privacy,
16
+ * and meant to be read at /notes with no sign in, which a host opens through
17
+ * the gate's `open` option), and the heads in `*.meta.ts`, which carry a title and
18
+ * nothing a snapshot produced. Every other module under src/content/ is
19
+ * treated as private, so a new artifact starts behind the wall.
18
20
  */
19
21
  import type { Plugin } from "vite";
20
22
 
21
23
  /** Where the client build writes the chunks the wall holds back. */
22
24
  export const DOC_DIR = "assets/doc";
23
25
 
24
- const PUBLIC_CONTENT = /\/src\/content\/(not-found\.tsx|proposal[^/]*|[^/]+\.meta\.ts)$/;
26
+ const PUBLIC_CONTENT =
27
+ /\/src\/content\/(not-found\.tsx|proposal[^/]*|notes\.(?:tsx|json)|[^/]+\.meta\.ts)$/;
25
28
 
26
29
  /** Whether a module id is content that must never ship to the login page. */
27
30
  export function isPrivateContent(id: string): boolean {