@orion-studios/payload-studio 0.5.0-beta.75 → 0.5.0-beta.76

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.
@@ -32,7 +32,7 @@ __export(client_exports, {
32
32
  module.exports = __toCommonJS(client_exports);
33
33
 
34
34
  // src/studio-pages/builder/BuilderPageEditor.tsx
35
- var import_react2 = require("react");
35
+ var import_react3 = require("react");
36
36
 
37
37
  // src/blocks/blocks/sectionStyleFields.ts
38
38
  var sectionStyleDefaults = {
@@ -1203,6 +1203,21 @@ function BlockInspectorRenderer({
1203
1203
  ] });
1204
1204
  }
1205
1205
 
1206
+ // src/studio/imageUploadOptimization.ts
1207
+ var import_promises = require("fs/promises");
1208
+ var DEFAULT_OPTIONS = {
1209
+ avifQuality: 50,
1210
+ enforceSmallerForLossy: true,
1211
+ jpegQuality: 78,
1212
+ minBytes: 48 * 1024,
1213
+ minQualityFloor: 42,
1214
+ onlyIfSmaller: true,
1215
+ pngCompressionLevel: 9,
1216
+ skipAnimated: true,
1217
+ tiffQuality: 75,
1218
+ webpQuality: 78
1219
+ };
1220
+
1206
1221
  // src/studio-pages/index.ts
1207
1222
  var withSectionStyleDefaults = (value) => ({
1208
1223
  ...sectionStyleDefaults,
@@ -1513,6 +1528,72 @@ async function optimizeImageForUpload(file) {
1513
1528
  }
1514
1529
  }
1515
1530
 
1531
+ // src/studio-pages/builder/icons/FeatureLucideIcon.tsx
1532
+ var import_jsx_runtime4 = require("react/jsx-runtime");
1533
+ var iconBaseProps = {
1534
+ fill: "none",
1535
+ stroke: "currentColor",
1536
+ strokeLinecap: "round",
1537
+ strokeLinejoin: "round",
1538
+ strokeWidth: 2
1539
+ };
1540
+ function FeatureLucideIcon({ iconName }) {
1541
+ const resolved = iconName;
1542
+ switch (resolved) {
1543
+ case "ShieldCheck":
1544
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { "aria-hidden": true, className: "orion-builder-lucide-icon", viewBox: "0 0 24 24", ...iconBaseProps, children: [
1545
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 3 5 6v6c0 5 3.4 8.5 7 9.8 3.6-1.3 7-4.8 7-9.8V6z" }),
1546
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m9.5 12.5 2 2 3.5-3.5" })
1547
+ ] });
1548
+ case "Clock":
1549
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { "aria-hidden": true, className: "orion-builder-lucide-icon", viewBox: "0 0 24 24", ...iconBaseProps, children: [
1550
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
1551
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 7v5l3 2" })
1552
+ ] });
1553
+ case "Leaf":
1554
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { "aria-hidden": true, className: "orion-builder-lucide-icon", viewBox: "0 0 24 24", ...iconBaseProps, children: [
1555
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M5 13c0-5.5 4.5-10 10-10h4v4c0 5.5-4.5 10-10 10H5z" }),
1556
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M6 18c2.5 0 4.5-2 4.5-4.5V9" })
1557
+ ] });
1558
+ case "DollarSign":
1559
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { "aria-hidden": true, className: "orion-builder-lucide-icon", viewBox: "0 0 24 24", ...iconBaseProps, children: [
1560
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 3v18" }),
1561
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M16 7.5a3.5 3.5 0 0 0-3.5-2.5h-1A3.5 3.5 0 0 0 8 8.5c0 1.9 1.5 3.5 3.5 3.5h1A3.5 3.5 0 0 1 16 15.5 3.5 3.5 0 0 1 12.5 19h-1A3.5 3.5 0 0 1 8 16.5" })
1562
+ ] });
1563
+ case "HardHat":
1564
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { "aria-hidden": true, className: "orion-builder-lucide-icon", viewBox: "0 0 24 24", ...iconBaseProps, children: [
1565
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 14a8 8 0 0 1 16 0" }),
1566
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M2 14h20v4H2z" }),
1567
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 6v8" })
1568
+ ] });
1569
+ case "Sparkles":
1570
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { "aria-hidden": true, className: "orion-builder-lucide-icon", viewBox: "0 0 24 24", ...iconBaseProps, children: [
1571
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m12 3 1.2 3.3L16.5 7.5l-3.3 1.2L12 12l-1.2-3.3L7.5 7.5l3.3-1.2z" }),
1572
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m18.5 13 0.8 2.2 2.2 0.8-2.2 0.8-0.8 2.2-0.8-2.2-2.2-0.8 2.2-0.8z" }),
1573
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m6 14 0.9 2.4 2.4 0.9-2.4 0.9L6 21l-0.9-2.4L2.7 17.7l2.4-0.9z" })
1574
+ ] });
1575
+ case "TreePine":
1576
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { "aria-hidden": true, className: "orion-builder-lucide-icon", viewBox: "0 0 24 24", ...iconBaseProps, children: [
1577
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m12 3 5 6h-3l4 5h-4l3 4H7l3-4H6l4-5H7z" }),
1578
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 18v3" })
1579
+ ] });
1580
+ case "BadgeCheck":
1581
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { "aria-hidden": true, className: "orion-builder-lucide-icon", viewBox: "0 0 24 24", ...iconBaseProps, children: [
1582
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m12 3 2.1 1.6 2.6-.2 1.3 2.3 2.4 1-0.6 2.6 1.2 2.2-1.8 1.9.1 2.6-2.4.9-1.2 2.3-2.6-.3L12 21l-2.1-1.6-2.6.2-1.3-2.3-2.4-1 .6-2.6L3 11.5 4.8 9.6l-.1-2.6 2.4-.9 1.2-2.3 2.6.3z" }),
1583
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m8.7 12.4 2 2 4.6-4.6" })
1584
+ ] });
1585
+ case "CalendarClock":
1586
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { "aria-hidden": true, className: "orion-builder-lucide-icon", viewBox: "0 0 24 24", ...iconBaseProps, children: [
1587
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "5", width: "14", height: "12", rx: "2" }),
1588
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7 3v4M13 3v4M3 9h14" }),
1589
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "18", cy: "17", r: "3" }),
1590
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M18 15.8v1.4l1 0.7" })
1591
+ ] });
1592
+ default:
1593
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "orion-builder-lucide-icon-fallback", children: iconName || "Icon" });
1594
+ }
1595
+ }
1596
+
1516
1597
  // src/studio-pages/builder/presets.ts
1517
1598
  var sectionPresets = [
1518
1599
  {
@@ -1709,7 +1790,7 @@ function clonePresetBlocks(blocks) {
1709
1790
  }
1710
1791
 
1711
1792
  // src/studio-pages/builder/settings-v2/ArrayItemsEditor.tsx
1712
- var import_jsx_runtime4 = require("react/jsx-runtime");
1793
+ var import_jsx_runtime5 = require("react/jsx-runtime");
1713
1794
  var lucideIconOptions = [
1714
1795
  "ShieldCheck",
1715
1796
  "Clock",
@@ -1845,24 +1926,24 @@ function ArrayItemsEditor({
1845
1926
  if (normalizedQuery && !hasQueryMatch(normalizedQuery, label, uploadLabel, "image", "media", selectedMedia ? mediaLabel(selectedMedia) : "")) {
1846
1927
  return null;
1847
1928
  }
1848
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
1849
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "orion-builder-settings-note", children: selectedMedia ? `${label}: ${mediaLabel(selectedMedia)}` : `No ${label.toLowerCase()} selected.` }),
1850
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
1929
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1930
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "orion-builder-settings-note", children: selectedMedia ? `${label}: ${mediaLabel(selectedMedia)}` : `No ${label.toLowerCase()} selected.` }),
1931
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
1851
1932
  label,
1852
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
1933
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
1853
1934
  "select",
1854
1935
  {
1855
1936
  className: "orion-builder-settings-input",
1856
1937
  onChange: (event) => onSetItemMediaFromLibrary(itemIndex, field, event.target.value),
1857
1938
  value: selectedMediaID !== null ? String(selectedMediaID) : "",
1858
1939
  children: [
1859
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("option", { value: "", children: "No image" }),
1860
- mediaLibrary.map((libraryItem) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("option", { value: String(libraryItem.id), children: mediaLabel(libraryItem) }, String(libraryItem.id)))
1940
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "", children: "No image" }),
1941
+ mediaLibrary.map((libraryItem) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: String(libraryItem.id), children: mediaLabel(libraryItem) }, String(libraryItem.id)))
1861
1942
  ]
1862
1943
  }
1863
1944
  )
1864
1945
  ] }),
1865
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1946
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1866
1947
  "button",
1867
1948
  {
1868
1949
  className: "orion-builder-settings-inline-btn",
@@ -1872,9 +1953,9 @@ function ArrayItemsEditor({
1872
1953
  children: "Remove"
1873
1954
  }
1874
1955
  ),
1875
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
1956
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
1876
1957
  uploadLabel,
1877
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1958
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1878
1959
  "input",
1879
1960
  {
1880
1961
  accept: "image/*",
@@ -1891,33 +1972,33 @@ function ArrayItemsEditor({
1891
1972
  }
1892
1973
  )
1893
1974
  ] }),
1894
- isUploadingItemMedia(itemIndex, field) ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "orion-builder-settings-note", children: "Uploading image..." }) : null
1975
+ isUploadingItemMedia(itemIndex, field) ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "orion-builder-settings-note", children: "Uploading image..." }) : null
1895
1976
  ] });
1896
1977
  };
1897
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1978
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1898
1979
  Accordion,
1899
1980
  {
1900
1981
  defaultOpen: true,
1901
1982
  subtitle: `${items.length} item${items.length === 1 ? "" : "s"}`,
1902
1983
  title: "Items",
1903
- children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "orion-builder-settings-field-list", children: [
1904
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("button", { className: "orion-builder-settings-add-btn", onClick: onAddItem, type: "button", children: config.addLabel }),
1905
- mediaLibraryLoading ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "orion-builder-settings-note", children: "Loading media library..." }) : null,
1906
- mediaLibraryError ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "orion-builder-settings-error", children: mediaLibraryError }) : null,
1984
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "orion-builder-settings-field-list", children: [
1985
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { className: "orion-builder-settings-add-btn", onClick: onAddItem, type: "button", children: config.addLabel }),
1986
+ mediaLibraryLoading ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "orion-builder-settings-note", children: "Loading media library..." }) : null,
1987
+ mediaLibraryError ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "orion-builder-settings-error", children: mediaLibraryError }) : null,
1907
1988
  items.map((item, itemIndex) => {
1908
1989
  const label = config.itemLabel(item, itemIndex);
1909
1990
  const isOpen = expandedItemIndex === itemIndex || Boolean(normalizedQuery);
1910
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("article", { className: "orion-builder-settings-item-card", children: [
1911
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("button", { className: "orion-builder-settings-item-toggle", onClick: () => onToggleItem(itemIndex), type: "button", children: [
1912
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "orion-builder-settings-item-title", children: label }),
1913
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "orion-builder-settings-item-toggle-state", children: isOpen ? "Hide" : "Show" })
1991
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("article", { className: "orion-builder-settings-item-card", children: [
1992
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("button", { className: "orion-builder-settings-item-toggle", onClick: () => onToggleItem(itemIndex), type: "button", children: [
1993
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "orion-builder-settings-item-title", children: label }),
1994
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "orion-builder-settings-item-toggle-state", children: isOpen ? "Hide" : "Show" })
1914
1995
  ] }),
1915
- isOpen ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "orion-builder-settings-item-body", children: [
1916
- blockType === "featureGrid" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
1917
- showInlineCopyFields ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
1918
- hasQueryMatch(normalizedQuery, "title", "name") ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
1996
+ isOpen ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "orion-builder-settings-item-body", children: [
1997
+ blockType === "featureGrid" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1998
+ showInlineCopyFields ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1999
+ hasQueryMatch(normalizedQuery, "title", "name") ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
1919
2000
  "Title",
1920
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2001
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1921
2002
  "input",
1922
2003
  {
1923
2004
  className: "orion-builder-settings-input",
@@ -1927,9 +2008,9 @@ function ArrayItemsEditor({
1927
2008
  }
1928
2009
  )
1929
2010
  ] }) : null,
1930
- hasQueryMatch(normalizedQuery, "description", "copy", "text") ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
2011
+ hasQueryMatch(normalizedQuery, "description", "copy", "text") ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
1931
2012
  "Description",
1932
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2013
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1933
2014
  "textarea",
1934
2015
  {
1935
2016
  className: "orion-builder-settings-input is-textarea",
@@ -1939,38 +2020,38 @@ function ArrayItemsEditor({
1939
2020
  )
1940
2021
  ] }) : null
1941
2022
  ] }) : null,
1942
- hasQueryMatch(normalizedQuery, "icon", "badge") ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
2023
+ hasQueryMatch(normalizedQuery, "icon", "badge") ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
1943
2024
  "Icon Type",
1944
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
2025
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
1945
2026
  "select",
1946
2027
  {
1947
2028
  className: "orion-builder-settings-input",
1948
2029
  onChange: (event) => onUpdateItemField(itemIndex, "iconType", event.target.value),
1949
2030
  value: normalizeText(item.iconType, "badge"),
1950
2031
  children: [
1951
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("option", { value: "badge", children: "Badge Text" }),
1952
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("option", { value: "lucide", children: "Lucide Icon" })
2032
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "badge", children: "Badge Text" }),
2033
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "lucide", children: "Lucide Icon" })
1953
2034
  ]
1954
2035
  }
1955
2036
  )
1956
2037
  ] }) : null,
1957
- normalizeText(item.iconType, "badge") === "lucide" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
2038
+ normalizeText(item.iconType, "badge") === "lucide" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
1958
2039
  "Icon",
1959
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
2040
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
1960
2041
  "select",
1961
2042
  {
1962
2043
  className: "orion-builder-settings-input",
1963
2044
  onChange: (event) => onUpdateItemField(itemIndex, "iconLucide", event.target.value),
1964
2045
  value: normalizeText(item.iconLucide),
1965
2046
  children: [
1966
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("option", { value: "", children: "Select an icon" }),
1967
- lucideIconOptions.map((icon) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("option", { value: icon, children: icon }, icon))
2047
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "", children: "Select an icon" }),
2048
+ lucideIconOptions.map((icon) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: icon, children: icon }, icon))
1968
2049
  ]
1969
2050
  }
1970
2051
  )
1971
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
2052
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
1972
2053
  "Badge Text",
1973
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2054
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1974
2055
  "input",
1975
2056
  {
1976
2057
  className: "orion-builder-settings-input",
@@ -1982,10 +2063,10 @@ function ArrayItemsEditor({
1982
2063
  ] }),
1983
2064
  renderMediaPicker(item, itemIndex, "media", "Feature Image", "Upload Feature Image")
1984
2065
  ] }) : null,
1985
- blockType === "logoWall" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
1986
- showInlineCopyFields ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
2066
+ blockType === "logoWall" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
2067
+ showInlineCopyFields ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
1987
2068
  "Name",
1988
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2069
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1989
2070
  "input",
1990
2071
  {
1991
2072
  className: "orion-builder-settings-input",
@@ -1995,9 +2076,9 @@ function ArrayItemsEditor({
1995
2076
  }
1996
2077
  )
1997
2078
  ] }) : null,
1998
- hasQueryMatch(normalizedQuery, "link", "url", "href") ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
2079
+ hasQueryMatch(normalizedQuery, "link", "url", "href") ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
1999
2080
  "Link URL",
2000
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2081
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2001
2082
  "input",
2002
2083
  {
2003
2084
  className: "orion-builder-settings-input",
@@ -2009,11 +2090,11 @@ function ArrayItemsEditor({
2009
2090
  ] }) : null,
2010
2091
  renderMediaPicker(item, itemIndex, "media", "Logo Image", "Upload Logo Image")
2011
2092
  ] }) : null,
2012
- blockType === "beforeAfter" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
2013
- showInlineCopyFields ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
2014
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
2093
+ blockType === "beforeAfter" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
2094
+ showInlineCopyFields ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
2095
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
2015
2096
  "Label",
2016
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2097
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2017
2098
  "input",
2018
2099
  {
2019
2100
  className: "orion-builder-settings-input",
@@ -2023,9 +2104,9 @@ function ArrayItemsEditor({
2023
2104
  }
2024
2105
  )
2025
2106
  ] }),
2026
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
2107
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
2027
2108
  "Description",
2028
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2109
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2029
2110
  "textarea",
2030
2111
  {
2031
2112
  className: "orion-builder-settings-input is-textarea",
@@ -2038,10 +2119,10 @@ function ArrayItemsEditor({
2038
2119
  renderMediaPicker(item, itemIndex, "beforeMedia", "Before Image", "Upload Before Image"),
2039
2120
  renderMediaPicker(item, itemIndex, "afterMedia", "After Image", "Upload After Image")
2040
2121
  ] }) : null,
2041
- blockType === "stats" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: showInlineCopyFields ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
2042
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
2122
+ blockType === "stats" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children: showInlineCopyFields ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
2123
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
2043
2124
  "Value",
2044
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2125
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2045
2126
  "input",
2046
2127
  {
2047
2128
  className: "orion-builder-settings-input",
@@ -2051,9 +2132,9 @@ function ArrayItemsEditor({
2051
2132
  }
2052
2133
  )
2053
2134
  ] }),
2054
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
2135
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
2055
2136
  "Label",
2056
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2137
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2057
2138
  "input",
2058
2139
  {
2059
2140
  className: "orion-builder-settings-input",
@@ -2063,9 +2144,9 @@ function ArrayItemsEditor({
2063
2144
  }
2064
2145
  )
2065
2146
  ] }),
2066
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
2147
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
2067
2148
  "Description",
2068
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2149
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2069
2150
  "textarea",
2070
2151
  {
2071
2152
  className: "orion-builder-settings-input is-textarea",
@@ -2075,10 +2156,10 @@ function ArrayItemsEditor({
2075
2156
  )
2076
2157
  ] })
2077
2158
  ] }) : null }) : null,
2078
- blockType === "faq" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: showInlineCopyFields ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
2079
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
2159
+ blockType === "faq" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children: showInlineCopyFields ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
2160
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
2080
2161
  "Question",
2081
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2162
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2082
2163
  "input",
2083
2164
  {
2084
2165
  className: "orion-builder-settings-input",
@@ -2088,9 +2169,9 @@ function ArrayItemsEditor({
2088
2169
  }
2089
2170
  )
2090
2171
  ] }),
2091
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
2172
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
2092
2173
  "Answer",
2093
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2174
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2094
2175
  "textarea",
2095
2176
  {
2096
2177
  className: "orion-builder-settings-input is-textarea",
@@ -2100,11 +2181,11 @@ function ArrayItemsEditor({
2100
2181
  )
2101
2182
  ] })
2102
2183
  ] }) : null }) : null,
