@atelic-action/ui 3.0.0 → 3.2.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),
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
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.
|
|
3
|
+
"version": "3.2.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
|
|
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
|
|
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
|
}
|
|
@@ -56,6 +56,12 @@ export interface Founder {
|
|
|
56
56
|
jobTitle: string;
|
|
57
57
|
honorificSuffix?: string;
|
|
58
58
|
alumniOf?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Profile URLs for the founder's own schema.org sameAs (their personal site
|
|
61
|
+
* and profiles), kept off the business's sameAs so the two entities stay
|
|
62
|
+
* distinct in the graph.
|
|
63
|
+
*/
|
|
64
|
+
sameAs?: string[];
|
|
59
65
|
}
|
|
60
66
|
|
|
61
67
|
/**
|
|
@@ -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),
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
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 =
|
|
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 {
|