@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.
- package/attachments/process-attachment.js +1 -1
- package/attachments/process-attachment.js.map +1 -1
- package/components/AdminModeControl.d.ts +7 -0
- package/components/AdminModeControl.js +9 -0
- package/components/AdminModeControl.js.map +1 -0
- package/components/EditorTabStrip.d.ts +3 -2
- package/components/EditorTabStrip.js +8 -15
- package/components/EditorTabStrip.js.map +1 -1
- package/components/MemberAccessView.d.ts +37 -0
- package/components/MemberAccessView.js +94 -0
- package/components/MemberAccessView.js.map +1 -0
- package/components/MemberInvitationView.d.ts +11 -0
- package/components/MemberInvitationView.js +16 -0
- package/components/MemberInvitationView.js.map +1 -0
- package/components/PublishBanner.d.ts +16 -0
- package/components/PublishBanner.js +126 -0
- package/components/PublishBanner.js.map +1 -0
- package/components/ShareLinkView.d.ts +11 -0
- package/components/ShareLinkView.js +61 -0
- package/components/ShareLinkView.js.map +1 -0
- package/components/SharePanelView.d.ts +5 -1
- package/components/SharePanelView.js +17 -62
- package/components/SharePanelView.js.map +1 -1
- package/components/UnifiedVibeCard.d.ts +0 -1
- package/components/UnifiedVibeCard.js +59 -156
- package/components/UnifiedVibeCard.js.map +1 -1
- package/components/UnifiedVibeCardSettings.styles.d.ts +3 -0
- package/components/UnifiedVibeCardSettings.styles.js +95 -0
- package/components/UnifiedVibeCardSettings.styles.js.map +1 -0
- package/components/UnifiedVibeCardShare.styles.d.ts +3 -0
- package/components/UnifiedVibeCardShare.styles.js +72 -0
- package/components/UnifiedVibeCardShare.styles.js.map +1 -0
- package/components/ViewerAccessSummary.d.ts +28 -0
- package/components/ViewerAccessSummary.js +105 -0
- package/components/ViewerAccessSummary.js.map +1 -0
- package/components/ViewerStandingView.d.ts +4 -26
- package/components/ViewerStandingView.js +6 -104
- package/components/ViewerStandingView.js.map +1 -1
- package/components/editor-tabs.d.ts +28 -0
- package/components/editor-tabs.js +15 -0
- package/components/editor-tabs.js.map +1 -0
- package/components/index.d.ts +7 -1
- package/components/index.js +7 -1
- package/components/index.js.map +1 -1
- package/hooks/useCardFloat.d.ts +6 -0
- package/hooks/useCardFloat.js +191 -0
- package/hooks/useCardFloat.js.map +1 -0
- package/hooks/useHomeMotionPress.d.ts +17 -0
- package/hooks/useHomeMotionPress.js +93 -0
- package/hooks/useHomeMotionPress.js.map +1 -0
- package/motion/card-motion-source.d.ts +23 -0
- package/motion/card-motion-source.js +50 -0
- package/motion/card-motion-source.js.map +1 -0
- package/package.json +5 -5
- package/components/PromiseStrip.d.ts +0 -13
- package/components/PromiseStrip.js +0 -17
- 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.
|
|
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":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,GAElB,MAAM,uBAAuB,CAAC;AAK/B,SAAS,KAAK,CAAC,IAAY;IACzB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;AAChG,CAAC;AAED,SAAS,cAAc,CAAC,IAAU,EAAE,IAAY;IAC9C,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QAC5D,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAU;IAGpC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC;IAGvE,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,KAAK,IAA4B,EAAE;QACxE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QACtF,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC;QACrE,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAc,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;QACxE,OAAO;YACL,EAAE,EAAE,IAAI;YACR,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;SACxG,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,IAAI,OAAO,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;IAC1G,OAAO,OAAO,CAAC,EAAE,EAAE,CAAC;AACtB,CAAC;AAOD,IAAI,YAAgC,CAAC;AACrC,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,YAAY,GAAG,GAAG,CAAC;AACrB,CAAC;AAoBD,SAAS,mBAAmB;IAC1B,MAAM,CAAC,GAAG,UAAqC,CAAC;IAChD,OAAO,EAAE,UAAU,EAAE,SAAS,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAClH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAyB;IACnD,MAAM,CAAC,GAAG,UAAqC,CAAC;IAChD,IAAI,IAAI,CAAC,UAAU;QAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;;QAC9C,OAAO,CAAC,CAAC,OAAO,CAAC;IACtB,IAAI,IAAI,CAAC,SAAS;QAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;;QAC3C,OAAO,CAAC,CAAC,MAAM,CAAC;AACvB,CAAC;AAID,KAAK,UAAU,eAAe,CAAC,IAAU,EAAE,GAAuC;IAChF,MAAM,IAAI,GAAG,mBAAmB,EAAE,CAAC;IACnC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAK7F,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE;QACtD,QAAQ,EAAE,GAAG;QACb,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,MAAM,
|
|
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
|
|
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:
|
|
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
|
|
20
|
-
: { key
|
|
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;
|
|
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":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuC/B,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,SAAS,EACT,UAAU,EACV,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,sBAAsB,EACtB,aAAa,GACM;IAGnB,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC9B,OAAO,CACL,6BACE,SAAS,EAAC,YAAY,iBACV,2BAA2B,EACvC,KAAK,EAAE;gBACL,UAAU,EAAE,uBAAuB;gBACnC,MAAM,EAAE,gCAAgC;gBACxC,OAAO,EAAE,UAAU;gBACnB,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,QAAQ;gBACpB,cAAc,EAAE,eAAe;gBAC/B,GAAG,EAAE,CAAC;aACP;YAED,8BAAM,SAAS,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,gCAAgC,EAAE,UAAU,EAAE,GAAG,EAAE;gBAC3F,8EAAmD;4DAC9C;YACP,gCACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,kBAAkB,KAAK,SAAS,EAC1C,SAAS,EAAC,8FAA8F,EACxG,KAAK,EAAE;oBACL,UAAU,EAAE,CAAC;oBACb,UAAU,EAAE,kCAAkC;oBAC9C,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,SAAS;iBAClB,YAGM,CACL,CACP,CAAC;IACJ,CAAC;IAKD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,CACL,6BACE,SAAS,EAAC,YAAY,iBACV,uBAAuB,EACnC,KAAK,EAAE;gBACL,UAAU,EAAE,uBAAuB;gBACnC,MAAM,EAAE,gCAAgC;gBACxC,OAAO,EAAE,UAAU;gBACnB,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,QAAQ;gBACpB,cAAc,EAAE,eAAe;gBAC/B,GAAG,EAAE,CAAC;aACP;YAED,8BAAM,SAAS,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,gCAAgC,EAAE,UAAU,EAAE,GAAG,EAAE;gBAC3F,sDAAgC;kEAC3B;YACN,QAAQ,IAAI,CACX,gCACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAC,8FAA8F,EACxG,KAAK,EAAE;oBACL,UAAU,EAAE,CAAC;oBACb,UAAU,EAAE,kCAAkC;oBAC9C,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,SAAS;iBAClB,aAGM,CACV,CACG,CACP,CAAC;IACJ,CAAC;IAKD,IAAI,YAAY,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,CAAC,YAAY,KAAK,IAAI,IAAI,cAAc,KAAK,IAAI,CAAC,IAAI,WAAW,KAAK,IAAI,CAAC;QAC9F,OAAO,CACL,6BAIE,SAAS,EAAE,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,2BAA2B,EAG5E,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,iBACnC,sBAAsB,uBACf,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAC7D,KAAK,EAAE;gBACL,eAAe,EAAE,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,uBAAuB;gBACzF,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,iCAAiC;gBACnG,OAAO,EAAE,UAAU;gBACnB,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,QAAQ;gBACpB,cAAc,EAAE,eAAe;gBAC/B,GAAG,EAAE,CAAC;aACP;YAED,8BACE,SAAS,EAAC,SAAS,EACnB,KAAK,EAAE;oBACL,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,+BAA+B;oBAChG,UAAU,EAAE,GAAG;iBAChB,IAEA,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,CACtB;gBACE,yEAA8C;kGAC7C,CACJ,CAAC,CAAC,CAAC,CACF;gBACE,qDAA0B;2GACzB,CACJ,CACI;YACP,6BAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE;gBACnG,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,CACtB,gCACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,aAAa,KAAK,SAAS,EACrC,SAAS,EAAC,8FAA8F,EACxG,KAAK,EAAE,EAAE,UAAU,EAAE,kCAAkC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAGpG,CACV,CAAC,CAAC,CAAC,CACF,gCACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,SAAS,KAAK,SAAS,EACjC,SAAS,EAAC,8FAA8F,EACxG,KAAK,EAAE;wBACL,OAAO,EAAE,MAAM;wBACf,UAAU,EAAE,QAAQ;wBACpB,GAAG,EAAE,CAAC;wBACN,UAAU,EAAE,4BAA4B;wBACxC,KAAK,EAAE,MAAM;wBACb,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,GAAG;qBACb;oBAKD,6CACc,MAAM,EAClB,SAAS,EAAC,wBAAwB,EAClC,KAAK,EAAE;4BACL,KAAK,EAAE,EAAE;4BACT,MAAM,EAAE,EAAE;4BACV,UAAU,EAAE,CAAC;4BACb,YAAY,EAAE,KAAK;4BACnB,MAAM,EAAE,wBAAwB;4BAChC,cAAc,EAAE,aAAa;yBAC9B,GACD;qCAEK,CACV;gBACA,UAAU,IAAI,CACb,gCACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,EAAE,sBAAsB,KAAK,SAAS,iBAClC,iCAAiC,EAC7C,SAAS,EAAC,0FAA0F,EACpG,KAAK,EAAE;wBACL,UAAU,EAAE,aAAa;wBACzB,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,+BAA+B;wBAChG,MAAM,EAAE,wBAAwB;wBAChC,MAAM,EAAE,SAAS;wBACjB,UAAU,EAAE,QAAQ;qBACrB,wCAGM,CACV,CACG,CACF,CACP,CAAC;IACJ,CAAC;IAID,OAAO,CACL,6BACE,SAAS,EAAC,YAAY,EACtB,KAAK,EAAE;YACL,UAAU,EAAE,uBAAuB;YACnC,MAAM,EAAE,gCAAgC;YACxC,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,eAAe;YAC/B,GAAG,EAAE,CAAC;SACP;QAED,8BACE,SAAS,EAAC,SAAS,EACnB,KAAK,EAAE;gBACL,KAAK,EAAE,gCAAgC;gBACvC,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,IAAI;aACjB,IAMA,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CACrB;YACE,6CAAuB;yDACtB,CACJ,CAAC,CAAC,CAAC,CACF;YACE,qDAA+B;4DAC9B,CACJ,CACI;QACN,SAAS,IAAI,CACZ,gCACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAC,8FAA8F,EACxG,KAAK,EAAE;gBACL,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE,UAAU;gBACnB,UAAU,EAAE,kCAAkC;gBAC9C,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBAC1C,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAC9B,IAEA,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAC9E,CACV,CACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -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;
|