2103
- blockType === "testimonials" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
2104
- showInlineCopyFields ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
2105
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
2184
+ blockType === "testimonials" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
2185
+ showInlineCopyFields ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
2186
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
2106
2187
  "Quote",
2107
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2188
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2108
2189
  "textarea",
2109
2190
  {
2110
2191
  className: "orion-builder-settings-input is-textarea",
@@ -2113,9 +2194,9 @@ function ArrayItemsEditor({
2113
2194
  }
2114
2195
  )
2115
2196
  ] }),
2116
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
2197
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
2117
2198
  "Name",
2118
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2199
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2119
2200
  "input",
2120
2201
  {
2121
2202
  className: "orion-builder-settings-input",
@@ -2125,9 +2206,9 @@ function ArrayItemsEditor({
2125
2206
  }
2126
2207
  )
2127
2208
  ] }),
2128
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
2209
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
2129
2210
  "Location",
2130
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2211
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2131
2212
  "input",
2132
2213
  {
2133
2214
  className: "orion-builder-settings-input",
@@ -2138,9 +2219,9 @@ function ArrayItemsEditor({
2138
2219
  )
2139
2220
  ] })
2140
2221
  ] }) : null,
2141
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
2222
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
2142
2223
  "Rating",
2143
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2224
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2144
2225
  "input",
2145
2226
  {
2146
2227
  className: "orion-builder-settings-input",
@@ -2153,7 +2234,7 @@ function ArrayItemsEditor({
2153
2234
  )
2154
2235
  ] })
2155
2236
  ] }) : null,
2156
- blockType === "featureGrid" || blockType === "logoWall" || blockType === "beforeAfter" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2237
+ blockType === "featureGrid" || blockType === "logoWall" || blockType === "beforeAfter" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2157
2238
  ImageControls,
2158
2239
  {
2159
2240
  cornerStyle: normalizeImageCornerStyle(item.imageCornerStyle),
@@ -2189,35 +2270,133 @@ function ArrayItemsEditor({
2189
2270
  positionY: clamp(normalizeNumber2(item.imagePositionY, 50), 0, 100)
2190
2271
  }
2191
2272
  ) : null,
2192
- mode === "advanced" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("label", { className: "orion-builder-settings-label", children: [
2273
+ mode === "advanced" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: "orion-builder-settings-label", children: [
2193
2274
  "Item Text Alignment",
2194
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
2275
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
2195
2276
  "select",
2196
2277
  {
2197
2278
  className: "orion-builder-settings-input",
2198
2279
  onChange: (event) => onUpdateItemSetting(itemIndex, "typography.bodyAlign", event.target.value),
2199
2280
  value: getItemTypographyAlign(item),
2200
2281
  children: [
2201
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("option", { value: "left", children: "Left" }),
2202
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("option", { value: "center", children: "Center" }),
2203
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("option", { value: "right", children: "Right" }),
2204
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("option", { value: "justify", children: "Justify" })
2282
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "left", children: "Left" }),
2283
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "center", children: "Center" }),
2284
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "right", children: "Right" }),
2285
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "justify", children: "Justify" })
2205
2286
  ]
2206
2287
  }
2207
2288
  )
2208
2289
  ] }) : null,
2209
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("button", { className: "orion-builder-settings-inline-btn is-danger", onClick: () => onRemoveItem(itemIndex), type: "button", children: "Remove Item" })
2290
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { className: "orion-builder-settings-inline-btn is-danger", onClick: () => onRemoveItem(itemIndex), type: "button", children: "Remove Item" })
2210
2291
  ] }) : null
2211
2292
  ] }, `${blockType}-item-${itemIndex}`);
2212
2293
  }),
2213
- items.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "orion-builder-settings-empty", children: "No items yet. Add one to start configuring this block." }) : null
2294
+ items.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "orion-builder-settings-empty", children: "No items yet. Add one to start configuring this block." }) : null
2214
2295
  ] })
2215
2296
  }
2216
2297
  );
2217
2298
  }
2218
2299
 
2300
+ // src/studio-pages/builder/ui/InlineText.tsx
2301
+ var import_react2 = require("react");
2302
+ var import_jsx_runtime6 = require("react/jsx-runtime");
2303
+ function InlineText({
2304
+ as = "p",
2305
+ className,
2306
+ multiline = false,
2307
+ onCommit,
2308
+ placeholder = "Click to edit",
2309
+ style,
2310
+ value
2311
+ }) {
2312
+ const [editing, setEditing] = (0, import_react2.useState)(false);
2313
+ const editableRef = (0, import_react2.useRef)(null);
2314
+ const Tag = as;
2315
+ const normalizeValue = (raw) => {
2316
+ if (multiline) {
2317
+ return raw.replace(/\r\n/g, "\n").trim();
2318
+ }
2319
+ return raw.replace(/\r?\n/g, " ").replace(/\s+/g, " ").trim();
2320
+ };
2321
+ (0, import_react2.useEffect)(() => {
2322
+ if (!editing || !editableRef.current) {
2323
+ return;
2324
+ }
2325
+ const element = editableRef.current;
2326
+ const initialValue = value || "";
2327
+ if (multiline) {
2328
+ element.innerText = initialValue;
2329
+ } else {
2330
+ element.textContent = initialValue;
2331
+ }
2332
+ element.focus();
2333
+ const selection = window.getSelection();
2334
+ if (!selection) {
2335
+ return;
2336
+ }
2337
+ const range = document.createRange();
2338
+ range.selectNodeContents(element);
2339
+ range.collapse(false);
2340
+ selection.removeAllRanges();
2341
+ selection.addRange(range);
2342
+ }, [editing, multiline, value]);
2343
+ if (editing) {
2344
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
2345
+ Tag,
2346
+ {
2347
+ className,
2348
+ contentEditable: true,
2349
+ ref: (node) => {
2350
+ editableRef.current = node;
2351
+ },
2352
+ onBlur: (event) => {
2353
+ setEditing(false);
2354
+ const raw = multiline ? event.currentTarget.innerText || "" : event.currentTarget.textContent || "";
2355
+ const nextValue = normalizeValue(raw);
2356
+ onCommit(nextValue);
2357
+ },
2358
+ onKeyDown: (event) => {
2359
+ if (!multiline && event.key === "Enter") {
2360
+ event.preventDefault();
2361
+ event.currentTarget.blur();
2362
+ }
2363
+ },
2364
+ style: {
2365
+ background: "transparent",
2366
+ borderRadius: 6,
2367
+ boxShadow: "0 0 0 4px rgba(92, 255, 174, 0.38)",
2368
+ cursor: "text",
2369
+ minHeight: multiline ? "1.6em" : void 0,
2370
+ outline: "3px solid rgba(21, 125, 82, 0.95)",
2371
+ outlineOffset: 2,
2372
+ ...style
2373
+ },
2374
+ suppressContentEditableWarning: true
2375
+ }
2376
+ );
2377
+ }
2378
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
2379
+ Tag,
2380
+ {
2381
+ className,
2382
+ onClick: () => setEditing(true),
2383
+ style: { cursor: "text", ...style },
2384
+ children: value && value.length > 0 ? value : placeholder
2385
+ }
2386
+ );
2387
+ }
2388
+
2389
+ // src/studio-pages/builder/ui/UploadOverlay.tsx
2390
+ var import_jsx_runtime7 = require("react/jsx-runtime");
2391
+ function UploadOverlay({ label = "Uploading image..." }) {
2392
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "orion-builder-upload-overlay", role: "status", "aria-live": "polite", children: [
2393
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { "aria-hidden": "true", className: "orion-builder-upload-spinner" }),
2394
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { children: label })
2395
+ ] });
2396
+ }
2397
+
2219
2398
  // src/studio-pages/builder/BuilderPageEditor.tsx
2220
- var import_jsx_runtime5 = require("react/jsx-runtime");
2399
+ var import_jsx_runtime8 = require("react/jsx-runtime");
2221
2400
  var isRecord5 = (value) => Boolean(value) && typeof value === "object" && !Array.isArray(value);
