@arbidocs/blocks 0.4.32 → 0.4.33
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 +257 -215
- package/dist/agents/index.js +8 -6
- package/dist/agents/tasks/ConversationListView.d.ts +58 -0
- package/dist/agents/tasks/ConversationTurnSpeaker.d.ts +16 -0
- package/dist/agents/tasks/NewThreadDialog.d.ts +1 -1
- package/dist/agents/tasks/TaskActivityTimeline.d.ts +1 -1
- package/dist/agents/tasks/TaskFlow.d.ts +22 -0
- package/dist/agents/tasks/TaskInbox.d.ts +26 -0
- package/dist/agents/tasks/TaskReviewDialog.d.ts +22 -0
- package/dist/agents/tasks/TaskRowMenu.d.ts +10 -2
- package/dist/agents/tasks/TaskRunsDialog.d.ts +8 -3
- package/dist/agents/tasks/TaskStartDialog.d.ts +24 -0
- package/dist/agents/tasks/TaskTable.d.ts +1 -1
- package/dist/agents/tasks/ThreadNotifyDialog.d.ts +11 -0
- package/dist/agents/tasks/WorkflowComposer.d.ts +1 -1
- package/dist/agents/tasks/WorkflowsTable.d.ts +7 -0
- package/dist/agents/tasks/compact-thread-activity.d.ts +8 -0
- package/dist/agents/tasks/index.d.ts +10 -0
- package/dist/agents/tasks/taskComposerTypes.d.ts +16 -1
- package/dist/agents/tasks/taskRequest.d.ts +1 -0
- package/dist/agents/tasks/testGrid.d.ts +24 -0
- package/dist/agents/tasks/workflowColumns.d.ts +2 -1
- package/dist/agents/tasks/workflowRows.d.ts +6 -0
- package/dist/agents/workflows/types.d.ts +2 -0
- package/dist/auth/index.cjs +27 -27
- package/dist/auth/index.js +1 -1
- package/dist/chat/Message.d.ts +8 -2
- package/dist/chat/index.cjs +132 -120
- package/dist/chat/index.d.ts +2 -0
- package/dist/chat/index.js +2 -2
- package/dist/chat/participant-tints.d.ts +1 -0
- package/dist/chat/useRecipientDraft.d.ts +14 -0
- package/dist/{chunk-KF4EC5XU.js → chunk-24KQJYSB.js} +3 -3
- package/dist/{chunk-KF4EC5XU.js.map → chunk-24KQJYSB.js.map} +1 -1
- package/dist/{chunk-GVQOBJKR.cjs → chunk-2EAE5JP6.cjs} +7 -4
- package/dist/chunk-2EAE5JP6.cjs.map +1 -0
- package/dist/{chunk-S5HZBXZA.cjs → chunk-2QTT2RZE.cjs} +242 -2
- package/dist/chunk-2QTT2RZE.cjs.map +1 -0
- package/dist/chunk-3AFWGEDJ.cjs +53 -0
- package/dist/chunk-3AFWGEDJ.cjs.map +1 -0
- package/dist/{chunk-4XJZ6AAY.js → chunk-4AWS54US.js} +244 -6
- package/dist/chunk-4AWS54US.js.map +1 -0
- package/dist/{chunk-56BUD74K.cjs → chunk-65THHQVB.cjs} +27 -27
- package/dist/{chunk-56BUD74K.cjs.map → chunk-65THHQVB.cjs.map} +1 -1
- package/dist/{chunk-5B4PXAKI.cjs → chunk-6DNYPLCD.cjs} +21 -7
- package/dist/chunk-6DNYPLCD.cjs.map +1 -0
- package/dist/{chunk-TZ4QF7EP.js → chunk-6RXUMBTK.js} +1948 -594
- package/dist/chunk-6RXUMBTK.js.map +1 -0
- package/dist/{chunk-UTYQPVIW.cjs → chunk-7QDX2CO4.cjs} +6 -6
- package/dist/{chunk-UTYQPVIW.cjs.map → chunk-7QDX2CO4.cjs.map} +1 -1
- package/dist/{chunk-FRRDPYBR.cjs → chunk-AZ75JUIH.cjs} +74 -5
- package/dist/chunk-AZ75JUIH.cjs.map +1 -0
- package/dist/{chunk-NUPVHEJW.js → chunk-BUHKUKKB.js} +7 -4
- package/dist/chunk-BUHKUKKB.js.map +1 -0
- package/dist/chunk-C7FGONCM.js +124 -0
- package/dist/chunk-C7FGONCM.js.map +1 -0
- package/dist/{chunk-KXMDOTGW.js → chunk-DLBUFHLY.js} +10 -2
- package/dist/chunk-DLBUFHLY.js.map +1 -0
- package/dist/{chunk-ZHLMDJCO.cjs → chunk-DLVX6R6B.cjs} +62 -26
- package/dist/chunk-DLVX6R6B.cjs.map +1 -0
- package/dist/{chunk-JGZTRLKL.cjs → chunk-IA7RTPT3.cjs} +7 -4
- package/dist/chunk-IA7RTPT3.cjs.map +1 -0
- package/dist/{chunk-NJL4LIXX.js → chunk-LFGJAZ5H.js} +11 -8
- package/dist/chunk-LFGJAZ5H.js.map +1 -0
- package/dist/{chunk-IAKUTBPX.js → chunk-LYUO3E6V.js} +3 -3
- package/dist/{chunk-IAKUTBPX.js.map → chunk-LYUO3E6V.js.map} +1 -1
- package/dist/{chunk-EYPPB5CY.cjs → chunk-M2YGPC5N.cjs} +4 -4
- package/dist/{chunk-EYPPB5CY.cjs.map → chunk-M2YGPC5N.cjs.map} +1 -1
- package/dist/{chunk-5ZBP7TCD.cjs → chunk-MJCCBMM5.cjs} +10 -2
- package/dist/chunk-MJCCBMM5.cjs.map +1 -0
- package/dist/chunk-MZL67U2E.cjs +128 -0
- package/dist/chunk-MZL67U2E.cjs.map +1 -0
- package/dist/{chunk-OJSWQM4G.js → chunk-OZJ5PXA6.js} +29 -4
- package/dist/chunk-OZJ5PXA6.js.map +1 -0
- package/dist/{chunk-UBNVIIBT.js → chunk-PXFJDX2C.js} +21 -7
- package/dist/chunk-PXFJDX2C.js.map +1 -0
- package/dist/{chunk-RGHQFJOL.cjs → chunk-QFUF4A4J.cjs} +28 -2
- package/dist/chunk-QFUF4A4J.cjs.map +1 -0
- package/dist/chunk-RFXJYIDV.js +50 -0
- package/dist/chunk-RFXJYIDV.js.map +1 -0
- package/dist/{chunk-PLGVMLBD.cjs → chunk-SEQWI6E4.cjs} +1975 -610
- package/dist/chunk-SEQWI6E4.cjs.map +1 -0
- package/dist/{chunk-QN42OA5J.js → chunk-SFXVNFES.js} +4 -4
- package/dist/chunk-SFXVNFES.js.map +1 -0
- package/dist/{chunk-3NZR6PAG.js → chunk-V6U5KVAR.js} +70 -4
- package/dist/chunk-V6U5KVAR.js.map +1 -0
- package/dist/{chunk-YVIOCITQ.cjs → chunk-VUEZARW5.cjs} +3 -3
- package/dist/chunk-VUEZARW5.cjs.map +1 -0
- package/dist/{chunk-JLOYWXRB.js → chunk-VZGBCBYB.js} +3 -3
- package/dist/chunk-VZGBCBYB.js.map +1 -0
- package/dist/{chunk-ZVPTFTGV.cjs → chunk-WBDK4PIA.cjs} +11 -8
- package/dist/chunk-WBDK4PIA.cjs.map +1 -0
- package/dist/{chunk-ZORQ5M3W.cjs → chunk-WQFGG2BV.cjs} +4 -4
- package/dist/chunk-WQFGG2BV.cjs.map +1 -0
- package/dist/{chunk-C75S6USL.js → chunk-WYVCXY7R.js} +7 -4
- package/dist/chunk-WYVCXY7R.js.map +1 -0
- package/dist/{chunk-WSJVHSGN.js → chunk-XWEJ5LV2.js} +63 -27
- package/dist/chunk-XWEJ5LV2.js.map +1 -0
- package/dist/{chunk-YMHGF6R5.js → chunk-ZCF2JJFA.js} +3 -3
- package/dist/{chunk-YMHGF6R5.js.map → chunk-ZCF2JJFA.js.map} +1 -1
- package/dist/collaboration/index.cjs +45 -41
- package/dist/collaboration/index.js +1 -1
- package/dist/collaboration/mail/MailMessagePreview.d.ts +11 -0
- package/dist/collaboration/mail/index.d.ts +1 -0
- package/dist/connect/index.cjs +33 -33
- package/dist/connect/index.js +4 -4
- package/dist/facts/FactsFilterInput.d.ts +2 -46
- package/dist/facts/FactsToolbar.d.ts +5 -5
- package/dist/facts/index.cjs +27 -124
- package/dist/facts/index.cjs.map +1 -1
- package/dist/facts/index.js +13 -118
- package/dist/facts/index.js.map +1 -1
- package/dist/files/FilesPage.d.ts +1 -1
- package/dist/files/FilesToolbar.d.ts +1 -1
- package/dist/files/FolderPicker.d.ts +2 -1
- package/dist/files/ViewerChrome.d.ts +1 -1
- package/dist/files/bulk/FolderFilterButton.d.ts +3 -2
- package/dist/files/cells/BulkLabelSelect.d.ts +11 -0
- package/dist/files/cells/LabelMultiSelect.d.ts +2 -1
- package/dist/files/cells/index.d.ts +1 -0
- package/dist/files/index.cjs +109 -166
- package/dist/files/index.cjs.map +1 -1
- package/dist/files/index.js +95 -158
- package/dist/files/index.js.map +1 -1
- package/dist/home/index.cjs +19 -19
- package/dist/home/index.cjs.map +1 -1
- package/dist/home/index.js +4 -4
- package/dist/home/index.js.map +1 -1
- package/dist/index.cjs +787 -764
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +21 -69
- package/dist/index.js.map +1 -1
- package/dist/settings/SettingsPanel.d.ts +1 -1
- package/dist/settings/index.cjs +55 -280
- package/dist/settings/index.cjs.map +1 -1
- package/dist/settings/index.js +17 -248
- package/dist/settings/index.js.map +1 -1
- package/dist/shell/FilterInput.d.ts +46 -0
- package/dist/shell/TabHeader.d.ts +5 -1
- package/dist/shell/index.cjs +61 -48
- package/dist/shell/index.d.ts +1 -0
- package/dist/shell/index.js +3 -2
- package/dist/site/index.cjs +62 -62
- package/dist/site/index.js +2 -2
- package/dist/studio/index.cjs +74 -74
- package/dist/studio/index.js +5 -5
- package/dist/workspaces/WorkspaceCard.d.ts +2 -2
- package/dist/workspaces/index.cjs +9 -2
- package/dist/workspaces/index.cjs.map +1 -1
- package/dist/workspaces/index.js +9 -2
- package/dist/workspaces/index.js.map +1 -1
- package/package.json +3 -3
- package/src/blocks.css +4 -0
- package/src/components/grid.css +10 -0
- package/dist/chunk-3NZR6PAG.js.map +0 -1
- package/dist/chunk-4XJZ6AAY.js.map +0 -1
- package/dist/chunk-5B4PXAKI.cjs.map +0 -1
- package/dist/chunk-5ZBP7TCD.cjs.map +0 -1
- package/dist/chunk-C75S6USL.js.map +0 -1
- package/dist/chunk-FRRDPYBR.cjs.map +0 -1
- package/dist/chunk-GVQOBJKR.cjs.map +0 -1
- package/dist/chunk-JGZTRLKL.cjs.map +0 -1
- package/dist/chunk-JLOYWXRB.js.map +0 -1
- package/dist/chunk-KXMDOTGW.js.map +0 -1
- package/dist/chunk-NJL4LIXX.js.map +0 -1
- package/dist/chunk-NUPVHEJW.js.map +0 -1
- package/dist/chunk-OJSWQM4G.js.map +0 -1
- package/dist/chunk-PLGVMLBD.cjs.map +0 -1
- package/dist/chunk-QN42OA5J.js.map +0 -1
- package/dist/chunk-RGHQFJOL.cjs.map +0 -1
- package/dist/chunk-S5HZBXZA.cjs.map +0 -1
- package/dist/chunk-TZ4QF7EP.js.map +0 -1
- package/dist/chunk-UBNVIIBT.js.map +0 -1
- package/dist/chunk-WSJVHSGN.js.map +0 -1
- package/dist/chunk-YVIOCITQ.cjs.map +0 -1
- package/dist/chunk-ZHLMDJCO.cjs.map +0 -1
- package/dist/chunk-ZORQ5M3W.cjs.map +0 -1
- package/dist/chunk-ZVPTFTGV.cjs.map +0 -1
package/dist/studio/index.cjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
4
|
+
var chunkM2YGPC5N_cjs = require('../chunk-M2YGPC5N.cjs');
|
|
5
|
+
var chunk7QDX2CO4_cjs = require('../chunk-7QDX2CO4.cjs');
|
|
6
|
+
var chunkMJCCBMM5_cjs = require('../chunk-MJCCBMM5.cjs');
|
|
7
7
|
var chunkELR74ME6_cjs = require('../chunk-ELR74ME6.cjs');
|
|
8
8
|
require('../chunk-VPPX5XUF.cjs');
|
|
9
9
|
var chunkPCB2BPN3_cjs = require('../chunk-PCB2BPN3.cjs');
|
|
10
10
|
var chunkZW6FPIFC_cjs = require('../chunk-ZW6FPIFC.cjs');
|
|
11
11
|
require('../chunk-OB5F4577.cjs');
|
|
12
|
-
require('../chunk-
|
|
12
|
+
require('../chunk-DLVX6R6B.cjs');
|
|
13
13
|
require('../chunk-VGOFFCMT.cjs');
|
|
14
14
|
require('../chunk-PPCATBOY.cjs');
|
|
15
15
|
var chunkC54XEN5T_cjs = require('../chunk-C54XEN5T.cjs');
|
|
@@ -118,7 +118,7 @@ function LiveMetricInner({
|
|
|
118
118
|
const query = source === "documents" ? docs : convos;
|
|
119
119
|
const count = Array.isArray(query.data) ? query.data.length : 0;
|
|
120
120
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
121
|
-
|
|
121
|
+
chunk7QDX2CO4_cjs.MetricCard,
|
|
122
122
|
{
|
|
123
123
|
label: label || METRIC_SOURCES[source].label,
|
|
124
124
|
value: query.isLoading ? "\u2014" : String(count),
|
|
@@ -242,7 +242,7 @@ function createArbiMaterializer(arbi, opts = {}) {
|
|
|
242
242
|
}
|
|
243
243
|
function collectAssetRefs(node, acc) {
|
|
244
244
|
if (typeof node === "string") {
|
|
245
|
-
if (
|
|
245
|
+
if (chunkMJCCBMM5_cjs.isAssetRef(node)) acc.add(node);
|
|
246
246
|
return;
|
|
247
247
|
}
|
|
248
248
|
if (Array.isArray(node)) {
|
|
@@ -276,7 +276,7 @@ async function materializePageData(data, materialize) {
|
|
|
276
276
|
const replacements = /* @__PURE__ */ new Map();
|
|
277
277
|
await Promise.all(
|
|
278
278
|
[...refs].map(async (ref) => {
|
|
279
|
-
const src = await materialize(
|
|
279
|
+
const src = await materialize(chunkMJCCBMM5_cjs.assetRefId(ref));
|
|
280
280
|
if (src) replacements.set(ref, src);
|
|
281
281
|
})
|
|
282
282
|
);
|
|
@@ -382,7 +382,7 @@ function StudioEditor({
|
|
|
382
382
|
radius: stored.radius ?? defaultTheme.radius,
|
|
383
383
|
activePresetId: null
|
|
384
384
|
});
|
|
385
|
-
|
|
385
|
+
chunkMJCCBMM5_cjs.applyStoredTheme(themeBundle);
|
|
386
386
|
})();
|
|
387
387
|
return () => {
|
|
388
388
|
cancelled = true;
|
|
@@ -488,7 +488,7 @@ function StudioEditor({
|
|
|
488
488
|
"\u201D\u2026"
|
|
489
489
|
]
|
|
490
490
|
}
|
|
491
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
491
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.AssetResolverProvider, { render: AssetThumb, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
492
492
|
puck.Puck,
|
|
493
493
|
{
|
|
494
494
|
config,
|
|
@@ -506,7 +506,7 @@ function StudioEditor({
|
|
|
506
506
|
className: "w-80 shrink-0 border-l border-border",
|
|
507
507
|
"data-testid": `${testIdPrefix}-theme-drawer`,
|
|
508
508
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
509
|
-
|
|
509
|
+
chunkMJCCBMM5_cjs.ThemeEditor,
|
|
510
510
|
{
|
|
511
511
|
bundle: themeBundle,
|
|
512
512
|
variant: "drawer",
|
|
@@ -548,7 +548,7 @@ function PageRenderer({
|
|
|
548
548
|
const page = initialData ?? (await persistence.loadPublished(arbi, live, slug)).data ?? (await persistence.loadPage(arbi, live, slug)).data;
|
|
549
549
|
if (cancelled) return;
|
|
550
550
|
if (applyTheme) {
|
|
551
|
-
|
|
551
|
+
chunkMJCCBMM5_cjs.applyThemeVars(
|
|
552
552
|
theme ? { ...defaultTheme, ...theme, colors: { ...defaultTheme.colors, ...theme.colors } } : defaultTheme
|
|
553
553
|
);
|
|
554
554
|
}
|
|
@@ -792,7 +792,7 @@ function AiTextField({
|
|
|
792
792
|
setActive(true);
|
|
793
793
|
await task.run(buildPrompt({ kind, label, current: value ?? "" }), docIds);
|
|
794
794
|
};
|
|
795
|
-
const inputTid =
|
|
795
|
+
const inputTid = chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-field`, name);
|
|
796
796
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "al-ai-field", children: [
|
|
797
797
|
multiline ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
798
798
|
"textarea",
|
|
@@ -821,7 +821,7 @@ function AiTextField({
|
|
|
821
821
|
className: "al-ai-field__btn",
|
|
822
822
|
onClick: () => void write(),
|
|
823
823
|
disabled: task.isRunning,
|
|
824
|
-
"data-testid":
|
|
824
|
+
"data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-ai-write`, name),
|
|
825
825
|
title: "Draft this field with AI, grounded in the marketing workspace",
|
|
826
826
|
children: [
|
|
827
827
|
task.isRunning ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-3 animate-spin" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "size-3" }),
|
|
@@ -881,7 +881,7 @@ function latestImageDocId(artifacts) {
|
|
|
881
881
|
return null;
|
|
882
882
|
}
|
|
883
883
|
function useImageGen() {
|
|
884
|
-
const task =
|
|
884
|
+
const task = chunkM2YGPC5N_cjs.useConnectedAiTask();
|
|
885
885
|
const { run } = task;
|
|
886
886
|
const generate = react.useCallback(
|
|
887
887
|
async (prompt, referenceDocIds = []) => {
|
|
@@ -924,8 +924,8 @@ function ImageFieldControl({
|
|
|
924
924
|
const arbi = react$1.useArbi();
|
|
925
925
|
const gen = useImageGen();
|
|
926
926
|
const queryClient = reactQuery.useQueryClient();
|
|
927
|
-
const currentAssetImage = useAssetImage(
|
|
928
|
-
const tp = (...q) =>
|
|
927
|
+
const currentAssetImage = useAssetImage(chunkMJCCBMM5_cjs.isAssetRef(value) ? chunkMJCCBMM5_cjs.assetRefId(value) : "");
|
|
928
|
+
const tp = (...q) => chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-image`, name, ...q);
|
|
929
929
|
const refreshAssets = () => queryClient.invalidateQueries({ queryKey: ["arbi", "documents", workspaceId] });
|
|
930
930
|
const { data: docs } = react$1.useDocuments(workspaceId);
|
|
931
931
|
const imageDocs = react.useMemo(
|
|
@@ -959,7 +959,7 @@ function ImageFieldControl({
|
|
|
959
959
|
const res = await arbi.documents.uploadFile(file, name2, { folder });
|
|
960
960
|
const id = res.doc_ext_ids?.[0];
|
|
961
961
|
if (id) {
|
|
962
|
-
onChange(
|
|
962
|
+
onChange(chunkMJCCBMM5_cjs.asAssetRef(id));
|
|
963
963
|
void refreshAssets();
|
|
964
964
|
}
|
|
965
965
|
} finally {
|
|
@@ -977,7 +977,7 @@ function ImageFieldControl({
|
|
|
977
977
|
if (!prompt.trim() || gen.isGenerating) return;
|
|
978
978
|
const id = await gen.generate(prompt, refIds);
|
|
979
979
|
if (id) {
|
|
980
|
-
onChange(
|
|
980
|
+
onChange(chunkMJCCBMM5_cjs.asAssetRef(id));
|
|
981
981
|
setRefIds([]);
|
|
982
982
|
void refreshAssets();
|
|
983
983
|
}
|
|
@@ -992,7 +992,7 @@ function ImageFieldControl({
|
|
|
992
992
|
const tabClass = (on) => `inline-flex items-center gap-1 rounded-md px-2 py-1 text-xs font-medium ${on ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:text-foreground"}`;
|
|
993
993
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", "data-testid": tp(), children: [
|
|
994
994
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
995
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
995
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.BlockImage, { src: value, aspect: "16:9", rounded: "md", testId: tp("preview") }),
|
|
996
996
|
currentAssetImage ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
997
997
|
"button",
|
|
998
998
|
{
|
|
@@ -1026,12 +1026,12 @@ function ImageFieldControl({
|
|
|
1026
1026
|
imageDocs.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "col-span-3 py-3 text-center text-xs text-muted-foreground", children: "No image assets yet \u2014 upload or generate one." }),
|
|
1027
1027
|
imageDocs.map((d) => {
|
|
1028
1028
|
const thumb = thumbs?.[d.external_id];
|
|
1029
|
-
const selected = value ===
|
|
1029
|
+
const selected = value === chunkMJCCBMM5_cjs.asAssetRef(d.external_id);
|
|
1030
1030
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1031
1031
|
"button",
|
|
1032
1032
|
{
|
|
1033
1033
|
type: "button",
|
|
1034
|
-
onClick: () => onChange(
|
|
1034
|
+
onClick: () => onChange(chunkMJCCBMM5_cjs.asAssetRef(d.external_id)),
|
|
1035
1035
|
className: `overflow-hidden rounded border ${selected ? "border-primary ring-1 ring-primary" : "border-border"}`,
|
|
1036
1036
|
title: d.file_name ?? "",
|
|
1037
1037
|
"data-testid": tp("asset", d.external_id),
|
|
@@ -1093,14 +1093,14 @@ function ImageFieldControl({
|
|
|
1093
1093
|
"Reference images",
|
|
1094
1094
|
refIds.length > 0 ? ` (${refIds.length})` : " (optional)"
|
|
1095
1095
|
] }),
|
|
1096
|
-
|
|
1096
|
+
chunkMJCCBMM5_cjs.isAssetRef(value) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1097
1097
|
"button",
|
|
1098
1098
|
{
|
|
1099
1099
|
type: "button",
|
|
1100
1100
|
className: "text-xs font-medium text-primary hover:underline",
|
|
1101
|
-
onClick: () => toggleRef(
|
|
1101
|
+
onClick: () => toggleRef(chunkMJCCBMM5_cjs.assetRefId(value)),
|
|
1102
1102
|
"data-testid": tp("vary-current"),
|
|
1103
|
-
children: refIds.includes(
|
|
1103
|
+
children: refIds.includes(chunkMJCCBMM5_cjs.assetRefId(value)) ? "Varying current" : "Vary current image"
|
|
1104
1104
|
}
|
|
1105
1105
|
)
|
|
1106
1106
|
] }),
|
|
@@ -1314,7 +1314,7 @@ function createBlockKit(ai, image, eyebrowClassName) {
|
|
|
1314
1314
|
}),
|
|
1315
1315
|
iconField: (label = "Icon") => ({ type: "select", label, options: ICON_OPTIONS }),
|
|
1316
1316
|
resolveIcon: (name) => name ? iconMap[name] : void 0,
|
|
1317
|
-
blockTestId: (id) =>
|
|
1317
|
+
blockTestId: (id) => chunkMJCCBMM5_cjs.tid("arbi-block", id)
|
|
1318
1318
|
};
|
|
1319
1319
|
}
|
|
1320
1320
|
var emptySlot = [];
|
|
@@ -1379,7 +1379,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1379
1379
|
render: ({ id, count, gap, col1, col2, col3, col4 }) => {
|
|
1380
1380
|
const n = Number(count) || 3;
|
|
1381
1381
|
const columns = [col1, col2, col3, col4].slice(0, n).map(renderSlot);
|
|
1382
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1382
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Columns, { count: n, gap, columns, testId: blockTestId(id) });
|
|
1383
1383
|
}
|
|
1384
1384
|
};
|
|
1385
1385
|
const SpacerBlock = {
|
|
@@ -1397,7 +1397,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1397
1397
|
}
|
|
1398
1398
|
},
|
|
1399
1399
|
defaultProps: { size: "md" },
|
|
1400
|
-
render: ({ id, size }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1400
|
+
render: ({ id, size }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Spacer, { size, testId: blockTestId(id) })
|
|
1401
1401
|
};
|
|
1402
1402
|
const ContainerBlock = {
|
|
1403
1403
|
label: "Container",
|
|
@@ -1425,7 +1425,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1425
1425
|
children: { type: "slot" }
|
|
1426
1426
|
},
|
|
1427
1427
|
defaultProps: { width: "default", padding: "md", children: emptySlot },
|
|
1428
|
-
render: ({ id, width, padding, children }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1428
|
+
render: ({ id, width, padding, children }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Container, { width, padding, testId: blockTestId(id), children: renderSlot(children) })
|
|
1429
1429
|
};
|
|
1430
1430
|
const HeroBlock = {
|
|
1431
1431
|
label: "Hero",
|
|
@@ -1476,7 +1476,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1476
1476
|
backgroundImage,
|
|
1477
1477
|
overlay
|
|
1478
1478
|
}) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1479
|
-
|
|
1479
|
+
chunkMJCCBMM5_cjs.Hero,
|
|
1480
1480
|
{
|
|
1481
1481
|
eyebrow,
|
|
1482
1482
|
title,
|
|
@@ -1548,7 +1548,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1548
1548
|
icon: resolveIcon(it.icon)
|
|
1549
1549
|
})
|
|
1550
1550
|
);
|
|
1551
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1551
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.FeatureGrid, { columns, items: list, testId: blockTestId(id) });
|
|
1552
1552
|
}
|
|
1553
1553
|
};
|
|
1554
1554
|
const StatGroupBlock = {
|
|
@@ -1573,7 +1573,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1573
1573
|
{ value: "24/7", label: "Support" }
|
|
1574
1574
|
]
|
|
1575
1575
|
},
|
|
1576
|
-
render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1576
|
+
render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunk7QDX2CO4_cjs.StatGroup, { items, testId: blockTestId(id) })
|
|
1577
1577
|
};
|
|
1578
1578
|
const TestimonialBlock = {
|
|
1579
1579
|
label: "Testimonial",
|
|
@@ -1590,7 +1590,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1590
1590
|
avatarUrl: ""
|
|
1591
1591
|
},
|
|
1592
1592
|
render: ({ id, quote, author, role, avatarUrl }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1593
|
-
|
|
1593
|
+
chunkMJCCBMM5_cjs.Testimonial,
|
|
1594
1594
|
{
|
|
1595
1595
|
quote,
|
|
1596
1596
|
author,
|
|
@@ -1619,7 +1619,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1619
1619
|
overlay: true
|
|
1620
1620
|
},
|
|
1621
1621
|
render: ({ id, title, subtitle, cta, tone, backgroundImage, overlay }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1622
|
-
|
|
1622
|
+
chunkMJCCBMM5_cjs.CTABanner,
|
|
1623
1623
|
{
|
|
1624
1624
|
title,
|
|
1625
1625
|
subtitle,
|
|
@@ -1651,7 +1651,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1651
1651
|
{ label: "Umbrella" }
|
|
1652
1652
|
]
|
|
1653
1653
|
},
|
|
1654
|
-
render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1654
|
+
render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.LogoCloud, { items, testId: blockTestId(id) })
|
|
1655
1655
|
};
|
|
1656
1656
|
const FAQBlock = {
|
|
1657
1657
|
label: "FAQ",
|
|
@@ -1683,7 +1683,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1683
1683
|
}
|
|
1684
1684
|
]
|
|
1685
1685
|
},
|
|
1686
|
-
render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1686
|
+
render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.FAQ, { items, testId: blockTestId(id) })
|
|
1687
1687
|
};
|
|
1688
1688
|
const TimelineBlockConfig = {
|
|
1689
1689
|
label: "Timeline",
|
|
@@ -1758,7 +1758,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1758
1758
|
defaultProps: {
|
|
1759
1759
|
content: "## About us\n\nWe build tools that help teams do their best work. Our platform combines **power** and _simplicity_ so you can focus on what matters.\n\n- Fast to learn\n- Easy to scale\n- Loved by teams"
|
|
1760
1760
|
},
|
|
1761
|
-
render: ({ id, content }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1761
|
+
render: ({ id, content }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.RichTextBlock, { content, testId: blockTestId(id) })
|
|
1762
1762
|
};
|
|
1763
1763
|
const CalloutBlock = {
|
|
1764
1764
|
label: "Callout",
|
|
@@ -1812,7 +1812,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1812
1812
|
},
|
|
1813
1813
|
defaultProps: { src: "", alt: "Image", aspect: "16:9", rounded: "lg", framed: false },
|
|
1814
1814
|
render: ({ id, src, alt, aspect, rounded, framed }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1815
|
-
|
|
1815
|
+
chunkMJCCBMM5_cjs.BlockImage,
|
|
1816
1816
|
{
|
|
1817
1817
|
src,
|
|
1818
1818
|
alt,
|
|
@@ -1840,7 +1840,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1840
1840
|
}
|
|
1841
1841
|
},
|
|
1842
1842
|
defaultProps: { src: "", name: "Jane Doe", size: "md" },
|
|
1843
|
-
render: ({ id, src, name, size }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1843
|
+
render: ({ id, src, name, size }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.AvatarBlock, { src, name, size, testId: blockTestId(id) })
|
|
1844
1844
|
};
|
|
1845
1845
|
const NavbarBlock = {
|
|
1846
1846
|
label: "Navbar",
|
|
@@ -1868,7 +1868,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1868
1868
|
],
|
|
1869
1869
|
cta: { label: "Sign up", href: "#" }
|
|
1870
1870
|
},
|
|
1871
|
-
render: ({ id, brand, links, cta }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1871
|
+
render: ({ id, brand, links, cta }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Navbar, { brand, links, cta, testId: blockTestId(id) })
|
|
1872
1872
|
};
|
|
1873
1873
|
const FooterBlock = {
|
|
1874
1874
|
label: "Footer",
|
|
@@ -1927,7 +1927,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1927
1927
|
],
|
|
1928
1928
|
copyright: "\xA9 2026 Acme, Inc. All rights reserved."
|
|
1929
1929
|
},
|
|
1930
|
-
render: ({ id, columns, copyright }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1930
|
+
render: ({ id, columns, copyright }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Footer, { columns, copyright, testId: blockTestId(id) })
|
|
1931
1931
|
};
|
|
1932
1932
|
const ListBlockConfig = {
|
|
1933
1933
|
label: "List",
|
|
@@ -1945,7 +1945,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1945
1945
|
ordered: false,
|
|
1946
1946
|
items: [{ text: "First item" }, { text: "Second item" }, { text: "Third item" }]
|
|
1947
1947
|
},
|
|
1948
|
-
render: ({ id, ordered, items }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1948
|
+
render: ({ id, ordered, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.ListBlock, { ordered, items, testId: blockTestId(id) })
|
|
1949
1949
|
};
|
|
1950
1950
|
return {
|
|
1951
1951
|
Columns: ColumnsBlock,
|
|
@@ -2048,7 +2048,7 @@ function createSiteBlocks(kit) {
|
|
|
2048
2048
|
]
|
|
2049
2049
|
},
|
|
2050
2050
|
render: ({ id, plans }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2051
|
-
|
|
2051
|
+
chunkMJCCBMM5_cjs.PricingTable,
|
|
2052
2052
|
{
|
|
2053
2053
|
plans: (plans ?? []).map(
|
|
2054
2054
|
(p) => ({
|
|
@@ -2086,7 +2086,7 @@ function createSiteBlocks(kit) {
|
|
|
2086
2086
|
{ label: "FAQ", content: "Answers to common questions." }
|
|
2087
2087
|
]
|
|
2088
2088
|
},
|
|
2089
|
-
render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2089
|
+
render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Tabs, { items, testId: blockTestId(id) })
|
|
2090
2090
|
};
|
|
2091
2091
|
const AccordionBlock = {
|
|
2092
2092
|
label: "Accordion",
|
|
@@ -2110,7 +2110,7 @@ function createSiteBlocks(kit) {
|
|
|
2110
2110
|
{ title: "How does billing work?", content: "Monthly or annually, cancel anytime." }
|
|
2111
2111
|
]
|
|
2112
2112
|
},
|
|
2113
|
-
render: ({ id, allowMultiple, items }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2113
|
+
render: ({ id, allowMultiple, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Accordion, { allowMultiple, items, testId: blockTestId(id) })
|
|
2114
2114
|
};
|
|
2115
2115
|
const GalleryBlock = {
|
|
2116
2116
|
label: "Gallery",
|
|
@@ -2146,7 +2146,7 @@ function createSiteBlocks(kit) {
|
|
|
2146
2146
|
{ src: "", alt: "Image three", caption: "" }
|
|
2147
2147
|
]
|
|
2148
2148
|
},
|
|
2149
|
-
render: ({ id, columns, aspect, images }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2149
|
+
render: ({ id, columns, aspect, images }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Gallery, { columns, aspect, images, testId: blockTestId(id) })
|
|
2150
2150
|
};
|
|
2151
2151
|
const VideoBlock = {
|
|
2152
2152
|
label: "Video",
|
|
@@ -2166,7 +2166,7 @@ function createSiteBlocks(kit) {
|
|
|
2166
2166
|
},
|
|
2167
2167
|
defaultProps: { url: "", title: "", aspect: "16:9", rounded: true },
|
|
2168
2168
|
render: ({ id, url, title, aspect, rounded }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2169
|
-
|
|
2169
|
+
chunkMJCCBMM5_cjs.VideoEmbed,
|
|
2170
2170
|
{
|
|
2171
2171
|
url,
|
|
2172
2172
|
title,
|
|
@@ -2215,7 +2215,7 @@ function createSiteBlocks(kit) {
|
|
|
2215
2215
|
]
|
|
2216
2216
|
},
|
|
2217
2217
|
render: ({ id, submitLabel, action, successMessage, fields }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2218
|
-
|
|
2218
|
+
chunkMJCCBMM5_cjs.ContactForm,
|
|
2219
2219
|
{
|
|
2220
2220
|
submitLabel,
|
|
2221
2221
|
action: action || void 0,
|
|
@@ -2245,7 +2245,7 @@ function createSiteBlocks(kit) {
|
|
|
2245
2245
|
cta: { label: "Read more", href: "#" },
|
|
2246
2246
|
tone: "primary"
|
|
2247
2247
|
},
|
|
2248
|
-
render: ({ id, text, cta, tone }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2248
|
+
render: ({ id, text, cta, tone }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Banner, { text, cta, tone, testId: blockTestId(id) })
|
|
2249
2249
|
};
|
|
2250
2250
|
const MediaTextBlock = {
|
|
2251
2251
|
label: "Media & text",
|
|
@@ -2273,7 +2273,7 @@ function createSiteBlocks(kit) {
|
|
|
2273
2273
|
cta: { label: "Learn more", href: "#" }
|
|
2274
2274
|
},
|
|
2275
2275
|
render: ({ id, eyebrow, title, body, imageUrl, mediaSide, cta }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2276
|
-
|
|
2276
|
+
chunkMJCCBMM5_cjs.MediaText,
|
|
2277
2277
|
{
|
|
2278
2278
|
eyebrow,
|
|
2279
2279
|
title,
|
|
@@ -2310,7 +2310,7 @@ function createSiteBlocks(kit) {
|
|
|
2310
2310
|
{ name: "Jordan Lee", role: "Lead Engineer", bio: "", avatarUrl: "" }
|
|
2311
2311
|
]
|
|
2312
2312
|
},
|
|
2313
|
-
render: ({ id, columns, members }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2313
|
+
render: ({ id, columns, members }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.TeamGrid, { columns, members, testId: blockTestId(id) })
|
|
2314
2314
|
};
|
|
2315
2315
|
const StepsBlock = {
|
|
2316
2316
|
label: "Steps",
|
|
@@ -2342,7 +2342,7 @@ function createSiteBlocks(kit) {
|
|
|
2342
2342
|
{ title: "Launch", description: "Go live and start seeing results." }
|
|
2343
2343
|
]
|
|
2344
2344
|
},
|
|
2345
|
-
render: ({ id, variant, steps }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2345
|
+
render: ({ id, variant, steps }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.Steps, { variant, steps, testId: blockTestId(id) })
|
|
2346
2346
|
};
|
|
2347
2347
|
const TestimonialGridBlock = {
|
|
2348
2348
|
label: "Testimonial grid",
|
|
@@ -2384,7 +2384,7 @@ function createSiteBlocks(kit) {
|
|
|
2384
2384
|
}
|
|
2385
2385
|
]
|
|
2386
2386
|
},
|
|
2387
|
-
render: ({ id, columns, items }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2387
|
+
render: ({ id, columns, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMJCCBMM5_cjs.TestimonialGrid, { columns, items, testId: blockTestId(id) })
|
|
2388
2388
|
};
|
|
2389
2389
|
return {
|
|
2390
2390
|
Pricing: PricingBlock,
|
|
@@ -2428,7 +2428,7 @@ function createArbiBlocksConfig(opts = {}) {
|
|
|
2428
2428
|
},
|
|
2429
2429
|
defaultProps: { title: "Section title", align: "left", invert: false },
|
|
2430
2430
|
render: ({ id, title, eyebrow, lead, align, invert }) => /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": blockTestId(id), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2431
|
-
|
|
2431
|
+
chunkMJCCBMM5_cjs.SectionHeading,
|
|
2432
2432
|
{
|
|
2433
2433
|
title,
|
|
2434
2434
|
eyebrow,
|
|
@@ -2451,7 +2451,7 @@ function createArbiBlocksConfig(opts = {}) {
|
|
|
2451
2451
|
},
|
|
2452
2452
|
defaultProps: { title: "Page title", actions: emptySlot2 },
|
|
2453
2453
|
render: ({ id, title, eyebrow, description, actions: Actions }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2454
|
-
|
|
2454
|
+
chunk7QDX2CO4_cjs.PageHeader,
|
|
2455
2455
|
{
|
|
2456
2456
|
title,
|
|
2457
2457
|
eyebrow,
|
|
@@ -2518,7 +2518,7 @@ function createArbiBlocksConfig(opts = {}) {
|
|
|
2518
2518
|
},
|
|
2519
2519
|
defaultProps: { label: "Metric", value: "0", accent: "default" },
|
|
2520
2520
|
render: ({ id, label, value, hint, accent, delta, icon }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2521
|
-
|
|
2521
|
+
chunk7QDX2CO4_cjs.MetricCard,
|
|
2522
2522
|
{
|
|
2523
2523
|
label,
|
|
2524
2524
|
value,
|
|
@@ -2634,7 +2634,7 @@ function createArbiBlocksConfig(opts = {}) {
|
|
|
2634
2634
|
field: col.field || `col-${index}`
|
|
2635
2635
|
}));
|
|
2636
2636
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2637
|
-
|
|
2637
|
+
chunk7QDX2CO4_cjs.DataTableBlock,
|
|
2638
2638
|
{
|
|
2639
2639
|
columns: normalisedCols,
|
|
2640
2640
|
rows: recordRows,
|
|
@@ -3022,7 +3022,7 @@ function ModuleManager({ store, testIdPrefix = "builder" }) {
|
|
|
3022
3022
|
{
|
|
3023
3023
|
variant: "elevated",
|
|
3024
3024
|
className: "rounded-lg",
|
|
3025
|
-
"data-testid":
|
|
3025
|
+
"data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-modules-section`, group.section),
|
|
3026
3026
|
children: [
|
|
3027
3027
|
/* @__PURE__ */ jsxRuntime.jsx(ui.CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.CardTitle, { className: "text-base", children: group.section }) }),
|
|
3028
3028
|
/* @__PURE__ */ jsxRuntime.jsx(ui.CardContent, { className: "space-y-1.5", children: group.modules.map((m, idx) => {
|
|
@@ -3031,7 +3031,7 @@ function ModuleManager({ store, testIdPrefix = "builder" }) {
|
|
|
3031
3031
|
"div",
|
|
3032
3032
|
{
|
|
3033
3033
|
className: "flex items-center gap-3 rounded-md border border-border/60 bg-card px-3 py-2",
|
|
3034
|
-
"data-testid":
|
|
3034
|
+
"data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-module`, m.id),
|
|
3035
3035
|
children: [
|
|
3036
3036
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
|
|
3037
3037
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3043,7 +3043,7 @@ function ModuleManager({ store, testIdPrefix = "builder" }) {
|
|
|
3043
3043
|
disabled: idx === 0,
|
|
3044
3044
|
onClick: () => move(m.id, "up"),
|
|
3045
3045
|
"aria-label": `Move ${m.label} up`,
|
|
3046
|
-
"data-testid":
|
|
3046
|
+
"data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-module-up`, m.id),
|
|
3047
3047
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { className: "size-3.5" })
|
|
3048
3048
|
}
|
|
3049
3049
|
),
|
|
@@ -3056,7 +3056,7 @@ function ModuleManager({ store, testIdPrefix = "builder" }) {
|
|
|
3056
3056
|
disabled: idx === group.modules.length - 1,
|
|
3057
3057
|
onClick: () => move(m.id, "down"),
|
|
3058
3058
|
"aria-label": `Move ${m.label} down`,
|
|
3059
|
-
"data-testid":
|
|
3059
|
+
"data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-module-down`, m.id),
|
|
3060
3060
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "size-3.5" })
|
|
3061
3061
|
}
|
|
3062
3062
|
)
|
|
@@ -3076,7 +3076,7 @@ function ModuleManager({ store, testIdPrefix = "builder" }) {
|
|
|
3076
3076
|
checked: m.enabled,
|
|
3077
3077
|
onCheckedChange: () => toggle2(m.id),
|
|
3078
3078
|
"aria-label": `Enable ${m.label}`,
|
|
3079
|
-
"data-testid":
|
|
3079
|
+
"data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-module-toggle`, m.id)
|
|
3080
3080
|
}
|
|
3081
3081
|
)
|
|
3082
3082
|
]
|
|
@@ -3108,7 +3108,7 @@ function ConfigModelBadge({ configId, testIdPrefix }) {
|
|
|
3108
3108
|
ui.Badge,
|
|
3109
3109
|
{
|
|
3110
3110
|
variant: TIER_VARIANT[tier] ?? "secondary",
|
|
3111
|
-
"data-testid":
|
|
3111
|
+
"data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-agents-config-tier`, configId),
|
|
3112
3112
|
children: [
|
|
3113
3113
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Cpu, { className: "size-3" }),
|
|
3114
3114
|
" ",
|
|
@@ -3145,14 +3145,14 @@ function AgentsPanel({ store, testIdPrefix = "builder" }) {
|
|
|
3145
3145
|
"label",
|
|
3146
3146
|
{
|
|
3147
3147
|
className: "flex cursor-pointer items-center gap-3 rounded-md border border-border/60 bg-card px-3 py-2",
|
|
3148
|
-
"data-testid":
|
|
3148
|
+
"data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-agents-config`, v.external_id),
|
|
3149
3149
|
children: [
|
|
3150
3150
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3151
3151
|
ui.Checkbox,
|
|
3152
3152
|
{
|
|
3153
3153
|
checked: configIds.includes(v.external_id),
|
|
3154
3154
|
onCheckedChange: () => toggleConfig(v.external_id),
|
|
3155
|
-
"data-testid":
|
|
3155
|
+
"data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-agents-config-toggle`, v.external_id)
|
|
3156
3156
|
}
|
|
3157
3157
|
),
|
|
3158
3158
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
@@ -3181,14 +3181,14 @@ function AgentsPanel({ store, testIdPrefix = "builder" }) {
|
|
|
3181
3181
|
"label",
|
|
3182
3182
|
{
|
|
3183
3183
|
className: "flex cursor-pointer items-center gap-3 rounded-md border border-border/60 bg-card px-3 py-2",
|
|
3184
|
-
"data-testid":
|
|
3184
|
+
"data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-agents-agent`, a.external_id),
|
|
3185
3185
|
children: [
|
|
3186
3186
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3187
3187
|
ui.Checkbox,
|
|
3188
3188
|
{
|
|
3189
3189
|
checked: agentIds.includes(a.external_id),
|
|
3190
3190
|
onCheckedChange: () => toggleAgent(a.external_id),
|
|
3191
|
-
"data-testid":
|
|
3191
|
+
"data-testid": chunkMJCCBMM5_cjs.tid(`${testIdPrefix}-agents-agent-toggle`, a.external_id)
|
|
3192
3192
|
}
|
|
3193
3193
|
),
|
|
3194
3194
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
@@ -3275,7 +3275,7 @@ function VerticalBuilder({
|
|
|
3275
3275
|
] })
|
|
3276
3276
|
] }),
|
|
3277
3277
|
/* @__PURE__ */ jsxRuntime.jsx(ui.TabsContent, { value: "theme", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3278
|
-
|
|
3278
|
+
chunkMJCCBMM5_cjs.ThemeEditor,
|
|
3279
3279
|
{
|
|
3280
3280
|
bundle: themeBundle,
|
|
3281
3281
|
variant: "panel",
|
|
@@ -3301,31 +3301,31 @@ function VerticalBuilder({
|
|
|
3301
3301
|
|
|
3302
3302
|
Object.defineProperty(exports, "ASSET_REF_PREFIX", {
|
|
3303
3303
|
enumerable: true,
|
|
3304
|
-
get: function () { return
|
|
3304
|
+
get: function () { return chunkMJCCBMM5_cjs.ASSET_REF_PREFIX; }
|
|
3305
3305
|
});
|
|
3306
3306
|
Object.defineProperty(exports, "AssetResolverProvider", {
|
|
3307
3307
|
enumerable: true,
|
|
3308
|
-
get: function () { return
|
|
3308
|
+
get: function () { return chunkMJCCBMM5_cjs.AssetResolverProvider; }
|
|
3309
3309
|
});
|
|
3310
3310
|
Object.defineProperty(exports, "asAssetRef", {
|
|
3311
3311
|
enumerable: true,
|
|
3312
|
-
get: function () { return
|
|
3312
|
+
get: function () { return chunkMJCCBMM5_cjs.asAssetRef; }
|
|
3313
3313
|
});
|
|
3314
3314
|
Object.defineProperty(exports, "assetRefId", {
|
|
3315
3315
|
enumerable: true,
|
|
3316
|
-
get: function () { return
|
|
3316
|
+
get: function () { return chunkMJCCBMM5_cjs.assetRefId; }
|
|
3317
3317
|
});
|
|
3318
3318
|
Object.defineProperty(exports, "isAssetRef", {
|
|
3319
3319
|
enumerable: true,
|
|
3320
|
-
get: function () { return
|
|
3320
|
+
get: function () { return chunkMJCCBMM5_cjs.isAssetRef; }
|
|
3321
3321
|
});
|
|
3322
3322
|
Object.defineProperty(exports, "useAssetRenderer", {
|
|
3323
3323
|
enumerable: true,
|
|
3324
|
-
get: function () { return
|
|
3324
|
+
get: function () { return chunkMJCCBMM5_cjs.useAssetRenderer; }
|
|
3325
3325
|
});
|
|
3326
3326
|
Object.defineProperty(exports, "useAssetResolverActive", {
|
|
3327
3327
|
enumerable: true,
|
|
3328
|
-
get: function () { return
|
|
3328
|
+
get: function () { return chunkMJCCBMM5_cjs.useAssetResolverActive; }
|
|
3329
3329
|
});
|
|
3330
3330
|
exports.AgentsPanel = AgentsPanel;
|
|
3331
3331
|
exports.AssetThumb = AssetThumb;
|
package/dist/studio/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useConnectedAiTask } from '../chunk-
|
|
3
|
-
import { PageHeader, MetricCard, DataTableBlock, StatGroup } from '../chunk-
|
|
4
|
-
import { assetRefId, applyStoredTheme, AssetResolverProvider, ThemeEditor, applyThemeVars, tid, SectionHeading, PricingTable, Tabs as Tabs$1, Accordion, Gallery, VideoEmbed, ContactForm, Banner, MediaText, TeamGrid, Steps, TestimonialGrid, Columns, Spacer, Container, Hero, FeatureGrid, Testimonial, CTABanner, LogoCloud, FAQ, RichTextBlock, BlockImage, AvatarBlock, Navbar, Footer, ListBlock, isAssetRef, asAssetRef } from '../chunk-
|
|
5
|
-
export { ASSET_REF_PREFIX, AssetResolverProvider, asAssetRef, assetRefId, isAssetRef, useAssetRenderer, useAssetResolverActive } from '../chunk-
|
|
2
|
+
import { useConnectedAiTask } from '../chunk-24KQJYSB.js';
|
|
3
|
+
import { PageHeader, MetricCard, DataTableBlock, StatGroup } from '../chunk-ZCF2JJFA.js';
|
|
4
|
+
import { assetRefId, applyStoredTheme, AssetResolverProvider, ThemeEditor, applyThemeVars, tid, SectionHeading, PricingTable, Tabs as Tabs$1, Accordion, Gallery, VideoEmbed, ContactForm, Banner, MediaText, TeamGrid, Steps, TestimonialGrid, Columns, Spacer, Container, Hero, FeatureGrid, Testimonial, CTABanner, LogoCloud, FAQ, RichTextBlock, BlockImage, AvatarBlock, Navbar, Footer, ListBlock, isAssetRef, asAssetRef } from '../chunk-DLBUFHLY.js';
|
|
5
|
+
export { ASSET_REF_PREFIX, AssetResolverProvider, asAssetRef, assetRefId, isAssetRef, useAssetRenderer, useAssetResolverActive } from '../chunk-DLBUFHLY.js';
|
|
6
6
|
import { Timeline } from '../chunk-OVEQERPO.js';
|
|
7
7
|
import '../chunk-4EZVCGRL.js';
|
|
8
8
|
import { Callout } from '../chunk-UJE32SST.js';
|
|
9
9
|
import { EmptyState } from '../chunk-P6GHJSLR.js';
|
|
10
10
|
import '../chunk-S7PSMMRG.js';
|
|
11
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-XWEJ5LV2.js';
|
|
12
12
|
import '../chunk-KZJAG7T3.js';
|
|
13
13
|
import '../chunk-NPLYHR2E.js';
|
|
14
14
|
import { useBlocksEnvironment } from '../chunk-76JDDMSP.js';
|
|
@@ -47,8 +47,8 @@ export interface WorkspaceCardRootProps extends DivProps {
|
|
|
47
47
|
children: ReactNode;
|
|
48
48
|
}
|
|
49
49
|
/**
|
|
50
|
-
* The tile surface: one button that opens the workspace.
|
|
51
|
-
* border,
|
|
50
|
+
* The tile surface: one button that opens the workspace. A raised white card
|
|
51
|
+
* (hairline border, soft shadow, hover lift); the current workspace takes the selection tint.
|
|
52
52
|
*/
|
|
53
53
|
declare function WorkspaceCardRoot({ current, onSelect, href, label, testId, labels, className, children, ...rest }: WorkspaceCardRootProps): import("react").JSX.Element;
|
|
54
54
|
/** Mark + name + open cue, on one row. Put the entity mark first. */
|
|
@@ -41,7 +41,7 @@ function WorkspaceCardRoot({
|
|
|
41
41
|
const surfaceClass = ui.cn(
|
|
42
42
|
"@container/ws-card flex min-h-40 w-full cursor-pointer flex-col gap-3 rounded-lg p-4 text-left transition-colors",
|
|
43
43
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
44
|
-
current ? "bg-accent text-accent-foreground" : "bg-
|
|
44
|
+
current ? "bg-accent text-accent-foreground" : "border border-border bg-card shadow-xs transition-colors hover:border-ring/50 hover:bg-accent/40",
|
|
45
45
|
className
|
|
46
46
|
);
|
|
47
47
|
const handleKeyDown = (event) => {
|
|
@@ -397,7 +397,14 @@ function WorkspacePageFrame({ testId, children }) {
|
|
|
397
397
|
);
|
|
398
398
|
}
|
|
399
399
|
function WorkspaceIdentityPanel({ children }) {
|
|
400
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
400
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
401
|
+
"div",
|
|
402
|
+
{
|
|
403
|
+
"data-slot": "workspace-identity-panel",
|
|
404
|
+
className: "group rounded-lg border border-border bg-card px-4 py-3 shadow-xs",
|
|
405
|
+
children
|
|
406
|
+
}
|
|
407
|
+
);
|
|
401
408
|
}
|
|
402
409
|
function WorkspaceProjectSlot({ testId, caption, children }) {
|
|
403
410
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-w-0 items-center gap-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-2", "data-testid": testId, children: [
|