@vibes.diy/base 14.3.4 → 14.3.6

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.
Files changed (57) hide show
  1. package/attachments/process-attachment.js +1 -1
  2. package/attachments/process-attachment.js.map +1 -1
  3. package/components/AdminModeControl.d.ts +7 -0
  4. package/components/AdminModeControl.js +9 -0
  5. package/components/AdminModeControl.js.map +1 -0
  6. package/components/EditorTabStrip.d.ts +3 -2
  7. package/components/EditorTabStrip.js +8 -15
  8. package/components/EditorTabStrip.js.map +1 -1
  9. package/components/MemberAccessView.d.ts +37 -0
  10. package/components/MemberAccessView.js +94 -0
  11. package/components/MemberAccessView.js.map +1 -0
  12. package/components/MemberInvitationView.d.ts +11 -0
  13. package/components/MemberInvitationView.js +16 -0
  14. package/components/MemberInvitationView.js.map +1 -0
  15. package/components/PublishBanner.d.ts +16 -0
  16. package/components/PublishBanner.js +126 -0
  17. package/components/PublishBanner.js.map +1 -0
  18. package/components/ShareLinkView.d.ts +11 -0
  19. package/components/ShareLinkView.js +61 -0
  20. package/components/ShareLinkView.js.map +1 -0
  21. package/components/SharePanelView.d.ts +5 -1
  22. package/components/SharePanelView.js +17 -62
  23. package/components/SharePanelView.js.map +1 -1
  24. package/components/UnifiedVibeCard.d.ts +0 -1
  25. package/components/UnifiedVibeCard.js +59 -156
  26. package/components/UnifiedVibeCard.js.map +1 -1
  27. package/components/UnifiedVibeCardSettings.styles.d.ts +3 -0
  28. package/components/UnifiedVibeCardSettings.styles.js +95 -0
  29. package/components/UnifiedVibeCardSettings.styles.js.map +1 -0
  30. package/components/UnifiedVibeCardShare.styles.d.ts +3 -0
  31. package/components/UnifiedVibeCardShare.styles.js +72 -0
  32. package/components/UnifiedVibeCardShare.styles.js.map +1 -0
  33. package/components/ViewerAccessSummary.d.ts +28 -0
  34. package/components/ViewerAccessSummary.js +105 -0
  35. package/components/ViewerAccessSummary.js.map +1 -0
  36. package/components/ViewerStandingView.d.ts +4 -26
  37. package/components/ViewerStandingView.js +6 -104
  38. package/components/ViewerStandingView.js.map +1 -1
  39. package/components/editor-tabs.d.ts +28 -0
  40. package/components/editor-tabs.js +15 -0
  41. package/components/editor-tabs.js.map +1 -0
  42. package/components/index.d.ts +7 -1
  43. package/components/index.js +7 -1
  44. package/components/index.js.map +1 -1
  45. package/hooks/useCardFloat.d.ts +6 -0
  46. package/hooks/useCardFloat.js +191 -0
  47. package/hooks/useCardFloat.js.map +1 -0
  48. package/hooks/useHomeMotionPress.d.ts +17 -0
  49. package/hooks/useHomeMotionPress.js +93 -0
  50. package/hooks/useHomeMotionPress.js.map +1 -0
  51. package/motion/card-motion-source.d.ts +23 -0
  52. package/motion/card-motion-source.js +50 -0
  53. package/motion/card-motion-source.js.map +1 -0
  54. package/package.json +5 -5
  55. package/components/PromiseStrip.d.ts +0 -13
  56. package/components/PromiseStrip.js +0 -17
  57. package/components/PromiseStrip.js.map +0 -1
@@ -69,7 +69,7 @@ async function parseOfficeFile(file, ext) {
69
69
  fileType: ext,
70
70
  ...(pdfWorkerSrc !== undefined ? { pdfWorkerSrc } : {}),
71
71
  });
72
- return ast.toText();
72
+ return (await ast.to("text")).value;
73
73
  }