2222
2401
  var resolveMedia = (value) => {
2223
2402
  if (!value) return null;
@@ -2313,69 +2492,6 @@ function moveItem(arr, fromIndex, toIndex) {
2313
2492
  function normalizeText2(value, fallback = "") {
2314
2493
  return typeof value === "string" ? value : fallback;
2315
2494
  }
2316
- var iconBaseProps = {
2317
- fill: "none",
2318
- stroke: "currentColor",
2319
- strokeLinecap: "round",
2320
- strokeLinejoin: "round",
2321
- strokeWidth: 2
2322
- };
2323
- function FeatureLucideIcon({ iconName }) {
2324
- const resolved = iconName;
2325
- switch (resolved) {
2326
- case "ShieldCheck":
2327
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("svg", { "aria-hidden": true, className: "orion-builder-lucide-icon", viewBox: "0 0 24 24", ...iconBaseProps, children: [
2328
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 3 5 6v6c0 5 3.4 8.5 7 9.8 3.6-1.3 7-4.8 7-9.8V6z" }),
2329
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m9.5 12.5 2 2 3.5-3.5" })
2330
- ] });
2331
- case "Clock":
2332
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("svg", { "aria-hidden": true, className: "orion-builder-lucide-icon", viewBox: "0 0 24 24", ...iconBaseProps, children: [
2333
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
2334
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 7v5l3 2" })
2335
- ] });
2336
- case "Leaf":
2337
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("svg", { "aria-hidden": true, className: "orion-builder-lucide-icon", viewBox: "0 0 24 24", ...iconBaseProps, children: [
2338
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M5 13c0-5.5 4.5-10 10-10h4v4c0 5.5-4.5 10-10 10H5z" }),
2339
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M6 18c2.5 0 4.5-2 4.5-4.5V9" })
2340
- ] });
2341
- case "DollarSign":
2342
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("svg", { "aria-hidden": true, className: "orion-builder-lucide-icon", viewBox: "0 0 24 24", ...iconBaseProps, children: [
2343
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 3v18" }),
2344
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M16 7.5a3.5 3.5 0 0 0-3.5-2.5h-1A3.5 3.5 0 0 0 8 8.5c0 1.9 1.5 3.5 3.5 3.5h1A3.5 3.5 0 0 1 16 15.5 3.5 3.5 0 0 1 12.5 19h-1A3.5 3.5 0 0 1 8 16.5" })
2345
- ] });
2346
- case "HardHat":
2347
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("svg", { "aria-hidden": true, className: "orion-builder-lucide-icon", viewBox: "0 0 24 24", ...iconBaseProps, children: [
2348
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M4 14a8 8 0 0 1 16 0" }),
2349
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M2 14h20v4H2z" }),
2350
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 6v8" })
2351
- ] });
2352
- case "Sparkles":
2353
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("svg", { "aria-hidden": true, className: "orion-builder-lucide-icon", viewBox: "0 0 24 24", ...iconBaseProps, children: [
2354
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m12 3 1.2 3.3L16.5 7.5l-3.3 1.2L12 12l-1.2-3.3L7.5 7.5l3.3-1.2z" }),
2355
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m18.5 13 0.8 2.2 2.2 0.8-2.2 0.8-0.8 2.2-0.8-2.2-2.2-0.8 2.2-0.8z" }),
2356
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m6 14 0.9 2.4 2.4 0.9-2.4 0.9L6 21l-0.9-2.4L2.7 17.7l2.4-0.9z" })
2357
- ] });
2358
- case "TreePine":
2359
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("svg", { "aria-hidden": true, className: "orion-builder-lucide-icon", viewBox: "0 0 24 24", ...iconBaseProps, children: [
2360
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m12 3 5 6h-3l4 5h-4l3 4H7l3-4H6l4-5H7z" }),
2361
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 18v3" })
2362
- ] });
2363
- case "BadgeCheck":
2364
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("svg", { "aria-hidden": true, className: "orion-builder-lucide-icon", viewBox: "0 0 24 24", ...iconBaseProps, children: [
2365
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m12 3 2.1 1.6 2.6-.2 1.3 2.3 2.4 1-0.6 2.6 1.2 2.2-1.8 1.9.1 2.6-2.4.9-1.2 2.3-2.6-.3L12 21l-2.1-1.6-2.6.2-1.3-2.3-2.4-1 .6-2.6L3 11.5 4.8 9.6l-.1-2.6 2.4-.9 1.2-2.3 2.6.3z" }),
2366
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m8.7 12.4 2 2 4.6-4.6" })
2367
- ] });
2368
- case "CalendarClock":
2369
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("svg", { "aria-hidden": true, className: "orion-builder-lucide-icon", viewBox: "0 0 24 24", ...iconBaseProps, children: [
2370
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "3", y: "5", width: "14", height: "12", rx: "2" }),
2371
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M7 3v4M13 3v4M3 9h14" }),
2372
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "18", cy: "17", r: "3" }),
2373
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M18 15.8v1.4l1 0.7" })
2374
- ] });
2375
- default:
2376
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "orion-builder-lucide-icon-fallback", children: iconName || "Icon" });
2377
- }
2378
- }
2379
2495
  function extractLexicalText(value) {
2380
2496
  if (!value || typeof value !== "object" || !("root" in value)) {
2381
2497
  return "";
@@ -2888,91 +3004,6 @@ var notifyMediaLibraryUpdated = () => {
2888
3004
  } catch {
2889
3005
  }
2890
3006
  };
2891
- function InlineText({
2892
- as = "p",
2893
- className,
2894
- multiline = false,
2895
- onCommit,
2896
- placeholder = "Click to edit",
2897
- style,
2898
- value
2899
- }) {
2900
- const [editing, setEditing] = (0, import_react2.useState)(false);
2901
- const editableRef = (0, import_react2.useRef)(null);
2902
- const Tag = as;
2903
- const normalizeValue = (raw) => {
2904
- if (multiline) {
2905
- return raw.replace(/\r\n/g, "\n").trim();
2906
- }
2907
- return raw.replace(/\r?\n/g, " ").replace(/\s+/g, " ").trim();
2908
- };
2909
- (0, import_react2.useEffect)(() => {
2910
- if (!editing || !editableRef.current) {
2911
- return;
2912
- }
2913
- const element = editableRef.current;
2914
- const initialValue = value || "";
2915
- if (multiline) {
2916
- element.innerText = initialValue;
2917
- } else {
2918
- element.textContent = initialValue;
2919
- }
2920
- element.focus();
2921
- const selection = window.getSelection();
2922
- if (!selection) {
2923
- return;
2924
- }
2925
- const range = document.createRange();
2926
- range.selectNodeContents(element);
2927
- range.collapse(false);
2928
- selection.removeAllRanges();
2929
- selection.addRange(range);
2930
- }, [editing, multiline, value]);
2931
- if (editing) {
2932
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2933
- Tag,
2934
- {
2935
- className,
2936
- contentEditable: true,
2937
- ref: (node) => {
2938
- editableRef.current = node;
2939
- },
2940
- onBlur: (event) => {
2941
- setEditing(false);
2942
- const raw = multiline ? event.currentTarget.innerText || "" : event.currentTarget.textContent || "";
2943
- const nextValue = normalizeValue(raw);
2944
- onCommit(nextValue);
2945
- },
2946
- onKeyDown: (event) => {
2947
- if (!multiline && event.key === "Enter") {
2948
- event.preventDefault();
2949
- event.currentTarget.blur();
2950
- }
2951
- },
2952
- style: {
2953
- background: "transparent",
2954
- borderRadius: 6,
2955
- boxShadow: "0 0 0 4px rgba(92, 255, 174, 0.38)",
2956
- cursor: "text",
2957
- minHeight: multiline ? "1.6em" : void 0,
2958
- outline: "3px solid rgba(21, 125, 82, 0.95)",
2959
- outlineOffset: 2,
2960
- ...style
2961
- },
2962
- suppressContentEditableWarning: true
2963
- }
2964
- );
2965
- }
2966
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2967
- Tag,
2968
- {
2969
- className,
2970
- onClick: () => setEditing(true),
2971
- style: { cursor: "text", ...style },
2972
- children: value && value.length > 0 ? value : placeholder
2973
- }
2974
- );
2975
- }
2976
3007
  function BlockFrame({
2977
3008
  children,
2978
3009
  dragIndex,
@@ -2983,20 +3014,20 @@ function BlockFrame({
2983
3014
  selected,
2984
3015
  setDragIndex
2985
3016
  }) {
2986
- const [dropPosition, setDropPosition] = (0, import_react2.useState)(null);
2987
- const [dropHovered, setDropHovered] = (0, import_react2.useState)(false);
3017
+ const [dropPosition, setDropPosition] = (0, import_react3.useState)(null);
3018
+ const [dropHovered, setDropHovered] = (0, import_react3.useState)(false);
2988
3019
  const isDragging = dragIndex === index;
2989
3020
  const isAnyDragging = dragIndex !== null;
2990
3021
  const isDropTarget = dragIndex !== null && dragIndex !== index && dropPosition !== null;
2991
3022
  const showDropBefore = isDropTarget && dropPosition === "before";
2992
3023
  const showDropAfter = isDropTarget && dropPosition === "after";
2993
- (0, import_react2.useEffect)(() => {
3024
+ (0, import_react3.useEffect)(() => {
2994
3025
  if (dragIndex === null) {
2995
3026
  setDropPosition(null);
2996
3027
  setDropHovered(false);
2997
3028
  }
2998
3029
  }, [dragIndex]);
2999
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
3030
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
3000
3031
  "div",
3001
3032
  {
3002
3033
  draggable: true,
@@ -3063,7 +3094,7 @@ function BlockFrame({
3063
3094
  willChange: isAnyDragging ? "transform, box-shadow, opacity" : "auto"
3064
3095
  },
3065
3096
  children: [
3066
- showDropBefore ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
3097
+ showDropBefore ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
3067
3098
  "div",
3068
3099
  {
3069
3100
  style: {
@@ -3079,7 +3110,7 @@ function BlockFrame({
3079
3110
  }
3080
3111
  }
3081
3112
  ) : null,
3082
- showDropAfter ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
3113
+ showDropAfter ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
3083
3114
  "div",
3084
3115
  {
3085
3116
  style: {
@@ -3095,7 +3126,7 @@ function BlockFrame({
3095
3126
  }
3096
3127
  }
3097
3128
  ) : null,
3098
- isDropTarget && dropHovered ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
3129
+ isDropTarget && dropHovered ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
3099
3130
  "div",
3100
3131
  {
3101
3132
  style: {
@@ -3109,7 +3140,7 @@ function BlockFrame({
3109
3140
  }
3110
3141
  }
3111
3142
  ) : null,
3112
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
3143
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
3113
3144
  "div",
3114
3145
  {
3115
3146
  style: {
@@ -3131,7 +3162,7 @@ function BlockFrame({
3131
3162
  ]
3132
3163
  }
3133
3164
  ),
3134
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
3165
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
3135
3166
  "div",
3136
3167
  {
3137
3168
  "aria-hidden": true,
@@ -3157,7 +3188,7 @@ function BlockFrame({
3157
3188
  zIndex: 30
3158
3189
  },
3159
3190
  children: [
3160
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { style: { display: "inline-block", fontSize: 13, transform: "translateY(-0.5px)" }, children: "\u22EE\u22EE" }),
3191
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { display: "inline-block", fontSize: 13, transform: "translateY(-0.5px)" }, children: "\u22EE\u22EE" }),
3161
3192
  "Drag"
3162
3193
  ]
3163
3194
  }
@@ -3167,12 +3198,6 @@ function BlockFrame({
3167
3198
  }
3168
3199
  );
3169
3200
  }
3170
- function UploadOverlay({ label = "Uploading image..." }) {
3171
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "orion-builder-upload-overlay", role: "status", "aria-live": "polite", children: [
3172
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { "aria-hidden": "true", className: "orion-builder-upload-spinner" }),
3173
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { children: label })
3174
- ] });
3175
- }
3176
3201
  var clonePageDefaults = (value) => ({
3177
3202
  pageWidthDefault: value.pageWidthDefault,
3178
3203
  themePage: value.themePage ? JSON.parse(JSON.stringify(value.themePage)) : {}
@@ -3182,7 +3207,7 @@ var cloneSnapshot = (value) => ({
3182
3207
  pageDefaults: clonePageDefaults(value.pageDefaults)
3183
3208
  });
3184
3209
  function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }) {
3185
- const editorRootRef = (0, import_react2.useRef)(null);
3210
+ const editorRootRef = (0, import_react3.useRef)(null);
3186
3211
  const doc = initialDoc ?? {};
3187
3212
  const sourceStudioDocument = doc.studioDocument && typeof doc.studioDocument === "object" ? doc.studioDocument : {};
3188
3213
  const sourceMetadata = sourceStudioDocument.metadata && typeof sourceStudioDocument.metadata === "object" ? sourceStudioDocument.metadata : {};
@@ -3194,43 +3219,43 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
3194
3219
  pageWidthDefault: sourceMetadata.pageWidthDefault === "wide" || sourceMetadata.pageWidthDefault === "full" ? sourceMetadata.pageWidthDefault : defaultPageDefaults.pageWidthDefault,
3195
3220
  themePage: isRecord5(sourceThemePage.page) ? sourceThemePage.page : {}
3196
3221
  };
3197
- const [layout, setLayout] = (0, import_react2.useState)(
3222
+ const [layout, setLayout] = (0, import_react3.useState)(
3198
3223
  migrateLayoutToSettingsV2(cloneBlockLayout(initialLayout).map((block) => withSectionStyleDefaults2(block)))
3199
3224
  );
3200
- const [pageDefaults, setPageDefaults] = (0, import_react2.useState)(clonePageDefaults(initialPageDefaults));
3201
- const [selectedIndex, setSelectedIndex] = (0, import_react2.useState)(null);
3202
- const [dragIndex, setDragIndex] = (0, import_react2.useState)(null);
3203
- const [sidebarOpen, setSidebarOpen] = (0, import_react2.useState)(true);
3204
- const [savingStatus, setSavingStatus] = (0, import_react2.useState)(null);
3205
- const [uploadingTarget, setUploadingTarget] = (0, import_react2.useState)(null);
3206
- const [topViewportHeight, setTopViewportHeight] = (0, import_react2.useState)(null);
3207
- const [uploadError, setUploadError] = (0, import_react2.useState)("");
3208
- const [uploadMessage, setUploadMessage] = (0, import_react2.useState)("");
3209
- const [uploadAltText, setUploadAltText] = (0, import_react2.useState)("");
3210
- const [mediaLibrary, setMediaLibrary] = (0, import_react2.useState)([]);
3211
- const [mediaLibraryError, setMediaLibraryError] = (0, import_react2.useState)("");
3212
- const [mediaLibraryLoading, setMediaLibraryLoading] = (0, import_react2.useState)(false);
3213
- const [selectedHeroMediaID, setSelectedHeroMediaID] = (0, import_react2.useState)("");
3214
- const [selectedItemIndex, setSelectedItemIndex] = (0, import_react2.useState)(null);
3215
- const [expandedItemIndex, setExpandedItemIndex] = (0, import_react2.useState)(null);
3216
- const [testimonialsOffsets, setTestimonialsOffsets] = (0, import_react2.useState)({});
3217
- const [presetQuery, setPresetQuery] = (0, import_react2.useState)("");
3218
- const [sessionExpired, setSessionExpired] = (0, import_react2.useState)(false);
3219
- const [pastSnapshots, setPastSnapshots] = (0, import_react2.useState)([]);
3220
- const [futureSnapshots, setFutureSnapshots] = (0, import_react2.useState)([]);
3221
- const [settingsPanelMode, setSettingsPanelMode] = (0, import_react2.useState)("basic");
3222
- const [settingsSearchQuery, setSettingsSearchQuery] = (0, import_react2.useState)("");
3225
+ const [pageDefaults, setPageDefaults] = (0, import_react3.useState)(clonePageDefaults(initialPageDefaults));
3226
+ const [selectedIndex, setSelectedIndex] = (0, import_react3.useState)(null);
3227
+ const [dragIndex, setDragIndex] = (0, import_react3.useState)(null);
3228
+ const [sidebarOpen, setSidebarOpen] = (0, import_react3.useState)(true);
3229
+ const [savingStatus, setSavingStatus] = (0, import_react3.useState)(null);
3230
+ const [uploadingTarget, setUploadingTarget] = (0, import_react3.useState)(null);
3231
+ const [topViewportHeight, setTopViewportHeight] = (0, import_react3.useState)(null);
3232
+ const [uploadError, setUploadError] = (0, import_react3.useState)("");
3233
+ const [uploadMessage, setUploadMessage] = (0, import_react3.useState)("");
3234
+ const [uploadAltText, setUploadAltText] = (0, import_react3.useState)("");
3235
+ const [mediaLibrary, setMediaLibrary] = (0, import_react3.useState)([]);
3236
+ const [mediaLibraryError, setMediaLibraryError] = (0, import_react3.useState)("");
3237
+ const [mediaLibraryLoading, setMediaLibraryLoading] = (0, import_react3.useState)(false);
3238
+ const [selectedHeroMediaID, setSelectedHeroMediaID] = (0, import_react3.useState)("");
3239
+ const [selectedItemIndex, setSelectedItemIndex] = (0, import_react3.useState)(null);
3240
+ const [expandedItemIndex, setExpandedItemIndex] = (0, import_react3.useState)(null);
3241
+ const [testimonialsOffsets, setTestimonialsOffsets] = (0, import_react3.useState)({});
3242
+ const [presetQuery, setPresetQuery] = (0, import_react3.useState)("");
3243
+ const [sessionExpired, setSessionExpired] = (0, import_react3.useState)(false);
3244
+ const [pastSnapshots, setPastSnapshots] = (0, import_react3.useState)([]);
3245
+ const [futureSnapshots, setFutureSnapshots] = (0, import_react3.useState)([]);
3246
+ const [settingsPanelMode, setSettingsPanelMode] = (0, import_react3.useState)("basic");
3247
+ const [settingsSearchQuery, setSettingsSearchQuery] = (0, import_react3.useState)("");
3223
3248
  const isSidebarPanelKey = (value) => value === "pageDefaults" || value === "addSections" || value === "selected";
3224
- const [activeSidebarPanel, setActiveSidebarPanel] = (0, import_react2.useState)("selected");
3225
- const historyBypassRef = (0, import_react2.useRef)(true);
3226
- const previousSnapshotRef = (0, import_react2.useRef)({
3249
+ const [activeSidebarPanel, setActiveSidebarPanel] = (0, import_react3.useState)("selected");
3250
+ const historyBypassRef = (0, import_react3.useRef)(true);
3251
+ const previousSnapshotRef = (0, import_react3.useRef)({
3227
3252
  layout: migrateLayoutToSettingsV2(cloneBlockLayout(initialLayout).map((block) => withSectionStyleDefaults2(block))),
3228
3253
  pageDefaults: clonePageDefaults(initialPageDefaults)
3229
3254
  });
3230
- const lastSavedRef = (0, import_react2.useRef)(cloneSnapshot(previousSnapshotRef.current));
3255
+ const lastSavedRef = (0, import_react3.useRef)(cloneSnapshot(previousSnapshotRef.current));
3231
3256
  const persistedFlagKey = "orion-builder-settings-panel-v2";
3232
- const [settingsPanelV2Override, setSettingsPanelV2Override] = (0, import_react2.useState)(null);
3233
- const settingsPanelV2Enabled = (0, import_react2.useMemo)(() => {
3257
+ const [settingsPanelV2Override, setSettingsPanelV2Override] = (0, import_react3.useState)(null);
3258
+ const settingsPanelV2Enabled = (0, import_react3.useMemo)(() => {
3234
3259
  if (typeof featureFlags?.settingsPanelV2 === "boolean") {
3235
3260
  return featureFlags.settingsPanelV2;
3236
3261
  }
@@ -3248,7 +3273,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
3248
3273
  }
3249
3274
  return true;
3250
3275
  }, [featureFlags?.settingsPanelV2, settingsPanelV2Override]);
3251
- const selectedBlock = (0, import_react2.useMemo)(
3276
+ const selectedBlock = (0, import_react3.useMemo)(
3252
3277
  () => selectedIndex !== null ? layout[selectedIndex] : null,
3253
3278
  [layout, selectedIndex]
3254
3279
  );
@@ -3293,13 +3318,13 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
3293
3318
  }
3294
3319
  return mediaLibrary.find((item) => String(item.id) === String(relationID)) || null;
3295
3320
  };
3296
- const selectedHeroMedia = (0, import_react2.useMemo)(() => {
3321
+ const selectedHeroMedia = (0, import_react3.useMemo)(() => {
3297
3322
  if (selectedType !== "hero" || !selectedBlock) {
3298
3323
  return null;
3299
3324
  }
3300
3325
  return resolveMediaLibraryItemFromValue(selectedBlock.media);
3301
3326
  }, [mediaLibrary, selectedBlock, selectedType]);
3302
- const filteredSectionPresets = (0, import_react2.useMemo)(() => {
3327
+ const filteredSectionPresets = (0, import_react3.useMemo)(() => {
3303
3328
  const query = presetQuery.trim().toLowerCase();
3304
3329
  if (!query) {
3305
3330
  return sectionPresets;
@@ -3308,7 +3333,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
3308
3333
  (preset) => `${preset.title} ${preset.description}`.toLowerCase().includes(query)
3309
3334
  );
3310
3335
  }, [presetQuery]);
3311
- const loadMediaLibrary = (0, import_react2.useCallback)(async () => {
3336
+ const loadMediaLibrary = (0, import_react3.useCallback)(async () => {
3312
3337
  setMediaLibraryLoading(true);
3313
3338
  setMediaLibraryError("");
3314
3339
  try {
@@ -3329,10 +3354,10 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
3329
3354
  setMediaLibraryLoading(false);
3330
3355
  }
3331
3356
  }, []);
3332
- (0, import_react2.useEffect)(() => {
3357
+ (0, import_react3.useEffect)(() => {
3333
3358
  void loadMediaLibrary();
3334
3359
  }, [loadMediaLibrary]);
3335
- (0, import_react2.useEffect)(() => {
3360
+ (0, import_react3.useEffect)(() => {
3336
3361
  const refreshMediaLibrary = () => {
3337
3362
  void loadMediaLibrary();
3338
3363
  };
@@ -3357,7 +3382,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
3357
3382
  document.removeEventListener("visibilitychange", onVisibilityChange);
3358
3383
  };
3359
3384
  }, [loadMediaLibrary]);
3360
- (0, import_react2.useEffect)(() => {
3385
+ (0, import_react3.useEffect)(() => {
3361
3386
  let active = true;
3362
3387
  const checkSession = async () => {
3363
3388
  try {
@@ -3385,7 +3410,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
3385
3410
  window.clearInterval(intervalId);
3386
3411
  };
3387
3412
  }, []);
3388
- (0, import_react2.useEffect)(() => {
3413
+ (0, import_react3.useEffect)(() => {
3389
3414
  if (selectedType !== "hero") {
3390
3415
  setSelectedHeroMediaID("");
3391
3416
  return;
@@ -3746,7 +3771,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
3746
3771
  }
3747
3772
  return nextBlock;
3748
3773
  });
3749
- const resolvedThemeTokens = (0, import_react2.useMemo)(
3774
+ const resolvedThemeTokens = (0, import_react3.useMemo)(
3750
3775
  () => resolveBuilderThemeTokens({
3751
3776
  page: pageDefaults.themePage,
3752
3777
  site: siteThemeTokens
@@ -3767,7 +3792,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
3767
3792
  const headingAlign = blockTypography.headingAlign === "center" || blockTypography.headingAlign === "justify" || blockTypography.headingAlign === "right" ? blockTypography.headingAlign : "left";
3768
3793
  const headingColor = getThemeColorOverride(blockTheme, "headingText") || getThemeColorOverride(pageDefaults.themePage, "headingText") || getThemeColorOverride(siteThemeTokens, "headingText") || (block.blockType === "hero" ? "#ffffff" : resolvedThemeTokens.colors.headingText);
3769
3794
  const bodyColor = getThemeColorOverride(blockTheme, "bodyText") || getThemeColorOverride(pageDefaults.themePage, "bodyText") || getThemeColorOverride(siteThemeTokens, "bodyText") || (block.blockType === "hero" ? "#ffffff" : resolvedThemeTokens.colors.bodyText);
3770
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("section", { className: `${className} ${shell.sectionClass}`, style: shell.sectionStyle, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: shell.sectionInnerStyle, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
3795
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("section", { className: `${className} ${shell.sectionClass}`, style: shell.sectionStyle, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: shell.sectionInnerStyle, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
3771
3796
  "div",
3772
3797
  {
3773
3798
  className: shell.contentClass,
@@ -3883,14 +3908,14 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
3883
3908
  return next;
3884
3909
  });
3885
3910
  };
3886
- const currentSnapshot = (0, import_react2.useMemo)(
3911
+ const currentSnapshot = (0, import_react3.useMemo)(
3887
3912
  () => ({
3888
3913
  layout: cloneBlockLayout(layout),
3889
3914
  pageDefaults: clonePageDefaults(pageDefaults)
3890
3915
  }),
3891
3916
  [layout, pageDefaults]
3892
3917
  );
3893
- (0, import_react2.useEffect)(() => {
3918
+ (0, import_react3.useEffect)(() => {
3894
3919
  const readTopViewportHeight = () => {
3895
3920
  if (typeof window === "undefined") {
3896
3921
  setTopViewportHeight(null);
@@ -3915,7 +3940,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
3915
3940
  layout: toPersistedLayout(snapshot.layout),
3916
3941
  pageDefaults: snapshot.pageDefaults
3917
3942
  });
3918
- const isDirty = (0, import_react2.useMemo)(
3943
+ const isDirty = (0, import_react3.useMemo)(
3919
3944
  () => snapshotKey(currentSnapshot) !== snapshotKey(lastSavedRef.current),
3920
3945
  [currentSnapshot]
3921
3946
  );
@@ -4068,7 +4093,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4068
4093
  setSavingStatus(null);
4069
4094
  }
4070
4095
  };
4071
- (0, import_react2.useEffect)(() => {
4096
+ (0, import_react3.useEffect)(() => {
4072
4097
  const storageKey = `orion-builder-panels:${pageID}`;
4073
4098
  const raw = window.localStorage.getItem(storageKey);
4074
4099
  if (!raw) {
@@ -4094,7 +4119,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4094
4119
  } catch {
4095
4120
  }
4096
4121
  }, [pageID]);
4097
- (0, import_react2.useEffect)(() => {
4122
+ (0, import_react3.useEffect)(() => {
4098
4123
  const persistedValue = window.localStorage.getItem(persistedFlagKey);
4099
4124
  if (persistedValue === "true") {
4100
4125
  setSettingsPanelV2Override(true);
@@ -4106,25 +4131,25 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4106
4131
  }
4107
4132
  setSettingsPanelV2Override(null);
4108
4133
  }, [persistedFlagKey]);
4109
- (0, import_react2.useEffect)(() => {
4134
+ (0, import_react3.useEffect)(() => {
4110
4135
  if (typeof settingsPanelV2Override !== "boolean") {
4111
4136
  window.localStorage.removeItem(persistedFlagKey);
4112
4137
  return;
4113
4138
  }
4114
4139
  window.localStorage.setItem(persistedFlagKey, settingsPanelV2Override ? "true" : "false");
4115
4140
  }, [persistedFlagKey, settingsPanelV2Override]);
4116
- (0, import_react2.useEffect)(() => {
4141
+ (0, import_react3.useEffect)(() => {
4117
4142
  const storageKey = `orion-builder-panels:${pageID}`;
4118
4143
  window.localStorage.setItem(storageKey, JSON.stringify({ activePanel: activeSidebarPanel }));
4119
4144
  }, [activeSidebarPanel, pageID]);
4120
- (0, import_react2.useEffect)(() => {
4145
+ (0, import_react3.useEffect)(() => {
4121
4146
  if (selectedIndex === null) {
4122
4147
  return;
4123
4148
  }
4124
4149
  setSidebarOpen(true);
4125
4150
  setActiveSidebarPanel("selected");
4126
4151
  }, [selectedIndex]);
4127
- (0, import_react2.useEffect)(() => {
4152
+ (0, import_react3.useEffect)(() => {
4128
4153
  if (selectedIndex === null) {
4129
4154
  setSelectedItemIndex(null);
4130
4155
  setExpandedItemIndex(null);
@@ -4142,17 +4167,17 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4142
4167
  (current) => typeof current === "number" && current >= 0 && current < selectedItems.length ? current : 0
4143
4168
  );
4144
4169
  }, [selectedIndex, selectedItems.length]);
4145
- (0, import_react2.useEffect)(() => {
4170
+ (0, import_react3.useEffect)(() => {
4146
4171
  if (layout.length > 0) {
4147
4172
  return;
4148
4173
  }
4149
4174
  setSidebarOpen(true);
4150
4175
  setActiveSidebarPanel("addSections");
4151
4176
  }, [layout.length]);
4152
- (0, import_react2.useEffect)(() => {
4177
+ (0, import_react3.useEffect)(() => {
4153
4178
  return;
4154
4179
  }, [layout]);
4155
- (0, import_react2.useEffect)(() => {
4180
+ (0, import_react3.useEffect)(() => {
4156
4181
  if (historyBypassRef.current) {
4157
4182
  historyBypassRef.current = false;
4158
4183
  previousSnapshotRef.current = cloneSnapshot(currentSnapshot);
@@ -4163,7 +4188,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4163
4188
  setFutureSnapshots([]);
4164
4189
  previousSnapshotRef.current = cloneSnapshot(currentSnapshot);
4165
4190
  }, [currentSnapshot]);
4166
- (0, import_react2.useEffect)(() => {
4191
+ (0, import_react3.useEffect)(() => {
4167
4192
  const onKeyDown = (event) => {
4168
4193
  const key = event.key.toLowerCase();
4169
4194
  const isUndo = (event.metaKey || event.ctrlKey) && key === "z" && !event.shiftKey;
@@ -4181,7 +4206,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4181
4206
  window.addEventListener("keydown", onKeyDown);
4182
4207
  return () => window.removeEventListener("keydown", onKeyDown);
4183
4208
  }, [canRedo, canUndo, futureSnapshots, pastSnapshots, currentSnapshot]);
4184
- (0, import_react2.useEffect)(() => {
4209
+ (0, import_react3.useEffect)(() => {
4185
4210
  window.parent?.postMessage(
4186
4211
  {
4187
4212
  dirty: isDirty,
@@ -4191,7 +4216,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4191
4216
  "*"
4192
4217
  );
4193
4218
  }, [isDirty]);
4194
- (0, import_react2.useEffect)(() => {
4219
+ (0, import_react3.useEffect)(() => {
4195
4220
  window.parent?.postMessage(
4196
4221
  {
4197
4222
  canRedo,
@@ -4202,7 +4227,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4202
4227
  "*"
4203
4228
  );
4204
4229
  }, [canRedo, canUndo]);
4205
- (0, import_react2.useEffect)(() => {
4230
+ (0, import_react3.useEffect)(() => {
4206
4231
  const onMessage = (event) => {
4207
4232
  const data = event.data;
4208
4233
  if (!data || data.source !== "payload-visual-builder-parent") {
@@ -4255,7 +4280,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4255
4280
  window.addEventListener("message", onMessage);
4256
4281
  return () => window.removeEventListener("message", onMessage);
4257
4282
  }, [canRedo, canUndo, isDirty, layout, pageDefaults.pageWidthDefault, title]);
4258
- (0, import_react2.useEffect)(() => {
4283
+ (0, import_react3.useEffect)(() => {
4259
4284
  const preventNavigationWhileEditing = (event) => {
4260
4285
  const editorRoot = editorRootRef.current;
4261
4286
  if (!editorRoot) {
@@ -4277,7 +4302,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4277
4302
  document.addEventListener("click", preventNavigationWhileEditing, true);
4278
4303
  return () => document.removeEventListener("click", preventNavigationWhileEditing, true);
4279
4304
  }, []);
4280
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
4305
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
4281
4306
  "div",
4282
4307
  {
4283
4308
  ref: editorRootRef,
@@ -4288,7 +4313,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4288
4313
  padding: "0 0 1.2rem"
4289
4314
  },
4290
4315
  children: [
4291
- sessionExpired ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4316
+ sessionExpired ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4292
4317
  "div",
4293
4318
  {
4294
4319
  style: {
@@ -4301,7 +4326,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4301
4326
  position: "fixed",
4302
4327
  zIndex: 9999
4303
4328
  },
4304
- children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
4329
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
4305
4330
  "div",
4306
4331
  {
4307
4332
  style: {
@@ -4316,9 +4341,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4316
4341
  width: "100%"
4317
4342
  },
4318
4343
  children: [
4319
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "#8d1d1d", fontSize: "1.1rem", fontWeight: 700 }, children: "Session Expired" }),
4320
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "#333", fontSize: "0.9rem", lineHeight: 1.5 }, children: "Your login session has expired. Your edits are still here, but you must log in again before saving. Open the login page in a new tab, sign in, then return here and try saving again." }),
4321
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4344
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "#8d1d1d", fontSize: "1.1rem", fontWeight: 700 }, children: "Session Expired" }),
4345
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "#333", fontSize: "0.9rem", lineHeight: 1.5 }, children: "Your login session has expired. Your edits are still here, but you must log in again before saving. Open the login page in a new tab, sign in, then return here and try saving again." }),
4346
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4322
4347
  "a",
4323
4348
  {
4324
4349
  href: "/admin",
@@ -4337,7 +4362,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4337
4362
  children: "Open Login Page"
4338
4363
  }
4339
4364
  ),
4340
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4365
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4341
4366
  "button",
4342
4367
  {
4343
4368
  onClick: () => setSessionExpired(false),
@@ -4359,7 +4384,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4359
4384
  )
4360
4385
  }
4361
4386
  ) : null,
4362
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { minWidth: 0 }, children: [
4387
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { minWidth: 0 }, children: [
4363
4388
  layout.map((block, index) => {
4364
4389
  const type = normalizeText2(block.blockType, "unknown");
4365
4390
  const selectBlock = () => setSelectedIndex(index);
@@ -4434,7 +4459,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4434
4459
  const heroStyle = {
4435
4460
  borderRadius: heroCornerRadius
4436
4461
  };
4437
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4462
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4438
4463
  BlockFrame,
4439
4464
  {
4440
4465
  dragIndex,
@@ -4447,13 +4472,13 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4447
4472
  children: renderWithSectionShell(
4448
4473
  block,
4449
4474
  "",
4450
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("section", { className: `hero ${variant === "centered" ? "hero-centered" : ""}`, style: heroStyle, children: [
4451
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "hero-grid", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "orion-builder-upload-slot", children: [
4452
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "hero-media", role: "img", style: mediaStyle }),
4453
- isBlockUploadTarget(index, "hero") ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(UploadOverlay, { label: "Uploading hero image..." }) : null
4475
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("section", { className: `hero ${variant === "centered" ? "hero-centered" : ""}`, style: heroStyle, children: [
4476
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "hero-grid", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "orion-builder-upload-slot", children: [
4477
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "hero-media", role: "img", style: mediaStyle }),
4478
+ isBlockUploadTarget(index, "hero") ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(UploadOverlay, { label: "Uploading hero image..." }) : null
4454
4479
  ] }) }),
4455
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "hero-content", children: [
4456
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "kicker", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4480
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "hero-content", children: [
4481
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "kicker", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4457
4482
  InlineText,
4458
4483
  {
4459
4484
  as: "span",
@@ -4462,7 +4487,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4462
4487
  value: normalizeText2(block.kicker)
4463
4488
  }
4464
4489
  ) }),
4465
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4490
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4466
4491
  InlineText,
4467
4492
  {
4468
4493
  as: "h1",
@@ -4471,7 +4496,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4471
4496
  value: normalizeText2(block.headline)
4472
4497
  }
4473
4498
  ),
4474
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4499
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4475
4500
  InlineText,
4476
4501
  {
4477
4502
  as: "p",
@@ -4481,8 +4506,8 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4481
4506
  value: normalizeText2(block.subheadline)
4482
4507
  }
4483
4508
  ),
4484
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "hero-actions", children: [
4485
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { className: "btn btn-primary", type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4509
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "hero-actions", children: [
4510
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("button", { className: "btn btn-primary", type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4486
4511
  InlineText,
4487
4512
  {
4488
4513
  as: "span",
@@ -4491,7 +4516,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4491
4516
  value: normalizeText2(block.primaryLabel)
4492
4517
  }
4493
4518
  ) }),
4494
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { className: "btn btn-secondary", type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4519
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("button", { className: "btn btn-secondary", type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4495
4520
  InlineText,
4496
4521
  {
4497
4522
  as: "span",
@@ -4515,7 +4540,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4515
4540
  const itemsPerRow = Math.max(1, Math.min(6, itemsPerRowRaw));
4516
4541
  const items = Array.isArray(block.items) ? block.items : [];
4517
4542
  if (variant === "highlight") {
4518
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4543
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4519
4544
  BlockFrame,
4520
4545
  {
4521
4546
  dragIndex,
@@ -4528,8 +4553,8 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4528
4553
  children: renderWithSectionShell(
4529
4554
  block,
4530
4555
  "section",
4531
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "features", style: backgroundColor ? { background: backgroundColor } : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "inner", children: [
4532
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "section-heading", style: { margin: 0 }, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4556
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "features", style: backgroundColor ? { background: backgroundColor } : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "inner", children: [
4557
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "section-heading", style: { margin: 0 }, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4533
4558
  InlineText,
4534
4559
  {
4535
4560
  as: "h2",
@@ -4539,7 +4564,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4539
4564
  value: normalizeText2(block.title)
4540
4565
  }
4541
4566
  ) }) }),
4542
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4567
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4543
4568
  "div",
4544
4569
  {
4545
4570
  className: "feature-grid",
@@ -4566,7 +4591,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4566
4591
  positionY: itemPositionY
4567
4592
  });
4568
4593
  const isItemSelected = selectedIndex === index && selectedItemIndex === itemIndex;
4569
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
4594
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
4570
4595
  "article",
4571
4596
  {
4572
4597
  className: "feature-item",
@@ -4576,10 +4601,10 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4576
4601
  },
4577
4602
  style: isItemSelected ? { outline: "2px solid rgba(255, 255, 255, 0.72)", outlineOffset: 2 } : void 0,
4578
4603
  children: [
4579
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "orion-builder-upload-slot", children: [
4604
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "orion-builder-upload-slot", children: [
4580
4605
  itemMedia?.url ? (
4581
4606
  // eslint-disable-next-line @next/next/no-img-element
4582
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4607
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4583
4608
  "img",
4584
4609
  {
4585
4610
  alt: itemMedia.alt || normalizeText2(itemRecord?.title, "Feature image"),
@@ -4588,7 +4613,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4588
4613
  style: { ...itemImageStyle, height: itemImageHeight }
4589
4614
  }
4590
4615
  )
4591
- ) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "feature-icon", children: iconType === "lucide" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(FeatureLucideIcon, { iconName: iconLucide }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4616
+ ) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "feature-icon", children: iconType === "lucide" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(FeatureLucideIcon, { iconName: iconLucide }) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4592
4617
  InlineText,
4593
4618
  {
4594
4619
  as: "span",
@@ -4597,9 +4622,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4597
4622
  value: iconBadge
4598
4623
  }
4599
4624
  ) }),
4600
- isFeatureGridItemUploading(index, itemIndex) ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(UploadOverlay, { label: "Uploading image..." }) : null
4625
+ isFeatureGridItemUploading(index, itemIndex) ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(UploadOverlay, { label: "Uploading image..." }) : null
4601
4626
  ] }),
4602
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4627
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4603
4628
  InlineText,
4604
4629
  {
4605
4630
  as: "h3",
@@ -4608,7 +4633,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4608
4633
  value: normalizeText2(itemRecord?.title)
4609
4634
  }
4610
4635
  ),
4611
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4636
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4612
4637
  InlineText,
4613
4638
  {
4614
4639
  as: "p",
@@ -4631,7 +4656,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4631
4656
  `feature-highlight-${index}`
4632
4657
  );
4633
4658
  }
4634
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4659
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4635
4660
  BlockFrame,
4636
4661
  {
4637
4662
  dragIndex,
@@ -4644,8 +4669,8 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4644
4669
  children: renderWithSectionShell(
4645
4670
  block,
4646
4671
  "section",
4647
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
4648
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "section-heading", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4672
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
4673
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "section-heading", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4649
4674
  InlineText,
4650
4675
  {
4651
4676
  as: "h2",
@@ -4654,7 +4679,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4654
4679
  value: normalizeText2(block.title)
4655
4680
  }
4656
4681
  ) }) }),
4657
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4682
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4658
4683
  "div",
4659
4684
  {
4660
4685
  className: "card-grid services",
@@ -4681,7 +4706,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4681
4706
  positionY: itemPositionY
4682
4707
  });
4683
4708
  const isItemSelected = selectedIndex === index && selectedItemIndex === itemIndex;
4684
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4709
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4685
4710
  "article",
4686
4711
  {
4687
4712
  className: "service-card",
@@ -4690,11 +4715,11 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4690
4715
  openSelectedItem(itemIndex);
4691
4716
  },
4692
4717
  style: isItemSelected ? { outline: "2px solid rgba(15, 125, 82, 0.55)", outlineOffset: 3 } : void 0,
4693
- children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "service-body", children: [
4694
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "orion-builder-upload-slot", children: [
4718
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "service-body", children: [
4719
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "orion-builder-upload-slot", children: [
4695
4720
  itemMedia?.url ? (
4696
4721
  // eslint-disable-next-line @next/next/no-img-element
4697
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4722
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4698
4723
  "img",
4699
4724
  {
4700
4725
  alt: itemMedia.alt || normalizeText2(itemRecord?.title, "Feature image"),
@@ -4703,7 +4728,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4703
4728
  style: { ...itemImageStyle, height: itemImageHeight }
4704
4729
  }
4705
4730
  )
4706
- ) : iconType === "lucide" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "service-tag service-tag-icon", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(FeatureLucideIcon, { iconName: iconLucide }) }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "service-tag", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4731
+ ) : iconType === "lucide" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "service-tag service-tag-icon", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(FeatureLucideIcon, { iconName: iconLucide }) }) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "service-tag", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4707
4732
  InlineText,
4708
4733
  {
4709
4734
  as: "span",
@@ -4712,9 +4737,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4712
4737
  value: iconBadge
4713
4738
  }
4714
4739
  ) }),
4715
- isFeatureGridItemUploading(index, itemIndex) ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(UploadOverlay, { label: "Uploading image..." }) : null
4740
+ isFeatureGridItemUploading(index, itemIndex) ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(UploadOverlay, { label: "Uploading image..." }) : null
4716
4741
  ] }),
4717
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4742
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4718
4743
  InlineText,
4719
4744
  {
4720
4745
  as: "h3",
@@ -4723,7 +4748,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4723
4748
  value: normalizeText2(itemRecord?.title)
4724
4749
  }
4725
4750
  ),
4726
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4751
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4727
4752
  InlineText,
4728
4753
  {
4729
4754
  as: "p",
@@ -4748,7 +4773,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4748
4773
  }
4749
4774
  if (type === "stats") {
4750
4775
  const items = Array.isArray(block.items) ? block.items : [];
4751
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4776
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4752
4777
  BlockFrame,
4753
4778
  {
4754
4779
  dragIndex,
@@ -4761,9 +4786,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4761
4786
  children: renderWithSectionShell(
4762
4787
  block,
4763
4788
  "section",
4764
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
4765
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "section-heading", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { children: [
4766
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4789
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
4790
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "section-heading", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
4791
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4767
4792
  InlineText,
4768
4793
  {
4769
4794
  as: "h2",
@@ -4772,7 +4797,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4772
4797
  value: normalizeText2(block.title)
4773
4798
  }
4774
4799
  ),
4775
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4800
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4776
4801
  InlineText,
4777
4802
  {
4778
4803
  as: "p",
@@ -4783,9 +4808,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4783
4808
  }
4784
4809
  )
4785
4810
  ] }) }),
4786
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "orion-stats-grid", children: items.map((item, itemIndex) => {
4811
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "orion-stats-grid", children: items.map((item, itemIndex) => {
4787
4812
  const isItemSelected = selectedIndex === index && selectedItemIndex === itemIndex;
4788
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
4813
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
4789
4814
  "article",
4790
4815
  {
4791
4816
  className: "orion-stat-card",
@@ -4795,7 +4820,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4795
4820
  },
4796
4821
  style: isItemSelected ? { outline: "2px solid rgba(15, 125, 82, 0.55)", outlineOffset: 3 } : void 0,
4797
4822
  children: [
4798
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4823
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4799
4824
  InlineText,
4800
4825
  {
4801
4826
  as: "h3",
@@ -4804,7 +4829,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4804
4829
  value: normalizeText2(item?.value)
4805
4830
  }
4806
4831
  ),
4807
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4832
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4808
4833
  InlineText,
4809
4834
  {
4810
4835
  as: "span",
@@ -4813,7 +4838,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4813
4838
  value: normalizeText2(item?.label)
4814
4839
  }
4815
4840
  ),
4816
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4841
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4817
4842
  InlineText,
4818
4843
  {
4819
4844
  as: "p",
@@ -4836,7 +4861,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4836
4861
  }
4837
4862
  if (type === "logoWall") {
4838
4863
  const items = Array.isArray(block.items) ? block.items : [];
4839
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4864
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4840
4865
  BlockFrame,
4841
4866
  {
4842
4867
  dragIndex,
@@ -4849,9 +4874,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4849
4874
  children: renderWithSectionShell(
4850
4875
  block,
4851
4876
  "section",
4852
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
4853
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "section-heading", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { children: [
4854
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4877
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
4878
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "section-heading", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
4879
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4855
4880
  InlineText,
4856
4881
  {
4857
4882
  as: "h2",
@@ -4860,7 +4885,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4860
4885
  value: normalizeText2(block.title)
4861
4886
  }
4862
4887
  ),
4863
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4888
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4864
4889
  InlineText,
4865
4890
  {
4866
4891
  as: "p",
@@ -4871,7 +4896,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4871
4896
  }
4872
4897
  )
4873
4898
  ] }) }),
4874
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "orion-logo-wall", children: items.map((item, itemIndex) => {
4899
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "orion-logo-wall", children: items.map((item, itemIndex) => {
4875
4900
  const itemRecord = item;
4876
4901
  const media = resolveMedia(itemRecord?.media);
4877
4902
  const imageHeight = parsePixelNumber(itemRecord?.imageHeight, 54);
@@ -4886,7 +4911,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4886
4911
  roundedRadius: 10
4887
4912
  });
4888
4913
  const isItemSelected = selectedIndex === index && selectedItemIndex === itemIndex;
4889
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4914
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4890
4915
  "article",
4891
4916
  {
4892
4917
  className: "orion-logo-wall-item",
@@ -4895,10 +4920,10 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4895
4920
  openSelectedItem(itemIndex);
4896
4921
  },
4897
4922
  style: isItemSelected ? { outline: "2px solid rgba(15, 125, 82, 0.55)", outlineOffset: 3 } : void 0,
4898
- children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "orion-builder-upload-slot", children: [
4923
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "orion-builder-upload-slot", children: [
4899
4924
  media?.url ? (
4900
4925
  // eslint-disable-next-line @next/next/no-img-element
4901
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4926
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4902
4927
  "img",
4903
4928
  {
4904
4929
  alt: media.alt || normalizeText2(itemRecord?.name, "Logo"),
@@ -4907,7 +4932,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4907
4932
  style: { ...imageStyle, height: imageHeight }
4908
4933
  }
4909
4934
  )
4910
- ) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4935
+ ) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4911
4936
  InlineText,
4912
4937
  {
4913
4938
  as: "span",
@@ -4916,7 +4941,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4916
4941
  value: normalizeText2(itemRecord?.name)
4917
4942
  }
4918
4943
  ),
4919
- isLogoWallItemUploading(index, itemIndex) ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(UploadOverlay, { label: "Uploading logo..." }) : null
4944
+ isLogoWallItemUploading(index, itemIndex) ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(UploadOverlay, { label: "Uploading logo..." }) : null
4920
4945
  ] })
4921
4946
  },
4922
4947
  `logo-${itemIndex}`
@@ -4932,7 +4957,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4932
4957
  const items = Array.isArray(block.items) ? block.items : [];
4933
4958
  const itemsPerRowRaw = Math.floor(parsePixelNumber(block.itemsPerRow, 2));
4934
4959
  const itemsPerRow = Math.max(1, Math.min(4, itemsPerRowRaw));
4935
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4960
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4936
4961
  BlockFrame,
4937
4962
  {
4938
4963
  dragIndex,
@@ -4945,9 +4970,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4945
4970
  children: renderWithSectionShell(
4946
4971
  block,
4947
4972
  "section",
4948
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
4949
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "section-heading", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { children: [
4950
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4973
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
4974
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "section-heading", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
4975
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4951
4976
  InlineText,
4952
4977
  {
4953
4978
  as: "h2",
@@ -4956,7 +4981,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4956
4981
  value: normalizeText2(block.title)
4957
4982
  }
4958
4983
  ),
4959
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4984
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4960
4985
  InlineText,
4961
4986
  {
4962
4987
  as: "p",
@@ -4967,7 +4992,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4967
4992
  }
4968
4993
  )
4969
4994
  ] }) }),
4970
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4995
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4971
4996
  "div",
4972
4997
  {
4973
4998
  className: "orion-before-after-grid",
@@ -4992,7 +5017,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
4992
5017
  positionY: itemPositionY
4993
5018
  });
4994
5019
  const isItemSelected = selectedIndex === index && selectedItemIndex === itemIndex;
4995
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
5020
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
4996
5021
  "article",
4997
5022
  {
4998
5023
  className: "orion-before-after-card",
@@ -5002,11 +5027,11 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5002
5027
  },
5003
5028
  style: isItemSelected ? { outline: "2px solid rgba(15, 125, 82, 0.55)", outlineOffset: 3 } : void 0,
5004
5029
  children: [
5005
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "orion-before-after-media", children: [
5006
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("figure", { children: [
5030
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "orion-before-after-media", children: [
5031
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("figure", { children: [
5007
5032
  beforeMedia?.url ? (
5008
5033
  // eslint-disable-next-line @next/next/no-img-element
5009
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5034
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5010
5035
  "img",
5011
5036
  {
5012
5037
  alt: beforeMedia.alt || `${normalizeText2(itemRecord?.label, "Project")} before`,
@@ -5014,14 +5039,14 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5014
5039
  style: { ...imageStyle, height: imageHeight }
5015
5040
  }
5016
5041
  )
5017
- ) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "orion-before-after-placeholder", style: { height: imageHeight }, children: "Before" }),
5018
- isBeforeAfterItemUploading(index, itemIndex, "beforeMedia") ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(UploadOverlay, { label: "Uploading before image..." }) : null,
5019
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("figcaption", { children: "Before" })
5042
+ ) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "orion-before-after-placeholder", style: { height: imageHeight }, children: "Before" }),
5043
+ isBeforeAfterItemUploading(index, itemIndex, "beforeMedia") ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(UploadOverlay, { label: "Uploading before image..." }) : null,
5044
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("figcaption", { children: "Before" })
5020
5045
  ] }),
5021
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("figure", { children: [
5046
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("figure", { children: [
5022
5047
  afterMedia?.url ? (
5023
5048
  // eslint-disable-next-line @next/next/no-img-element
5024
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5049
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5025
5050
  "img",
5026
5051
  {
5027
5052
  alt: afterMedia.alt || `${normalizeText2(itemRecord?.label, "Project")} after`,
@@ -5029,13 +5054,13 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5029
5054
  style: { ...imageStyle, height: imageHeight }
5030
5055
  }
5031
5056
  )
5032
- ) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "orion-before-after-placeholder", style: { height: imageHeight }, children: "After" }),
5033
- isBeforeAfterItemUploading(index, itemIndex, "afterMedia") ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(UploadOverlay, { label: "Uploading after image..." }) : null,
5034
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("figcaption", { children: "After" })
5057
+ ) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "orion-before-after-placeholder", style: { height: imageHeight }, children: "After" }),
5058
+ isBeforeAfterItemUploading(index, itemIndex, "afterMedia") ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(UploadOverlay, { label: "Uploading after image..." }) : null,
5059
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("figcaption", { children: "After" })
5035
5060
  ] })
5036
5061
  ] }),
5037
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "orion-before-after-body", children: [
5038
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5062
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "orion-before-after-body", children: [
5063
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5039
5064
  InlineText,
5040
5065
  {
5041
5066
  as: "h3",
@@ -5044,7 +5069,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5044
5069
  value: normalizeText2(itemRecord?.label)
5045
5070
  }
5046
5071
  ),
5047
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5072
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5048
5073
  InlineText,
5049
5074
  {
5050
5075
  as: "p",
@@ -5081,7 +5106,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5081
5106
  const itemIndex = (offset + slotIndex) % items.length;
5082
5107
  return { item: items[itemIndex], itemIndex };
5083
5108
  }) : items.map((item, itemIndex) => ({ item, itemIndex }));
5084
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5109
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5085
5110
  BlockFrame,
5086
5111
  {
5087
5112
  dragIndex,
@@ -5094,8 +5119,8 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5094
5119
  children: renderWithSectionShell(
5095
5120
  block,
5096
5121
  "section",
5097
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
5098
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "section-heading", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5122
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
5123
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "section-heading", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5099
5124
  InlineText,
5100
5125
  {
5101
5126
  as: "h2",
@@ -5104,8 +5129,8 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5104
5129
  value: normalizeText2(block.title)
5105
5130
  }
5106
5131
  ) }) }),
5107
- shouldWindow ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "testimonials-stage is-navigable", children: [
5108
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5132
+ shouldWindow ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "testimonials-stage is-navigable", children: [
5133
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5109
5134
  "button",
5110
5135
  {
5111
5136
  "aria-label": "Previous testimonials",
@@ -5121,13 +5146,13 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5121
5146
  });
5122
5147
  },
5123
5148
  type: "button",
5124
- children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { "aria-hidden": "true", children: "\u2039" })
5149
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { "aria-hidden": "true", children: "\u2039" })
5125
5150
  }
5126
5151
  ),
5127
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "split testimonials-grid", children: windowedItems.map(({ item, itemIndex }) => {
5152
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "split testimonials-grid", children: windowedItems.map(({ item, itemIndex }) => {
5128
5153
  const isItemSelected = selectedIndex === index && selectedItemIndex === itemIndex;
5129
5154
  const ratingValue = parseTestimonialRating(item?.rating, 5);
5130
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
5155
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
5131
5156
  "article",
5132
5157
  {
5133
5158
  className: "panel",
@@ -5137,14 +5162,14 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5137
5162
  },
5138
5163
  style: isItemSelected ? { outline: "2px solid rgba(15, 125, 82, 0.55)", outlineOffset: 3 } : void 0,
5139
5164
  children: [
5140
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "testimonial-quote-top", children: [
5141
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "testimonial-quote-mark", "aria-hidden": "true", children: "\u201C" }),
5142
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "testimonial-stars", "aria-label": `${ratingValue} out of 5 stars`, role: "img", children: [
5165
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "testimonial-quote-top", children: [
5166
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "testimonial-quote-mark", "aria-hidden": "true", children: "\u201C" }),
5167
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "testimonial-stars", "aria-label": `${ratingValue} out of 5 stars`, role: "img", children: [
5143
5168
  "\u2605".repeat(ratingValue),
5144
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "testimonial-stars-muted", children: "\u2605".repeat(5 - ratingValue) })
5169
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "testimonial-stars-muted", children: "\u2605".repeat(5 - ratingValue) })
5145
5170
  ] })
5146
5171
  ] }),
5147
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("p", { className: "quote testimonial-quote", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5172
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { className: "quote testimonial-quote", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5148
5173
  InlineText,
5149
5174
  {
5150
5175
  as: "span",
@@ -5154,10 +5179,10 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5154
5179
  value: normalizeText2(item?.quote)
5155
5180
  }
5156
5181
  ) }),
5157
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "quote-author", children: [
5158
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "quote-avatar", children: normalizeText2(item?.name, "C").split(" ").slice(0, 2).map((part) => part[0]).join("").toUpperCase() }),
5159
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { children: [
5160
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5182
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "quote-author", children: [
5183
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "quote-avatar", children: normalizeText2(item?.name, "C").split(" ").slice(0, 2).map((part) => part[0]).join("").toUpperCase() }),
5184
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
5185
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5161
5186
  InlineText,
5162
5187
  {
5163
5188
  as: "span",
@@ -5166,7 +5191,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5166
5191
  value: normalizeText2(item?.name)
5167
5192
  }
5168
5193
  ),
5169
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "var(--ink-500)", fontSize: "0.88rem" }, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5194
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "var(--ink-500)", fontSize: "0.88rem" }, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5170
5195
  InlineText,
5171
5196
  {
5172
5197
  as: "span",
@@ -5182,7 +5207,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5182
5207
  `testimonial-${itemIndex}`
5183
5208
  );
5184
5209
  }) }),
5185
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5210
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5186
5211
  "button",
5187
5212
  {
5188
5213
  "aria-label": "Next testimonials",
@@ -5198,13 +5223,13 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5198
5223
  });
5199
5224
  },
5200
5225
  type: "button",
5201
- children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { "aria-hidden": "true", children: "\u203A" })
5226
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { "aria-hidden": "true", children: "\u203A" })
5202
5227
  }
5203
5228
  )
5204
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "split testimonials-grid", children: windowedItems.map(({ item, itemIndex }) => {
5229
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "split testimonials-grid", children: windowedItems.map(({ item, itemIndex }) => {
5205
5230
  const isItemSelected = selectedIndex === index && selectedItemIndex === itemIndex;
5206
5231
  const ratingValue = parseTestimonialRating(item?.rating, 5);
5207
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
5232
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
5208
5233
  "article",
5209
5234
  {
5210
5235
  className: "panel",
@@ -5214,14 +5239,14 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5214
5239
  },
5215
5240
  style: isItemSelected ? { outline: "2px solid rgba(15, 125, 82, 0.55)", outlineOffset: 3 } : void 0,
5216
5241
  children: [
5217
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "testimonial-quote-top", children: [
5218
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "testimonial-quote-mark", "aria-hidden": "true", children: "\u201C" }),
5219
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "testimonial-stars", "aria-label": `${ratingValue} out of 5 stars`, role: "img", children: [
5242
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "testimonial-quote-top", children: [
5243
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "testimonial-quote-mark", "aria-hidden": "true", children: "\u201C" }),
5244
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "testimonial-stars", "aria-label": `${ratingValue} out of 5 stars`, role: "img", children: [
5220
5245
  "\u2605".repeat(ratingValue),
5221
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "testimonial-stars-muted", children: "\u2605".repeat(5 - ratingValue) })
5246
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "testimonial-stars-muted", children: "\u2605".repeat(5 - ratingValue) })
5222
5247
  ] })
5223
5248
  ] }),
5224
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("p", { className: "quote testimonial-quote", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5249
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { className: "quote testimonial-quote", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5225
5250
  InlineText,
5226
5251
  {
5227
5252
  as: "span",
@@ -5231,10 +5256,10 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5231
5256
  value: normalizeText2(item?.quote)
5232
5257
  }
5233
5258
  ) }),
5234
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "quote-author", children: [
5235
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "quote-avatar", children: normalizeText2(item?.name, "C").split(" ").slice(0, 2).map((part) => part[0]).join("").toUpperCase() }),
5236
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { children: [
5237
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5259
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "quote-author", children: [
5260
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "quote-avatar", children: normalizeText2(item?.name, "C").split(" ").slice(0, 2).map((part) => part[0]).join("").toUpperCase() }),
5261
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
5262
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5238
5263
  InlineText,
5239
5264
  {
5240
5265
  as: "span",
@@ -5243,7 +5268,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5243
5268
  value: normalizeText2(item?.name)
5244
5269
  }
5245
5270
  ),
5246
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "var(--ink-500)", fontSize: "0.88rem" }, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5271
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "var(--ink-500)", fontSize: "0.88rem" }, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5247
5272
  InlineText,
