@arbidocs/blocks 0.4.144 → 0.4.146
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/agents/index.cjs +264 -264
- package/dist/agents/index.js +7 -7
- package/dist/{chunk-ON3TKY5Y.js → chunk-5YHEHEJT.js} +242 -4
- package/dist/chunk-5YHEHEJT.js.map +1 -0
- package/dist/{chunk-7NGAWGA3.js → chunk-A6IU4GIW.js} +190 -7
- package/dist/chunk-A6IU4GIW.js.map +1 -0
- package/dist/{chunk-BUWBXJ2N.cjs → chunk-C3CGJK7A.cjs} +192 -6
- package/dist/chunk-C3CGJK7A.cjs.map +1 -0
- package/dist/{chunk-X3TGXEFS.js → chunk-C44TDH54.js} +6 -6
- package/dist/{chunk-X3TGXEFS.js.map → chunk-C44TDH54.js.map} +1 -1
- package/dist/{chunk-YFY3TQ6Q.cjs → chunk-COCGRJLA.cjs} +7 -7
- package/dist/{chunk-YFY3TQ6Q.cjs.map → chunk-COCGRJLA.cjs.map} +1 -1
- package/dist/{chunk-45LRMW54.js → chunk-DN2KI4BU.js} +8 -10
- package/dist/chunk-DN2KI4BU.js.map +1 -0
- package/dist/{chunk-R26BK7YL.cjs → chunk-DTROMMDX.cjs} +4 -4
- package/dist/{chunk-R26BK7YL.cjs.map → chunk-DTROMMDX.cjs.map} +1 -1
- package/dist/{chunk-65THHQVB.cjs → chunk-ECW2R2KF.cjs} +27 -27
- package/dist/{chunk-65THHQVB.cjs.map → chunk-ECW2R2KF.cjs.map} +1 -1
- package/dist/{chunk-RI6DZA5X.js → chunk-EF4ZLKRM.js} +3 -3
- package/dist/{chunk-RI6DZA5X.js.map → chunk-EF4ZLKRM.js.map} +1 -1
- package/dist/chunk-EV7W64B6.js +134 -0
- package/dist/chunk-EV7W64B6.js.map +1 -0
- package/dist/{chunk-WS5EX7DN.cjs → chunk-EYKISBDO.cjs} +5 -5
- package/dist/{chunk-WS5EX7DN.cjs.map → chunk-EYKISBDO.cjs.map} +1 -1
- package/dist/{chunk-JZNXRMLH.cjs → chunk-GAYMJWTC.cjs} +8 -10
- package/dist/chunk-GAYMJWTC.cjs.map +1 -0
- package/dist/{chunk-I7WG3JRD.js → chunk-H4D7WKDY.js} +3 -3
- package/dist/{chunk-I7WG3JRD.js.map → chunk-H4D7WKDY.js.map} +1 -1
- package/dist/{chunk-2FJMTZNJ.js → chunk-IJST4EBM.js} +8 -8
- package/dist/{chunk-2FJMTZNJ.js.map → chunk-IJST4EBM.js.map} +1 -1
- package/dist/{chunk-3RJN2VTL.js → chunk-IXWJGOM2.js} +3 -3
- package/dist/{chunk-3RJN2VTL.js.map → chunk-IXWJGOM2.js.map} +1 -1
- package/dist/{chunk-CYNF5PZI.js → chunk-J5CWKFSC.js} +3 -3
- package/dist/{chunk-CYNF5PZI.js.map → chunk-J5CWKFSC.js.map} +1 -1
- package/dist/{chunk-TP6PLDNM.cjs → chunk-KMZWKSKO.cjs} +8 -8
- package/dist/{chunk-TP6PLDNM.cjs.map → chunk-KMZWKSKO.cjs.map} +1 -1
- package/dist/{chunk-C4WSHRR6.cjs → chunk-KPZZ5FHE.cjs} +32 -12
- package/dist/chunk-KPZZ5FHE.cjs.map +1 -0
- package/dist/{chunk-O2ODDTMA.cjs → chunk-LPYEUD2D.cjs} +9 -9
- package/dist/{chunk-O2ODDTMA.cjs.map → chunk-LPYEUD2D.cjs.map} +1 -1
- package/dist/{chunk-RA3ZJ45L.cjs → chunk-MFMASSEO.cjs} +25 -44
- package/dist/chunk-MFMASSEO.cjs.map +1 -0
- package/dist/chunk-NHZK64TQ.js +75 -0
- package/dist/chunk-NHZK64TQ.js.map +1 -0
- package/dist/{chunk-BPBSSMRB.js → chunk-NRFAWUVD.js} +3 -3
- package/dist/{chunk-BPBSSMRB.js.map → chunk-NRFAWUVD.js.map} +1 -1
- package/dist/chunk-NWNVWO6L.cjs +80 -0
- package/dist/chunk-NWNVWO6L.cjs.map +1 -0
- package/dist/{chunk-XGZX22ET.cjs → chunk-O2GW5IY6.cjs} +38 -38
- package/dist/{chunk-XGZX22ET.cjs.map → chunk-O2GW5IY6.cjs.map} +1 -1
- package/dist/{chunk-33ZOUJXA.js → chunk-OBWYM25Y.js} +13 -32
- package/dist/chunk-OBWYM25Y.js.map +1 -0
- package/dist/{chunk-Y3KA6X7B.js → chunk-OVR3XMYL.js} +4 -4
- package/dist/{chunk-Y3KA6X7B.js.map → chunk-OVR3XMYL.js.map} +1 -1
- package/dist/{chunk-ABUO6PIQ.cjs → chunk-RB7GX2VT.cjs} +12 -12
- package/dist/{chunk-ABUO6PIQ.cjs.map → chunk-RB7GX2VT.cjs.map} +1 -1
- package/dist/chunk-RXK3XP62.cjs +144 -0
- package/dist/chunk-RXK3XP62.cjs.map +1 -0
- package/dist/{chunk-LYUO3E6V.js → chunk-SZOFGU7W.js} +3 -3
- package/dist/{chunk-LYUO3E6V.js.map → chunk-SZOFGU7W.js.map} +1 -1
- package/dist/{chunk-A6J2IBUG.js → chunk-T5B7FM7S.js} +4 -4
- package/dist/{chunk-A6J2IBUG.js.map → chunk-T5B7FM7S.js.map} +1 -1
- package/dist/{chunk-YNIBUKV5.js → chunk-TBEVGWY3.js} +32 -14
- package/dist/chunk-TBEVGWY3.js.map +1 -0
- package/dist/{chunk-MJCCBMM5.cjs → chunk-TC3RQNEX.cjs} +6 -80
- package/dist/chunk-TC3RQNEX.cjs.map +1 -0
- package/dist/{chunk-QIMVTGKS.cjs → chunk-U73KPFYH.cjs} +255 -2
- package/dist/chunk-U73KPFYH.cjs.map +1 -0
- package/dist/{chunk-HFGXA5CL.cjs → chunk-UTTTJSQU.cjs} +4 -4
- package/dist/{chunk-HFGXA5CL.cjs.map → chunk-UTTTJSQU.cjs.map} +1 -1
- package/dist/{chunk-DLBUFHLY.js → chunk-VTTZZ4FN.js} +4 -74
- package/dist/chunk-VTTZZ4FN.js.map +1 -0
- package/dist/{chunk-5FTIHRZH.cjs → chunk-XVUOMWMD.cjs} +4 -4
- package/dist/{chunk-5FTIHRZH.cjs.map → chunk-XVUOMWMD.cjs.map} +1 -1
- package/dist/{chunk-444XKG46.js → chunk-YKQ2DPIP.js} +3 -3
- package/dist/{chunk-444XKG46.js.map → chunk-YKQ2DPIP.js.map} +1 -1
- package/dist/{chunk-HEMU73OP.cjs → chunk-YSHIC4NJ.cjs} +4 -4
- package/dist/{chunk-HEMU73OP.cjs.map → chunk-YSHIC4NJ.cjs.map} +1 -1
- package/dist/citations/index.cjs +12 -12
- package/dist/citations/index.js +3 -3
- package/dist/connect/docx.cjs +11 -11
- package/dist/connect/docx.js +8 -8
- package/dist/connect/index.cjs +1079 -333
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.d.ts +2 -0
- package/dist/connect/index.js +953 -222
- package/dist/connect/index.js.map +1 -1
- package/dist/connection/ConnectedNotificationRelevance.d.ts +4 -1
- package/dist/connection/ConnectedSettings.d.ts +3 -2
- package/dist/connection/ai.d.ts +27 -72
- package/dist/connection/settings-page/ConnectedAccountSettings.d.ts +35 -0
- package/dist/connection/settings-page/ConnectedMailSettings.d.ts +13 -0
- package/dist/connection/settings-page/ConnectedPremiumModels.d.ts +1 -0
- package/dist/connection/settings-page/ConnectedPrivacySettings.d.ts +12 -0
- package/dist/connection/settings-page/ConnectedSettingsPage.d.ts +29 -0
- package/dist/connection/settings-page/SessionStatusIcon.d.ts +7 -0
- package/dist/connection/settings-page/index.d.ts +6 -0
- package/dist/connection/workspace-settings/ConnectedWorkspaceSettings.d.ts +53 -0
- package/dist/connection/workspace-settings/index.d.ts +2 -0
- package/dist/connection/workspace-settings/useConnectedWorkspaceSettings.d.ts +85 -0
- package/dist/connection/workspaceData.d.ts +6 -6
- package/dist/facts/index.cjs +3 -3
- package/dist/facts/index.js +2 -2
- package/dist/files/index.cjs +3 -3
- package/dist/files/index.js +2 -2
- package/dist/home/index.cjs +20 -20
- package/dist/home/index.js +4 -4
- package/dist/index.cjs +468 -632
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +23 -204
- package/dist/index.js.map +1 -1
- package/dist/provider/BlocksProvider.d.ts +5 -1
- package/dist/provider/settings-section.d.ts +9 -0
- package/dist/retrieval/index.cjs +4 -4
- package/dist/retrieval/index.js +2 -2
- package/dist/settings/AppearanceSettings.d.ts +18 -0
- package/dist/settings/ServerConnectionControls.d.ts +16 -0
- package/dist/settings/SettingsPage.d.ts +31 -0
- package/dist/settings/index.cjs +178 -241
- package/dist/settings/index.cjs.map +1 -1
- package/dist/settings/index.d.ts +3 -1
- package/dist/settings/index.js +86 -198
- package/dist/settings/index.js.map +1 -1
- package/dist/shell/index.cjs +44 -44
- package/dist/shell/index.js +3 -3
- package/dist/site/index.cjs +74 -73
- package/dist/site/index.js +3 -2
- package/dist/studio/index.cjs +78 -77
- package/dist/studio/index.cjs.map +1 -1
- package/dist/studio/index.js +10 -9
- package/dist/studio/index.js.map +1 -1
- package/dist/workflow-canvas/index.cjs +25 -25
- package/dist/workflow-canvas/index.js +8 -8
- package/dist/workspaces/CommonWorkspaceToggle.d.ts +15 -0
- package/dist/workspaces/index.cjs +41 -110
- package/dist/workspaces/index.cjs.map +1 -1
- package/dist/workspaces/index.d.ts +1 -0
- package/dist/workspaces/index.js +7 -104
- package/dist/workspaces/index.js.map +1 -1
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +4 -4
- package/dist/chunk-33ZOUJXA.js.map +0 -1
- package/dist/chunk-45LRMW54.js.map +0 -1
- package/dist/chunk-7NGAWGA3.js.map +0 -1
- package/dist/chunk-BUWBXJ2N.cjs.map +0 -1
- package/dist/chunk-C4WSHRR6.cjs.map +0 -1
- package/dist/chunk-DLBUFHLY.js.map +0 -1
- package/dist/chunk-JZNXRMLH.cjs.map +0 -1
- package/dist/chunk-MJCCBMM5.cjs.map +0 -1
- package/dist/chunk-ON3TKY5Y.js.map +0 -1
- package/dist/chunk-QIMVTGKS.cjs.map +0 -1
- package/dist/chunk-RA3ZJ45L.cjs.map +0 -1
- package/dist/chunk-YNIBUKV5.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { ModalScaffold } from './chunk-TX2ZICS7.js';
|
|
3
|
-
import { createContext, useState, useContext, useMemo } from 'react';
|
|
3
|
+
import { createContext, useState, useSyncExternalStore, useContext, useMemo } from 'react';
|
|
4
4
|
import { Info, AlertCircle } from 'lucide-react';
|
|
5
5
|
import { Button } from '@arbidocs/react/ui';
|
|
6
6
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -8,11 +8,11 @@ import { notify } from '@arbidocs/react/shell';
|
|
|
8
8
|
|
|
9
9
|
var UNMOUNT_DELAY_MS = 300;
|
|
10
10
|
function PromptDialog({
|
|
11
|
-
request,
|
|
11
|
+
request: request2,
|
|
12
12
|
onSettle
|
|
13
13
|
}) {
|
|
14
14
|
const [open, setOpen] = useState(true);
|
|
15
|
-
const { message, title = "Confirm", choices, icon = "alert", testId = "choice-modal" } =
|
|
15
|
+
const { message, title = "Confirm", choices, icon = "alert", testId = "choice-modal" } = request2;
|
|
16
16
|
const settle = (value) => {
|
|
17
17
|
setOpen(false);
|
|
18
18
|
onSettle(value);
|
|
@@ -42,7 +42,7 @@ function PromptDialog({
|
|
|
42
42
|
}
|
|
43
43
|
);
|
|
44
44
|
}
|
|
45
|
-
function choiceDialog(
|
|
45
|
+
function choiceDialog(request2) {
|
|
46
46
|
if (typeof document === "undefined") return Promise.resolve(null);
|
|
47
47
|
return new Promise((resolve) => {
|
|
48
48
|
const container = document.createElement("div");
|
|
@@ -59,7 +59,7 @@ function choiceDialog(request) {
|
|
|
59
59
|
container.remove();
|
|
60
60
|
}, UNMOUNT_DELAY_MS);
|
|
61
61
|
};
|
|
62
|
-
root.render(/* @__PURE__ */ jsx(PromptDialog, { request, onSettle }));
|
|
62
|
+
root.render(/* @__PURE__ */ jsx(PromptDialog, { request: request2, onSettle }));
|
|
63
63
|
});
|
|
64
64
|
});
|
|
65
65
|
}
|
|
@@ -79,17 +79,32 @@ var CONFIRM_TEST_ID = {
|
|
|
79
79
|
yesno: "yes-no-modal",
|
|
80
80
|
alert: "alert-modal"
|
|
81
81
|
};
|
|
82
|
-
async function confirmDialog(
|
|
83
|
-
const kind =
|
|
82
|
+
async function confirmDialog(request2) {
|
|
83
|
+
const kind = request2.kind ?? "confirm";
|
|
84
84
|
const choice = await choiceDialog({
|
|
85
|
-
message:
|
|
86
|
-
title:
|
|
85
|
+
message: request2.message,
|
|
86
|
+
title: request2.title ?? (kind === "alert" ? "Alert" : "Confirm"),
|
|
87
87
|
choices: CONFIRM_CHOICES[kind],
|
|
88
88
|
icon: kind === "alert" ? "info" : "alert",
|
|
89
89
|
testId: CONFIRM_TEST_ID[kind]
|
|
90
90
|
});
|
|
91
91
|
return choice === "confirm" || choice === "yes" || choice === "ok";
|
|
92
92
|
}
|
|
93
|
+
var request;
|
|
94
|
+
var listeners = /* @__PURE__ */ new Set();
|
|
95
|
+
function requestSettingsSection(section) {
|
|
96
|
+
if (!section) return;
|
|
97
|
+
request = { section, seq: (request?.seq ?? 0) + 1 };
|
|
98
|
+
listeners.forEach((listener) => listener());
|
|
99
|
+
}
|
|
100
|
+
function subscribe(listener) {
|
|
101
|
+
listeners.add(listener);
|
|
102
|
+
return () => listeners.delete(listener);
|
|
103
|
+
}
|
|
104
|
+
var snapshot = () => request;
|
|
105
|
+
function useRequestedSettingsSection() {
|
|
106
|
+
return useSyncExternalStore(subscribe, snapshot, snapshot);
|
|
107
|
+
}
|
|
93
108
|
var noop = () => {
|
|
94
109
|
};
|
|
95
110
|
var defaultEnvironment = {
|
|
@@ -107,7 +122,7 @@ var defaultEnvironment = {
|
|
|
107
122
|
},
|
|
108
123
|
openDocument: noop,
|
|
109
124
|
openConversation: noop,
|
|
110
|
-
openSettings:
|
|
125
|
+
openSettings: requestSettingsSection,
|
|
111
126
|
openProject: noop
|
|
112
127
|
};
|
|
113
128
|
var BlocksContext = createContext(defaultEnvironment);
|
|
@@ -135,7 +150,10 @@ function BlocksProvider({
|
|
|
135
150
|
runtimeConfig: runtimeConfig ?? parent.runtimeConfig,
|
|
136
151
|
openDocument: openDocument ?? parent.openDocument,
|
|
137
152
|
openConversation: openConversation ?? parent.openConversation,
|
|
138
|
-
openSettings: openSettings
|
|
153
|
+
openSettings: openSettings ? (section) => {
|
|
154
|
+
requestSettingsSection(section);
|
|
155
|
+
openSettings(section);
|
|
156
|
+
} : parent.openSettings,
|
|
139
157
|
openProject: openProject ?? parent.openProject
|
|
140
158
|
}),
|
|
141
159
|
[
|
|
@@ -158,6 +176,6 @@ function useBlocksEnvironment() {
|
|
|
158
176
|
return useContext(BlocksContext);
|
|
159
177
|
}
|
|
160
178
|
|
|
161
|
-
export { BlocksProvider, useBlocksEnvironment };
|
|
162
|
-
//# sourceMappingURL=chunk-
|
|
163
|
-
//# sourceMappingURL=chunk-
|
|
179
|
+
export { BlocksProvider, requestSettingsSection, useBlocksEnvironment, useRequestedSettingsSection };
|
|
180
|
+
//# sourceMappingURL=chunk-TBEVGWY3.js.map
|
|
181
|
+
//# sourceMappingURL=chunk-TBEVGWY3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/provider/dialogs.tsx","../src/provider/settings-section.ts","../src/provider/BlocksProvider.tsx"],"names":["request","notifyStore","jsx"],"mappings":"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","file":"chunk-TBEVGWY3.js","sourcesContent":["/**\n * Promise-based prompt dialogs — the blocks replacement for `window.confirm` / `window.alert`.\n * Each call mounts its own short-lived React root, so it works from any event handler with no\n * dialog host in the tree. Hosts reach these through `useBlocksEnvironment().confirm` / `.choose`\n * (the defaults), which lets an app swap in its own dialogs without touching callers.\n *\n * For a confirmation with a loading state, render the declarative {@link ConfirmDialog} instead.\n */\nimport { useState, type ReactElement } from 'react'\nimport { AlertCircle, Info } from 'lucide-react'\nimport { Button } from '@arbidocs/react/ui'\nimport { ModalScaffold } from '../settings/ModalScaffold'\n\ntype ChoiceVariant = 'default' | 'destructive' | 'outline'\n\nexport interface PromptChoice<T extends string> {\n label: string\n value: T\n variant?: ChoiceVariant\n}\n\n/** A dialog offering arbitrary choices (e.g. Overwrite / Skip / Cancel). */\nexport interface ChoiceRequest<T extends string> {\n message: string\n title?: string\n choices: PromptChoice<T>[]\n icon?: 'alert' | 'info'\n /** Dialog test id; each button is `${testId}-${value}-button`. Default `choice-modal`. */\n testId?: string\n}\n\n/**\n * `confirm` — Cancel / Confirm (destructive); `yesno` — No / Yes; `alert` — a single OK\n * (resolves true once acknowledged).\n */\nexport type ConfirmKind = 'confirm' | 'yesno' | 'alert'\n\nexport interface ConfirmRequest {\n message: string\n /** Default: \"Alert\" for `alert`, else \"Confirm\". */\n title?: string\n kind?: ConfirmKind\n}\n\n/** Close animation length before the root is unmounted. */\nconst UNMOUNT_DELAY_MS = 300\n\nfunction PromptDialog<T extends string>({\n request,\n onSettle,\n}: {\n request: ChoiceRequest<T>\n onSettle: (value: T | null) => void\n}): ReactElement {\n const [open, setOpen] = useState(true)\n const { message, title = 'Confirm', choices, icon = 'alert', testId = 'choice-modal' } = request\n const settle = (value: T | null) => {\n setOpen(false)\n onSettle(value)\n }\n return (\n <ModalScaffold\n open={open}\n onOpenChange={(next) => {\n if (!next) settle(null)\n }}\n title={title}\n icon={\n icon === 'info' ? (\n <Info className=\"h-5 w-5 text-blue-text\" aria-hidden=\"true\" />\n ) : (\n <AlertCircle className=\"h-5 w-5\" aria-hidden=\"true\" />\n )\n }\n description={<span className=\"whitespace-pre-line\">{message}</span>}\n showDescription\n testId={testId}\n >\n <ModalScaffold.Footer>\n {choices.map((choice) => (\n <Button\n key={choice.value}\n variant={choice.variant ?? 'default'}\n onClick={() => settle(choice.value)}\n data-testid={`${testId}-${choice.value.toLowerCase()}-button`}\n >\n {choice.label}\n </Button>\n ))}\n </ModalScaffold.Footer>\n </ModalScaffold>\n )\n}\n\n/** Show a choice dialog; resolves with the chosen `value`, or `null` when dismissed. */\nexport function choiceDialog<T extends string>(request: ChoiceRequest<T>): Promise<T | null> {\n if (typeof document === 'undefined') return Promise.resolve(null)\n return new Promise((resolve) => {\n const container = document.createElement('div')\n document.body.appendChild(container)\n let settled = false\n void import('react-dom/client').then(({ createRoot }) => {\n const root = createRoot(container)\n const onSettle = (value: T | null) => {\n if (settled) return\n settled = true\n resolve(value)\n setTimeout(() => {\n root.unmount()\n container.remove()\n }, UNMOUNT_DELAY_MS)\n }\n root.render(<PromptDialog request={request} onSettle={onSettle} />)\n })\n })\n}\n\nconst CONFIRM_CHOICES: Record<\n ConfirmKind,\n PromptChoice<'confirm' | 'cancel' | 'yes' | 'no' | 'ok'>[]\n> = {\n confirm: [\n { label: 'Cancel', value: 'cancel', variant: 'outline' },\n { label: 'Confirm', value: 'confirm', variant: 'destructive' },\n ],\n yesno: [\n { label: 'No', value: 'no', variant: 'outline' },\n { label: 'Yes', value: 'yes' },\n ],\n alert: [{ label: 'OK', value: 'ok' }],\n}\n\nconst CONFIRM_TEST_ID: Record<ConfirmKind, string> = {\n confirm: 'confirmation-modal',\n yesno: 'yes-no-modal',\n alert: 'alert-modal',\n}\n\n/** Show a confirmation; resolves true on Confirm / Yes / OK, false on cancel or dismissal. */\nexport async function confirmDialog(request: ConfirmRequest): Promise<boolean> {\n const kind = request.kind ?? 'confirm'\n const choice = await choiceDialog({\n message: request.message,\n title: request.title ?? (kind === 'alert' ? 'Alert' : 'Confirm'),\n choices: CONFIRM_CHOICES[kind],\n icon: kind === 'alert' ? 'info' : 'alert',\n testId: CONFIRM_TEST_ID[kind],\n })\n return choice === 'confirm' || choice === 'yes' || choice === 'ok'\n}\n","/**\n * The settings section asked for last, so `openSettings(section)` opens that section in every host.\n *\n * `BlocksEnvironment.openSettings` records the section here before the host shows its settings\n * (a panel, a route); a `ConnectedSettingsPage` without its own `section` prop opens at it and\n * follows every later request, even one for the section asked for before. A host that keeps the\n * open section itself (`section` + `onSectionChange`) routes `openSettings` to its own state.\n */\nimport { useSyncExternalStore } from 'react'\n\nexport interface SettingsSectionRequest {\n section: string\n /** Increases with every request, so asking again for the same section is a new request. */\n seq: number\n}\n\nlet request: SettingsSectionRequest | undefined\nconst listeners = new Set<() => void>()\n\n/** Ask for a settings section; no section asks for none (the page stays where it is). */\nexport function requestSettingsSection(section?: string): void {\n if (!section) return\n request = { section, seq: (request?.seq ?? 0) + 1 }\n listeners.forEach((listener) => listener())\n}\n\nfunction subscribe(listener: () => void): () => void {\n listeners.add(listener)\n return () => listeners.delete(listener)\n}\n\nconst snapshot = () => request\n\n/** The last settings-section request (`undefined` until there is one). */\nexport function useRequestedSettingsSection(): SettingsSectionRequest | undefined {\n return useSyncExternalStore(subscribe, snapshot, snapshot)\n}\n","import { createContext, useContext, useMemo, type ReactNode } from 'react'\nimport {\n notify as notifyStore,\n type NotifyOptions,\n type NotifyVariant,\n} from '@arbidocs/react/shell'\nimport type { BlockLinkComponent } from '../components/blockLink'\nimport { choiceDialog, confirmDialog, type ChoiceRequest, type ConfirmRequest } from './dialogs'\nimport { requestSettingsSection } from './settings-section'\n\n/** What blocks need from the host's runtime configuration (the app's `config.json`). */\nexport interface BlocksRuntimeConfig {\n /** Origin of the ARBI API; `''` means the page's own origin. */\n apiBaseUrl: string\n /** The deployment's domain, e.g. `www.arbidocs.com` (deep links, key derivation, labels). */\n deploymentDomain: string\n}\n\nexport interface OpenDocumentOptions {\n /** 1-based page to scroll to. */\n page?: number\n /** Passage (chunk) to highlight. */\n passageId?: string\n}\n\n/**\n * The only way blocks reach the host app's environment. Blocks never import a router, a toast\n * library or an app store; the host injects what it has, and every field has a safe default so a\n * block renders correctly with no provider at all. A nested provider overrides only the fields\n * it is given and inherits the rest.\n */\nexport interface BlocksEnvironment {\n /** Router-aware link (keeps navigation in-SPA). Default: a plain `<a href>`. */\n linkComponent?: BlockLinkComponent\n /** Imperative navigation for buttons and keyboard shortcuts. Default: `window.location.assign`. */\n navigate: (href: string) => void\n /** Surface a transient message (and record it in the notification centre). Default: the shared\n * `@arbidocs/react` notify store, rendered by its `<Toaster/>`. */\n notify: (message: ReactNode, kind?: NotifyVariant, options?: NotifyOptions) => void\n /** Ask the user to confirm. Default: the blocks prompt dialog. */\n confirm: (request: ConfirmRequest) => Promise<boolean>\n /** Ask the user to pick one of several choices; `null` when dismissed. Default: the blocks\n * prompt dialog. */\n choose: <T extends string>(request: ChoiceRequest<T>) => Promise<T | null>\n /** Deployment configuration. Default: same-origin API on the page's own host. */\n runtimeConfig: BlocksRuntimeConfig\n /** Open a document (optionally at a page / passage) wherever the host shows documents.\n * Default: no-op. */\n openDocument: (documentId: string, options?: OpenDocumentOptions) => void\n /** Open a conversation thread, optionally scrolled to a message. Default: no-op. */\n openConversation: (conversationId: string, options?: { messageId?: string }) => void\n /**\n * Open the user's settings, optionally at a section (a `ConnectedSettingsPage` section id).\n * The section is always recorded for `ConnectedSettingsPage` first (`requestSettingsSection`);\n * the host's handler then shows its settings. Default: only that record.\n */\n openSettings: (section?: string) => void\n /** Open a project. Default: no-op. */\n openProject: (projectId: string) => void\n}\n\nconst noop = () => {}\n\nconst defaultEnvironment: BlocksEnvironment = {\n navigate: (href) => {\n if (typeof window !== 'undefined') window.location.assign(href)\n },\n notify: (message, kind = 'info', options) => {\n notifyStore[kind](message, options)\n },\n confirm: confirmDialog,\n choose: choiceDialog,\n runtimeConfig: {\n apiBaseUrl: '',\n deploymentDomain: typeof window !== 'undefined' ? window.location.host : '',\n },\n openDocument: noop,\n openConversation: noop,\n openSettings: requestSettingsSection,\n openProject: noop,\n}\n\nconst BlocksContext = createContext<BlocksEnvironment>(defaultEnvironment)\n\nexport interface BlocksProviderProps extends Partial<BlocksEnvironment> {\n children: ReactNode\n}\n\nexport function BlocksProvider({\n children,\n linkComponent,\n navigate,\n notify,\n confirm,\n choose,\n runtimeConfig,\n openDocument,\n openConversation,\n openSettings,\n openProject,\n}: BlocksProviderProps) {\n const parent = useContext(BlocksContext)\n const value = useMemo<BlocksEnvironment>(\n () => ({\n linkComponent: linkComponent ?? parent.linkComponent,\n navigate: navigate ?? parent.navigate,\n notify: notify ?? parent.notify,\n confirm: confirm ?? parent.confirm,\n choose: choose ?? parent.choose,\n runtimeConfig: runtimeConfig ?? parent.runtimeConfig,\n openDocument: openDocument ?? parent.openDocument,\n openConversation: openConversation ?? parent.openConversation,\n openSettings: openSettings\n ? (section?: string) => {\n requestSettingsSection(section)\n openSettings(section)\n }\n : parent.openSettings,\n openProject: openProject ?? parent.openProject,\n }),\n [\n parent,\n linkComponent,\n navigate,\n notify,\n confirm,\n choose,\n runtimeConfig,\n openDocument,\n openConversation,\n openSettings,\n openProject,\n ]\n )\n return <BlocksContext.Provider value={value}>{children}</BlocksContext.Provider>\n}\n\nexport function useBlocksEnvironment(): BlocksEnvironment {\n return useContext(BlocksContext)\n}\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
+
var chunkNWNVWO6L_cjs = require('./chunk-NWNVWO6L.cjs');
|
|
4
5
|
var chunkKDG6FER6_cjs = require('./chunk-KDG6FER6.cjs');
|
|
5
6
|
var zustand = require('zustand');
|
|
6
7
|
var middleware = require('zustand/middleware');
|
|
@@ -158,77 +159,6 @@ function clearThemeVars(theme, optionsOrRoot = {}) {
|
|
|
158
159
|
root.style.removeProperty("--font-sans");
|
|
159
160
|
root.style.removeProperty("--radius");
|
|
160
161
|
}
|
|
161
|
-
|
|
162
|
-
// src/theme/fontPairings.ts
|
|
163
|
-
var SERIF_TAIL = "ui-serif, Georgia, serif";
|
|
164
|
-
var SANS_TAIL = "ui-sans-serif, system-ui, sans-serif";
|
|
165
|
-
var FONT_PAIRINGS = [
|
|
166
|
-
{
|
|
167
|
-
id: "system",
|
|
168
|
-
label: "System",
|
|
169
|
-
description: "The reader\u2019s own interface font. Loads nothing.",
|
|
170
|
-
display: SANS_TAIL,
|
|
171
|
-
sans: SANS_TAIL,
|
|
172
|
-
packages: []
|
|
173
|
-
},
|
|
174
|
-
{
|
|
175
|
-
id: "office",
|
|
176
|
-
label: "Office (Segoe UI)",
|
|
177
|
-
description: "The Microsoft Office interface face where installed (Word, Outlook), Inter elsewhere.",
|
|
178
|
-
display: `"Segoe UI Variable Text", "Segoe UI", "Inter Variable", ${SANS_TAIL}`,
|
|
179
|
-
sans: `"Segoe UI Variable Text", "Segoe UI", "Inter Variable", ${SANS_TAIL}`,
|
|
180
|
-
packages: ["@fontsource-variable/inter"]
|
|
181
|
-
},
|
|
182
|
-
{
|
|
183
|
-
id: "newsreader-inter",
|
|
184
|
-
label: "Newsreader / Inter",
|
|
185
|
-
description: "Editorial serif headlines over a neutral, highly legible body.",
|
|
186
|
-
display: `"Newsreader Variable", ${SERIF_TAIL}`,
|
|
187
|
-
sans: `"Inter Variable", ${SANS_TAIL}`,
|
|
188
|
-
packages: ["@fontsource-variable/newsreader", "@fontsource-variable/inter"]
|
|
189
|
-
},
|
|
190
|
-
{
|
|
191
|
-
id: "fraunces-inter",
|
|
192
|
-
label: "Fraunces / Inter",
|
|
193
|
-
description: "Characterful, slightly literary display with a quiet body.",
|
|
194
|
-
display: `"Fraunces Variable", ${SERIF_TAIL}`,
|
|
195
|
-
sans: `"Inter Variable", ${SANS_TAIL}`,
|
|
196
|
-
packages: ["@fontsource-variable/fraunces", "@fontsource-variable/inter"]
|
|
197
|
-
},
|
|
198
|
-
{
|
|
199
|
-
id: "source-serif-inter",
|
|
200
|
-
label: "Source Serif / Inter",
|
|
201
|
-
description: "A workhorse serif for headings; sober and institutional.",
|
|
202
|
-
display: `"Source Serif 4 Variable", ${SERIF_TAIL}`,
|
|
203
|
-
sans: `"Inter Variable", ${SANS_TAIL}`,
|
|
204
|
-
packages: ["@fontsource-variable/source-serif-4", "@fontsource-variable/inter"]
|
|
205
|
-
},
|
|
206
|
-
{
|
|
207
|
-
id: "inter",
|
|
208
|
-
label: "Inter",
|
|
209
|
-
description: "One neutral grotesque throughout. Product-like, no contrast.",
|
|
210
|
-
display: `"Inter Variable", ${SANS_TAIL}`,
|
|
211
|
-
sans: `"Inter Variable", ${SANS_TAIL}`,
|
|
212
|
-
packages: ["@fontsource-variable/inter"]
|
|
213
|
-
},
|
|
214
|
-
{
|
|
215
|
-
id: "montserrat-nunito",
|
|
216
|
-
label: "Montserrat / Nunito",
|
|
217
|
-
description: "Geometric headings over a rounded body. ARBI\u2019s historic look.",
|
|
218
|
-
display: `"Montserrat Variable", ${SANS_TAIL}`,
|
|
219
|
-
sans: `"Nunito Variable", ${SANS_TAIL}`,
|
|
220
|
-
packages: ["@fontsource-variable/montserrat", "@fontsource-variable/nunito"]
|
|
221
|
-
}
|
|
222
|
-
];
|
|
223
|
-
function getFontPairing(id) {
|
|
224
|
-
return FONT_PAIRINGS.find((p) => p.id === id);
|
|
225
|
-
}
|
|
226
|
-
function matchFontPairing(fonts) {
|
|
227
|
-
return FONT_PAIRINGS.find((p) => p.display === fonts.display && p.sans === fonts.sans);
|
|
228
|
-
}
|
|
229
|
-
function fontPackages(pairings = FONT_PAIRINGS) {
|
|
230
|
-
return [...new Set(pairings.flatMap((p) => p.packages))].sort();
|
|
231
|
-
}
|
|
232
162
|
function createThemeStore(config) {
|
|
233
163
|
const { defaultTheme, presets, storageKey } = config;
|
|
234
164
|
const useStore = zustand.create()(
|
|
@@ -241,7 +171,7 @@ function createThemeStore(config) {
|
|
|
241
171
|
// A pairing sets both faces together — that is the whole point of it.
|
|
242
172
|
// Unknown ids are ignored rather than clearing the typography.
|
|
243
173
|
setFontPairing: (pairingId) => {
|
|
244
|
-
const pairing = getFontPairing(pairingId);
|
|
174
|
+
const pairing = chunkNWNVWO6L_cjs.getFontPairing(pairingId);
|
|
245
175
|
if (!pairing) return;
|
|
246
176
|
set({ fonts: { display: pairing.display, sans: pairing.sans } });
|
|
247
177
|
},
|
|
@@ -367,7 +297,7 @@ function ThemeEditor({
|
|
|
367
297
|
)
|
|
368
298
|
] })
|
|
369
299
|
] }, k);
|
|
370
|
-
const activePairing = matchFontPairing(fonts);
|
|
300
|
+
const activePairing = chunkNWNVWO6L_cjs.matchFontPairing(fonts);
|
|
371
301
|
const Typography = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
372
302
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
373
303
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "block text-xs text-muted-foreground", children: "Typeface" }),
|
|
@@ -381,7 +311,7 @@ function ThemeEditor({
|
|
|
381
311
|
"data-testid": tid2("font-pairing"),
|
|
382
312
|
children: [
|
|
383
313
|
!activePairing && /* @__PURE__ */ jsxRuntime.jsx("option", { value: "", children: "Custom" }),
|
|
384
|
-
FONT_PAIRINGS.map((pairing) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: pairing.id, children: pairing.label }, pairing.id))
|
|
314
|
+
chunkNWNVWO6L_cjs.FONT_PAIRINGS.map((pairing) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: pairing.id, children: pairing.label }, pairing.id))
|
|
385
315
|
]
|
|
386
316
|
}
|
|
387
317
|
),
|
|
@@ -1717,7 +1647,6 @@ exports.ContactForm = ContactForm;
|
|
|
1717
1647
|
exports.Container = Container;
|
|
1718
1648
|
exports.EditorialToneContext = EditorialToneContext;
|
|
1719
1649
|
exports.FAQ = FAQ;
|
|
1720
|
-
exports.FONT_PAIRINGS = FONT_PAIRINGS;
|
|
1721
1650
|
exports.FeatureGrid = FeatureGrid;
|
|
1722
1651
|
exports.Footer = Footer;
|
|
1723
1652
|
exports.Gallery = Gallery;
|
|
@@ -1747,16 +1676,13 @@ exports.assetRefId = assetRefId;
|
|
|
1747
1676
|
exports.clearFontVars = clearFontVars;
|
|
1748
1677
|
exports.clearThemeVars = clearThemeVars;
|
|
1749
1678
|
exports.createThemeStore = createThemeStore;
|
|
1750
|
-
exports.fontPackages = fontPackages;
|
|
1751
1679
|
exports.formatIndex = formatIndex;
|
|
1752
|
-
exports.getFontPairing = getFontPairing;
|
|
1753
1680
|
exports.isAssetRef = isAssetRef;
|
|
1754
|
-
exports.matchFontPairing = matchFontPairing;
|
|
1755
1681
|
exports.tid = tid;
|
|
1756
1682
|
exports.toEmbedUrl = toEmbedUrl;
|
|
1757
1683
|
exports.toHslTriplet = toHslTriplet;
|
|
1758
1684
|
exports.useAssetRenderer = useAssetRenderer;
|
|
1759
1685
|
exports.useAssetResolverActive = useAssetResolverActive;
|
|
1760
1686
|
exports.useEditorialTone = useEditorialTone;
|
|
1761
|
-
//# sourceMappingURL=chunk-
|
|
1762
|
-
//# sourceMappingURL=chunk-
|
|
1687
|
+
//# sourceMappingURL=chunk-TC3RQNEX.cjs.map
|
|
1688
|
+
//# sourceMappingURL=chunk-TC3RQNEX.cjs.map
|