74
74
  export async function processAttachment(file) {
75
75
  if (file.size > MAX_FILE_BYTES) {
@@ -1 +1 @@
1
- {"version":3,"file":"process-attachment.js","sourceRoot":"","sources":["../../jsr/attachments/process-attachment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-attachment.js","sourceRoot":"","sources":["../../jsr/attachments/process-attachment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ export interface AdminModeControlProps {
3
+ readonly isOwner: boolean;
4
+ readonly adminMode: boolean;
5
+ readonly onToggle?: () => void;
6
+ }
7
+ export declare function AdminModeControl({ isOwner, adminMode, onToggle }: AdminModeControlProps): React.JSX.Element | null;
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ export function AdminModeControl({ isOwner, adminMode, onToggle }) {
3
+ if (isOwner === false || onToggle === undefined)
4
+ return null;
5
+ return (React.createElement("label", { className: "flex items-center gap-2 text-sm text-neutral-700 dark:text-neutral-300" },
6
+ React.createElement("input", { type: "checkbox", checked: adminMode, onChange: () => void onToggle(), className: "rounded border-gray-300 dark:border-gray-600" }),
7
+ React.createElement("span", null, "Admin mode")));
8
+ }
9
+ //# sourceMappingURL=AdminModeControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminModeControl.js","sourceRoot":"","sources":["../../jsr/components/AdminModeControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAyB;IACtF,IAAI,OAAO,KAAK,KAAK,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC7D,OAAO,CACL,+BAAO,SAAS,EAAC,wEAAwE;QACvF,+BACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,EAC/B,SAAS,EAAC,8CAA8C,GACxD;QACF,+CAAuB,CACjB,CACT,CAAC;AACJ,CAAC"}
@@ -1,6 +1,7 @@
1
- import React from "react";
1
+ import * as React from "react";
2
+ import { type EditorTabKey } from "./editor-tabs.js";
2
3
  import { type ViewerStandingState } from "./ViewerStandingView.js";
3
- export type EditorTabKey = "standing" | "edit-chat" | "code" | "files" | "data" | "style" | "settings" | "faq";
4
+ export type { EditorTabKey } from "./editor-tabs.js";
4
5
  export declare function EditorTabStrip({ tab, onTab, standing, disabledTabs, }: {
5
6
  tab: EditorTabKey;
6
7
  onTab: (t: EditorTabKey) => void;
@@ -1,22 +1,15 @@
1
- import React from "react";
1
+ import * as React from "react";
2
+ import { EDITOR_TAB_DEFINITIONS, isEditorTabKey } from "./editor-tabs.js";
2
3
  import { SubTabStrip } from "./SubTabStrip.js";
3
4
  import { ViewerStandingGlyph, viewerStandingCopy } from "./ViewerStandingView.js";
4
- const TAB_LABELS = {
5
- standing: "Your access",
6
- "edit-chat": "Chat",
7
- code: "Code",
8
- files: "Files",
9
- data: "Data",
10
- style: "Style",
11
- settings: "Settings",
12
- faq: "FAQ",
13
- };
14
- const TAB_ORDER = ["standing", "edit-chat", "style", "code", "files", "data", "settings", "faq"];
15
5
  export function EditorTabStrip({ tab, onTab, standing, disabledTabs = [], }) {
16
6
  const copy = viewerStandingCopy(standing ?? {});
17
- return (React.createElement(SubTabStrip, { ariaLabel: "Vibe editor", active: tab, compact: true, disabledKeys: disabledTabs, onSelect: onTab, tabs: TAB_ORDER.map((t) => t === "standing"
7
+ return (React.createElement(SubTabStrip, { ariaLabel: "Vibe editor", active: tab, compact: true, disabledKeys: disabledTabs, onSelect: (key) => {
8
+ if (isEditorTabKey(key))
9
+ onTab(key);
10
+ }, tabs: EDITOR_TAB_DEFINITIONS.map(({ key, label }) => key === "standing"
18
11
  ?
19
- { key: t, label: copy.label, icon: React.createElement(ViewerStandingGlyph, { tier: copy.tier }) }
20
- : { key: t, label: TAB_LABELS[t] }) }));
12
+ { key, label: copy.label, icon: React.createElement(ViewerStandingGlyph, { tier: copy.tier }) }
13
+ : { key, label }) }));
21
14
  }
22
15
  //# sourceMappingURL=EditorTabStrip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditorTabStrip.js","sourceRoot":"","sources":["../../jsr/components/EditorTabStrip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAA4B,MAAM,yBAAyB,CAAC;AAU5G,MAAM,UAAU,GAAiC;IAC/C,QAAQ,EAAE,aAAa;IACvB,WAAW,EAAE,MAAM;IACnB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,MAAM,SAAS,GAA4B,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;AAE1H,MAAM,UAAU,cAAc,CAAC,EAC7B,GAAG,EACH,KAAK,EACL,QAAQ,EACR,YAAY,GAAG,EAAE,GASlB;IACC,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAChD,OAAO,CACL,oBAAC,WAAW,IACV,SAAS,EAAC,aAAa,EACvB,MAAM,EAAE,GAAG,EACX,OAAO,QACP,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,KAA8B,EACxC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxB,CAAC,KAAK,UAAU;YACd,CAAC;gBAGC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,oBAAC,mBAAmB,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EAAE;YAC/E,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CACrC,GACD,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"EditorTabStrip.js","sourceRoot":"","sources":["../../jsr/components/EditorTabStrip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAqB,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAA4B,MAAM,yBAAyB,CAAC;AAW5G,MAAM,UAAU,cAAc,CAAC,EAC7B,GAAG,EACH,KAAK,EACL,QAAQ,EACR,YAAY,GAAG,EAAE,GASlB;IACC,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAChD,OAAO,CACL,oBAAC,WAAW,IACV,SAAS,EAAC,aAAa,EACvB,MAAM,EAAE,GAAG,EACX,OAAO,QACP,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;YAChB,IAAI,cAAc,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,EACD,IAAI,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAClD,GAAG,KAAK,UAAU;YAChB,CAAC;gBAGC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,oBAAC,mBAAmB,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EAAE;YAC5E,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CACnB,GACD,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,37 @@
1
+ import * as React from "react";
2
+ export interface MemberAccessAction {
3
+ readonly label: string;
4
+ readonly onSelect: () => void;
5
+ }
6
+ export interface MemberRoleControl {
7
+ readonly id: string;
8
+ readonly label?: string;
9
+ readonly selectedRole?: "editor" | "viewer" | "submitter";
10
+ readonly intent: "change" | "approve" | "reactivate" | "invite";
11
+ readonly onSelect: (role: "editor" | "viewer") => void;
12
+ }
13
+ export interface MemberAccessEntry {
14
+ readonly id: string;
15
+ readonly name: string;
16
+ readonly detail: string;
17
+ readonly actions: readonly MemberAccessAction[];
18
+ readonly roles?: readonly MemberRoleControl[];
19
+ readonly busy?: boolean;
20
+ readonly developer?: {
21
+ readonly enabled: boolean;
22
+ readonly onChange?: (enabled: boolean) => void;
23
+ readonly unavailableReason?: string;
24
+ };
25
+ }
26
+ export interface MemberAccessViewProps {
27
+ readonly entries: readonly MemberAccessEntry[];
28
+ readonly loading?: boolean;
29
+ readonly error?: boolean;
30
+ readonly onRetry?: () => void;
31
+ readonly members?: readonly {
32
+ readonly id: string;
33
+ readonly name: string;
34
+ }[];
35
+ readonly invitationSlot?: React.ReactNode;
36
+ }
37
+ export declare function MemberAccessView({ entries, loading, error, onRetry, members, invitationSlot, }: MemberAccessViewProps): React.JSX.Element;
@@ -0,0 +1,94 @@
1
+ import * as React from "react";
2
+ const ACTION = {
3
+ border: "1px solid var(--color-light-decorative-01, #b8beb8)",
4
+ borderRadius: 8,
5
+ background: "transparent",
6
+ color: "inherit",
7
+ padding: "7px 10px",
8
+ minHeight: 36,
9
+ font: "inherit",
10
+ fontSize: 12,
11
+ cursor: "pointer",
12
+ };
13
+ const CHIP = {
14
+ borderRadius: 4,
15
+ padding: "2px 6px",
16
+ fontSize: 12,
17
+ lineHeight: "20px",
18
+ fontWeight: 500,
19
+ border: "1px solid transparent",
20
+ };
21
+ function RoleChips({ control, busy }) {
22
+ const verb = { change: "Make", approve: "Approve as", reactivate: "Reactivate as", invite: "Invite as" }[control.intent];
23
+ return (React.createElement("span", { style: { display: "inline-flex", flexWrap: "wrap", alignItems: "center", gap: 4 } },
24
+ control.label !== undefined && (React.createElement("span", { "data-member-helper": true, style: { fontSize: 12, marginRight: 2 } }, control.label)),
25
+ ["editor", "viewer"].map((role) => {
26
+ const selected = control.selectedRole === role;
27
+ return (React.createElement("button", { key: role, type: "button", "data-member-role-chip": true, "aria-pressed": selected, "aria-label": `${control.label === undefined ? "" : `${control.label}: `}${verb} ${role === "editor" ? "editor" : "reader"}`, disabled: busy === true, onClick: () => {
28
+ if (!selected)
29
+ control.onSelect(role);
30
+ }, style: { ...CHIP, boxShadow: selected ? "inset 0 0 0 1px currentColor" : undefined }, className: `disabled:opacity-50 ${role === "editor" ? "text-blue-700 dark:text-blue-300" : "text-purple-700 dark:text-purple-300"} ${selected ? (role === "editor" ? "bg-blue-100 dark:bg-blue-900/40" : "bg-purple-100 dark:bg-purple-900/40") : "bg-transparent hover:bg-black/5 dark:hover:bg-white/5"}` }, role === "editor" ? "Editor" : "Reader"));
31
+ })));
32
+ }
33
+ export function MemberAccessView({ entries, loading = false, error = false, onRetry, members, invitationSlot, }) {
34
+ const [selectedId, setSelectedId] = React.useState();
35
+ const selected = entries.find((entry) => entry.id === selectedId);
36
+ const selectedName = selected?.name;
37
+ const visibleEntries = selected === undefined ? entries : [selected];
38
+ const heading = React.useRef(null);
39
+ React.useEffect(() => {
40
+ if (selectedName === undefined)
41
+ return;
42
+ heading.current?.focus({ preventScroll: true });
43
+ heading.current?.scrollIntoView({ block: "nearest" });
44
+ }, [selectedName]);
45
+ return (React.createElement("section", { "aria-label": "Manage members", style: { display: "flex", flexDirection: "column", gap: 14, minWidth: 0 } },
46
+ members !== undefined && (React.createElement("div", null,
47
+ React.createElement("p", { "data-member-helper": true, className: "mb-2 text-xs", style: { color: "var(--uvc-share-label, inherit)", opacity: "var(--uvc-share-helper-opacity, 0.75)" } }, "In this vibe \u00B7 you are the owner"),
48
+ React.createElement("div", { className: "flex flex-wrap gap-2" }, members.map((member) => (React.createElement("button", { key: member.id, type: "button", "aria-label": `Manage ${member.name}`, "aria-pressed": member.id === selectedId, style: ACTION, onClick: () => setSelectedId(member.id) }, member.name)))))),
49
+ invitationSlot,
50
+ React.createElement("div", null,
51
+ React.createElement("div", { style: { display: "flex", justifyContent: "space-between", gap: 8, alignItems: "center" } },
52
+ React.createElement("h3", { ref: heading, tabIndex: -1, style: { fontSize: 14, fontWeight: 600, margin: 0 } }, selectedName ?? "Member access"),
53
+ selectedName !== undefined && (React.createElement("button", { type: "button", style: ACTION, onClick: () => setSelectedId(undefined) }, "All members"))),
54
+ React.createElement("p", { "data-member-helper": true, style: {
55
+ fontSize: 12,
56
+ color: "var(--uvc-share-label, inherit)",
57
+ opacity: "var(--uvc-share-helper-opacity, 0.75)",
58
+ margin: "6px 0 10px",
59
+ } }, "Editors change app data; readers view it. Developer adds code editing, publishing, and all app data and secrets. Only you manage access."),
60
+ loading ? (React.createElement("p", { role: "status", style: { fontSize: 13 } }, "Loading member access\u2026")) : error ? (React.createElement("div", { role: "alert", style: { fontSize: 13 } },
61
+ React.createElement("p", null, "Couldn\u2019t load all member access. Refresh before making changes."),
62
+ React.createElement("button", { type: "button", style: ACTION, onClick: onRetry }, "Retry member access"))) : visibleEntries.length === 0 ? (React.createElement("p", { style: { fontSize: 13 } }, selectedName === undefined
63
+ ? "No invitations or access requests yet. Invite someone above."
64
+ : "No direct member grant for this person. Their access may come from the app’s public setting or ownership.")) : (React.createElement("div", { style: { display: "flex", flexDirection: "column", gap: 8 } }, visibleEntries.map((entry) => (React.createElement("article", { key: entry.id, "aria-label": entry.name, "data-member-entry": true, style: {
65
+ padding: 12,
66
+ borderRadius: "var(--uvc-share-radius, 12px)",
67
+ border: "1px solid var(--uvc-share-border, var(--color-light-decorative-01, #b8beb8))",
68
+ background: "var(--uvc-share-bg, rgba(127,127,127,0.035))",
69
+ } },
70
+ React.createElement("div", { style: { display: "flex", flexWrap: "wrap", alignItems: "center", gap: 6 } },
71
+ React.createElement("span", { style: { fontSize: 14, fontWeight: 600, overflowWrap: "anywhere" } }, entry.name),
72
+ entry.roles?.length === 1 && entry.roles[0].label === undefined && (React.createElement(RoleChips, { control: entry.roles[0], busy: entry.busy })),
73
+ entry.developer !== undefined && (React.createElement("button", { type: "button", "data-member-role-chip": true, "aria-label": `Developer access for ${entry.name}`, "aria-pressed": entry.developer.enabled, disabled: entry.busy === true || entry.developer.onChange === undefined, onClick: () => entry.developer?.onChange?.(!entry.developer.enabled), style: { ...CHIP, boxShadow: entry.developer.enabled ? "inset 0 0 0 1px currentColor" : undefined }, className: `text-green-700 dark:text-green-300 disabled:opacity-50 ${entry.developer.enabled ? "bg-green-100 dark:bg-green-900/40" : "bg-transparent hover:bg-black/5 dark:hover:bg-white/5"}` }, "Developer"))),
74
+ entry.roles !== undefined && (entry.roles.length > 1 || entry.roles[0]?.label !== undefined) && (React.createElement("div", { style: { display: "flex", flexDirection: "column", gap: 4, marginTop: 6 } }, entry.roles.map((control) => (React.createElement(RoleChips, { key: control.id, control: control, busy: entry.busy }))))),
75
+ React.createElement("p", { "data-member-helper": true, style: {
76
+ fontSize: 12,
77
+ color: "var(--uvc-share-label, inherit)",
78
+ opacity: "var(--uvc-share-helper-opacity, 0.75)",
79
+ margin: "4px 0 10px",
80
+ } }, entry.detail),
81
+ entry.developer?.unavailableReason !== undefined && (React.createElement("p", { "data-member-helper": true, style: { fontSize: 12, color: "var(--uvc-share-label, inherit)", margin: "4px 0 6px" } }, entry.developer.unavailableReason)),
82
+ React.createElement("div", { style: { display: "flex", flexWrap: "wrap", gap: 6 } }, entry.actions.map((action) => (React.createElement("button", { key: action.label, type: "button", disabled: entry.busy === true, onClick: action.onSelect, style: {
83
+ border: 0,
84
+ background: "transparent",
85
+ color: "var(--uvc-share-label, inherit)",
86
+ padding: "2px 4px",
87
+ fontSize: 12,
88
+ textDecoration: "underline",
89
+ textUnderlineOffset: 3,
90
+ cursor: "pointer",
91
+ opacity: entry.busy === true ? 0.5 : 1,
92
+ } }, action.label))))))))))));
93
+ }
94
+ //# sourceMappingURL=MemberAccessView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemberAccessView.js","sourceRoot":"","sources":["../../jsr/components/MemberAccessView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import * as React from "react";
2
+ export interface MemberInvitationViewProps {
3
+ readonly channel: "handle" | "email";
4
+ readonly value: string;
5
+ readonly onChange: (value: string) => void;
6
+ readonly onInvite: (role: "editor" | "viewer") => void;
7
+ readonly onAddDeveloper?: () => void;
8
+ readonly busy?: boolean;
9
+ readonly message?: string;
10
+ }
11
+ export declare function MemberInvitationView({ channel, value, onChange, onInvite, onAddDeveloper, busy, message, }: MemberInvitationViewProps): React.JSX.Element;
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ export function MemberInvitationView({ channel, value, onChange, onInvite, onAddDeveloper, busy = false, message, }) {
3
+ const email = channel === "email";
4
+ return (React.createElement("section", { "data-member-section": true, "aria-label": email ? "Email invitations" : "Handle invitations", className: "mt-3" },
5
+ React.createElement("h3", { className: "mb-1 text-xs font-medium text-light-secondary dark:text-dark-secondary" },
6
+ "Invite by ",
7
+ channel),
8
+ React.createElement("div", { className: "flex flex-wrap items-center gap-2" },
9
+ React.createElement("input", { type: email ? "email" : "text", value: value, onChange: (event) => onChange(event.target.value), placeholder: email ? "name@example.com" : "their handle", "aria-label": email ? "Email to invite" : "Handle to invite", autoCapitalize: "off", autoCorrect: "off", spellCheck: false, disabled: busy, className: "min-w-0 flex-1 rounded border border-light-decorative-01 bg-transparent px-2 py-1 text-sm dark:border-dark-decorative-01 disabled:opacity-50" }),
10
+ React.createElement("div", { className: "flex items-center gap-1" },
11
+ ["editor", "viewer"].map((role) => (React.createElement("button", { key: role, type: "button", disabled: busy || value.trim().length === 0, onClick: () => onInvite(role), "aria-label": `${email ? "Email an invite" : "Invite"} as ${role === "editor" ? "editor" : "reader"}`, className: `rounded px-1.5 py-0.5 text-xs font-medium disabled:opacity-50 ${role === "editor" ? "bg-blue-100 text-blue-700 hover:bg-blue-200 dark:bg-blue-900/40 dark:text-blue-300" : "bg-purple-100 text-purple-700 hover:bg-purple-200 dark:bg-purple-900/40 dark:text-purple-300"}` }, busy ? "…" : role === "editor" ? "Editor" : "Reader"))),
12
+ !email && onAddDeveloper !== undefined && (React.createElement("button", { type: "button", disabled: busy || value.trim().length === 0, onClick: onAddDeveloper, className: "rounded border border-light-decorative-01 px-1.5 py-0.5 text-xs font-medium dark:border-dark-decorative-01 disabled:opacity-50" }, "Developer only")))),
13
+ !email && onAddDeveloper !== undefined && (React.createElement("p", { "data-member-helper": true, className: "mt-2 text-xs", style: { color: "var(--uvc-share-label, inherit)" } }, "Developer includes code editing, publishing, and all app data and secrets.")),
14
+ message !== undefined && (React.createElement("p", { role: "status", className: "mt-1 text-xs text-light-secondary dark:text-dark-secondary" }, message))));
15
+ }
16
+ //# sourceMappingURL=MemberInvitationView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemberInvitationView.js","sourceRoot":"","sources":["../../jsr/components/MemberInvitationView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,MAAM,UAAU,oBAAoB,CAAC,EACnC,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,IAAI,GAAG,KAAK,EACZ,OAAO,GACmB;IAC1B,MAAM,KAAK,GAAG,OAAO,KAAK,OAAO,CAAC;IAClC,OAAO,CACL,4EAAyC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,oBAAoB,EAAE,SAAS,EAAC,MAAM;QAC3G,4BAAI,SAAS,EAAC,wEAAwE;;YAAY,OAAO,CAAM;QAC/G,6BAAK,SAAS,EAAC,mCAAmC;YAChD,+BACE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAC9B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACjD,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,gBAC5C,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,EAC1D,cAAc,EAAC,KAAK,EACpB,WAAW,EAAC,KAAK,EACjB,UAAU,EAAE,KAAK,EACjB,QAAQ,EAAE,IAAI,EACd,SAAS,EAAC,8IAA8I,GACxJ;YACF,6BAAK,SAAS,EAAC,yBAAyB;gBACpC,CAAC,QAAQ,EAAE,QAAQ,CAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC7C,gCACE,GAAG,EAAE,IAAI,EACT,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAC3C,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,gBACjB,GAAG,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EACnG,SAAS,EAAE,iEAAiE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,oFAAoF,CAAC,CAAC,CAAC,8FAA8F,EAAE,IAEtR,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAC9C,CACV,CAAC;gBACD,CAAC,KAAK,IAAI,cAAc,KAAK,SAAS,IAAI,CACzC,gCACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAC3C,OAAO,EAAE,cAAc,EACvB,SAAS,EAAC,gIAAgI,qBAGnI,CACV,CACG,CACF;QACL,CAAC,KAAK,IAAI,cAAc,KAAK,SAAS,IAAI,CACzC,uDAAsB,SAAS,EAAC,cAAc,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,iCAAiC,EAAE,iFAE9F,CACL;QACA,OAAO,KAAK,SAAS,IAAI,CACxB,2BAAG,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,4DAA4D,IACpF,OAAO,CACN,CACL,CACO,CACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ export interface PublishBannerProps {
3
+ readonly variant: "draft" | "old" | undefined;
4
+ readonly onPublish?: () => void;
5
+ readonly publishing?: boolean;
6
+ readonly locked?: boolean;
7
+ readonly onUnlock?: () => void;
8
+ readonly autoPublishError?: boolean;
9
+ readonly onRetryAutoPublish?: () => void;
10
+ readonly wizardActive?: boolean;
11
+ readonly wizardError?: boolean;
12
+ readonly escapeRevealed?: boolean;
13
+ readonly onPublishWithoutAccess?: () => void;
14
+ readonly onRetryWizard?: () => void;
15
+ }
16
+ export declare function PublishBanner({ variant, onPublish, publishing, locked, onUnlock, autoPublishError, onRetryAutoPublish, wizardActive, wizardError, escapeRevealed, onPublishWithoutAccess, onRetryWizard, }: PublishBannerProps): React.JSX.Element;
@@ -0,0 +1,126 @@
1
+ import * as React from "react";
2
+ export function PublishBanner({ variant, onPublish, publishing, locked, onUnlock, autoPublishError, onRetryAutoPublish, wizardActive, wizardError, escapeRevealed, onPublishWithoutAccess, onRetryWizard, }) {
3
+ if (autoPublishError === true) {
4
+ return (React.createElement("div", { className: "rounded-md", "data-testid": "auto-publish-error-banner", style: {
5
+ background: "rgba(245,158,11,0.10)",
6
+ border: "1px solid rgba(245,158,11,0.4)",
7
+ padding: "8px 10px",
8
+ marginBottom: 10,
9
+ display: "flex",
10
+ alignItems: "center",
11
+ justifyContent: "space-between",
12
+ gap: 8,
13
+ } },
14
+ React.createElement("span", { className: "text-sm", style: { color: "var(--uvc-amber-text, #92400e)", lineHeight: 1.3 } },
15
+ React.createElement("strong", null, "Couldn\u2019t publish your latest edit."),
16
+ " Your changes are saved but not live yet."),
17
+ React.createElement("button", { type: "button", onClick: onRetryAutoPublish, disabled: onRetryAutoPublish === undefined, className: "rounded-md px-3 py-1.5 text-sm font-semibold disabled:opacity-50 disabled:cursor-not-allowed", style: {
18
+ flexShrink: 0,
19
+ background: "var(--vibes-near-black, #1a1a1a)",
20
+ color: "#fff",
21
+ border: "none",
22
+ cursor: "pointer",
23
+ } }, "Retry")));
24
+ }
25
+ if (locked === true) {
26
+ return (React.createElement("div", { className: "rounded-md", "data-testid": "version-locked-banner", style: {
27
+ background: "rgba(245,158,11,0.10)",
28
+ border: "1px solid rgba(245,158,11,0.4)",
29
+ padding: "8px 10px",
30
+ marginBottom: 10,
31
+ display: "flex",
32
+ alignItems: "center",
33
+ justifyContent: "space-between",
34
+ gap: 8,
35
+ } },
36
+ React.createElement("span", { className: "text-sm", style: { color: "var(--uvc-amber-text, #92400e)", lineHeight: 1.3 } },
37
+ React.createElement("strong", null, "Version locked."),
38
+ " New edits won\u2019t go live until you unlock."),
39
+ onUnlock && (React.createElement("button", { type: "button", onClick: onUnlock, className: "rounded-md px-3 py-1.5 text-sm font-semibold disabled:opacity-50 disabled:cursor-not-allowed", style: {
40
+ flexShrink: 0,
41
+ background: "var(--vibes-near-black, #1a1a1a)",
42
+ color: "#fff",
43
+ border: "none",
44
+ cursor: "pointer",
45
+ } }, "Unlock"))));
46
+ }
47
+ if (wizardActive === true || wizardError === true) {
48
+ const showEscape = (wizardActive === true && escapeRevealed === true) || wizardError === true;
49
+ return (React.createElement("div", { className: wizardError === true ? "rounded-md" : "rounded-md vibes-securing", role: wizardError === true ? "alert" : "status", "data-testid": "access-wizard-banner", "data-wizard-state": wizardError === true ? "error" : "running", style: {
50
+ backgroundColor: wizardError === true ? "rgba(245,158,11,0.10)" : "rgba(59,130,246,0.08)",
51
+ border: wizardError === true ? "1px solid rgba(245,158,11,0.4)" : "1px solid rgba(59,130,246,0.35)",
52
+ padding: "8px 10px",
53
+ marginBottom: 10,
54
+ display: "flex",
55
+ alignItems: "center",
56
+ justifyContent: "space-between",
57
+ gap: 8,
58
+ } },
59
+ React.createElement("span", { className: "text-sm", style: {
60
+ color: wizardError === true ? "var(--uvc-amber-text, #92400e)" : "var(--uvc-blue-text, #1d4ed8)",
61
+ lineHeight: 1.3,
62
+ } }, wizardError === true ? (React.createElement(React.Fragment, null,
63
+ React.createElement("strong", null, "Couldn\u2019t set up access rules."),
64
+ " Your app is still live for people you approve \u2014 it didn\u2019t go public.")) : (React.createElement(React.Fragment, null,
65
+ React.createElement("strong", null, "Securing\u2026"),
66
+ " Setting up data access control rules before opening this app to everyone with the link."))),
67
+ React.createElement("div", { style: { display: "flex", flexDirection: "column", gap: 6, flexShrink: 0, alignItems: "stretch" } },
68
+ wizardError === true ? (React.createElement("button", { type: "button", onClick: onRetryWizard, disabled: onRetryWizard === undefined, className: "rounded-md px-3 py-1.5 text-sm font-semibold disabled:opacity-50 disabled:cursor-not-allowed", style: { background: "var(--vibes-near-black, #1a1a1a)", color: "#fff", border: "none", cursor: "pointer" } }, "Retry")) : (React.createElement("button", { type: "button", onClick: onPublish, disabled: onPublish === undefined, className: "rounded-md px-3 py-1.5 text-sm font-semibold disabled:opacity-50 disabled:cursor-not-allowed", style: {
69
+ display: "flex",
70
+ alignItems: "center",
71
+ gap: 6,
72
+ background: "var(--vibes-blue, #3b82f6)",
73
+ color: "#fff",
74
+ border: "none",
75
+ cursor: "default",
76
+ opacity: 0.7,
77
+ } },
78
+ React.createElement("span", { "aria-hidden": "true", className: "vibes-securing-spinner", style: {
79
+ width: 12,
80
+ height: 12,
81
+ flexShrink: 0,
82
+ borderRadius: "50%",
83
+ border: "2px solid currentColor",
84
+ borderTopColor: "transparent",
85
+ } }),
86
+ "Securing\u2026")),
87
+ showEscape && (React.createElement("button", { type: "button", onClick: onPublishWithoutAccess, disabled: onPublishWithoutAccess === undefined, "data-testid": "publish-without-access-controls", className: "rounded-md px-3 py-1 text-xs font-medium disabled:opacity-50 disabled:cursor-not-allowed", style: {
88
+ background: "transparent",
89
+ color: wizardError === true ? "var(--uvc-amber-text, #92400e)" : "var(--uvc-blue-text, #1d4ed8)",
90
+ border: "1px solid currentColor",
91
+ cursor: "pointer",
92
+ whiteSpace: "nowrap",
93
+ } }, "Go public without access controls")))));
94
+ }
95
+ return (React.createElement("div", { className: "rounded-md", style: {
96
+ background: "rgba(245,158,11,0.10)",
97
+ border: "1px solid rgba(245,158,11,0.4)",
98
+ padding: 10,
99
+ marginBottom: 10,
100
+ display: "flex",
101
+ alignItems: "center",
102
+ justifyContent: "space-between",
103
+ gap: 8,
104
+ } },
105
+ React.createElement("span", { className: "text-sm", style: {
106
+ color: "var(--uvc-amber-text, #92400e)",
107
+ fontSize: 13,
108
+ lineHeight: 1.45,
109
+ } }, variant === "draft" ? (React.createElement(React.Fragment, null,
110
+ React.createElement("strong", null, "Draft."),
111
+ " Your latest changes aren\u2019t live yet.")) : (React.createElement(React.Fragment, null,
112
+ React.createElement("strong", null, "Older version."),
113
+ " This isn\u2019t what visitors currently see."))),
114
+ onPublish && (React.createElement("button", { type: "button", onClick: onPublish, disabled: publishing, className: "rounded-md px-3 py-1.5 text-sm font-semibold disabled:opacity-50 disabled:cursor-not-allowed", style: {
115
+ flexShrink: 0,
116
+ fontSize: 13,
117
+ minHeight: 38,
118
+ padding: "8px 10px",
119
+ background: "var(--vibes-near-black, #1a1a1a)",
120
+ color: "#fff",
121
+ border: "none",
122
+ cursor: publishing ? "default" : "pointer",
123
+ opacity: publishing ? 0.6 : 1,
124
+ } }, publishing ? "Publishing…" : variant === "draft" ? "Update" : "Publish this version"))));
125
+ }
126
+ //# sourceMappingURL=PublishBanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublishBanner.js","sourceRoot":"","sources":["../../jsr/components/PublishBanner.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import * as React from "react";
2
+ export interface ShareLinkViewProps {
3
+ readonly url: string;
4
+ readonly copied?: boolean;
5
+ readonly onCopy?: () => void;
6
+ readonly embedSnippet?: string;
7
+ readonly embedCopied?: boolean;
8
+ readonly onCopyEmbed?: () => void;
9
+ readonly pinterestShareUrl?: string;
10
+ }
11
+ export declare function ShareLinkView({ url, copied, onCopy, embedSnippet, embedCopied, onCopyEmbed, pinterestShareUrl, }: ShareLinkViewProps): React.JSX.Element;
@@ -0,0 +1,61 @@
1
+ import * as React from "react";
2
+ import { QrCode } from "./QrCode.js";
3
+ const LINK_RADIUS = 8;
4
+ const LINK_ACTION_GAP = 10;
5
+ export function ShareLinkView({ url, copied, onCopy, embedSnippet, embedCopied, onCopyEmbed, pinterestShareUrl, }) {
6
+ return (React.createElement("div", { style: { display: "flex", flexDirection: "column", gap: 14, width: "100%", minWidth: 0 } },
7
+ React.createElement("div", { "data-testid": "share-qr-actions", style: { display: "grid", gridTemplateColumns: "150px minmax(0, 1fr)", alignItems: "start", gap: 14, width: "100%" } },
8
+ React.createElement("div", { className: "border border-light-decorative-01 dark:border-dark-decorative-01", style: {
9
+ background: "#ffffff",
10
+ borderRadius: LINK_RADIUS,
11
+ padding: 8,
12
+ lineHeight: 0,
13
+ boxSizing: "border-box",
14
+ width: 150,
15
+ } },
16
+ React.createElement(QrCode, { value: url, size: 132, title: "QR code \u2014 scan to open this vibe" })),
17
+ React.createElement("div", { style: { display: "flex", flexDirection: "column", gap: LINK_ACTION_GAP, minWidth: 0 } },
18
+ React.createElement("p", { className: "text-light-primary dark:text-dark-primary", style: { fontSize: 14, fontWeight: 600, lineHeight: 1.5, margin: 0 } }, "Send this link to a friend"),
19
+ React.createElement("span", { "data-share-secondary": true, className: "text-light-secondary dark:text-dark-secondary", style: {
20
+ fontSize: 14,
21
+ lineHeight: 1.5,
22
+ overflowWrap: "anywhere",
23
+ wordBreak: "break-word",
24
+ } }, url),
25
+ React.createElement("button", { type: "button", onClick: onCopy, "aria-label": "Copy link", className: "bg-blue-500 text-sm font-bold text-white transition-colors hover:bg-blue-600", style: {
26
+ borderRadius: LINK_RADIUS,
27
+ padding: "10px 12px",
28
+ minHeight: 44,
29
+ border: "none",
30
+ fontSize: 14,
31
+ lineHeight: "20px",
32
+ } }, copied ? "Copied" : "Copy link"))),
33
+ embedSnippet !== undefined && (React.createElement("div", { "data-testid": "share-embed", style: { display: "flex", flexDirection: "column", gap: 10, width: "100%" } },
34
+ React.createElement("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8 } },
35
+ React.createElement("p", { className: "text-light-primary dark:text-dark-primary", style: { fontSize: 14, fontWeight: 600, lineHeight: 1.5, margin: 0 } }, "Embed on your site")),
36
+ React.createElement("textarea", { "data-share-secondary": true, readOnly: true, rows: 3, value: embedSnippet, "aria-label": "Embed code", onFocus: (e) => e.currentTarget.select(), className: "code-editor border-light-decorative-01 dark:border-dark-decorative-01 text-light-secondary dark:text-dark-secondary font-mono", style: {
37
+ width: "100%",
38
+ resize: "none",
39
+ borderRadius: LINK_RADIUS,
40
+ borderWidth: 1,
41
+ borderStyle: "solid",
42
+ background: "transparent",
43
+ padding: "8px 10px 0",
44
+ fontSize: 14,
45
+ lineHeight: 1.5,
46
+ boxSizing: "border-box",
47
+ height: "calc(4.5em + 10px)",
48
+ } }),
49
+ React.createElement("button", { type: "button", onClick: onCopyEmbed, "aria-label": "Copy embed code", className: "border-light-decorative-01 dark:border-dark-decorative-01 text-light-primary dark:text-dark-primary text-sm font-bold transition-colors hover:bg-blue-500 hover:text-white", style: {
50
+ borderRadius: LINK_RADIUS,
51
+ padding: "10px 12px",
52
+ minHeight: 44,
53
+ fontSize: 14,
54
+ lineHeight: "20px",
55
+ borderWidth: 1,
56
+ borderStyle: "solid",
57
+ background: "transparent",
58
+ } }, embedCopied ? "Copied" : "Copy embed code"))),
59
+ pinterestShareUrl !== undefined && (React.createElement("a", { href: pinterestShareUrl, target: "_blank", rel: "noopener noreferrer", className: "text-light-primary dark:text-dark-primary text-sm font-bold", style: { padding: "10px 12px", borderRadius: LINK_RADIUS, textAlign: "center" } }, "Save to Pinterest"))));
60
+ }
61
+ //# sourceMappingURL=ShareLinkView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareLinkView.js","sourceRoot":"","sources":["../../jsr/components/ShareLinkView.tsx"],"names":[],"mappings":"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"}
@@ -33,6 +33,9 @@ export interface SharePanelViewProps {
33
33
  readonly embedSnippet?: string;
34
34
  readonly embedCopied?: boolean;
35
35
  readonly onCopyEmbed?: () => void;
36
+ readonly pinterestShareUrl?: string;
37
+ readonly publicationSlot?: React.ReactNode;
38
+ readonly accessSummarySlot?: React.ReactNode;
36
39
  readonly viewer: ShareViewer;
37
40
  readonly members?: readonly ShareMember[];
38
41
  readonly access?: ShareAccess;
@@ -44,6 +47,7 @@ export interface SharePanelViewProps {
44
47
  readonly onRevokeAnonWrite?: () => void;
45
48
  readonly anonWritePending?: boolean;
46
49
  readonly onSelectMember?: (member: ShareMember) => void;
50
+ readonly membersManagementSlot?: React.ReactNode;
47
51
  readonly notifications?: readonly ShareNotification[];
48
52
  readonly notificationsLoading?: boolean;
49
53
  readonly notificationsError?: boolean;
@@ -56,4 +60,4 @@ export interface SharePanelViewProps {
56
60
  readonly fill?: boolean;
57
61
  readonly className?: string;
58
62
  }
59
- export declare function SharePanelView({ url, copied, onCopy, embedSnippet, embedCopied, onCopyEmbed, viewer, members, access, onChangeAccess, accessPending, posture, envelopeRows, anonWrite, onRevokeAnonWrite, anonWritePending, onSelectMember, requestsSlot, inviteSlot, notifications, notificationsLoading, notificationsError, notificationSettingsSlot, onSelectNotification, commentsSlot, developersSlot, fill, className, }: SharePanelViewProps): React.JSX.Element;
63
+ export declare function SharePanelView({ url, copied, onCopy, embedSnippet, embedCopied, onCopyEmbed, pinterestShareUrl, publicationSlot, accessSummarySlot, viewer, members, access, onChangeAccess, accessPending, posture, envelopeRows, anonWrite, onRevokeAnonWrite, anonWritePending, onSelectMember, membersManagementSlot, requestsSlot, inviteSlot, notifications, notificationsLoading, notificationsError, notificationSettingsSlot, onSelectNotification, commentsSlot, developersSlot, fill, className, }: SharePanelViewProps): React.JSX.Element;