5248
5273
  {
5249
5274
  as: "span",
@@ -5267,7 +5292,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5267
5292
  }
5268
5293
  if (type === "faq") {
5269
5294
  const items = Array.isArray(block.items) ? block.items : [];
5270
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5295
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5271
5296
  BlockFrame,
5272
5297
  {
5273
5298
  dragIndex,
@@ -5280,8 +5305,8 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5280
5305
  children: renderWithSectionShell(
5281
5306
  block,
5282
5307
  "section",
5283
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
5284
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "section-heading", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5308
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
5309
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "section-heading", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5285
5310
  InlineText,
5286
5311
  {
5287
5312
  as: "h2",
@@ -5290,8 +5315,8 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5290
5315
  value: normalizeText2(block.title)
5291
5316
  }
5292
5317
  ) }) }),
5293
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "faq-list", children: items.map((item, itemIndex) => /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("details", { className: "faq-item", open: true, children: [
5294
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("summary", { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5318
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "faq-list", children: items.map((item, itemIndex) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("details", { className: "faq-item", open: true, children: [
5319
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("summary", { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5295
5320
  InlineText,
5296
5321
  {
5297
5322
  as: "span",
@@ -5300,7 +5325,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5300
5325
  value: normalizeText2(item?.question)
5301
5326
  }
5302
5327
  ) }),
5303
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5328
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5304
5329
  InlineText,
5305
5330
  {
5306
5331
  as: "p",
@@ -5320,7 +5345,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5320
5345
  if (type === "cta") {
5321
5346
  const ctaStyle = normalizeText2(block.style, "light");
5322
5347
  const backgroundColor = normalizeText2(block.backgroundColor);
5323
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5348
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5324
5349
  BlockFrame,
5325
5350
  {
5326
5351
  dragIndex,
@@ -5333,14 +5358,14 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5333
5358
  children: renderWithSectionShell(
5334
5359
  block,
5335
5360
  "section",
5336
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
5361
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
5337
5362
  "div",
5338
5363
  {
5339
5364
  className: `contact-strip ${ctaStyle === "dark" ? "contact-strip-dark" : ""}`,
5340
5365
  style: backgroundColor ? { background: backgroundColor } : void 0,
5341
5366
  children: [
5342
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { children: [
5343
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5367
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
5368
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5344
5369
  InlineText,
5345
5370
  {
5346
5371
  as: "h3",
@@ -5350,7 +5375,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5350
5375
  value: normalizeText2(block.headline)
5351
5376
  }
5352
5377
  ),
5353
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5378
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5354
5379
  InlineText,
5355
5380
  {
5356
5381
  as: "p",
@@ -5362,7 +5387,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5362
5387
  }
5363
5388
  )
5364
5389
  ] }),
5365
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { className: "btn btn-primary", type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5390
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("button", { className: "btn btn-primary", type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5366
5391
  InlineText,
5367
5392
  {
5368
5393
  as: "span",
@@ -5382,7 +5407,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5382
5407
  if (type === "richText") {
5383
5408
  const width = normalizeText2(block.width, "normal");
5384
5409
  const plainTextValue = extractLexicalText(block.content);
5385
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5410
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5386
5411
  BlockFrame,
5387
5412
  {
5388
5413
  dragIndex,
@@ -5395,8 +5420,8 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5395
5420
  children: renderWithSectionShell(
5396
5421
  block,
5397
5422
  "section",
5398
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: `richtext-wrap ${width === "narrow" ? "narrow" : ""}`, children: [
5399
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5423
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: `richtext-wrap ${width === "narrow" ? "narrow" : ""}`, children: [
5424
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5400
5425
  InlineText,
5401
5426
  {
5402
5427
  as: "h2",
@@ -5405,7 +5430,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5405
5430
  value: normalizeText2(block.title)
5406
5431
  }
5407
5432
  ),
5408
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "richtext-content", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5433
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "richtext-content", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5409
5434
  InlineText,
5410
5435
  {
5411
5436
  as: "p",
@@ -5430,7 +5455,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5430
5455
  fit: normalizeImageFit2(block?.imageFit),
5431
5456
  position: normalizeImagePosition2(block?.imagePosition)
5432
5457
  });
5433
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5458
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5434
5459
  BlockFrame,
5435
5460
  {
5436
5461
  dragIndex,
@@ -5443,11 +5468,11 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5443
5468
  children: renderWithSectionShell(
5444
5469
  block,
5445
5470
  "section",
5446
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("figure", { className: `media-figure ${size === "wide" ? "wide" : ""}`, children: [
5471
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("figure", { className: `media-figure ${size === "wide" ? "wide" : ""}`, children: [
5447
5472
  image?.url ? (
5448
5473
  // eslint-disable-next-line @next/next/no-img-element
5449
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("img", { alt: image.alt || "Page media", src: image.url, style: imageStyle })
5450
- ) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5474
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("img", { alt: image.alt || "Page media", src: image.url, style: imageStyle })
5475
+ ) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5451
5476
  "div",
5452
5477
  {
5453
5478
  style: {
@@ -5460,8 +5485,8 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5460
5485
  children: "No image selected"
5461
5486
  }
5462
5487
  ),
5463
- isBlockUploadTarget(index, "media") ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(UploadOverlay, { label: "Uploading image..." }) : null,
5464
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("figcaption", { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5488
+ isBlockUploadTarget(index, "media") ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(UploadOverlay, { label: "Uploading image..." }) : null,
5489
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("figcaption", { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5465
5490
  InlineText,
5466
5491
  {
5467
5492
  as: "span",
@@ -5477,7 +5502,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5477
5502
  );
5478
5503
  }
5479
5504
  if (type === "formEmbed") {
5480
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5505
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5481
5506
  BlockFrame,
5482
5507
  {
5483
5508
  dragIndex,
@@ -5490,8 +5515,8 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5490
5515
  children: renderWithSectionShell(
5491
5516
  block,
5492
5517
  "section",
5493
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("article", { className: "panel", children: [
5494
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5518
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("article", { className: "panel", children: [
5519
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5495
5520
  InlineText,
5496
5521
  {
5497
5522
  as: "h2",
@@ -5500,7 +5525,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5500
5525
  value: normalizeText2(block.title)
5501
5526
  }
5502
5527
  ),
5503
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5528
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5504
5529
  InlineText,
5505
5530
  {
5506
5531
  as: "p",
@@ -5510,7 +5535,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5510
5535
  value: normalizeText2(block.description)
5511
5536
  }
5512
5537
  ),
5513
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: {
5538
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: {
5514
5539
  border: "1px dashed rgba(19, 33, 28, 0.25)",
5515
5540
  borderRadius: 14,
5516
5541
  color: "#54655f",
@@ -5524,7 +5549,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5524
5549
  );
5525
5550
  }
5526
5551
  if (type === "bookingEmbed") {
5527
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5552
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5528
5553
  BlockFrame,
5529
5554
  {
5530
5555
  dragIndex,
@@ -5537,8 +5562,8 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5537
5562
  children: renderWithSectionShell(
5538
5563
  block,
5539
5564
  "section",
5540
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("article", { className: "panel", children: [
5541
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5565
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("article", { className: "panel", children: [
5566
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5542
5567
  InlineText,
5543
5568
  {
5544
5569
  as: "h2",
@@ -5547,7 +5572,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5547
5572
  value: normalizeText2(block.title)
5548
5573
  }
5549
5574
  ),
5550
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5575
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5551
5576
  InlineText,
5552
5577
  {
5553
5578
  as: "p",
@@ -5557,7 +5582,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5557
5582
  value: normalizeText2(block.description)
5558
5583
  }
5559
5584
  ),
5560
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { className: "button-link btn btn-primary", style: { marginTop: "1rem" }, type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5585
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("button", { className: "button-link btn btn-primary", style: { marginTop: "1rem" }, type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5561
5586
  InlineText,
5562
5587
  {
5563
5588
  as: "span",
@@ -5572,7 +5597,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5572
5597
  `bookingEmbed-${index}`
5573
5598
  );
5574
5599
  }
5575
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5600
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5576
5601
  BlockFrame,
5577
5602
  {
5578
5603
  dragIndex,
@@ -5585,24 +5610,24 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5585
5610
  children: renderWithSectionShell(
5586
5611
  block,
5587
5612
  "section",
5588
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("article", { className: "panel", children: [
5589
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("h3", { children: [
5613
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("article", { className: "panel", children: [
5614
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("h3", { children: [
5590
5615
  "Unsupported block type: ",
5591
5616
  type
5592
5617
  ] }),
5593
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("pre", { style: { overflow: "auto" }, children: JSON.stringify(block, null, 2) })
5618
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("pre", { style: { overflow: "auto" }, children: JSON.stringify(block, null, 2) })
5594
5619
  ] })
5595
5620
  )
5596
5621
  },
5597
5622
  `unknown-${index}`
5598
5623
  );
5599
5624
  }),
5600
- layout.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "container", style: { marginTop: "1.2rem" }, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("article", { className: "panel", children: [
5601
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("h3", { style: { color: "var(--forest-900)" }, children: "No sections yet" }),
5602
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("p", { style: { color: "var(--ink-700)", marginTop: 8 }, children: "Use the right sidebar to apply a starter template or add your first section block." })
5625
+ layout.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "container", style: { marginTop: "1.2rem" }, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("article", { className: "panel", children: [
5626
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("h3", { style: { color: "var(--forest-900)" }, children: "No sections yet" }),
5627
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { style: { color: "var(--ink-700)", marginTop: 8 }, children: "Use the right sidebar to apply a starter template or add your first section block." })
5603
5628
  ] }) }) : null
5604
5629
  ] }),
5605
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5630
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5606
5631
  "aside",
5607
5632
  {
5608
5633
  style: {
@@ -5612,7 +5637,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5612
5637
  top: 12,
5613
5638
  zIndex: 60
5614
5639
  },
5615
- children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
5640
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
5616
5641
  "div",
5617
5642
  {
5618
5643
  style: {
@@ -5625,7 +5650,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5625
5650
  width: sidebarOpen ? 340 : 52
5626
5651
  },
5627
5652
  children: [
5628
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5653
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5629
5654
  "button",
5630
5655
  {
5631
5656
  onClick: () => setSidebarOpen((open) => !open),
@@ -5644,10 +5669,10 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5644
5669
  width: "100%"
5645
5670
  },
5646
5671
  type: "button",
5647
- children: sidebarOpen ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
5648
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { children: "Sections & Settings" }),
5649
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { children: "Collapse" })
5650
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { children: "+" })
5672
+ children: sidebarOpen ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
5673
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { children: "Sections & Settings" }),
5674
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { children: "Collapse" })
5675
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { children: "+" })
5651
5676
  }
5652
5677
  ),
5653
5678
  (() => {
@@ -5659,7 +5684,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5659
5684
  const isActive = activeSidebarPanel === panel.key;
5660
5685
  const iconFill = isActive ? "#ffffff" : "#124a37";
5661
5686
  const iconButtonBg = isActive ? "#124a37" : "rgba(18, 74, 55, 0.08)";
5662
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
5687
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
5663
5688
  "button",
5664
5689
  {
5665
5690
  "aria-label": panel.label,
@@ -5678,22 +5703,22 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5678
5703
  title: panel.label,
5679
5704
  type: "button",
5680
5705
  children: [
5681
- panel.key === "pageDefaults" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("svg", { fill: "none", height: "18", viewBox: "0 0 24 24", width: "18", children: [
5682
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { height: "14", rx: "2", stroke: iconFill, strokeWidth: "2", width: "18", x: "3", y: "5" }),
5683
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M9 5v14", stroke: iconFill, strokeWidth: "2" })
5706
+ panel.key === "pageDefaults" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("svg", { fill: "none", height: "18", viewBox: "0 0 24 24", width: "18", children: [
5707
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("rect", { height: "14", rx: "2", stroke: iconFill, strokeWidth: "2", width: "18", x: "3", y: "5" }),
5708
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("path", { d: "M9 5v14", stroke: iconFill, strokeWidth: "2" })
5684
5709
  ] }) : null,
5685
- panel.key === "addSections" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("svg", { fill: "none", height: "18", viewBox: "0 0 24 24", width: "18", children: [
5686
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 5v14", stroke: iconFill, strokeWidth: "2", strokeLinecap: "round" }),
5687
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M5 12h14", stroke: iconFill, strokeWidth: "2", strokeLinecap: "round" })
5710
+ panel.key === "addSections" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("svg", { fill: "none", height: "18", viewBox: "0 0 24 24", width: "18", children: [
5711
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("path", { d: "M12 5v14", stroke: iconFill, strokeWidth: "2", strokeLinecap: "round" }),
5712
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("path", { d: "M5 12h14", stroke: iconFill, strokeWidth: "2", strokeLinecap: "round" })
5688
5713
  ] }) : null,
5689
- panel.key === "selected" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { fill: "none", height: "18", viewBox: "0 0 24 24", width: "18", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M6 3l12 9-7 2-2 7-3-18z", fill: iconFill, opacity: "0.92" }) }) : null
5714
+ panel.key === "selected" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("svg", { fill: "none", height: "18", viewBox: "0 0 24 24", width: "18", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("path", { d: "M6 3l12 9-7 2-2 7-3-18z", fill: iconFill, opacity: "0.92" }) }) : null
5690
5715
  ]
5691
5716
  },
5692
5717
  panel.key
5693
5718
  );
5694
5719
  });
5695
- return sidebarOpen ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { display: "grid", gridTemplateRows: "auto 1fr", maxHeight: "calc(100vh - 90px)", overflow: "hidden" }, children: [
5696
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
5720
+ return sidebarOpen ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "grid", gridTemplateRows: "auto 1fr", maxHeight: "calc(100vh - 90px)", overflow: "hidden" }, children: [
5721
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
5697
5722
  "div",
5698
5723
  {
5699
5724
  style: {
@@ -5706,7 +5731,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5706
5731
  },
5707
5732
  children: [
5708
5733
  tabs,
5709
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5734
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5710
5735
  "button",
5711
5736
  {
5712
5737
  onClick: () => setSettingsPanelV2Override((current) => current === false ? true : false),
@@ -5731,11 +5756,11 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5731
5756
  ]
5732
5757
  }
5733
5758
  ),
5734
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { display: "grid", overflowY: "auto", padding: 12 }, children: [
5735
- activeSidebarPanel === "pageDefaults" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("section", { style: sidebarSectionStyle, children: [
5736
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { alignItems: "center", display: "flex", justifyContent: "space-between" }, children: [
5737
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { fontSize: 13, fontWeight: 800 }, children: "Page Defaults" }),
5738
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5759
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "grid", overflowY: "auto", padding: 12 }, children: [
5760
+ activeSidebarPanel === "pageDefaults" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("section", { style: sidebarSectionStyle, children: [
5761
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { alignItems: "center", display: "flex", justifyContent: "space-between" }, children: [
5762
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { fontSize: 13, fontWeight: 800 }, children: "Page Defaults" }),
5763
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5739
5764
  "button",
5740
5765
  {
5741
5766
  onClick: collapseSidebar,
@@ -5753,10 +5778,10 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5753
5778
  }
5754
5779
  )
5755
5780
  ] }),
5756
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { display: "grid", gap: 8, marginTop: 10 }, children: [
5757
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
5781
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "grid", gap: 8, marginTop: 10 }, children: [
5782
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
5758
5783
  "Default Page Width",
5759
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
5784
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
5760
5785
  "select",
5761
5786
  {
5762
5787
  onChange: (event) => setPageDefaults((current) => ({
@@ -5766,15 +5791,15 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5766
5791
  style: sidebarInputStyle,
5767
5792
  value: pageDefaults.pageWidthDefault,
5768
5793
  children: [
5769
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "content", children: "Content" }),
5770
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "wide", children: "Wide" }),
5771
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "full", children: "Full" })
5794
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "content", children: "Content" }),
5795
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "wide", children: "Wide" }),
5796
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "full", children: "Full" })
5772
5797
  ]
5773
5798
  }
5774
5799
  )
5775
5800
  ] }),
5776
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 11 }, children: "Applies when section/content width is set to inherit." }),
5777
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5801
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 11 }, children: "Applies when section/content width is set to inherit." }),
5802
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5778
5803
  "div",
5779
5804
  {
5780
5805
  style: {
@@ -5789,9 +5814,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5789
5814
  children: "Theme (Page Overrides)"
5790
5815
  }
5791
5816
  ),
5792
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
5817
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
5793
5818
  "Accent Color",
5794
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5819
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5795
5820
  "input",
5796
5821
  {
5797
5822
  onChange: (event) => setPageDefaults((current) => ({
@@ -5804,9 +5829,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5804
5829
  }
5805
5830
  )
5806
5831
  ] }),
5807
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
5832
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
5808
5833
  "Heading Text Color",
5809
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5834
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5810
5835
  "input",
5811
5836
  {
5812
5837
  onChange: (event) => setPageDefaults((current) => ({
@@ -5819,9 +5844,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5819
5844
  }
5820
5845
  )
5821
5846
  ] }),
5822
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
5847
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
5823
5848
  "Body Text Color",
5824
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5849
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5825
5850
  "input",
5826
5851
  {
5827
5852
  onChange: (event) => setPageDefaults((current) => ({
@@ -5834,9 +5859,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5834
5859
  }
5835
5860
  )
5836
5861
  ] }),
5837
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
5862
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
5838
5863
  "Panel Radius (px)",
5839
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5864
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5840
5865
  "input",
5841
5866
  {
5842
5867
  max: 40,
@@ -5857,10 +5882,10 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5857
5882
  ] })
5858
5883
  ] })
5859
5884
  ] }) : null,
5860
- activeSidebarPanel === "addSections" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("section", { style: sidebarSectionStyle, children: [
5861
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { alignItems: "center", display: "flex", justifyContent: "space-between" }, children: [
5862
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { fontSize: 13, fontWeight: 800 }, children: "Add Sections" }),
5863
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5885
+ activeSidebarPanel === "addSections" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("section", { style: sidebarSectionStyle, children: [
5886
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { alignItems: "center", display: "flex", justifyContent: "space-between" }, children: [
5887
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { fontSize: 13, fontWeight: 800 }, children: "Add Sections" }),
5888
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5864
5889
  "button",
5865
5890
  {
5866
5891
  onClick: collapseSidebar,
@@ -5878,8 +5903,8 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5878
5903
  }
5879
5904
  )
5880
5905
  ] }),
5881
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { display: "grid", gap: 10, marginTop: 10 }, children: [
5882
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
5906
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "grid", gap: 10, marginTop: 10 }, children: [
5907
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
5883
5908
  "button",
5884
5909
  {
5885
5910
  onClick: applyTemplateStarter,
@@ -5901,8 +5926,8 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5901
5926
  ]
5902
5927
  }
5903
5928
  ),
5904
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { display: "grid", gap: 8 }, children: [
5905
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5929
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "grid", gap: 8 }, children: [
5930
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5906
5931
  "input",
5907
5932
  {
5908
5933
  onChange: (event) => setPresetQuery(event.target.value),
@@ -5912,7 +5937,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5912
5937
  value: presetQuery
5913
5938
  }
5914
5939
  ),
5915
- filteredSectionPresets.map((preset) => /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
5940
+ filteredSectionPresets.map((preset) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
5916
5941
  "button",
5917
5942
  {
5918
5943
  onClick: () => addSectionPreset(preset.blocks),
@@ -5927,17 +5952,17 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5927
5952
  },
5928
5953
  type: "button",
5929
5954
  children: [
5930
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { style: { fontSize: 12, fontWeight: 700 }, children: preset.title }),
5931
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { style: { color: "var(--ink-700)", fontSize: 11 }, children: preset.description })
5955
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { fontSize: 12, fontWeight: 700 }, children: preset.title }),
5956
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { color: "var(--ink-700)", fontSize: 11 }, children: preset.description })
5932
5957
  ]
5933
5958
  },
5934
5959
  preset.id
5935
5960
  )),
5936
- filteredSectionPresets.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 11 }, children: "No presets match this search." }) : null
5961
+ filteredSectionPresets.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 11 }, children: "No presets match this search." }) : null
5937
5962
  ] }),
5938
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { borderTop: "1px solid rgba(13, 74, 55, 0.12)", marginTop: 2, paddingTop: 10 }, children: [
5939
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 11, fontWeight: 800, textTransform: "uppercase" }, children: "Quick Add Blocks" }),
5940
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { display: "grid", gap: 6, gridTemplateColumns: "1fr 1fr", marginTop: 8 }, children: quickAddBlockTypes.map((type) => /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
5963
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { borderTop: "1px solid rgba(13, 74, 55, 0.12)", marginTop: 2, paddingTop: 10 }, children: [
5964
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 11, fontWeight: 800, textTransform: "uppercase" }, children: "Quick Add Blocks" }),
5965
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { display: "grid", gap: 6, gridTemplateColumns: "1fr 1fr", marginTop: 8 }, children: quickAddBlockTypes.map((type) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
5941
5966
  "button",
5942
5967
  {
5943
5968
  onClick: () => addBlockByType(type),
@@ -5960,13 +5985,13 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5960
5985
  ] })
