@arbidocs/blocks 0.5.23 → 0.5.24
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/{WorkspaceTableView-6JVHGDUB.cjs → WorkspaceTableView-GIDGNGBW.cjs} +6 -6
- package/dist/{WorkspaceTableView-6JVHGDUB.cjs.map → WorkspaceTableView-GIDGNGBW.cjs.map} +1 -1
- package/dist/{WorkspaceTableView-ECPHGWHF.js → WorkspaceTableView-S2PTTVHL.js} +4 -4
- package/dist/{WorkspaceTableView-ECPHGWHF.js.map → WorkspaceTableView-S2PTTVHL.js.map} +1 -1
- package/dist/{chunk-7DDMF3DZ.cjs → chunk-53T2FY4Z.cjs} +5 -31
- package/dist/chunk-53T2FY4Z.cjs.map +1 -0
- package/dist/chunk-5ZBXFHZW.js +434 -0
- package/dist/chunk-5ZBXFHZW.js.map +1 -0
- package/dist/{chunk-O4EQYPLO.cjs → chunk-C2SZQKX2.cjs} +169 -27
- package/dist/chunk-C2SZQKX2.cjs.map +1 -0
- package/dist/{chunk-RVKVGS72.js → chunk-FDUQQNDT.js} +2 -2
- package/dist/{chunk-RVKVGS72.js.map → chunk-FDUQQNDT.js.map} +1 -1
- package/dist/{chunk-TTJGCJWX.cjs → chunk-H3XAHVDT.cjs} +42 -2
- package/dist/chunk-H3XAHVDT.cjs.map +1 -0
- package/dist/{chunk-XL55UDLO.js → chunk-IJJKUTKM.js} +5 -30
- package/dist/chunk-IJJKUTKM.js.map +1 -0
- package/dist/{chunk-ZX663X3X.cjs → chunk-KNRAKOCO.cjs} +6 -428
- package/dist/chunk-KNRAKOCO.cjs.map +1 -0
- package/dist/chunk-KUQOHPKP.cjs +443 -0
- package/dist/chunk-KUQOHPKP.cjs.map +1 -0
- package/dist/{chunk-F2BYURQZ.cjs → chunk-LYF47OXX.cjs} +5 -5
- package/dist/{chunk-F2BYURQZ.cjs.map → chunk-LYF47OXX.cjs.map} +1 -1
- package/dist/{chunk-PZRTRYPD.js → chunk-MKTEVOC3.js} +44 -5
- package/dist/chunk-MKTEVOC3.js.map +1 -0
- package/dist/{chunk-6XW3CMU4.js → chunk-N3KNAQ55.js} +144 -4
- package/dist/chunk-N3KNAQ55.js.map +1 -0
- package/dist/{chunk-FZVAJFRH.cjs → chunk-RHKFCSFC.cjs} +2 -2
- package/dist/{chunk-FZVAJFRH.cjs.map → chunk-RHKFCSFC.cjs.map} +1 -1
- package/dist/{chunk-NVRJ6WTR.js → chunk-RTAYJUQM.js} +3 -3
- package/dist/{chunk-NVRJ6WTR.js.map → chunk-RTAYJUQM.js.map} +1 -1
- package/dist/{chunk-SLRVI2YU.js → chunk-X6U6L6BG.js} +29 -4
- package/dist/chunk-X6U6L6BG.js.map +1 -0
- package/dist/{chunk-SQ5F5BFW.cjs → chunk-XDU3HHUU.cjs} +32 -6
- package/dist/chunk-XDU3HHUU.cjs.map +1 -0
- package/dist/{chunk-SKVVOEMX.js → chunk-XXUPUXBF.js} +8 -423
- package/dist/chunk-XXUPUXBF.js.map +1 -0
- package/dist/connect/index.cjs +1039 -565
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.js +649 -180
- package/dist/connect/index.js.map +1 -1
- package/dist/connection/auth/CompactLogin.d.ts +26 -0
- package/dist/connection/auth/ConnectedLoginPage.d.ts +9 -1
- package/dist/connection/auth/index.d.ts +3 -1
- package/dist/connection/auth/sso-popup.d.ts +13 -0
- package/dist/connection/auth/sso-sign-in.d.ts +38 -0
- package/dist/connection/auth/useLoginActions.d.ts +4 -2
- package/dist/connection/projects/ConnectedProjectsPanel.d.ts +9 -1
- package/dist/connection/projects/ProjectsListPage.d.ts +40 -0
- package/dist/connection/projects/index.d.ts +1 -0
- package/dist/connection/settings-page/appearanceSection.d.ts +30 -0
- package/dist/connection/settings-page/index.d.ts +1 -0
- package/dist/index.cjs +162 -190
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +9 -48
- package/dist/index.js.map +1 -1
- package/dist/settings/AppearanceSettings.d.ts +1 -2
- package/dist/settings/index.cjs +153 -153
- package/dist/settings/index.d.ts +2 -1
- package/dist/settings/index.js +1 -1
- package/dist/site/index.cjs +82 -74
- package/dist/site/index.d.ts +2 -0
- package/dist/site/index.js +3 -3
- package/dist/studio/index.cjs +73 -73
- package/dist/studio/index.js +5 -5
- package/dist/theme/appearance.d.ts +47 -0
- package/dist/theme/fromCss.d.ts +33 -0
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
- package/dist/chunk-6XW3CMU4.js.map +0 -1
- package/dist/chunk-7DDMF3DZ.cjs.map +0 -1
- package/dist/chunk-AMTWY22T.js +0 -11
- package/dist/chunk-AMTWY22T.js.map +0 -1
- package/dist/chunk-O4EQYPLO.cjs.map +0 -1
- package/dist/chunk-PZRTRYPD.js.map +0 -1
- package/dist/chunk-SKVVOEMX.js.map +0 -1
- package/dist/chunk-SLRVI2YU.js.map +0 -1
- package/dist/chunk-SQ5F5BFW.cjs.map +0 -1
- package/dist/chunk-TTJGCJWX.cjs.map +0 -1
- package/dist/chunk-XL55UDLO.js.map +0 -1
- package/dist/chunk-ZU2B2RZK.cjs +0 -13
- package/dist/chunk-ZU2B2RZK.cjs.map +0 -1
- package/dist/chunk-ZX663X3X.cjs.map +0 -1
package/dist/studio/index.cjs
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var chunk7ZHPLTGK_cjs = require('../chunk-7ZHPLTGK.cjs');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
5
|
+
var chunk53T2FY4Z_cjs = require('../chunk-53T2FY4Z.cjs');
|
|
6
|
+
var chunkKNRAKOCO_cjs = require('../chunk-KNRAKOCO.cjs');
|
|
7
7
|
var chunkELR74ME6_cjs = require('../chunk-ELR74ME6.cjs');
|
|
8
|
-
require('../chunk-
|
|
9
|
-
var
|
|
8
|
+
var chunkXDU3HHUU_cjs = require('../chunk-XDU3HHUU.cjs');
|
|
9
|
+
var chunkKUQOHPKP_cjs = require('../chunk-KUQOHPKP.cjs');
|
|
10
10
|
require('../chunk-VPPX5XUF.cjs');
|
|
11
11
|
var chunkPCB2BPN3_cjs = require('../chunk-PCB2BPN3.cjs');
|
|
12
12
|
require('../chunk-NWNVWO6L.cjs');
|
|
@@ -116,7 +116,7 @@ function LiveMetricInner({
|
|
|
116
116
|
const query = source === "documents" ? docs : convos;
|
|
117
117
|
const count = Array.isArray(query.data) ? query.data.length : 0;
|
|
118
118
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
119
|
-
|
|
119
|
+
chunk53T2FY4Z_cjs.MetricCard,
|
|
120
120
|
{
|
|
121
121
|
label: label || METRIC_SOURCES[source].label,
|
|
122
122
|
value: query.isLoading ? "\u2014" : String(count),
|
|
@@ -240,7 +240,7 @@ function createArbiMaterializer(arbi, opts = {}) {
|
|
|
240
240
|
}
|
|
241
241
|
function collectAssetRefs(node, acc) {
|
|
242
242
|
if (typeof node === "string") {
|
|
243
|
-
if (
|
|
243
|
+
if (chunkKNRAKOCO_cjs.isAssetRef(node)) acc.add(node);
|
|
244
244
|
return;
|
|
245
245
|
}
|
|
246
246
|
if (Array.isArray(node)) {
|
|
@@ -274,7 +274,7 @@ async function materializePageData(data, materialize) {
|
|
|
274
274
|
const replacements = /* @__PURE__ */ new Map();
|
|
275
275
|
await Promise.all(
|
|
276
276
|
[...refs].map(async (ref) => {
|
|
277
|
-
const src = await materialize(
|
|
277
|
+
const src = await materialize(chunkKNRAKOCO_cjs.assetRefId(ref));
|
|
278
278
|
if (src) replacements.set(ref, src);
|
|
279
279
|
})
|
|
280
280
|
);
|
|
@@ -380,7 +380,7 @@ function StudioEditor({
|
|
|
380
380
|
radius: stored.radius ?? defaultTheme.radius,
|
|
381
381
|
activePresetId: null
|
|
382
382
|
});
|
|
383
|
-
|
|
383
|
+
chunkKNRAKOCO_cjs.applyStoredTheme(themeBundle);
|
|
384
384
|
})();
|
|
385
385
|
return () => {
|
|
386
386
|
cancelled = true;
|
|
@@ -486,7 +486,7 @@ function StudioEditor({
|
|
|
486
486
|
"\u201D\u2026"
|
|
487
487
|
]
|
|
488
488
|
}
|
|
489
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
489
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.AssetResolverProvider, { render: AssetThumb, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
490
490
|
puck.Puck,
|
|
491
491
|
{
|
|
492
492
|
config,
|
|
@@ -504,7 +504,7 @@ function StudioEditor({
|
|
|
504
504
|
className: "w-80 shrink-0 border-l border-border",
|
|
505
505
|
"data-testid": `${testIdPrefix}-theme-drawer`,
|
|
506
506
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
507
|
-
|
|
507
|
+
chunkKUQOHPKP_cjs.ThemeEditor,
|
|
508
508
|
{
|
|
509
509
|
bundle: themeBundle,
|
|
510
510
|
variant: "drawer",
|
|
@@ -546,7 +546,7 @@ function PageRenderer({
|
|
|
546
546
|
const page = initialData ?? (await persistence.loadPublished(arbi, live, slug)).data ?? (await persistence.loadPage(arbi, live, slug)).data;
|
|
547
547
|
if (cancelled) return;
|
|
548
548
|
if (applyTheme) {
|
|
549
|
-
|
|
549
|
+
chunkKUQOHPKP_cjs.applyThemeVars(
|
|
550
550
|
theme ? { ...defaultTheme, ...theme, colors: { ...defaultTheme.colors, ...theme.colors } } : defaultTheme
|
|
551
551
|
);
|
|
552
552
|
}
|
|
@@ -788,7 +788,7 @@ function AiTextField({
|
|
|
788
788
|
setActive(true);
|
|
789
789
|
await task.run(buildPrompt({ kind, label, current: value ?? "" }), docIds);
|
|
790
790
|
};
|
|
791
|
-
const inputTid =
|
|
791
|
+
const inputTid = chunkKUQOHPKP_cjs.tid(`${testIdPrefix}-field`, name);
|
|
792
792
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "al-ai-field", children: [
|
|
793
793
|
multiline ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
794
794
|
"textarea",
|
|
@@ -817,7 +817,7 @@ function AiTextField({
|
|
|
817
817
|
className: "al-ai-field__btn",
|
|
818
818
|
onClick: () => void write(),
|
|
819
819
|
disabled: task.isRunning,
|
|
820
|
-
"data-testid":
|
|
820
|
+
"data-testid": chunkKUQOHPKP_cjs.tid(`${testIdPrefix}-ai-write`, name),
|
|
821
821
|
title: "Draft this field with AI, grounded in the marketing workspace",
|
|
822
822
|
children: [
|
|
823
823
|
task.isRunning ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-3 animate-spin" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "size-3" }),
|
|
@@ -920,8 +920,8 @@ function ImageFieldControl({
|
|
|
920
920
|
const arbi = react$1.useArbi();
|
|
921
921
|
const gen = useImageGen();
|
|
922
922
|
const queryClient = reactQuery.useQueryClient();
|
|
923
|
-
const currentAssetImage = useAssetImage(
|
|
924
|
-
const tp = (...q) =>
|
|
923
|
+
const currentAssetImage = useAssetImage(chunkKNRAKOCO_cjs.isAssetRef(value) ? chunkKNRAKOCO_cjs.assetRefId(value) : "");
|
|
924
|
+
const tp = (...q) => chunkKUQOHPKP_cjs.tid(`${testIdPrefix}-image`, name, ...q);
|
|
925
925
|
const refreshAssets = (id) => react$1.refreshDocuments(queryClient, arbi, [id]);
|
|
926
926
|
const { data: docs } = react$1.useDocuments(workspaceId);
|
|
927
927
|
const imageDocs = react.useMemo(
|
|
@@ -955,7 +955,7 @@ function ImageFieldControl({
|
|
|
955
955
|
const res = await arbi.documents.upload([file], { folder, workspaceExtId: workspaceId });
|
|
956
956
|
const id = res.doc_ext_ids?.[0];
|
|
957
957
|
if (id) {
|
|
958
|
-
onChange(
|
|
958
|
+
onChange(chunkKNRAKOCO_cjs.asAssetRef(id));
|
|
959
959
|
void refreshAssets(id);
|
|
960
960
|
}
|
|
961
961
|
} finally {
|
|
@@ -973,7 +973,7 @@ function ImageFieldControl({
|
|
|
973
973
|
if (!prompt.trim() || gen.isGenerating) return;
|
|
974
974
|
const id = await gen.generate(prompt, refIds);
|
|
975
975
|
if (id) {
|
|
976
|
-
onChange(
|
|
976
|
+
onChange(chunkKNRAKOCO_cjs.asAssetRef(id));
|
|
977
977
|
setRefIds([]);
|
|
978
978
|
void refreshAssets(id);
|
|
979
979
|
}
|
|
@@ -988,7 +988,7 @@ function ImageFieldControl({
|
|
|
988
988
|
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"}`;
|
|
989
989
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", "data-testid": tp(), children: [
|
|
990
990
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
991
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
991
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.BlockImage, { src: value, aspect: "16:9", rounded: "md", testId: tp("preview") }),
|
|
992
992
|
currentAssetImage ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
993
993
|
"button",
|
|
994
994
|
{
|
|
@@ -1022,12 +1022,12 @@ function ImageFieldControl({
|
|
|
1022
1022
|
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." }),
|
|
1023
1023
|
imageDocs.map((d) => {
|
|
1024
1024
|
const thumb = thumbs?.[d.external_id];
|
|
1025
|
-
const selected = value ===
|
|
1025
|
+
const selected = value === chunkKNRAKOCO_cjs.asAssetRef(d.external_id);
|
|
1026
1026
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1027
1027
|
"button",
|
|
1028
1028
|
{
|
|
1029
1029
|
type: "button",
|
|
1030
|
-
onClick: () => onChange(
|
|
1030
|
+
onClick: () => onChange(chunkKNRAKOCO_cjs.asAssetRef(d.external_id)),
|
|
1031
1031
|
className: `overflow-hidden rounded border ${selected ? "border-primary ring-1 ring-primary" : "border-border"}`,
|
|
1032
1032
|
title: d.file_name ?? "",
|
|
1033
1033
|
"data-testid": tp("asset", d.external_id),
|
|
@@ -1089,14 +1089,14 @@ function ImageFieldControl({
|
|
|
1089
1089
|
"Reference images",
|
|
1090
1090
|
refIds.length > 0 ? ` (${refIds.length})` : " (optional)"
|
|
1091
1091
|
] }),
|
|
1092
|
-
|
|
1092
|
+
chunkKNRAKOCO_cjs.isAssetRef(value) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1093
1093
|
"button",
|
|
1094
1094
|
{
|
|
1095
1095
|
type: "button",
|
|
1096
1096
|
className: "text-xs font-medium text-primary hover:underline",
|
|
1097
|
-
onClick: () => toggleRef(
|
|
1097
|
+
onClick: () => toggleRef(chunkKNRAKOCO_cjs.assetRefId(value)),
|
|
1098
1098
|
"data-testid": tp("vary-current"),
|
|
1099
|
-
children: refIds.includes(
|
|
1099
|
+
children: refIds.includes(chunkKNRAKOCO_cjs.assetRefId(value)) ? "Varying current" : "Vary current image"
|
|
1100
1100
|
}
|
|
1101
1101
|
)
|
|
1102
1102
|
] }),
|
|
@@ -1310,7 +1310,7 @@ function createBlockKit(ai, image, eyebrowClassName) {
|
|
|
1310
1310
|
}),
|
|
1311
1311
|
iconField: (label = "Icon") => ({ type: "select", label, options: ICON_OPTIONS }),
|
|
1312
1312
|
resolveIcon: (name) => name ? iconMap[name] : void 0,
|
|
1313
|
-
blockTestId: (id) =>
|
|
1313
|
+
blockTestId: (id) => chunkKUQOHPKP_cjs.tid("arbi-block", id)
|
|
1314
1314
|
};
|
|
1315
1315
|
}
|
|
1316
1316
|
var emptySlot = [];
|
|
@@ -1375,7 +1375,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1375
1375
|
render: ({ id, count, gap, col1, col2, col3, col4 }) => {
|
|
1376
1376
|
const n = Number(count) || 3;
|
|
1377
1377
|
const columns = [col1, col2, col3, col4].slice(0, n).map(renderSlot);
|
|
1378
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1378
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.Columns, { count: n, gap, columns, testId: blockTestId(id) });
|
|
1379
1379
|
}
|
|
1380
1380
|
};
|
|
1381
1381
|
const SpacerBlock = {
|
|
@@ -1393,7 +1393,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1393
1393
|
}
|
|
1394
1394
|
},
|
|
1395
1395
|
defaultProps: { size: "md" },
|
|
1396
|
-
render: ({ id, size }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1396
|
+
render: ({ id, size }) => /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.Spacer, { size, testId: blockTestId(id) })
|
|
1397
1397
|
};
|
|
1398
1398
|
const ContainerBlock = {
|
|
1399
1399
|
label: "Container",
|
|
@@ -1421,7 +1421,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1421
1421
|
children: { type: "slot" }
|
|
1422
1422
|
},
|
|
1423
1423
|
defaultProps: { width: "default", padding: "md", children: emptySlot },
|
|
1424
|
-
render: ({ id, width, padding, children }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1424
|
+
render: ({ id, width, padding, children }) => /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.Container, { width, padding, testId: blockTestId(id), children: renderSlot(children) })
|
|
1425
1425
|
};
|
|
1426
1426
|
const HeroBlock = {
|
|
1427
1427
|
label: "Hero",
|
|
@@ -1472,7 +1472,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1472
1472
|
backgroundImage,
|
|
1473
1473
|
overlay
|
|
1474
1474
|
}) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1475
|
-
|
|
1475
|
+
chunkKNRAKOCO_cjs.Hero,
|
|
1476
1476
|
{
|
|
1477
1477
|
eyebrow,
|
|
1478
1478
|
title,
|
|
@@ -1544,7 +1544,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1544
1544
|
icon: resolveIcon(it.icon)
|
|
1545
1545
|
})
|
|
1546
1546
|
);
|
|
1547
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1547
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.FeatureGrid, { columns, items: list, testId: blockTestId(id) });
|
|
1548
1548
|
}
|
|
1549
1549
|
};
|
|
1550
1550
|
const StatGroupBlock = {
|
|
@@ -1569,7 +1569,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1569
1569
|
{ value: "24/7", label: "Support" }
|
|
1570
1570
|
]
|
|
1571
1571
|
},
|
|
1572
|
-
render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1572
|
+
render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunk53T2FY4Z_cjs.StatGroup, { items, testId: blockTestId(id) })
|
|
1573
1573
|
};
|
|
1574
1574
|
const TestimonialBlock = {
|
|
1575
1575
|
label: "Testimonial",
|
|
@@ -1586,7 +1586,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1586
1586
|
avatarUrl: ""
|
|
1587
1587
|
},
|
|
1588
1588
|
render: ({ id, quote, author, role, avatarUrl }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1589
|
-
|
|
1589
|
+
chunkKNRAKOCO_cjs.Testimonial,
|
|
1590
1590
|
{
|
|
1591
1591
|
quote,
|
|
1592
1592
|
author,
|
|
@@ -1615,7 +1615,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1615
1615
|
overlay: true
|
|
1616
1616
|
},
|
|
1617
1617
|
render: ({ id, title, subtitle, cta, tone, backgroundImage, overlay }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1618
|
-
|
|
1618
|
+
chunkKNRAKOCO_cjs.CTABanner,
|
|
1619
1619
|
{
|
|
1620
1620
|
title,
|
|
1621
1621
|
subtitle,
|
|
@@ -1647,7 +1647,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1647
1647
|
{ label: "Umbrella" }
|
|
1648
1648
|
]
|
|
1649
1649
|
},
|
|
1650
|
-
render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1650
|
+
render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.LogoCloud, { items, testId: blockTestId(id) })
|
|
1651
1651
|
};
|
|
1652
1652
|
const FAQBlock = {
|
|
1653
1653
|
label: "FAQ",
|
|
@@ -1679,7 +1679,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1679
1679
|
}
|
|
1680
1680
|
]
|
|
1681
1681
|
},
|
|
1682
|
-
render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1682
|
+
render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.FAQ, { items, testId: blockTestId(id) })
|
|
1683
1683
|
};
|
|
1684
1684
|
const TimelineBlockConfig = {
|
|
1685
1685
|
label: "Timeline",
|
|
@@ -1754,7 +1754,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1754
1754
|
defaultProps: {
|
|
1755
1755
|
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"
|
|
1756
1756
|
},
|
|
1757
|
-
render: ({ id, content }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1757
|
+
render: ({ id, content }) => /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.RichTextBlock, { content, testId: blockTestId(id) })
|
|
1758
1758
|
};
|
|
1759
1759
|
const CalloutBlock = {
|
|
1760
1760
|
label: "Callout",
|
|
@@ -1808,7 +1808,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1808
1808
|
},
|
|
1809
1809
|
defaultProps: { src: "", alt: "Image", aspect: "16:9", rounded: "lg", framed: false },
|
|
1810
1810
|
render: ({ id, src, alt, aspect, rounded, framed }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1811
|
-
|
|
1811
|
+
chunkKNRAKOCO_cjs.BlockImage,
|
|
1812
1812
|
{
|
|
1813
1813
|
src,
|
|
1814
1814
|
alt,
|
|
@@ -1836,7 +1836,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1836
1836
|
}
|
|
1837
1837
|
},
|
|
1838
1838
|
defaultProps: { src: "", name: "Jane Doe", size: "md" },
|
|
1839
|
-
render: ({ id, src, name, size }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1839
|
+
render: ({ id, src, name, size }) => /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.AvatarBlock, { src, name, size, testId: blockTestId(id) })
|
|
1840
1840
|
};
|
|
1841
1841
|
const NavbarBlock = {
|
|
1842
1842
|
label: "Navbar",
|
|
@@ -1864,7 +1864,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1864
1864
|
],
|
|
1865
1865
|
cta: { label: "Sign up", href: "#" }
|
|
1866
1866
|
},
|
|
1867
|
-
render: ({ id, brand, links, cta }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1867
|
+
render: ({ id, brand, links, cta }) => /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.Navbar, { brand, links, cta, testId: blockTestId(id) })
|
|
1868
1868
|
};
|
|
1869
1869
|
const FooterBlock = {
|
|
1870
1870
|
label: "Footer",
|
|
@@ -1923,7 +1923,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1923
1923
|
],
|
|
1924
1924
|
copyright: "\xA9 2026 Acme, Inc. All rights reserved."
|
|
1925
1925
|
},
|
|
1926
|
-
render: ({ id, columns, copyright }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1926
|
+
render: ({ id, columns, copyright }) => /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.Footer, { columns, copyright, testId: blockTestId(id) })
|
|
1927
1927
|
};
|
|
1928
1928
|
const ListBlockConfig = {
|
|
1929
1929
|
label: "List",
|
|
@@ -1941,7 +1941,7 @@ function createWebsiteBlocks(kit) {
|
|
|
1941
1941
|
ordered: false,
|
|
1942
1942
|
items: [{ text: "First item" }, { text: "Second item" }, { text: "Third item" }]
|
|
1943
1943
|
},
|
|
1944
|
-
render: ({ id, ordered, items }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1944
|
+
render: ({ id, ordered, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.ListBlock, { ordered, items, testId: blockTestId(id) })
|
|
1945
1945
|
};
|
|
1946
1946
|
return {
|
|
1947
1947
|
Columns: ColumnsBlock,
|
|
@@ -2044,7 +2044,7 @@ function createSiteBlocks(kit) {
|
|
|
2044
2044
|
]
|
|
2045
2045
|
},
|
|
2046
2046
|
render: ({ id, plans }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2047
|
-
|
|
2047
|
+
chunkKNRAKOCO_cjs.PricingTable,
|
|
2048
2048
|
{
|
|
2049
2049
|
plans: (plans ?? []).map(
|
|
2050
2050
|
(p) => ({
|
|
@@ -2082,7 +2082,7 @@ function createSiteBlocks(kit) {
|
|
|
2082
2082
|
{ label: "FAQ", content: "Answers to common questions." }
|
|
2083
2083
|
]
|
|
2084
2084
|
},
|
|
2085
|
-
render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2085
|
+
render: ({ id, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.Tabs, { items, testId: blockTestId(id) })
|
|
2086
2086
|
};
|
|
2087
2087
|
const AccordionBlock = {
|
|
2088
2088
|
label: "Accordion",
|
|
@@ -2106,7 +2106,7 @@ function createSiteBlocks(kit) {
|
|
|
2106
2106
|
{ title: "How does billing work?", content: "Monthly or annually, cancel anytime." }
|
|
2107
2107
|
]
|
|
2108
2108
|
},
|
|
2109
|
-
render: ({ id, allowMultiple, items }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2109
|
+
render: ({ id, allowMultiple, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.Accordion, { allowMultiple, items, testId: blockTestId(id) })
|
|
2110
2110
|
};
|
|
2111
2111
|
const GalleryBlock = {
|
|
2112
2112
|
label: "Gallery",
|
|
@@ -2142,7 +2142,7 @@ function createSiteBlocks(kit) {
|
|
|
2142
2142
|
{ src: "", alt: "Image three", caption: "" }
|
|
2143
2143
|
]
|
|
2144
2144
|
},
|
|
2145
|
-
render: ({ id, columns, aspect, images }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2145
|
+
render: ({ id, columns, aspect, images }) => /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.Gallery, { columns, aspect, images, testId: blockTestId(id) })
|
|
2146
2146
|
};
|
|
2147
2147
|
const VideoBlock = {
|
|
2148
2148
|
label: "Video",
|
|
@@ -2162,7 +2162,7 @@ function createSiteBlocks(kit) {
|
|
|
2162
2162
|
},
|
|
2163
2163
|
defaultProps: { url: "", title: "", aspect: "16:9", rounded: true },
|
|
2164
2164
|
render: ({ id, url, title, aspect, rounded }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2165
|
-
|
|
2165
|
+
chunkKNRAKOCO_cjs.VideoEmbed,
|
|
2166
2166
|
{
|
|
2167
2167
|
url,
|
|
2168
2168
|
title,
|
|
@@ -2211,7 +2211,7 @@ function createSiteBlocks(kit) {
|
|
|
2211
2211
|
]
|
|
2212
2212
|
},
|
|
2213
2213
|
render: ({ id, submitLabel, action, successMessage, fields }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2214
|
-
|
|
2214
|
+
chunkKNRAKOCO_cjs.ContactForm,
|
|
2215
2215
|
{
|
|
2216
2216
|
submitLabel,
|
|
2217
2217
|
action: action || void 0,
|
|
@@ -2241,7 +2241,7 @@ function createSiteBlocks(kit) {
|
|
|
2241
2241
|
cta: { label: "Read more", href: "#" },
|
|
2242
2242
|
tone: "primary"
|
|
2243
2243
|
},
|
|
2244
|
-
render: ({ id, text, cta, tone }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2244
|
+
render: ({ id, text, cta, tone }) => /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.Banner, { text, cta, tone, testId: blockTestId(id) })
|
|
2245
2245
|
};
|
|
2246
2246
|
const MediaTextBlock = {
|
|
2247
2247
|
label: "Media & text",
|
|
@@ -2269,7 +2269,7 @@ function createSiteBlocks(kit) {
|
|
|
2269
2269
|
cta: { label: "Learn more", href: "#" }
|
|
2270
2270
|
},
|
|
2271
2271
|
render: ({ id, eyebrow, title, body, imageUrl, mediaSide, cta }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2272
|
-
|
|
2272
|
+
chunkKNRAKOCO_cjs.MediaText,
|
|
2273
2273
|
{
|
|
2274
2274
|
eyebrow,
|
|
2275
2275
|
title,
|
|
@@ -2306,7 +2306,7 @@ function createSiteBlocks(kit) {
|
|
|
2306
2306
|
{ name: "Jordan Lee", role: "Lead Engineer", bio: "", avatarUrl: "" }
|
|
2307
2307
|
]
|
|
2308
2308
|
},
|
|
2309
|
-
render: ({ id, columns, members }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2309
|
+
render: ({ id, columns, members }) => /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.TeamGrid, { columns, members, testId: blockTestId(id) })
|
|
2310
2310
|
};
|
|
2311
2311
|
const StepsBlock = {
|
|
2312
2312
|
label: "Steps",
|
|
@@ -2338,7 +2338,7 @@ function createSiteBlocks(kit) {
|
|
|
2338
2338
|
{ title: "Launch", description: "Go live and start seeing results." }
|
|
2339
2339
|
]
|
|
2340
2340
|
},
|
|
2341
|
-
render: ({ id, variant, steps }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2341
|
+
render: ({ id, variant, steps }) => /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.Steps, { variant, steps, testId: blockTestId(id) })
|
|
2342
2342
|
};
|
|
2343
2343
|
const TestimonialGridBlock = {
|
|
2344
2344
|
label: "Testimonial grid",
|
|
@@ -2380,7 +2380,7 @@ function createSiteBlocks(kit) {
|
|
|
2380
2380
|
}
|
|
2381
2381
|
]
|
|
2382
2382
|
},
|
|
2383
|
-
render: ({ id, columns, items }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2383
|
+
render: ({ id, columns, items }) => /* @__PURE__ */ jsxRuntime.jsx(chunkKNRAKOCO_cjs.TestimonialGrid, { columns, items, testId: blockTestId(id) })
|
|
2384
2384
|
};
|
|
2385
2385
|
return {
|
|
2386
2386
|
Pricing: PricingBlock,
|
|
@@ -2424,7 +2424,7 @@ function createArbiBlocksConfig(opts = {}) {
|
|
|
2424
2424
|
},
|
|
2425
2425
|
defaultProps: { title: "Section title", align: "left", invert: false },
|
|
2426
2426
|
render: ({ id, title, eyebrow, lead, align, invert }) => /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": blockTestId(id), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2427
|
-
|
|
2427
|
+
chunkKNRAKOCO_cjs.SectionHeading,
|
|
2428
2428
|
{
|
|
2429
2429
|
title,
|
|
2430
2430
|
eyebrow,
|
|
@@ -2447,7 +2447,7 @@ function createArbiBlocksConfig(opts = {}) {
|
|
|
2447
2447
|
},
|
|
2448
2448
|
defaultProps: { title: "Page title", actions: emptySlot2 },
|
|
2449
2449
|
render: ({ id, title, eyebrow, description, actions: Actions }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2450
|
-
|
|
2450
|
+
chunkXDU3HHUU_cjs.PageHeader,
|
|
2451
2451
|
{
|
|
2452
2452
|
title,
|
|
2453
2453
|
eyebrow,
|
|
@@ -2514,7 +2514,7 @@ function createArbiBlocksConfig(opts = {}) {
|
|
|
2514
2514
|
},
|
|
2515
2515
|
defaultProps: { label: "Metric", value: "0", accent: "default" },
|
|
2516
2516
|
render: ({ id, label, value, hint, accent, delta, icon }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2517
|
-
|
|
2517
|
+
chunk53T2FY4Z_cjs.MetricCard,
|
|
2518
2518
|
{
|
|
2519
2519
|
label,
|
|
2520
2520
|
value,
|
|
@@ -2630,7 +2630,7 @@ function createArbiBlocksConfig(opts = {}) {
|
|
|
2630
2630
|
field: col.field || `col-${index}`
|
|
2631
2631
|
}));
|
|
2632
2632
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2633
|
-
|
|
2633
|
+
chunk53T2FY4Z_cjs.DataTableBlock,
|
|
2634
2634
|
{
|
|
2635
2635
|
columns: normalisedCols,
|
|
2636
2636
|
rows: recordRows,
|
|
@@ -3018,7 +3018,7 @@ function ModuleManager({ store, testIdPrefix = "builder" }) {
|
|
|
3018
3018
|
{
|
|
3019
3019
|
variant: "elevated",
|
|
3020
3020
|
className: "rounded-lg",
|
|
3021
|
-
"data-testid":
|
|
3021
|
+
"data-testid": chunkKUQOHPKP_cjs.tid(`${testIdPrefix}-modules-section`, group.section),
|
|
3022
3022
|
children: [
|
|
3023
3023
|
/* @__PURE__ */ jsxRuntime.jsx(ui.CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.CardTitle, { className: "text-base", children: group.section }) }),
|
|
3024
3024
|
/* @__PURE__ */ jsxRuntime.jsx(ui.CardContent, { className: "space-y-1.5", children: group.modules.map((m, idx) => {
|
|
@@ -3027,7 +3027,7 @@ function ModuleManager({ store, testIdPrefix = "builder" }) {
|
|
|
3027
3027
|
"div",
|
|
3028
3028
|
{
|
|
3029
3029
|
className: "flex items-center gap-3 rounded-md border border-border/60 bg-card px-3 py-2",
|
|
3030
|
-
"data-testid":
|
|
3030
|
+
"data-testid": chunkKUQOHPKP_cjs.tid(`${testIdPrefix}-module`, m.id),
|
|
3031
3031
|
children: [
|
|
3032
3032
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
|
|
3033
3033
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3039,7 +3039,7 @@ function ModuleManager({ store, testIdPrefix = "builder" }) {
|
|
|
3039
3039
|
disabled: idx === 0,
|
|
3040
3040
|
onClick: () => move(m.id, "up"),
|
|
3041
3041
|
"aria-label": `Move ${m.label} up`,
|
|
3042
|
-
"data-testid":
|
|
3042
|
+
"data-testid": chunkKUQOHPKP_cjs.tid(`${testIdPrefix}-module-up`, m.id),
|
|
3043
3043
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { className: "size-3.5" })
|
|
3044
3044
|
}
|
|
3045
3045
|
),
|
|
@@ -3052,7 +3052,7 @@ function ModuleManager({ store, testIdPrefix = "builder" }) {
|
|
|
3052
3052
|
disabled: idx === group.modules.length - 1,
|
|
3053
3053
|
onClick: () => move(m.id, "down"),
|
|
3054
3054
|
"aria-label": `Move ${m.label} down`,
|
|
3055
|
-
"data-testid":
|
|
3055
|
+
"data-testid": chunkKUQOHPKP_cjs.tid(`${testIdPrefix}-module-down`, m.id),
|
|
3056
3056
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "size-3.5" })
|
|
3057
3057
|
}
|
|
3058
3058
|
)
|
|
@@ -3072,7 +3072,7 @@ function ModuleManager({ store, testIdPrefix = "builder" }) {
|
|
|
3072
3072
|
checked: m.enabled,
|
|
3073
3073
|
onCheckedChange: () => toggle2(m.id),
|
|
3074
3074
|
"aria-label": `Enable ${m.label}`,
|
|
3075
|
-
"data-testid":
|
|
3075
|
+
"data-testid": chunkKUQOHPKP_cjs.tid(`${testIdPrefix}-module-toggle`, m.id)
|
|
3076
3076
|
}
|
|
3077
3077
|
)
|
|
3078
3078
|
]
|
|
@@ -3104,7 +3104,7 @@ function ConfigModelBadge({ configId, testIdPrefix }) {
|
|
|
3104
3104
|
ui.Badge,
|
|
3105
3105
|
{
|
|
3106
3106
|
variant: TIER_VARIANT[tier] ?? "secondary",
|
|
3107
|
-
"data-testid":
|
|
3107
|
+
"data-testid": chunkKUQOHPKP_cjs.tid(`${testIdPrefix}-agents-config-tier`, configId),
|
|
3108
3108
|
children: [
|
|
3109
3109
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Cpu, { className: "size-3" }),
|
|
3110
3110
|
" ",
|
|
@@ -3141,14 +3141,14 @@ function AgentsPanel({ store, testIdPrefix = "builder" }) {
|
|
|
3141
3141
|
"label",
|
|
3142
3142
|
{
|
|
3143
3143
|
className: "flex cursor-pointer items-center gap-3 rounded-md border border-border/60 bg-card px-3 py-2",
|
|
3144
|
-
"data-testid":
|
|
3144
|
+
"data-testid": chunkKUQOHPKP_cjs.tid(`${testIdPrefix}-agents-config`, v.external_id),
|
|
3145
3145
|
children: [
|
|
3146
3146
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3147
3147
|
ui.Checkbox,
|
|
3148
3148
|
{
|
|
3149
3149
|
checked: configIds.includes(v.external_id),
|
|
3150
3150
|
onCheckedChange: () => toggleConfig(v.external_id),
|
|
3151
|
-
"data-testid":
|
|
3151
|
+
"data-testid": chunkKUQOHPKP_cjs.tid(`${testIdPrefix}-agents-config-toggle`, v.external_id)
|
|
3152
3152
|
}
|
|
3153
3153
|
),
|
|
3154
3154
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
@@ -3177,14 +3177,14 @@ function AgentsPanel({ store, testIdPrefix = "builder" }) {
|
|
|
3177
3177
|
"label",
|
|
3178
3178
|
{
|
|
3179
3179
|
className: "flex cursor-pointer items-center gap-3 rounded-md border border-border/60 bg-card px-3 py-2",
|
|
3180
|
-
"data-testid":
|
|
3180
|
+
"data-testid": chunkKUQOHPKP_cjs.tid(`${testIdPrefix}-agents-agent`, a.external_id),
|
|
3181
3181
|
children: [
|
|
3182
3182
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3183
3183
|
ui.Checkbox,
|
|
3184
3184
|
{
|
|
3185
3185
|
checked: agentIds.includes(a.external_id),
|
|
3186
3186
|
onCheckedChange: () => toggleAgent(a.external_id),
|
|
3187
|
-
"data-testid":
|
|
3187
|
+
"data-testid": chunkKUQOHPKP_cjs.tid(`${testIdPrefix}-agents-agent-toggle`, a.external_id)
|
|
3188
3188
|
}
|
|
3189
3189
|
),
|
|
3190
3190
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
@@ -3271,7 +3271,7 @@ function VerticalBuilder({
|
|
|
3271
3271
|
] })
|
|
3272
3272
|
] }),
|
|
3273
3273
|
/* @__PURE__ */ jsxRuntime.jsx(ui.TabsContent, { value: "theme", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3274
|
-
|
|
3274
|
+
chunkKUQOHPKP_cjs.ThemeEditor,
|
|
3275
3275
|
{
|
|
3276
3276
|
bundle: themeBundle,
|
|
3277
3277
|
variant: "panel",
|
|
@@ -3297,31 +3297,31 @@ function VerticalBuilder({
|
|
|
3297
3297
|
|
|
3298
3298
|
Object.defineProperty(exports, "ASSET_REF_PREFIX", {
|
|
3299
3299
|
enumerable: true,
|
|
3300
|
-
get: function () { return
|
|
3300
|
+
get: function () { return chunkKNRAKOCO_cjs.ASSET_REF_PREFIX; }
|
|
3301
3301
|
});
|
|
3302
3302
|
Object.defineProperty(exports, "AssetResolverProvider", {
|
|
3303
3303
|
enumerable: true,
|
|
3304
|
-
get: function () { return
|
|
3304
|
+
get: function () { return chunkKNRAKOCO_cjs.AssetResolverProvider; }
|
|
3305
3305
|
});
|
|
3306
3306
|
Object.defineProperty(exports, "asAssetRef", {
|
|
3307
3307
|
enumerable: true,
|
|
3308
|
-
get: function () { return
|
|
3308
|
+
get: function () { return chunkKNRAKOCO_cjs.asAssetRef; }
|
|
3309
3309
|
});
|
|
3310
3310
|
Object.defineProperty(exports, "assetRefId", {
|
|
3311
3311
|
enumerable: true,
|
|
3312
|
-
get: function () { return
|
|
3312
|
+
get: function () { return chunkKNRAKOCO_cjs.assetRefId; }
|
|
3313
3313
|
});
|
|
3314
3314
|
Object.defineProperty(exports, "isAssetRef", {
|
|
3315
3315
|
enumerable: true,
|
|
3316
|
-
get: function () { return
|
|
3316
|
+
get: function () { return chunkKNRAKOCO_cjs.isAssetRef; }
|
|
3317
3317
|
});
|
|
3318
3318
|
Object.defineProperty(exports, "useAssetRenderer", {
|
|
3319
3319
|
enumerable: true,
|
|
3320
|
-
get: function () { return
|
|
3320
|
+
get: function () { return chunkKNRAKOCO_cjs.useAssetRenderer; }
|
|
3321
3321
|
});
|
|
3322
3322
|
Object.defineProperty(exports, "useAssetResolverActive", {
|
|
3323
3323
|
enumerable: true,
|
|
3324
|
-
get: function () { return
|
|
3324
|
+
get: function () { return chunkKNRAKOCO_cjs.useAssetResolverActive; }
|
|
3325
3325
|
});
|
|
3326
3326
|
exports.AgentsPanel = AgentsPanel;
|
|
3327
3327
|
exports.AssetThumb = AssetThumb;
|
package/dist/studio/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useConnectedAiTask } from '../chunk-MUF3RFJZ.js';
|
|
3
|
-
import {
|
|
4
|
-
import { assetRefId, applyStoredTheme, AssetResolverProvider,
|
|
5
|
-
export { ASSET_REF_PREFIX, AssetResolverProvider, asAssetRef, assetRefId, isAssetRef, useAssetRenderer, useAssetResolverActive } from '../chunk-
|
|
3
|
+
import { MetricCard, DataTableBlock, StatGroup } from '../chunk-IJJKUTKM.js';
|
|
4
|
+
import { assetRefId, applyStoredTheme, AssetResolverProvider, 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-XXUPUXBF.js';
|
|
5
|
+
export { ASSET_REF_PREFIX, AssetResolverProvider, asAssetRef, assetRefId, isAssetRef, useAssetRenderer, useAssetResolverActive } from '../chunk-XXUPUXBF.js';
|
|
6
6
|
import { Timeline } from '../chunk-OVEQERPO.js';
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import { tid } from '../chunk-
|
|
7
|
+
import { PageHeader } from '../chunk-X6U6L6BG.js';
|
|
8
|
+
import { ThemeEditor, applyThemeVars, tid } from '../chunk-5ZBXFHZW.js';
|
|
9
9
|
import '../chunk-4EZVCGRL.js';
|
|
10
10
|
import { Callout } from '../chunk-UJE32SST.js';
|
|
11
11
|
import '../chunk-NHZK64TQ.js';
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The reader's appearance on this device: typeface, colour scheme and text size.
|
|
3
|
+
*
|
|
4
|
+
* Separate from {@link createThemeStore}. A theme bundle is the site's brand (a whole token set an
|
|
5
|
+
* author edits); this store only ever sets the two typography vars and the root font-size (inline
|
|
6
|
+
* on `<html>`, so they win over any `:root` block a `cssVars` theme emits) and toggles the `.dark`
|
|
7
|
+
* class (class-based dark mode). The faces come from `FONT_PAIRINGS`, so every site offers the
|
|
8
|
+
* same typography vocabulary.
|
|
9
|
+
*
|
|
10
|
+
* The text size sets the root font-size as a percentage of the browser's own default, so the
|
|
11
|
+
* reader's browser preference still compounds with it, and every rem-based size scales with it.
|
|
12
|
+
*/
|
|
13
|
+
import { type StoreApi, type UseBoundStore } from 'zustand';
|
|
14
|
+
import { type FontPairing } from './fontPairings';
|
|
15
|
+
export type AppearanceColorScheme = 'light' | 'dark';
|
|
16
|
+
export type AppearanceTextSize = 'default' | 'large' | 'larger';
|
|
17
|
+
export interface AppearanceDefaults {
|
|
18
|
+
/** A `FONT_PAIRINGS` id; must match the faces the site's stylesheet paints first. */
|
|
19
|
+
pairingId: string;
|
|
20
|
+
colorScheme: AppearanceColorScheme;
|
|
21
|
+
textSize: AppearanceTextSize;
|
|
22
|
+
}
|
|
23
|
+
export interface AppearanceState extends AppearanceDefaults {
|
|
24
|
+
setPairing: (pairingId: string) => void;
|
|
25
|
+
setColorScheme: (scheme: AppearanceColorScheme) => void;
|
|
26
|
+
setTextSize: (size: AppearanceTextSize) => void;
|
|
27
|
+
reset: () => void;
|
|
28
|
+
}
|
|
29
|
+
export interface AppearanceStoreConfig {
|
|
30
|
+
/** localStorage key for persistence (namespaced per site). */
|
|
31
|
+
storageKey: string;
|
|
32
|
+
/** The site's shipped appearance. Default: light, default size; the pairing is required. */
|
|
33
|
+
defaults: Pick<AppearanceDefaults, 'pairingId'> & Partial<AppearanceDefaults>;
|
|
34
|
+
/** Typefaces offered in Settings (`FONT_PAIRINGS` ids); default: the settings' own spread. */
|
|
35
|
+
pairingIds?: readonly string[];
|
|
36
|
+
}
|
|
37
|
+
export interface AppearanceBundle {
|
|
38
|
+
useStore: UseBoundStore<StoreApi<AppearanceState>>;
|
|
39
|
+
defaults: AppearanceDefaults;
|
|
40
|
+
pairingIds?: readonly string[];
|
|
41
|
+
/** Resolve an id to a pairing, falling back to the default pairing for unknown ids. */
|
|
42
|
+
resolvePairing: (pairingId: string) => FontPairing;
|
|
43
|
+
/** Paint the stored appearance before the first render (safe at module scope). */
|
|
44
|
+
applyStored: () => void;
|
|
45
|
+
}
|
|
46
|
+
/** Build a site's appearance store. */
|
|
47
|
+
export declare function createAppearanceStore({ storageKey, defaults: given, pairingIds, }: AppearanceStoreConfig): AppearanceBundle;
|