@drawnagency/primitives 0.1.105 → 0.1.107
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/dist/auth/cookies.d.ts +21 -1
- package/dist/auth/cookies.d.ts.map +1 -1
- package/dist/auth/index.d.ts +2 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +3 -1
- package/dist/auth/types.d.ts +28 -0
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/{chunk-PTOLUMGV.js → chunk-4RNF2DRG.js} +1 -0
- package/dist/{chunk-MUTHF2GT.js → chunk-5IZ2KTMU.js} +2 -2
- package/dist/{chunk-LZKVV4K2.js → chunk-6P4CJCXB.js} +7 -1
- package/dist/{chunk-CZLYECHC.js → chunk-AB3XVXI3.js} +4 -4
- package/dist/chunk-B7VBSE5X.js +12 -0
- package/dist/{chunk-BGHWUJFV.js → chunk-BOZUEKWL.js} +107 -171
- package/dist/{chunk-TGNS7D4F.js → chunk-CPTFFLK2.js} +1 -1
- package/dist/{chunk-26ALJO4K.js → chunk-D6TLUVOP.js} +1 -1
- package/dist/{chunk-EM5DFHDZ.js → chunk-GEENI3OC.js} +13 -4
- package/dist/chunk-GGXZZ77Z.js +70 -0
- package/dist/{chunk-X4PRBGB3.js → chunk-IPKZ5FU6.js} +83 -33
- package/dist/{chunk-CXQWLG6X.js → chunk-JIQBLG6Y.js} +23 -20
- package/dist/{chunk-EWNDBKYK.js → chunk-LUAI5DWR.js} +1 -1
- package/dist/chunk-NLQ5F3RQ.js +43 -0
- package/dist/{chunk-3COSXTOY.js → chunk-XBYJQ5RS.js} +1 -1
- package/dist/{chunk-WA6QPDJI.js → chunk-ZHHJVKU7.js} +6 -6
- package/dist/collab/rebase.js +2 -1
- package/dist/components/editor/SectionOrderingModal.d.ts.map +1 -1
- package/dist/components/editor/index.js +8 -7
- package/dist/components/primitives/index.js +7 -6
- package/dist/components/sections/Container/Container.d.ts.map +1 -1
- package/dist/components/sections/brand-guide.js +8 -7
- package/dist/components/sections/register-schemas.js +13 -12
- package/dist/components/sections/register.js +13 -12
- package/dist/components/shared/Navigation.d.ts +16 -1
- package/dist/components/shared/Navigation.d.ts.map +1 -1
- package/dist/components/shared/SectionSummaryRow.d.ts +24 -0
- package/dist/components/shared/SectionSummaryRow.d.ts.map +1 -0
- package/dist/components/shell/AudienceAddForm.d.ts +4 -1
- package/dist/components/shell/AudienceAddForm.d.ts.map +1 -1
- package/dist/components/shell/AudienceDetailsPanel.d.ts +28 -0
- package/dist/components/shell/AudienceDetailsPanel.d.ts.map +1 -0
- package/dist/components/shell/AudienceRow.d.ts +15 -1
- package/dist/components/shell/AudienceRow.d.ts.map +1 -1
- package/dist/components/shell/CredentialList.d.ts +18 -0
- package/dist/components/shell/CredentialList.d.ts.map +1 -0
- package/dist/components/shell/EditorShell.d.ts.map +1 -1
- package/dist/components/shell/MediaLibraryModal.d.ts.map +1 -1
- package/dist/components/shell/SectionTypePicker.d.ts.map +1 -1
- package/dist/components/shell/SiteSettingsViewerAccess.d.ts.map +1 -1
- package/dist/components/shell/ViewerLoginForm.d.ts +5 -1
- package/dist/components/shell/ViewerLoginForm.d.ts.map +1 -1
- package/dist/index.js +47 -29
- package/dist/lib/audience-overview.d.ts +53 -0
- package/dist/lib/audience-overview.d.ts.map +1 -0
- package/dist/lib/audience-secret.d.ts +11 -0
- package/dist/lib/audience-secret.d.ts.map +1 -0
- package/dist/lib/audience-secret.js +70 -0
- package/dist/lib/container-ops.d.ts.map +1 -1
- package/dist/lib/events.d.ts +3 -0
- package/dist/lib/events.d.ts.map +1 -1
- package/dist/lib/index-ops.js +3 -2
- package/dist/lib/index.js +13 -12
- package/dist/lib/insert-menu.d.ts +7 -3
- package/dist/lib/insert-menu.d.ts.map +1 -1
- package/dist/lib/nav.d.ts.map +1 -1
- package/dist/lib/thumb-views.d.ts +17 -0
- package/dist/lib/thumb-views.d.ts.map +1 -0
- package/dist/media/index.js +4 -3
- package/dist/schemas/audience.d.ts +29 -0
- package/dist/schemas/audience.d.ts.map +1 -1
- package/dist/schemas/audience.js +24 -0
- package/dist/schemas/auth.d.ts +1 -0
- package/dist/schemas/auth.d.ts.map +1 -1
- package/dist/schemas/auth.js +1 -1
- package/dist/schemas/index.js +28 -12
- package/dist/schemas/site-config.d.ts +1 -1
- package/dist/schemas/site-config.d.ts.map +1 -1
- package/dist/types/database.d.ts +59 -5
- package/dist/types/database.d.ts.map +1 -1
- package/package.json +9 -1
- package/src/auth/cookies.ts +37 -4
- package/src/auth/index.ts +2 -1
- package/src/auth/types.ts +32 -0
- package/src/components/editor/SectionOrderingModal.tsx +8 -73
- package/src/components/sections/Container/Container.tsx +12 -2
- package/src/components/sections/IconList/IconList.tsx +75 -22
- package/src/components/shared/Navigation.tsx +113 -7
- package/src/components/shared/SectionSummaryRow.tsx +73 -0
- package/src/components/shell/AudienceAddForm.tsx +18 -9
- package/src/components/shell/AudienceDetailsPanel.tsx +263 -0
- package/src/components/shell/AudienceRow.tsx +55 -13
- package/src/components/shell/CredentialList.tsx +285 -0
- package/src/components/shell/EditorShell.tsx +98 -5
- package/src/components/shell/MediaLibraryModal.tsx +42 -5
- package/src/components/shell/SectionTypePicker.tsx +28 -2
- package/src/components/shell/SiteSettingsViewerAccess.tsx +57 -6
- package/src/components/shell/ViewerLoginForm.tsx +35 -15
- package/src/lib/audience-overview.ts +110 -0
- package/src/lib/audience-secret.ts +99 -0
- package/src/lib/container-ops.ts +6 -3
- package/src/lib/events.ts +3 -0
- package/src/lib/insert-menu.ts +38 -4
- package/src/lib/nav.ts +6 -2
- package/src/lib/thumb-views.ts +28 -0
- package/src/schemas/audience.ts +52 -0
- package/src/schemas/auth.ts +6 -0
- package/src/schemas/site-config.ts +1 -1
- package/src/types/database.ts +59 -5
- package/dist/chunk-ZDQ3TT47.js +0 -30
|
@@ -2,20 +2,21 @@ import {
|
|
|
2
2
|
ColorItemSchema,
|
|
3
3
|
ColorSpaceSchema,
|
|
4
4
|
brandGuideSectionDefs
|
|
5
|
-
} from "../../chunk-
|
|
6
|
-
import "../../chunk-MUTHF2GT.js";
|
|
5
|
+
} from "../../chunk-IPKZ5FU6.js";
|
|
7
6
|
import "../../chunk-5THS4K5D.js";
|
|
8
|
-
import "../../chunk-
|
|
9
|
-
import "../../chunk-
|
|
7
|
+
import "../../chunk-5IZ2KTMU.js";
|
|
8
|
+
import "../../chunk-D6TLUVOP.js";
|
|
9
|
+
import "../../chunk-XBYJQ5RS.js";
|
|
10
10
|
import "../../chunk-PZJL2S3Z.js";
|
|
11
11
|
import "../../chunk-BS5AQHZG.js";
|
|
12
12
|
import "../../chunk-WDSVHKAH.js";
|
|
13
|
-
import "../../chunk-
|
|
13
|
+
import "../../chunk-4RNF2DRG.js";
|
|
14
14
|
import "../../chunk-7EOSDFS3.js";
|
|
15
|
-
import "../../chunk-
|
|
15
|
+
import "../../chunk-CPTFFLK2.js";
|
|
16
16
|
import "../../chunk-VKAGMEKE.js";
|
|
17
|
-
import "../../chunk-
|
|
17
|
+
import "../../chunk-BOZUEKWL.js";
|
|
18
18
|
import "../../chunk-FM4M4Q2W.js";
|
|
19
|
+
import "../../chunk-GGXZZ77Z.js";
|
|
19
20
|
import "../../chunk-JSBRDJBE.js";
|
|
20
21
|
export {
|
|
21
22
|
ColorItemSchema,
|
|
@@ -1,29 +1,30 @@
|
|
|
1
1
|
import {
|
|
2
2
|
allSectionDefs
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
6
|
-
import "../../chunk-MUTHF2GT.js";
|
|
7
|
-
import "../../chunk-WA6QPDJI.js";
|
|
8
|
-
import "../../chunk-ZSPCE6MZ.js";
|
|
3
|
+
} from "../../chunk-JIQBLG6Y.js";
|
|
4
|
+
import "../../chunk-IPKZ5FU6.js";
|
|
5
|
+
import "../../chunk-ZHHJVKU7.js";
|
|
9
6
|
import "../../chunk-5THS4K5D.js";
|
|
10
|
-
import "../../chunk-
|
|
7
|
+
import "../../chunk-LUAI5DWR.js";
|
|
8
|
+
import "../../chunk-5IZ2KTMU.js";
|
|
9
|
+
import "../../chunk-ZSPCE6MZ.js";
|
|
10
|
+
import "../../chunk-D6TLUVOP.js";
|
|
11
11
|
import "../../chunk-Y4JQGO6G.js";
|
|
12
|
-
import "../../chunk-
|
|
12
|
+
import "../../chunk-XBYJQ5RS.js";
|
|
13
13
|
import "../../chunk-PZJL2S3Z.js";
|
|
14
14
|
import "../../chunk-BS5AQHZG.js";
|
|
15
|
-
import "../../chunk-72CG6AA2.js";
|
|
16
15
|
import "../../chunk-WDSVHKAH.js";
|
|
17
|
-
import "../../chunk-
|
|
16
|
+
import "../../chunk-4RNF2DRG.js";
|
|
17
|
+
import "../../chunk-72CG6AA2.js";
|
|
18
18
|
import "../../chunk-7EOSDFS3.js";
|
|
19
|
-
import "../../chunk-
|
|
19
|
+
import "../../chunk-CPTFFLK2.js";
|
|
20
20
|
import "../../chunk-TZQPOR5A.js";
|
|
21
21
|
import {
|
|
22
22
|
registerRichText,
|
|
23
23
|
registerSchema
|
|
24
24
|
} from "../../chunk-VKAGMEKE.js";
|
|
25
|
-
import "../../chunk-
|
|
25
|
+
import "../../chunk-BOZUEKWL.js";
|
|
26
26
|
import "../../chunk-FM4M4Q2W.js";
|
|
27
|
+
import "../../chunk-GGXZZ77Z.js";
|
|
27
28
|
import "../../chunk-NSCT3AMV.js";
|
|
28
29
|
import "../../chunk-JSBRDJBE.js";
|
|
29
30
|
|
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
import {
|
|
2
2
|
allSectionDefs
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
6
|
-
import "../../chunk-MUTHF2GT.js";
|
|
7
|
-
import "../../chunk-WA6QPDJI.js";
|
|
8
|
-
import "../../chunk-ZSPCE6MZ.js";
|
|
3
|
+
} from "../../chunk-JIQBLG6Y.js";
|
|
4
|
+
import "../../chunk-IPKZ5FU6.js";
|
|
5
|
+
import "../../chunk-ZHHJVKU7.js";
|
|
9
6
|
import "../../chunk-5THS4K5D.js";
|
|
10
|
-
import "../../chunk-
|
|
7
|
+
import "../../chunk-LUAI5DWR.js";
|
|
8
|
+
import "../../chunk-5IZ2KTMU.js";
|
|
9
|
+
import "../../chunk-ZSPCE6MZ.js";
|
|
10
|
+
import "../../chunk-D6TLUVOP.js";
|
|
11
11
|
import "../../chunk-Y4JQGO6G.js";
|
|
12
|
-
import "../../chunk-
|
|
12
|
+
import "../../chunk-XBYJQ5RS.js";
|
|
13
13
|
import "../../chunk-PZJL2S3Z.js";
|
|
14
14
|
import "../../chunk-BS5AQHZG.js";
|
|
15
|
-
import "../../chunk-72CG6AA2.js";
|
|
16
15
|
import "../../chunk-WDSVHKAH.js";
|
|
17
|
-
import "../../chunk-
|
|
16
|
+
import "../../chunk-4RNF2DRG.js";
|
|
17
|
+
import "../../chunk-72CG6AA2.js";
|
|
18
18
|
import "../../chunk-7EOSDFS3.js";
|
|
19
|
-
import "../../chunk-
|
|
19
|
+
import "../../chunk-CPTFFLK2.js";
|
|
20
20
|
import "../../chunk-TZQPOR5A.js";
|
|
21
21
|
import {
|
|
22
22
|
registerSection
|
|
23
23
|
} from "../../chunk-VKAGMEKE.js";
|
|
24
|
-
import "../../chunk-
|
|
24
|
+
import "../../chunk-BOZUEKWL.js";
|
|
25
25
|
import "../../chunk-FM4M4Q2W.js";
|
|
26
|
+
import "../../chunk-GGXZZ77Z.js";
|
|
26
27
|
import "../../chunk-NSCT3AMV.js";
|
|
27
28
|
import "../../chunk-JSBRDJBE.js";
|
|
28
29
|
|
|
@@ -15,7 +15,22 @@ interface Props {
|
|
|
15
15
|
* the freed column to chat. Static per page render — deliberately keyed to
|
|
16
16
|
* chat being ENABLED, not open, so the nav never flaps when chat toggles. */
|
|
17
17
|
desktopBreakpoint?: "lg" | "xl";
|
|
18
|
+
/** Link to the auto-generated Audience Details page, or null to omit it.
|
|
19
|
+
* The caller owns the gate (editors and the default audience only), because
|
|
20
|
+
* only it knows the requester — this component just renders what it is told. */
|
|
21
|
+
audienceDetailsHref?: string | null;
|
|
22
|
+
/** Highlight the Audience details link as the current page. Passed by the
|
|
23
|
+
* /audiences route; the editor sets it locally when its own surface is open. */
|
|
24
|
+
audienceDetailsActive?: boolean;
|
|
25
|
+
/** Who is signed in, for the bottom identity row and its log-out button.
|
|
26
|
+
* Null on a public (password-disabled) site, where nobody is signed in.
|
|
27
|
+
* `kind` only picks the post-logout destination. */
|
|
28
|
+
identity?: {
|
|
29
|
+
label: string;
|
|
30
|
+
sublabel?: string;
|
|
31
|
+
kind: "editor" | "viewer";
|
|
32
|
+
} | null;
|
|
18
33
|
}
|
|
19
|
-
export default function Navigation({ siteNav: initialNav, siteName, darkMode, lastUpdated, logo, onPageSelect, desktopBreakpoint }: Props): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
export default function Navigation({ siteNav: initialNav, siteName, darkMode, lastUpdated, logo, onPageSelect, desktopBreakpoint, audienceDetailsHref, audienceDetailsActive, identity }: Props): import("react/jsx-runtime").JSX.Element;
|
|
20
35
|
export {};
|
|
21
36
|
//# sourceMappingURL=Navigation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.d.ts","sourceRoot":"","sources":["../../../src/components/shared/Navigation.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAmE,MAAM,eAAe,CAAC;AAS9G,UAAU,KAAK;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;IACxC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAGlF,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;kFAG8E;IAC9E,iBAAiB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Navigation.d.ts","sourceRoot":"","sources":["../../../src/components/shared/Navigation.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAmE,MAAM,eAAe,CAAC;AAS9G,UAAU,KAAK;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;IACxC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAGlF,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;kFAG8E;IAC9E,iBAAiB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC;;qFAEiF;IACjF,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC;qFACiF;IACjF,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;yDAEqD;IACrD,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAA;KAAE,GAAG,IAAI,CAAC;CACnF;AAQD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,iBAAwB,EAAE,mBAA0B,EAAE,qBAA6B,EAAE,QAAe,EAAE,EAAE,KAAK,2CA8b3N"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import type { ThumbView } from "../../lib/thumb-views";
|
|
3
|
+
interface Props {
|
|
4
|
+
/** Section's own label (registry getLabel), e.g. its heading. */
|
|
5
|
+
label: string;
|
|
6
|
+
/** Section type's display name, e.g. "Colour palette". */
|
|
7
|
+
typeLabel: string;
|
|
8
|
+
/** Already resolved to URLs/colours by the caller. Rendered at most 3 + count. */
|
|
9
|
+
thumbnails: ThumbView[];
|
|
10
|
+
/** Dim the row (audience overview: this section isn't visible to them). */
|
|
11
|
+
muted?: boolean;
|
|
12
|
+
/** Slot at the right edge, before the thumbnails — badges, status pills. */
|
|
13
|
+
trailing?: ReactNode;
|
|
14
|
+
className?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* One section as a compact card: type over label, with a thumbnail cluster.
|
|
18
|
+
* Shared by the reorder modal (which wraps it in a drag handle + drop
|
|
19
|
+
* indicator) and the Audience Details page (which dims unavailable rows), so
|
|
20
|
+
* both read as the same list of the same site.
|
|
21
|
+
*/
|
|
22
|
+
export declare function SectionSummaryRow({ label, typeLabel, thumbnails, muted, trailing, className }: Props): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=SectionSummaryRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SectionSummaryRow.d.ts","sourceRoot":"","sources":["../../../src/components/shared/SectionSummaryRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,UAAU,KAAK;IACb,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,KAAK,2CA8CpG"}
|
|
@@ -5,7 +5,10 @@ interface Props {
|
|
|
5
5
|
password: string;
|
|
6
6
|
}) => Promise<void>;
|
|
7
7
|
onCancel: () => void;
|
|
8
|
+
/** Credential mode: an audience has no password of its own — access comes from
|
|
9
|
+
* the named sign-ins added to it afterwards, so the field is hidden. */
|
|
10
|
+
requirePassword?: boolean;
|
|
8
11
|
}
|
|
9
|
-
export declare function AudienceAddForm({ onSubmit, onCancel }: Props): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare function AudienceAddForm({ onSubmit, onCancel, requirePassword }: Props): import("react/jsx-runtime").JSX.Element;
|
|
10
13
|
export {};
|
|
11
14
|
//# sourceMappingURL=AudienceAddForm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudienceAddForm.d.ts","sourceRoot":"","sources":["../../../src/components/shell/AudienceAddForm.tsx"],"names":[],"mappings":"AAOA,UAAU,KAAK;IACb,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnG,QAAQ,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"AudienceAddForm.d.ts","sourceRoot":"","sources":["../../../src/components/shell/AudienceAddForm.tsx"],"names":[],"mappings":"AAOA,UAAU,KAAK;IACb,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnG,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;6EACyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAID,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAsB,EAAE,EAAE,KAAK,2CAqFpF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AudienceOverview } from "../../lib/audience-overview";
|
|
2
|
+
/** One audience plus its resolved availability. Built server-side. */
|
|
3
|
+
export interface AudienceDetail {
|
|
4
|
+
name: string;
|
|
5
|
+
displayName: string;
|
|
6
|
+
color: string | null;
|
|
7
|
+
isDefault: boolean;
|
|
8
|
+
hasPassword: boolean;
|
|
9
|
+
/** Named sign-ins that grant this audience. Empty in `.env`/audience mode. */
|
|
10
|
+
credentials: Array<{
|
|
11
|
+
username: string;
|
|
12
|
+
label: string | null;
|
|
13
|
+
}>;
|
|
14
|
+
overview: AudienceOverview;
|
|
15
|
+
}
|
|
16
|
+
interface Props {
|
|
17
|
+
audiences: AudienceDetail[];
|
|
18
|
+
/** False when the auth provider cannot store a reversible password at all. */
|
|
19
|
+
revealSupported: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The Audience Details page body: who can see what, and what password to share.
|
|
23
|
+
* Reachable by editors and the site's default audience (the client), so the
|
|
24
|
+
* client can hand a new partner access without going through us.
|
|
25
|
+
*/
|
|
26
|
+
export declare function AudienceDetailsPanel({ audiences, revealSupported }: Props): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export default AudienceDetailsPanel;
|
|
28
|
+
//# sourceMappingURL=AudienceDetailsPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudienceDetailsPanel.d.ts","sourceRoot":"","sources":["../../../src/components/shell/AudienceDetailsPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,6BAA6B,CAAC;AAElF,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,8EAA8E;IAC9E,WAAW,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC/D,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED,UAAU,KAAK;IACb,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,8EAA8E;IAC9E,eAAe,EAAE,OAAO,CAAC;CAC1B;AAwND;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,KAAK,2CAgBzE;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Audience } from "../../auth/types";
|
|
2
|
+
import type { ViewerCredential } from "../../schemas/audience";
|
|
2
3
|
interface Props {
|
|
3
4
|
audience: Audience;
|
|
4
5
|
isDefault: boolean;
|
|
@@ -9,7 +10,20 @@ interface Props {
|
|
|
9
10
|
password?: string;
|
|
10
11
|
}) => Promise<void>;
|
|
11
12
|
onDelete: () => Promise<void>;
|
|
13
|
+
/** Named sign-ins for this audience. Undefined in `.env`/audience mode, where
|
|
14
|
+
* the row keeps its single audience-level password field. */
|
|
15
|
+
credentials?: ViewerCredential[];
|
|
16
|
+
credentialActions?: {
|
|
17
|
+
create: (data: {
|
|
18
|
+
username: string;
|
|
19
|
+
label: string | null;
|
|
20
|
+
password: string;
|
|
21
|
+
}) => Promise<void>;
|
|
22
|
+
setPassword: (username: string, password: string) => Promise<void>;
|
|
23
|
+
setLabel: (username: string, label: string | null) => Promise<void>;
|
|
24
|
+
delete: (username: string) => Promise<void>;
|
|
25
|
+
};
|
|
12
26
|
}
|
|
13
|
-
export declare function AudienceRow({ audience, isDefault, canMutate, onSave, onDelete, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export declare function AudienceRow({ audience, isDefault, canMutate, onSave, onDelete, credentials, credentialActions, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
14
28
|
export {};
|
|
15
29
|
//# sourceMappingURL=AudienceRow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudienceRow.d.ts","sourceRoot":"","sources":["../../../src/components/shell/AudienceRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAMjD,UAAU,KAAK;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrG,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"AudienceRow.d.ts","sourceRoot":"","sources":["../../../src/components/shell/AudienceRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAMjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,UAAU,KAAK;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrG,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B;kEAC8D;IAC9D,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,iBAAiB,CAAC,EAAE;QAClB,MAAM,EAAE,CAAC,IAAI,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9F,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACnE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7C,CAAC;CACH;AAID,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,EACN,QAAQ,EACR,WAAW,EACX,iBAAiB,GAClB,EAAE,KAAK,2CAgLP"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ViewerCredential } from "../../schemas/audience";
|
|
2
|
+
interface Props {
|
|
3
|
+
audienceName: string;
|
|
4
|
+
credentials: ViewerCredential[];
|
|
5
|
+
canMutate: boolean;
|
|
6
|
+
onCreate: (data: {
|
|
7
|
+
username: string;
|
|
8
|
+
label: string | null;
|
|
9
|
+
password: string;
|
|
10
|
+
}) => Promise<void>;
|
|
11
|
+
onSetPassword: (username: string, password: string) => Promise<void>;
|
|
12
|
+
onSetLabel: (username: string, label: string | null) => Promise<void>;
|
|
13
|
+
onDelete: (username: string) => Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
/** The named sign-ins for one audience, inside its Site Settings row. */
|
|
16
|
+
export declare function CredentialList({ audienceName, credentials, canMutate, onCreate, onSetPassword, onSetLabel, onDelete, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=CredentialList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CredentialList.d.ts","sourceRoot":"","sources":["../../../src/components/shell/CredentialList.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,UAAU,KAAK;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChG,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAuOD,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,EAC7B,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,GACpF,EAAE,KAAK,2CA6BP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorShell.d.ts","sourceRoot":"","sources":["../../../src/components/shell/EditorShell.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAejD,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAyDtF,OAAO,KAAK,EAAE,eAAe,EAA2D,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"EditorShell.d.ts","sourceRoot":"","sources":["../../../src/components/shell/EditorShell.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAejD,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAyDtF,OAAO,KAAK,EAAE,eAAe,EAA2D,MAAM,oBAAoB,CAAC;AA+CnH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA2BxD,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,CAAC;IAIhB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,EAAE;QACZ,KAAK,EAAE,OAAO,CAAC;QACf,aAAa,EAAE,OAAO,CAAC;QACvB,YAAY,EAAE,OAAO,CAAC;QACtB,cAAc,EAAE,OAAO,CAAC;QACxB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAA;KAAE,GAAG,IAAI,CAAC;IAIhE,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAKjC,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,OAAO,EACP,YAAY,EACZ,MAAM,EACN,SAAS,EAAE,gBAAgB,EAC3B,YAAY,EACZ,WAAW,EACX,sBAA8B,EAC9B,eAAe,GAChB,EAAE,KAAK,2CAs8DP;AAwED;6EAC6E;AAC7E,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,EACvC,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,eAAe,EAAE,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaLibraryModal.d.ts","sourceRoot":"","sources":["../../../src/components/shell/MediaLibraryModal.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MediaLibraryModal.d.ts","sourceRoot":"","sources":["../../../src/components/shell/MediaLibraryModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionTypePicker.d.ts","sourceRoot":"","sources":["../../../src/components/shell/SectionTypePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE1E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,UAAU,sBAAsB;IAC9B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CAC9C;
|
|
1
|
+
{"version":3,"file":"SectionTypePicker.d.ts","sourceRoot":"","sources":["../../../src/components/shell/SectionTypePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE1E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,UAAU,sBAAsB;IAC9B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CAC9C;AAKD,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,sBAAsB,2CA0DnG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SiteSettingsViewerAccess.d.ts","sourceRoot":"","sources":["../../../src/components/shell/SiteSettingsViewerAccess.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"SiteSettingsViewerAccess.d.ts","sourceRoot":"","sources":["../../../src/components/shell/SiteSettingsViewerAccess.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQjD,UAAU,KAAK;IACb,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;CACpD;AAQD,wBAAgB,wBAAwB,CAAC,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,EAAE,KAAK,2CAwMxG"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
interface Props {
|
|
2
|
+
/** Audience mode only. Empty (and unused) in credential mode — the page must
|
|
3
|
+
* not ship an audience list to a login form that doesn't offer the choice. */
|
|
2
4
|
audiences: Array<{
|
|
3
5
|
name: string;
|
|
4
6
|
displayName: string;
|
|
5
7
|
hasPassword?: boolean;
|
|
6
8
|
}>;
|
|
9
|
+
/** Set by the page from the auth provider's capability, never by the client. */
|
|
10
|
+
mode?: "audience" | "credentials";
|
|
7
11
|
next?: string | null;
|
|
8
12
|
}
|
|
9
|
-
export declare function ViewerLoginForm({ audiences, next }: Props): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare function ViewerLoginForm({ audiences, mode, next }: Props): import("react/jsx-runtime").JSX.Element;
|
|
10
14
|
export {};
|
|
11
15
|
//# sourceMappingURL=ViewerLoginForm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewerLoginForm.d.ts","sourceRoot":"","sources":["../../../src/components/shell/ViewerLoginForm.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ViewerLoginForm.d.ts","sourceRoot":"","sources":["../../../src/components/shell/ViewerLoginForm.tsx"],"names":[],"mappings":"AAOA,UAAU,KAAK;IACb;mFAC+E;IAC/E,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC/E,gFAAgF;IAChF,IAAI,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,IAAiB,EAAE,IAAI,EAAE,EAAE,KAAK,2CAsG5E"}
|
package/dist/index.js
CHANGED
|
@@ -9,9 +9,10 @@ import {
|
|
|
9
9
|
setSessionCookie,
|
|
10
10
|
signAudienceToken,
|
|
11
11
|
signSessionToken,
|
|
12
|
+
verifyAudienceClaims,
|
|
12
13
|
verifyAudienceToken,
|
|
13
14
|
verifySessionToken
|
|
14
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-GEENI3OC.js";
|
|
15
16
|
import {
|
|
16
17
|
ASSET_CACHE_CONTROL,
|
|
17
18
|
DOCUMENT_CACHE_CONTROL,
|
|
@@ -54,19 +55,27 @@ import {
|
|
|
54
55
|
resolveMedia,
|
|
55
56
|
sanitizeMediaName,
|
|
56
57
|
setMediaProvider
|
|
57
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-XBYJQ5RS.js";
|
|
58
59
|
import {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
MediaGridOptionsSchema,
|
|
62
|
-
slugifyAudienceName
|
|
63
|
-
} from "./chunk-ZDQ3TT47.js";
|
|
60
|
+
MediaGridOptionsSchema
|
|
61
|
+
} from "./chunk-B7VBSE5X.js";
|
|
64
62
|
import {
|
|
65
63
|
AudienceSchema,
|
|
66
64
|
RoleSchema,
|
|
67
65
|
SessionSchema,
|
|
68
66
|
SiteUserSchema
|
|
69
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-6P4CJCXB.js";
|
|
68
|
+
import {
|
|
69
|
+
AudienceColorSchema,
|
|
70
|
+
AudienceNameSchema,
|
|
71
|
+
NormalizedUsernameSchema,
|
|
72
|
+
VIEWER_PASSWORD_MIN_LENGTH,
|
|
73
|
+
ViewerCredentialSchema,
|
|
74
|
+
ViewerPasswordSchema,
|
|
75
|
+
ViewerUsernameSchema,
|
|
76
|
+
normalizeUsername,
|
|
77
|
+
slugifyAudienceName
|
|
78
|
+
} from "./chunk-NLQ5F3RQ.js";
|
|
70
79
|
import {
|
|
71
80
|
DEFAULT_LINK,
|
|
72
81
|
LinkTargetSchema,
|
|
@@ -105,18 +114,8 @@ import {
|
|
|
105
114
|
safeRedirect,
|
|
106
115
|
suggestAccessibleOn,
|
|
107
116
|
wcagLevel
|
|
108
|
-
} from "./chunk-
|
|
109
|
-
import
|
|
110
|
-
isSameOriginRequest,
|
|
111
|
-
requireSessionSecret,
|
|
112
|
-
safeNextPath
|
|
113
|
-
} from "./chunk-S2L3BPLS.js";
|
|
114
|
-
import {
|
|
115
|
-
ensureSanitizer,
|
|
116
|
-
generateNavLinks,
|
|
117
|
-
sanitizeHtml,
|
|
118
|
-
toSectionId
|
|
119
|
-
} from "./chunk-72CG6AA2.js";
|
|
117
|
+
} from "./chunk-AB3XVXI3.js";
|
|
118
|
+
import "./chunk-5BM2Y3NJ.js";
|
|
120
119
|
import {
|
|
121
120
|
curatedIcons,
|
|
122
121
|
getIcon
|
|
@@ -126,10 +125,21 @@ import {
|
|
|
126
125
|
darkModeEvent,
|
|
127
126
|
editModeEvent,
|
|
128
127
|
navChangeEvent
|
|
129
|
-
} from "./chunk-
|
|
128
|
+
} from "./chunk-4RNF2DRG.js";
|
|
129
|
+
import {
|
|
130
|
+
ensureSanitizer,
|
|
131
|
+
generateNavLinks,
|
|
132
|
+
sanitizeHtml,
|
|
133
|
+
toSectionId
|
|
134
|
+
} from "./chunk-72CG6AA2.js";
|
|
130
135
|
import {
|
|
131
136
|
cn
|
|
132
137
|
} from "./chunk-7EOSDFS3.js";
|
|
138
|
+
import {
|
|
139
|
+
isSameOriginRequest,
|
|
140
|
+
requireSessionSecret,
|
|
141
|
+
safeNextPath
|
|
142
|
+
} from "./chunk-S2L3BPLS.js";
|
|
133
143
|
import {
|
|
134
144
|
env
|
|
135
145
|
} from "./chunk-WKZ7OENC.js";
|
|
@@ -140,8 +150,7 @@ import {
|
|
|
140
150
|
navEntries,
|
|
141
151
|
pagesInNavOrder,
|
|
142
152
|
reconcileNav
|
|
143
|
-
} from "./chunk-
|
|
144
|
-
import "./chunk-5BM2Y3NJ.js";
|
|
153
|
+
} from "./chunk-CPTFFLK2.js";
|
|
145
154
|
import {
|
|
146
155
|
NavEntrySchema,
|
|
147
156
|
NavFileSchema
|
|
@@ -164,27 +173,29 @@ import {
|
|
|
164
173
|
import {
|
|
165
174
|
ChatbotConfigSchema,
|
|
166
175
|
ChatbotTaskSchema,
|
|
167
|
-
FontNameSchema,
|
|
168
|
-
HexColorSchema,
|
|
169
176
|
ImageManifestSchema,
|
|
170
177
|
IndexSchema,
|
|
171
178
|
MediaConfigSchema,
|
|
172
179
|
MediaFolderSchema,
|
|
173
180
|
MediaItemSchema,
|
|
174
|
-
MediaReferenceSchema,
|
|
175
181
|
PageSchema,
|
|
176
182
|
PageStatusSchema,
|
|
177
183
|
RESERVED_SLUGS,
|
|
178
184
|
SLUG_RE,
|
|
179
185
|
SectionMetaSchema,
|
|
180
|
-
SingleMediaReferenceSchema,
|
|
181
186
|
SiteConfigSchema,
|
|
182
187
|
StatusSchema,
|
|
183
|
-
TextLineSchema,
|
|
184
188
|
VariantSchema,
|
|
185
189
|
normalizeSiteIndex
|
|
186
|
-
} from "./chunk-
|
|
190
|
+
} from "./chunk-BOZUEKWL.js";
|
|
187
191
|
import "./chunk-FM4M4Q2W.js";
|
|
192
|
+
import {
|
|
193
|
+
FontNameSchema,
|
|
194
|
+
HexColorSchema,
|
|
195
|
+
MediaReferenceSchema,
|
|
196
|
+
SingleMediaReferenceSchema,
|
|
197
|
+
TextLineSchema
|
|
198
|
+
} from "./chunk-GGXZZ77Z.js";
|
|
188
199
|
import "./chunk-NSCT3AMV.js";
|
|
189
200
|
import "./chunk-JSBRDJBE.js";
|
|
190
201
|
export {
|
|
@@ -230,6 +241,7 @@ export {
|
|
|
230
241
|
MediaReferenceSchema,
|
|
231
242
|
NavEntrySchema,
|
|
232
243
|
NavFileSchema,
|
|
244
|
+
NormalizedUsernameSchema,
|
|
233
245
|
PageSchema,
|
|
234
246
|
PageStatusSchema,
|
|
235
247
|
ProcessingQueue,
|
|
@@ -250,7 +262,11 @@ export {
|
|
|
250
262
|
StorageConflictError,
|
|
251
263
|
TakeoverMessageSchema,
|
|
252
264
|
TextLineSchema,
|
|
265
|
+
VIEWER_PASSWORD_MIN_LENGTH,
|
|
253
266
|
VariantSchema,
|
|
267
|
+
ViewerCredentialSchema,
|
|
268
|
+
ViewerPasswordSchema,
|
|
269
|
+
ViewerUsernameSchema,
|
|
254
270
|
accentVarValue,
|
|
255
271
|
audiencePasses,
|
|
256
272
|
buildGoogleFontsUrl,
|
|
@@ -301,6 +317,7 @@ export {
|
|
|
301
317
|
navChangeEvent,
|
|
302
318
|
navEntries,
|
|
303
319
|
normalizeSiteIndex,
|
|
320
|
+
normalizeUsername,
|
|
304
321
|
onPrimaryVarValue,
|
|
305
322
|
pagesInNavOrder,
|
|
306
323
|
primaryVarValue,
|
|
@@ -327,6 +344,7 @@ export {
|
|
|
327
344
|
slugifyAudienceName,
|
|
328
345
|
suggestAccessibleOn,
|
|
329
346
|
toSectionId,
|
|
347
|
+
verifyAudienceClaims,
|
|
330
348
|
verifyAudienceToken,
|
|
331
349
|
verifySessionToken,
|
|
332
350
|
wcagLevel,
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What each audience can actually see. Powers the Audience Details page, which
|
|
3
|
+
* answers "if I give a partner this password, what do they get?".
|
|
4
|
+
*
|
|
5
|
+
* Pure and view-agnostic: section labels/thumbnails are resolved by the caller
|
|
6
|
+
* (they need the section registry and the media provider) and passed in, so this
|
|
7
|
+
* stays trivially testable and ships no registry into viewer JS.
|
|
8
|
+
*/
|
|
9
|
+
import type { SiteIndex } from "../schemas/site-config";
|
|
10
|
+
import type { ThumbView } from "./thumb-views";
|
|
11
|
+
/** Caller-resolved presentation for one section. */
|
|
12
|
+
export interface SectionDisplay {
|
|
13
|
+
label: string;
|
|
14
|
+
typeLabel: string;
|
|
15
|
+
thumbnails: ThumbView[];
|
|
16
|
+
}
|
|
17
|
+
export interface OverviewSection extends SectionDisplay {
|
|
18
|
+
id: string;
|
|
19
|
+
available: boolean;
|
|
20
|
+
/** Live-but-draft sections are invisible to EVERY audience, not just this one. */
|
|
21
|
+
draft: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface OverviewPage {
|
|
24
|
+
id: string;
|
|
25
|
+
title: string;
|
|
26
|
+
slug: string;
|
|
27
|
+
href: string;
|
|
28
|
+
/** Live but off the sidebar — reachable by URL, so it counts as available. */
|
|
29
|
+
hiddenFromNav: boolean;
|
|
30
|
+
/** none = the page itself is gated away; partial = page in, some sections out. */
|
|
31
|
+
availability: "full" | "partial" | "none";
|
|
32
|
+
sections: OverviewSection[];
|
|
33
|
+
}
|
|
34
|
+
export interface AudienceOverview {
|
|
35
|
+
audience: string;
|
|
36
|
+
pages: OverviewPage[];
|
|
37
|
+
pagesAvailable: number;
|
|
38
|
+
pagesTotal: number;
|
|
39
|
+
sectionsAvailable: number;
|
|
40
|
+
sectionsTotal: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Availability for one audience across the whole site.
|
|
44
|
+
*
|
|
45
|
+
* Archived pages are excluded outright (nobody can reach them). Draft sections
|
|
46
|
+
* are listed as unavailable but flagged, so a page reading "3 of 8" is not
|
|
47
|
+
* mistaken for an access problem.
|
|
48
|
+
*
|
|
49
|
+
* The cascade matters: a section whose own access allows this audience is still
|
|
50
|
+
* unavailable inside a page that gates them out. Page access wins.
|
|
51
|
+
*/
|
|
52
|
+
export declare function buildAudienceOverview(index: SiteIndex, display: (sectionId: string) => SectionDisplay, audience: string): AudienceOverview;
|
|
53
|
+
//# sourceMappingURL=audience-overview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audience-overview.d.ts","sourceRoot":"","sources":["../../src/lib/audience-overview.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,oDAAoD;AACpD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,aAAa,EAAE,OAAO,CAAC;IACvB,kFAAkF;IAClF,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAC1C,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,cAAc,EAC9C,QAAQ,EAAE,MAAM,GACf,gBAAgB,CAgDlB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Seal a plaintext password into `v1.<iv>.<ciphertext>` (base64url parts). */
|
|
2
|
+
export declare function sealAudiencePassword(password: string): Promise<string>;
|
|
3
|
+
/**
|
|
4
|
+
* Open a sealed password, or null when it cannot be trusted — unknown version,
|
|
5
|
+
* malformed parts, tampered ciphertext (GCM auth failure), or a rotated
|
|
6
|
+
* SESSION_SECRET. Callers treat null as "not revealable" and never as an error;
|
|
7
|
+
* they must ALSO verify the result against the bcrypt hash, since a valid seal
|
|
8
|
+
* can still be stale (a password changed by a writer that skipped the cipher).
|
|
9
|
+
*/
|
|
10
|
+
export declare function openAudiencePassword(sealed: string | null | undefined): Promise<string | null>;
|
|
11
|
+
//# sourceMappingURL=audience-secret.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audience-secret.d.ts","sourceRoot":"","sources":["../../src/lib/audience-secret.ts"],"names":[],"mappings":"AAgEA,+EAA+E;AAC/E,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ5E;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgBpG"}
|