5961
5986
  ] })
5962
5987
  ] }) : null,
5963
- activeSidebarPanel === "selected" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("section", { style: sidebarSectionStyle, children: [
5964
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { alignItems: "center", display: "flex", justifyContent: "space-between" }, children: [
5965
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { fontSize: 13, fontWeight: 800 }, children: [
5988
+ activeSidebarPanel === "selected" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("section", { style: sidebarSectionStyle, children: [
5989
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { alignItems: "center", display: "flex", justifyContent: "space-between" }, children: [
5990
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { fontSize: 13, fontWeight: 800 }, children: [
5966
5991
  "Selected Section ",
5967
5992
  selectedIndex !== null ? `#${selectedIndex + 1}` : ""
5968
5993
  ] }),
5969
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
5994
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5970
5995
  "button",
5971
5996
  {
5972
5997
  onClick: collapseSidebar,
@@ -5984,10 +6009,10 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5984
6009
  }
5985
6010
  )
5986
6011
  ] }),
5987
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { display: "grid", gap: 8, marginTop: 10 }, children: selectedBlock ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
5988
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 12, fontWeight: 600 }, children: blockTypeLabels[selectedType] || selectedType }),
5989
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { display: "flex", flexWrap: "wrap", gap: 6 }, children: [
5990
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6012
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { display: "grid", gap: 8, marginTop: 10 }, children: selectedBlock ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
6013
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 12, fontWeight: 600 }, children: blockTypeLabels[selectedType] || selectedType }),
6014
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "flex", flexWrap: "wrap", gap: 6 }, children: [
6015
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5991
6016
  "button",
5992
6017
  {
5993
6018
  disabled: selectedIndex === null || selectedIndex <= 0,
@@ -5997,7 +6022,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
5997
6022
  children: "Move Up"
5998
6023
  }
5999
6024
  ),
6000
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6025
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6001
6026
  "button",
6002
6027
  {
6003
6028
  disabled: selectedIndex === null || selectedIndex >= layout.length - 1,
@@ -6007,7 +6032,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6007
6032
  children: "Move Down"
6008
6033
  }
6009
6034
  ),
6010
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6035
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6011
6036
  "button",
6012
6037
  {
6013
6038
  onClick: duplicateSelectedBlock,
@@ -6016,7 +6041,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6016
6041
  children: "Duplicate"
6017
6042
  }
6018
6043
  ),
6019
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6044
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6020
6045
  "button",
6021
6046
  {
6022
6047
  onClick: removeSelectedBlock,
@@ -6034,8 +6059,8 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6034
6059
  }
6035
6060
  )
6036
6061
  ] }),
6037
- v2InspectorEnabledForSelected ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
6038
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6062
+ v2InspectorEnabledForSelected ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
6063
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6039
6064
  BlockInspectorRenderer,
6040
6065
  {
6041
6066
  block: selectedBlock,
@@ -6048,7 +6073,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6048
6073
  searchQuery: settingsSearchQuery
6049
6074
  }
6050
6075
  ),
6051
- isArrayItemBlockSelected ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6076
+ isArrayItemBlockSelected ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6052
6077
  ArrayItemsEditor,
6053
6078
  {
6054
6079
  blockType: selectedType,
@@ -6071,84 +6096,84 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6071
6096
  uploadDisabled: uploadingTarget !== null
6072
6097
  }
6073
6098
  ) : null
6074
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
6075
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { color: "var(--ink-700)", fontSize: 11 }, children: [
6099
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
6100
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { color: "var(--ink-700)", fontSize: 11 }, children: [
6076
6101
  "Section width follows ",
6077
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("strong", { children: "Page Defaults" }),
6102
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("strong", { children: "Page Defaults" }),
6078
6103
  " for a consistent page layout."
6079
6104
  ] }),
6080
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6105
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6081
6106
  "Content Width",
6082
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6107
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6083
6108
  "select",
6084
6109
  {
6085
6110
  onChange: (event) => setSelectedStyleField("contentWidth", event.target.value),
6086
6111
  style: sidebarInputStyle,
6087
6112
  value: normalizeText2(selectedSectionStyle.contentWidth, "inherit"),
6088
6113
  children: [
6089
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "inherit", children: "Inherit Page Default" }),
6090
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "narrow", children: "Narrow" }),
6091
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "content", children: "Content" }),
6092
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "wide", children: "Wide" }),
6093
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "full", children: "Full" })
6114
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "inherit", children: "Inherit Page Default" }),
6115
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "narrow", children: "Narrow" }),
6116
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "content", children: "Content" }),
6117
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "wide", children: "Wide" }),
6118
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "full", children: "Full" })
6094
6119
  ]
6095
6120
  }
6096
6121
  )
6097
6122
  ] }),
6098
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6123
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6099
6124
  "Section Vertical Spacing",
6100
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6125
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6101
6126
  "select",
6102
6127
  {
6103
6128
  onChange: (event) => setSelectedStyleField("sectionPaddingY", event.target.value),
6104
6129
  style: sidebarInputStyle,
6105
6130
  value: normalizeText2(selectedSectionStyle.sectionPaddingY, "md"),
6106
6131
  children: [
6107
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "none", children: "None" }),
6108
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "sm", children: "Small" }),
6109
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "md", children: "Medium" }),
6110
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "lg", children: "Large" })
6132
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "none", children: "None" }),
6133
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "sm", children: "Small" }),
6134
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "md", children: "Medium" }),
6135
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "lg", children: "Large" })
6111
6136
  ]
6112
6137
  }
6113
6138
  )
6114
6139
  ] }),
6115
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6140
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6116
6141
  "Section Horizontal Spacing",
6117
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6142
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6118
6143
  "select",
6119
6144
  {
6120
6145
  onChange: (event) => setSelectedStyleField("sectionPaddingX", event.target.value),
6121
6146
  style: sidebarInputStyle,
6122
6147
  value: normalizeText2(selectedSectionStyle.sectionPaddingX, "inherit"),
6123
6148
  children: [
6124
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "inherit", children: "Inherit (Edge-to-Edge on Full Width)" }),
6125
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "none", children: "None" }),
6126
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "sm", children: "Small" }),
6127
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "md", children: "Medium" }),
6128
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "lg", children: "Large" })
6149
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "inherit", children: "Inherit (Edge-to-Edge on Full Width)" }),
6150
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "none", children: "None" }),
6151
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "sm", children: "Small" }),
6152
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "md", children: "Medium" }),
6153
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "lg", children: "Large" })
6129
6154
  ]
6130
6155
  }
6131
6156
  )
6132
6157
  ] }),
6133
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6158
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6134
6159
  "Section Background",
6135
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6160
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6136
6161
  "select",
6137
6162
  {
6138
6163
  onChange: (event) => setSelectedStyleField("sectionBackgroundMode", event.target.value),
6139
6164
  style: sidebarInputStyle,
6140
6165
  value: normalizeText2(selectedSectionStyle.sectionBackgroundMode, "none"),
6141
6166
  children: [
6142
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "none", children: "None" }),
6143
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "color", children: "Color" }),
6144
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "gradient", children: "Gradient" })
6167
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "none", children: "None" }),
6168
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "color", children: "Color" }),
6169
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "gradient", children: "Gradient" })
6145
6170
  ]
6146
6171
  }
6147
6172
  )
6148
6173
  ] }),
6149
- normalizeText2(selectedSectionStyle.sectionBackgroundMode, "none") === "color" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6174
+ normalizeText2(selectedSectionStyle.sectionBackgroundMode, "none") === "color" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6150
6175
  "Section Background Color",
6151
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6176
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6152
6177
  "input",
6153
6178
  {
6154
6179
  onChange: (event) => setSelectedStyleField("sectionBackgroundColor", event.target.value),
@@ -6158,23 +6183,23 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6158
6183
  }
6159
6184
  )
6160
6185
  ] }) : null,
6161
- normalizeText2(selectedSectionStyle.sectionBackgroundMode, "none") === "gradient" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
6162
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6186
+ normalizeText2(selectedSectionStyle.sectionBackgroundMode, "none") === "gradient" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
6187
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6163
6188
  "Section Gradient Preset",
6164
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6189
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6165
6190
  "select",
6166
6191
  {
6167
6192
  onChange: (event) => applyGradientPreset("section", event.target.value),
6168
6193
  style: sidebarInputStyle,
6169
6194
  value: normalizeText2(selectedSectionStyle.sectionGradientPreset, "forest"),
6170
- children: Object.keys(gradientPresetPairs).map((preset) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: preset, children: preset }, preset))
6195
+ children: Object.keys(gradientPresetPairs).map((preset) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: preset, children: preset }, preset))
6171
6196
  }
6172
6197
  )
6173
6198
  ] }),
6174
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { display: "grid", gap: 6, gridTemplateColumns: "1fr 1fr" }, children: [
6175
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6199
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "grid", gap: 6, gridTemplateColumns: "1fr 1fr" }, children: [
6200
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6176
6201
  "From",
6177
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6202
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6178
6203
  "input",
6179
6204
  {
6180
6205
  onChange: (event) => setSelectedStyleField("sectionGradientFrom", event.target.value),
@@ -6184,9 +6209,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6184
6209
  }
6185
6210
  )
6186
6211
  ] }),
6187
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6212
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6188
6213
  "To",
6189
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6214
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6190
6215
  "input",
6191
6216
  {
6192
6217
  onChange: (event) => setSelectedStyleField("sectionGradientTo", event.target.value),
@@ -6197,9 +6222,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6197
6222
  )
6198
6223
  ] })
6199
6224
  ] }),
6200
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6225
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6201
6226
  "Angle",
6202
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6227
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6203
6228
  "input",
6204
6229
  {
6205
6230
  max: 360,
@@ -6212,25 +6237,25 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6212
6237
  )
6213
6238
  ] })
6214
6239
  ] }) : null,
6215
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6240
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6216
6241
  "Content Background",
6217
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6242
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6218
6243
  "select",
6219
6244
  {
6220
6245
  onChange: (event) => setSelectedStyleField("contentBackgroundMode", event.target.value),
6221
6246
  style: sidebarInputStyle,
6222
6247
  value: normalizeText2(selectedSectionStyle.contentBackgroundMode, "none"),
6223
6248
  children: [
6224
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "none", children: "None" }),
6225
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "color", children: "Color" }),
6226
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "gradient", children: "Gradient" })
6249
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "none", children: "None" }),
6250
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "color", children: "Color" }),
6251
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "gradient", children: "Gradient" })
6227
6252
  ]
6228
6253
  }
6229
6254
  )
6230
6255
  ] }),
6231
- normalizeText2(selectedSectionStyle.contentBackgroundMode, "none") === "color" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6256
+ normalizeText2(selectedSectionStyle.contentBackgroundMode, "none") === "color" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6232
6257
  "Content Background Color",
6233
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6258
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6234
6259
  "input",
6235
6260
  {
6236
6261
  onChange: (event) => setSelectedStyleField("contentBackgroundColor", event.target.value),
@@ -6240,23 +6265,23 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6240
6265
  }
6241
6266
  )
6242
6267
  ] }) : null,
6243
- normalizeText2(selectedSectionStyle.contentBackgroundMode, "none") === "gradient" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
6244
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6268
+ normalizeText2(selectedSectionStyle.contentBackgroundMode, "none") === "gradient" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
6269
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6245
6270
  "Content Gradient Preset",
6246
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6271
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6247
6272
  "select",
6248
6273
  {
6249
6274
  onChange: (event) => applyGradientPreset("content", event.target.value),
6250
6275
  style: sidebarInputStyle,
6251
6276
  value: normalizeText2(selectedSectionStyle.contentGradientPreset, "none"),
6252
- children: Object.keys(gradientPresetPairs).map((preset) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: preset, children: preset }, preset))
6277
+ children: Object.keys(gradientPresetPairs).map((preset) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: preset, children: preset }, preset))
6253
6278
  }
6254
6279
  )
6255
6280
  ] }),
6256
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { display: "grid", gap: 6, gridTemplateColumns: "1fr 1fr" }, children: [
6257
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6281
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "grid", gap: 6, gridTemplateColumns: "1fr 1fr" }, children: [
6282
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6258
6283
  "From",
6259
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6284
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6260
6285
  "input",
6261
6286
  {
6262
6287
  onChange: (event) => setSelectedStyleField("contentGradientFrom", event.target.value),
@@ -6266,9 +6291,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6266
6291
  }
6267
6292
  )
6268
6293
  ] }),
6269
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6294
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6270
6295
  "To",
6271
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6296
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6272
6297
  "input",
6273
6298
  {
6274
6299
  onChange: (event) => setSelectedStyleField("contentGradientTo", event.target.value),
@@ -6279,9 +6304,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6279
6304
  )
6280
6305
  ] })
6281
6306
  ] }),
6282
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6307
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6283
6308
  "Angle",
6284
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6309
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6285
6310
  "input",
6286
6311
  {
6287
6312
  max: 360,
@@ -6294,59 +6319,59 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6294
6319
  )
6295
6320
  ] })
6296
6321
  ] }) : null,
6297
- selectedType === "hero" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
6298
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6322
+ selectedType === "hero" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
6323
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6299
6324
  "Variant",
6300
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6325
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6301
6326
  "select",
6302
6327
  {
6303
6328
  onChange: (event) => updateSelectedField("variant", event.target.value),
6304
6329
  style: sidebarInputStyle,
6305
6330
  value: normalizeText2(selectedBlock.variant, "default"),
6306
6331
  children: [
6307
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "default", children: "Default" }),
6308
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "centered", children: "Centered" })
6332
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "default", children: "Default" }),
6333
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "centered", children: "Centered" })
6309
6334
  ]
6310
6335
  }
6311
6336
  )
6312
6337
  ] }),
6313
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6338
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6314
6339
  "Hero Height",
6315
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6340
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6316
6341
  "select",
6317
6342
  {
6318
6343
  onChange: (event) => updateSelectedField("heroHeight", event.target.value),
6319
6344
  style: sidebarInputStyle,
6320
6345
  value: normalizeHeroHeight(selectedBlock.heroHeight),
6321
6346
  children: [
6322
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "sm", children: "Small" }),
6323
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "md", children: "Medium (Half Screen)" }),
6324
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "full", children: "Full Screen" })
6347
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "sm", children: "Small" }),
6348
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "md", children: "Medium (Half Screen)" }),
6349
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "full", children: "Full Screen" })
6325
6350
  ]
6326
6351
  }
6327
6352
  )
6328
6353
  ] }),
6329
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { ...sidebarSectionStyle, display: "grid", gap: 8 }, children: [
6330
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 12, fontWeight: 600 }, children: "Hero Image" }),
6331
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 12 }, children: selectedHeroMedia ? `${selectedHeroMedia.filename || `Media #${selectedHeroMedia.id}`}${selectedHeroMedia.alt ? ` (${selectedHeroMedia.alt})` : ""}` : "No image selected." }),
6332
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6354
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { ...sidebarSectionStyle, display: "grid", gap: 8 }, children: [
6355
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 12, fontWeight: 600 }, children: "Hero Image" }),
6356
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 12 }, children: selectedHeroMedia ? `${selectedHeroMedia.filename || `Media #${selectedHeroMedia.id}`}${selectedHeroMedia.alt ? ` (${selectedHeroMedia.alt})` : ""}` : "No image selected." }),
6357
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6333
6358
  "Choose from Media Library",
6334
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6359
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6335
6360
  "select",
6336
6361
  {
6337
6362
  onChange: (event) => setHeroMediaFromLibrary(event.target.value),
6338
6363
  style: sidebarInputStyle,
6339
6364
  value: selectedHeroMediaID,
6340
6365
  children: [
6341
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "", children: "No image" }),
6342
- mediaLibrary.map((item) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: String(item.id), children: mediaLabel2(item) }, String(item.id)))
6366
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "", children: "No image" }),
6367
+ mediaLibrary.map((item) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: String(item.id), children: mediaLabel2(item) }, String(item.id)))
6343
6368
  ]
6344
6369
  }
6345
6370
  )
6346
6371
  ] }),
6347
- mediaLibraryLoading ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 11 }, children: "Loading media library..." }) : null,
6348
- mediaLibraryError ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "#8d1d1d", fontSize: 11 }, children: mediaLibraryError }) : null,
6349
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6372
+ mediaLibraryLoading ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 11 }, children: "Loading media library..." }) : null,
6373
+ mediaLibraryError ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "#8d1d1d", fontSize: 11 }, children: mediaLibraryError }) : null,
6374
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6350
6375
  "button",
6351
6376
  {
6352
6377
  disabled: !selectedHeroMedia && !selectedHeroMediaID,
@@ -6361,9 +6386,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6361
6386
  children: "Remove Hero Image"
6362
6387
  }
6363
6388
  ),
6364
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6389
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6365
6390
  "Upload Hero Background Image",
6366
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6391
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6367
6392
  "input",
6368
6393
  {
6369
6394
  accept: "image/*",
@@ -6380,24 +6405,24 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6380
6405
  }
6381
6406
  )
6382
6407
  ] }),
6383
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6408
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6384
6409
  "Image Fit",
6385
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6410
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6386
6411
  "select",
6387
6412
  {
6388
6413
  onChange: (event) => updateSelectedField("backgroundImageFit", event.target.value),
6389
6414
  style: sidebarInputStyle,
6390
6415
  value: normalizeHeroImageFit(selectedBlock.backgroundImageFit),
6391
6416
  children: [
6392
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "cover", children: "Cover" }),
6393
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "contain", children: "Contain" })
6417
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "cover", children: "Cover" }),
6418
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "contain", children: "Contain" })
6394
6419
  ]
6395
6420
  }
6396
6421
  )
6397
6422
  ] }),
6398
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6423
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6399
6424
  "Image Corners",
6400
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6425
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6401
6426
  "select",
6402
6427
  {
6403
6428
  onChange: (event) => updateSelectedField("backgroundImageCornerStyle", event.target.value),
@@ -6407,53 +6432,53 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6407
6432
  selectedBlock.backgroundImageFit
6408
6433
  ),
6409
6434
  children: [
6410
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "rounded", children: "Rounded" }),
6411
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "square", children: "Square" })
6435
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "rounded", children: "Rounded" }),
6436
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "square", children: "Square" })
6412
6437
  ]
6413
6438
  }
6414
6439
  )
6415
6440
  ] }),
6416
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6441
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6417
6442
  "Image Position",
6418
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6443
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6419
6444
  "select",
6420
6445
  {
6421
6446
  onChange: (event) => updateSelectedField("backgroundImagePosition", event.target.value),
6422
6447
  style: sidebarInputStyle,
6423
6448
  value: normalizeHeroImagePosition(selectedBlock.backgroundImagePosition),
6424
6449
  children: [
6425
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "center", children: "Center" }),
6426
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "top", children: "Top" }),
6427
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "bottom", children: "Bottom" }),
6428
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "left", children: "Left" }),
6429
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "right", children: "Right" })
6450
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "center", children: "Center" }),
6451
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "top", children: "Top" }),
6452
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "bottom", children: "Bottom" }),
6453
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "left", children: "Left" }),
6454
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "right", children: "Right" })
6430
6455
  ]
6431
6456
  }
6432
6457
  )
6433
6458
  ] })
6434
6459
  ] }),
6435
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { ...sidebarSectionStyle, display: "grid", gap: 8 }, children: [
6436
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 12, fontWeight: 600 }, children: "Hero Overlay" }),
6437
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6460
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { ...sidebarSectionStyle, display: "grid", gap: 8 }, children: [
6461
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 12, fontWeight: 600 }, children: "Hero Overlay" }),
6462
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6438
6463
  "Overlay Type",
6439
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6464
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6440
6465
  "select",
6441
6466
  {
6442
6467
  onChange: (event) => updateSelectedField("backgroundOverlayMode", event.target.value),
6443
6468
  style: sidebarInputStyle,
6444
6469
  value: normalizeText2(selectedBlock.backgroundOverlayMode, "none"),
6445
6470
  children: [
6446
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "none", children: "None" }),
6447
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "solid", children: "Solid" }),
6448
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "gradient", children: "Gradient" })
6471
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "none", children: "None" }),
6472
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "solid", children: "Solid" }),
6473
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "gradient", children: "Gradient" })
6449
6474
  ]
6450
6475
  }
6451
6476
  )
6452
6477
  ] }),
6453
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6478
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6454
6479
  "Opacity (%)",
6455
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { alignItems: "center", display: "grid", gap: 8, gridTemplateColumns: "1fr 90px" }, children: [
6456
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6480
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { alignItems: "center", display: "grid", gap: 8, gridTemplateColumns: "1fr 90px" }, children: [
6481
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6457
6482
  "input",
6458
6483
  {
6459
6484
  max: 100,
@@ -6463,7 +6488,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6463
6488
  value: parsePercentNumber(selectedBlock.backgroundOverlayOpacity, 45)
6464
6489
  }
6465
6490
  ),
6466
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6491
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6467
6492
  "input",
6468
6493
  {
6469
6494
  max: 100,
@@ -6479,9 +6504,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6479
6504
  )
6480
6505
  ] })
6481
6506
  ] }),
6482
- normalizeText2(selectedBlock.backgroundOverlayMode, "none") === "solid" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6507
+ normalizeText2(selectedBlock.backgroundOverlayMode, "none") === "solid" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6483
6508
  "Overlay Color",
6484
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6509
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6485
6510
  "input",
6486
6511
  {
6487
6512
  onChange: (event) => updateSelectedField("backgroundOverlayColor", event.target.value),
@@ -6491,11 +6516,11 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6491
6516
  }
6492
6517
  )
6493
6518
  ] }) : null,
6494
- normalizeText2(selectedBlock.backgroundOverlayMode, "none") === "gradient" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
6495
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { display: "grid", gap: 6, gridTemplateColumns: "1fr 1fr" }, children: [
6496
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6519
+ normalizeText2(selectedBlock.backgroundOverlayMode, "none") === "gradient" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
6520
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "grid", gap: 6, gridTemplateColumns: "1fr 1fr" }, children: [
6521
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6497
6522
  "From",
6498
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6523
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6499
6524
  "input",
6500
6525
  {
6501
6526
  onChange: (event) => updateSelectedField("backgroundOverlayGradientFrom", event.target.value),
@@ -6505,9 +6530,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6505
6530
  }
6506
6531
  )
6507
6532
  ] }),
6508
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6533
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6509
6534
  "To",
6510
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6535
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6511
6536
  "input",
6512
6537
  {
6513
6538
  onChange: (event) => updateSelectedField("backgroundOverlayGradientTo", event.target.value),
@@ -6518,10 +6543,10 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6518
6543
  )
6519
6544
  ] })
6520
6545
  ] }),
6521
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { display: "grid", gap: 6, gridTemplateColumns: "1fr 1fr" }, children: [
6522
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6546
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { display: "grid", gap: 6, gridTemplateColumns: "1fr 1fr" }, children: [
6547
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6523
6548
  "From Strength (%)",
6524
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6549
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6525
6550
  "div",
6526
6551
  {
6527
6552
  style: {
@@ -6531,7 +6556,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6531
6556
  gridTemplateColumns: "1fr 70px"
6532
6557
  },
6533
6558
  children: [
6534
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6559
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6535
6560
  "input",
6536
6561
  {
6537
6562
  max: 100,
@@ -6544,7 +6569,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6544
6569
  value: parsePercentNumber(selectedBlock.backgroundOverlayGradientFromStrength, 100)
6545
6570
  }
6546
6571
  ),
6547
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6572
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6548
6573
  "input",
6549
6574
  {
6550
6575
  max: 100,
@@ -6562,9 +6587,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6562
6587
  }
6563
6588
  )
6564
6589
  ] }),
6565
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6590
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6566
6591
  "To Strength (%)",
6567
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6592
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6568
6593
  "div",
6569
6594
  {
6570
6595
  style: {
@@ -6574,7 +6599,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6574
6599
  gridTemplateColumns: "1fr 70px"
6575
6600
  },
6576
6601
  children: [
6577
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6602
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6578
6603
  "input",
6579
6604
  {
6580
6605
  max: 100,
@@ -6587,7 +6612,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6587
6612
  value: parsePercentNumber(selectedBlock.backgroundOverlayGradientToStrength, 100)
6588
6613
  }
6589
6614
  ),
6590
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6615
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6591
6616
  "input",
6592
6617
  {
6593
6618
  max: 100,
@@ -6606,9 +6631,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6606
6631
  )
6607
6632
  ] })
6608
6633
  ] }),
6609
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6634
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6610
6635
  "Angle",
6611
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6636
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6612
6637
  "input",
6613
6638
  {
6614
6639
  max: 360,
@@ -6620,10 +6645,10 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6620
6645
  }
6621
6646
  )
6622
6647
  ] }),
6623
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6648
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6624
6649
  "Gradient Start (%)",
6625
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { alignItems: "center", display: "grid", gap: 8, gridTemplateColumns: "1fr 90px" }, children: [
6626
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6650
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { alignItems: "center", display: "grid", gap: 8, gridTemplateColumns: "1fr 90px" }, children: [
6651
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6627
6652
  "input",
6628
6653
  {
6629
6654
  max: 100,
@@ -6640,7 +6665,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6640
6665
  value: parsePercentNumber(selectedBlock.backgroundOverlayGradientStart, 0)
6641
6666
  }
6642
6667
  ),
6643
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6668
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6644
6669
  "input",
6645
6670
  {
6646
6671
  max: 100,
@@ -6660,10 +6685,10 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6660
6685
  )
6661
6686
  ] })
6662
6687
  ] }),
6663
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6688
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6664
6689
  "Gradient End (%)",
6665
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { alignItems: "center", display: "grid", gap: 8, gridTemplateColumns: "1fr 90px" }, children: [
6666
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6690
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { alignItems: "center", display: "grid", gap: 8, gridTemplateColumns: "1fr 90px" }, children: [
6691
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6667
6692
  "input",
6668
6693
  {
6669
6694
  max: 100,
@@ -6680,7 +6705,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6680
6705
  value: parsePercentNumber(selectedBlock.backgroundOverlayGradientEnd, 100)
6681
6706
  }
6682
6707
  ),
6683
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6708
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6684
6709
  "input",
6685
6710
  {
6686
6711
  max: 100,
@@ -6700,10 +6725,10 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6700
6725
  )
6701
6726
  ] })
6702
6727
  ] }),
6703
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6728
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6704
6729
  "Feather (%)",
6705
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { alignItems: "center", display: "grid", gap: 8, gridTemplateColumns: "1fr 90px" }, children: [
6706
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6730
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { alignItems: "center", display: "grid", gap: 8, gridTemplateColumns: "1fr 90px" }, children: [
6731
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6707
6732
  "input",
6708
6733
  {
6709
6734
  max: 100,
@@ -6713,7 +6738,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6713
6738
  value: parsePercentNumber(selectedBlock.backgroundOverlayGradientFeather, 100)
6714
6739
  }
6715
6740
  ),
6716
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6741
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6717
6742
  "input",
6718
6743
  {
6719
6744
  max: 100,
@@ -6730,7 +6755,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6730
6755
  ] })
6731
6756
  ] })
6732
6757
  ] }) : null,
6733
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6758
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6734
6759
  "button",
6735
6760
  {
6736
6761
  onClick: () => {
@@ -6746,9 +6771,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6746
6771
  }
6747
6772
  )
6748
6773
  ] }),
6749
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6774
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6750
6775
  "Background Color",
6751
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6776
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6752
6777
  "input",
6753
6778
  {
6754
6779
  onChange: (event) => updateSelectedField("backgroundColor", event.target.value),
@@ -6758,7 +6783,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6758
6783
  }
6759
6784
  )
6760
6785
  ] }),
6761
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6786
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6762
6787
  "button",
6763
6788
  {
6764
6789
  onClick: () => updateSelectedField("backgroundColor", ""),
@@ -6768,44 +6793,44 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6768
6793
  }
6769
6794
  )
6770
6795
  ] }) : null,
6771
- selectedType === "featureGrid" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
6772
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6796
+ selectedType === "featureGrid" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
6797
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6773
6798
  "Variant",
6774
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6799
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6775
6800
  "select",
6776
6801
  {
6777
6802
  onChange: (event) => updateSelectedField("variant", event.target.value),
6778
6803
  style: sidebarInputStyle,
6779
6804
  value: normalizeText2(selectedBlock.variant, "cards"),
6780
6805
  children: [
6781
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "cards", children: "Cards" }),
6782
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "highlight", children: "Highlight" })
6806
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "cards", children: "Cards" }),
6807
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "highlight", children: "Highlight" })
6783
6808
  ]
6784
6809
  }
6785
6810
  )
6786
6811
  ] }),
6787
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6812
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6788
6813
  "Items Per Row (Desktop)",
6789
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6814
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6790
6815
  "select",
6791
6816
  {
6792
6817
  onChange: (event) => updateSelectedField("itemsPerRow", Number(event.target.value)),
6793
6818
  style: sidebarInputStyle,
6794
6819
  value: Math.max(1, Math.min(6, Math.floor(parsePixelNumber(selectedBlock.itemsPerRow, 3)))),
6795
6820
  children: [
6796
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: 1, children: "1" }),
6797
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: 2, children: "2" }),
6798
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: 3, children: "3" }),
6799
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: 4, children: "4" }),
6800
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: 5, children: "5" }),
6801
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: 6, children: "6" })
6821
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: 1, children: "1" }),
6822
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: 2, children: "2" }),
6823
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: 3, children: "3" }),
6824
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: 4, children: "4" }),
6825
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: 5, children: "5" }),
6826
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: 6, children: "6" })
6802
6827
  ]
6803
6828
  }
6804
6829
  )
6805
6830
  ] }),
6806
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6831
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6807
6832
  "Highlight Background Color",
6808
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6833
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6809
6834
  "input",
6810
6835
  {
6811
6836
  onChange: (event) => updateSelectedField("backgroundColor", event.target.value),
@@ -6816,42 +6841,42 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6816
6841
  )
6817
6842
  ] })
6818
6843
  ] }) : null,
6819
- selectedType === "beforeAfter" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6844
+ selectedType === "beforeAfter" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6820
6845
  "Items Per Row (Desktop)",
6821
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6846
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6822
6847
  "select",
6823
6848
  {
6824
6849
  onChange: (event) => updateSelectedField("itemsPerRow", Number(event.target.value)),
6825
6850
  style: sidebarInputStyle,
6826
6851
  value: Math.max(1, Math.min(4, Math.floor(parsePixelNumber(selectedBlock.itemsPerRow, 2)))),
6827
6852
  children: [
6828
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: 1, children: "1" }),
6829
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: 2, children: "2" }),
6830
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: 3, children: "3" }),
6831
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: 4, children: "4" })
6853
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: 1, children: "1" }),
6854
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: 2, children: "2" }),
6855
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: 3, children: "3" }),
6856
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: 4, children: "4" })
6832
6857
  ]
6833
6858
  }
6834
6859
  )
6835
6860
  ] }) : null,
6836
- selectedType === "cta" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
6837
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6861
+ selectedType === "cta" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
6862
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6838
6863
  "Style",
6839
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6864
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6840
6865
  "select",
6841
6866
  {
6842
6867
  onChange: (event) => updateSelectedField("style", event.target.value),
6843
6868
  style: sidebarInputStyle,
6844
6869
  value: normalizeText2(selectedBlock.style, "light"),
6845
6870
  children: [
6846
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "light", children: "Light" }),
6847
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "dark", children: "Dark" })
6871
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "light", children: "Light" }),
6872
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "dark", children: "Dark" })
6848
6873
  ]
6849
6874
  }
6850
6875
  )
6851
6876
  ] }),
6852
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6877
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6853
6878
  "Background Color",
6854
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6879
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6855
6880
  "input",
6856
6881
  {
6857
6882
  onChange: (event) => updateSelectedField("backgroundColor", event.target.value),
@@ -6862,18 +6887,18 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6862
6887
  )
6863
6888
  ] })
6864
6889
  ] }) : null,
6865
- selectedType === "media" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
6866
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6890
+ selectedType === "media" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
6891
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6867
6892
  "Image Size",
6868
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6893
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6869
6894
  "select",
6870
6895
  {
6871
6896
  onChange: (event) => updateSelectedField("size", event.target.value),
6872
6897
  style: sidebarInputStyle,
6873
6898
  value: normalizeText2(selectedBlock.size, "default"),
6874
6899
  children: [
6875
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "default", children: "Default" }),
6876
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "wide", children: "Wide" })
6900
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "default", children: "Default" }),
6901
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "wide", children: "Wide" })
6877
6902
  ]
6878
6903
  }
6879
6904
  )
@@ -6881,26 +6906,26 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6881
6906
  (() => {
6882
6907
  const selectedMedia = resolveMediaLibraryItemFromValue(selectedBlock.image);
6883
6908
  const selectedMediaID = getRelationID2(selectedBlock.image);
6884
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
6885
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 12 }, children: selectedMedia ? `Selected image: ${mediaLabel2(selectedMedia)}` : "No image selected." }),
6886
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6909
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
6910
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 12 }, children: selectedMedia ? `Selected image: ${mediaLabel2(selectedMedia)}` : "No image selected." }),
6911
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6887
6912
  "Choose from Media Library",
6888
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6913
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6889
6914
  "select",
6890
6915
  {
6891
6916
  onChange: (event) => setSelectedMediaFieldFromLibrary("image", event.target.value),
6892
6917
  style: sidebarInputStyle,
6893
6918
  value: selectedMediaID !== null ? String(selectedMediaID) : "",
6894
6919
  children: [
6895
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "", children: "No image" }),
6896
- mediaLibrary.map((libraryItem) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: String(libraryItem.id), children: mediaLabel2(libraryItem) }, String(libraryItem.id)))
6920
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "", children: "No image" }),
6921
+ mediaLibrary.map((libraryItem) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: String(libraryItem.id), children: mediaLabel2(libraryItem) }, String(libraryItem.id)))
6897
6922
  ]
6898
6923
  }
6899
6924
  )
6900
6925
  ] }),
6901
- mediaLibraryLoading ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 11 }, children: "Loading media library..." }) : null,
6902
- mediaLibraryError ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "#8d1d1d", fontSize: 11 }, children: mediaLibraryError }) : null,
6903
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6926
+ mediaLibraryLoading ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 11 }, children: "Loading media library..." }) : null,
6927
+ mediaLibraryError ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "#8d1d1d", fontSize: 11 }, children: mediaLibraryError }) : null,
6928
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6904
6929
  "button",
6905
6930
  {
6906
6931
  disabled: !selectedMedia && selectedMediaID === null,
@@ -6915,59 +6940,59 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6915
6940
  children: "Remove Section Image"
6916
6941
  }
6917
6942
  ),
6918
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6943
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6919
6944
  "Image Fit",
6920
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6945
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6921
6946
  "select",
6922
6947
  {
6923
6948
  onChange: (event) => updateSelectedField("imageFit", event.target.value),
6924
6949
  style: sidebarInputStyle,
6925
6950
  value: normalizeImageFit2(selectedBlock.imageFit),
6926
6951
  children: [
6927
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "cover", children: "Cover" }),
6928
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "contain", children: "Contain" })
6952
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "cover", children: "Cover" }),
6953
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "contain", children: "Contain" })
6929
6954
  ]
6930
6955
  }
6931
6956
  )
6932
6957
  ] }),
6933
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6958
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6934
6959
  "Image Corners",
6935
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6960
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6936
6961
  "select",
6937
6962
  {
6938
6963
  onChange: (event) => updateSelectedField("imageCornerStyle", event.target.value),
6939
6964
  style: sidebarInputStyle,
6940
6965
  value: normalizeImageCornerStyle2(selectedBlock.imageCornerStyle),
6941
6966
  children: [
6942
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "rounded", children: "Rounded" }),
6943
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "square", children: "Square" })
6967
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "rounded", children: "Rounded" }),
6968
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "square", children: "Square" })
6944
6969
  ]
6945
6970
  }
6946
6971
  )
6947
6972
  ] }),
6948
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6973
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6949
6974
  "Image Position",
6950
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
6975
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6951
6976
  "select",
6952
6977
  {
6953
6978
  onChange: (event) => updateSelectedField("imagePosition", event.target.value),
6954
6979
  style: sidebarInputStyle,
6955
6980
  value: normalizeImagePosition2(selectedBlock.imagePosition),
6956
6981
  children: [
6957
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "center", children: "Center" }),
6958
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "top", children: "Top" }),
6959
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "bottom", children: "Bottom" }),
6960
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "left", children: "Left" }),
6961
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "right", children: "Right" })
6982
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "center", children: "Center" }),
6983
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "top", children: "Top" }),
6984
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "bottom", children: "Bottom" }),
6985
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "left", children: "Left" }),
6986
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "right", children: "Right" })
6962
6987
  ]
6963
6988
  }
6964
6989
  )
6965
6990
  ] })
6966
6991
  ] });
6967
6992
  })(),
6968
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
6993
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6969
6994
  "Upload Section Image",
6970
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
6995
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6971
6996
  "input",
6972
6997
  {
6973
6998
  accept: "image/*",
@@ -6985,10 +7010,10 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6985
7010
  )
6986
7011
  ] })
6987
7012
  ] }) : null,
6988
- selectedType === "richText" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
6989
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
7013
+ selectedType === "richText" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
7014
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
6990
7015
  "Content",
6991
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
7016
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6992
7017
  "textarea",
6993
7018
  {
6994
7019
  onChange: (event) => updateSelectedField("content", createLexicalText(event.target.value || "")),
@@ -6997,35 +7022,35 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
6997
7022
  }
6998
7023
  )
6999
7024
  ] }),
7000
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
7025
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
7001
7026
  "Content Width",
7002
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
7027
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
7003
7028
  "select",
7004
7029
  {
7005
7030
  onChange: (event) => updateSelectedField("width", event.target.value),
7006
7031
  style: sidebarInputStyle,
7007
7032
  value: normalizeText2(selectedBlock.width, "normal"),
7008
7033
  children: [
7009
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "normal", children: "Normal" }),
7010
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "narrow", children: "Narrow" })
7034
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "normal", children: "Normal" }),
7035
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "narrow", children: "Narrow" })
7011
7036
  ]
7012
7037
  }
7013
7038
  )
7014
7039
  ] })
7015
7040
  ] }) : null,
7016
- selectedType === "formEmbed" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
7041
+ selectedType === "formEmbed" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
7017
7042
  "Form Type",
7018
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
7043
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
7019
7044
  "select",
7020
7045
  {
7021
7046
  onChange: (event) => updateSelectedField("formType", event.target.value),
7022
7047
  style: sidebarInputStyle,
7023
7048
  value: normalizeText2(selectedBlock.formType, "quote"),
7024
- children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("option", { value: "quote", children: "Quote" })
7049
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "quote", children: "Quote" })
7025
7050
  }
7026
7051
  )
7027
7052
  ] }) : null,
7028
- selectedType === "testimonials" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children: (() => {
7053
+ selectedType === "testimonials" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_jsx_runtime8.Fragment, { children: (() => {
7029
7054
  const visibleCountValue = Math.max(
7030
7055
  1,
7031
7056
  Math.min(6, Math.floor(parsePixelNumber(selectedBlock.visibleCount, 3)))
@@ -7035,10 +7060,10 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
7035
7060
  Math.min(30, Math.floor(parsePixelNumber(selectedBlock.rotateIntervalSeconds, 7)))
7036
7061
  );
7037
7062
  const autoRotateValue = typeof selectedBlock.autoRotate === "boolean" ? selectedBlock.autoRotate : true;
7038
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
7039
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
7063
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
7064
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
7040
7065
  "Visible At Once",
7041
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
7066
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
7042
7067
  "input",
7043
7068
  {
7044
7069
  max: 6,
@@ -7050,8 +7075,8 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
7050
7075
  }
7051
7076
  )
7052
7077
  ] }),
7053
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: { ...sidebarLabelStyle, alignItems: "center", gridTemplateColumns: "auto 1fr" }, children: [
7054
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
7078
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: { ...sidebarLabelStyle, alignItems: "center", gridTemplateColumns: "auto 1fr" }, children: [
7079
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
7055
7080
  "input",
7056
7081
  {
7057
7082
  checked: autoRotateValue,
@@ -7061,9 +7086,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
7061
7086
  ),
7062
7087
  "Auto Rotate"
7063
7088
  ] }),
7064
- autoRotateValue ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
7089
+ autoRotateValue ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
7065
7090
  "Rotate Interval (seconds)",
7066
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
7091
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
7067
7092
  "input",
7068
7093
  {
7069
7094
  max: 30,
@@ -7077,7 +7102,7 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
7077
7102
  ] }) : null
7078
7103
  ] });
7079
7104
  })() }) : null,
7080
- isArrayItemBlockSelected ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
7105
+ isArrayItemBlockSelected ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
7081
7106
  ArrayItemsEditor,
7082
7107
  {
7083
7108
  blockType: selectedType,
@@ -7101,9 +7126,9 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
7101
7126
  }
7102
7127
  ) : null
7103
7128
  ] }),
7104
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { style: sidebarLabelStyle, children: [
7129
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { style: sidebarLabelStyle, children: [
7105
7130
  "Upload Alt Text",
7106
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
7131
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
7107
7132
  "input",
7108
7133
  {
7109
7134
  onChange: (event) => setUploadAltText(event.target.value),
@@ -7114,14 +7139,14 @@ function BuilderPageEditor({ featureFlags, initialDoc, pageID, siteThemeTokens }
7114
7139
  }
7115
7140
  )
7116
7141
  ] }),
7117
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 11 }, children: "Click section text directly on the page for copy edits. Use this panel for layout and style options." }),
7118
- uploadingTarget ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 11 }, children: "Uploading image..." }) : null,
7119
- uploadMessage ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "#0f7d52", fontSize: 11, fontWeight: 700 }, children: uploadMessage }) : null,
7120
- uploadError ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { color: "#8d1d1d", fontSize: 11, fontWeight: 700 }, children: uploadError }) : null
7121
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("p", { style: { color: "var(--ink-700)", fontSize: 12, margin: 0 }, children: "Click a section on the page preview to edit its options here." }) })
7142
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 11 }, children: "Click section text directly on the page for copy edits. Use this panel for layout and style options." }),
7143
+ uploadingTarget ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "var(--ink-700)", fontSize: 11 }, children: "Uploading image..." }) : null,
7144
+ uploadMessage ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "#0f7d52", fontSize: 11, fontWeight: 700 }, children: uploadMessage }) : null,
7145
+ uploadError ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { color: "#8d1d1d", fontSize: 11, fontWeight: 700 }, children: uploadError }) : null
7146
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { style: { color: "var(--ink-700)", fontSize: 12, margin: 0 }, children: "Click a section on the page preview to edit its options here." }) })
7122
7147
  ] }) : null
7123
7148
  ] })
7124
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
7149
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
7125
7150
  "div",
7126
7151
  {
7127
7152
  style: {