@liiift-studio/sanity-font-manager 2.3.13 → 2.3.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -4056,7 +4056,7 @@ var PrimaryCollectionGeneratorTypeface = () => {
4056
4056
  };
4057
4057
 
4058
4058
  // src/components/SetOTF.jsx
4059
- var import_react17 = require("react");
4059
+ var import_react17 = __toESM(require("react"));
4060
4060
  var import_sanity13 = require("sanity");
4061
4061
  var import_ui15 = require("@sanity/ui");
4062
4062
  var SetOTF = (props) => {
@@ -4107,7 +4107,7 @@ var SetOTF = (props) => {
4107
4107
  console.error("SetOTF detect error:", err);
4108
4108
  }
4109
4109
  };
4110
- return /* @__PURE__ */ React.createElement(import_ui15.Stack, { className: "openType" }, ((_a = value == null ? void 0 : value.features) == null ? void 0 : _a.length) > 0 && /* @__PURE__ */ React.createElement(import_ui15.Text, { muted: true, size: 1, style: { marginBottom: "0.5rem" } }, "Number of features: ", value.features.length), !!((_b = stylesObject == null ? void 0 : stylesObject.fonts) == null ? void 0 : _b.length) && /* @__PURE__ */ React.createElement(
4110
+ return /* @__PURE__ */ import_react17.default.createElement(import_ui15.Stack, { className: "openType" }, ((_a = value == null ? void 0 : value.features) == null ? void 0 : _a.length) > 0 && /* @__PURE__ */ import_react17.default.createElement(import_ui15.Text, { muted: true, size: 1, style: { marginBottom: "0.5rem" } }, "Number of features: ", value.features.length), !!((_b = stylesObject == null ? void 0 : stylesObject.fonts) == null ? void 0 : _b.length) && /* @__PURE__ */ import_react17.default.createElement(
4111
4111
  import_ui15.Button,
4112
4112
  {
4113
4113
  text: "Detect OTF",
@@ -4115,7 +4115,7 @@ var SetOTF = (props) => {
4115
4115
  onClick: detect,
4116
4116
  style: { borderRadius: "0 3px 0 0", marginBottom: "1rem" }
4117
4117
  }
4118
- ), !!message && /* @__PURE__ */ React.createElement(import_ui15.Text, { muted: true, size: 1 }, /* @__PURE__ */ React.createElement("br", null), message, /* @__PURE__ */ React.createElement("br", null), /* @__PURE__ */ React.createElement("br", null)), props.renderDefault(props));
4118
+ ), !!message && /* @__PURE__ */ import_react17.default.createElement(import_ui15.Text, { muted: true, size: 1 }, /* @__PURE__ */ import_react17.default.createElement("br", null), message, /* @__PURE__ */ import_react17.default.createElement("br", null), /* @__PURE__ */ import_react17.default.createElement("br", null)), props.renderDefault(props));
4119
4119
  };
4120
4120
 
4121
4121
  // src/components/StyleCountInput.jsx
@@ -6806,7 +6806,7 @@ var stylisticSetField = {
6806
6806
  };
6807
6807
 
6808
6808
  // src/schema/stylesField.js
6809
- var import_sanity_advanced_reference_array = require("sanity-advanced-reference-array");
6809
+ var import_sanity_advanced_reference_array = require("@liiift-studio/sanity-advanced-reference-array");
6810
6810
  var field = (condition, def) => condition ? [def] : [];
6811
6811
  var fontsFilter = async ({ getClient, document, parent }) => {
6812
6812
  const client = getClient({ apiVersion: "2022-11-09" });
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  // src/components/BatchUploadFonts.jsx
2
- import React5, { useCallback, useState as useState2, useMemo as useMemo2, useRef, useEffect } from "react";
2
+ import React4, { useCallback, useState as useState2, useMemo as useMemo2, useRef, useEffect } from "react";
3
3
  import { Card, Box as Box2, Flex as Flex3, Grid, Text as Text4, Label, Switch, Button as Button2, Spinner, Tooltip, Stack as Stack2 } from "@sanity/ui";
4
4
  import { ControlsIcon, InfoOutlineIcon, TrashIcon, UploadIcon, WarningOutlineIcon } from "@sanity/icons";
5
5
  import { useFormValue as useFormValue2 } from "sanity";
@@ -1378,17 +1378,17 @@ var updateFontPrices = async ({
1378
1378
  };
1379
1379
 
1380
1380
  // src/components/StatusDisplay.jsx
1381
- import React2 from "react";
1381
+ import React from "react";
1382
1382
  import { Flex, Text } from "@sanity/ui";
1383
1383
  var StatusDisplay = ({ status, error, action }) => {
1384
- return /* @__PURE__ */ React2.createElement(Flex, { paddingTop: 1, paddingBottom: 3, align: "center", justify: "space-between" }, /* @__PURE__ */ React2.createElement(Flex, { align: "center", gap: 2 }, /* @__PURE__ */ React2.createElement(Text, { size: 1 }, "Status:"), /* @__PURE__ */ React2.createElement(Text, { size: 1, style: { color: error ? "red" : "green" } }, status)), action && action);
1384
+ return /* @__PURE__ */ React.createElement(Flex, { paddingTop: 1, paddingBottom: 3, align: "center", justify: "space-between" }, /* @__PURE__ */ React.createElement(Flex, { align: "center", gap: 2 }, /* @__PURE__ */ React.createElement(Text, { size: 1 }, "Status:"), /* @__PURE__ */ React.createElement(Text, { size: 1, style: { color: error ? "red" : "green" } }, status)), action && action);
1385
1385
  };
1386
1386
  var StatusDisplay_default = StatusDisplay;
1387
1387
 
1388
1388
  // src/components/PriceInput.jsx
1389
- import React3 from "react";
1389
+ import React2 from "react";
1390
1390
  import { Flex as Flex2, Text as Text2 } from "@sanity/ui";
1391
- var PriceInput = ({ inputPrice, handleInputChange }) => /* @__PURE__ */ React3.createElement(Flex2, { align: "center", gap: 2 }, /* @__PURE__ */ React3.createElement(Text2, { size: 1, muted: true }, "Price:"), /* @__PURE__ */ React3.createElement(Text2, { size: 1, muted: true }, "$"), /* @__PURE__ */ React3.createElement(
1391
+ var PriceInput = ({ inputPrice, handleInputChange }) => /* @__PURE__ */ React2.createElement(Flex2, { align: "center", gap: 2 }, /* @__PURE__ */ React2.createElement(Text2, { size: 1, muted: true }, "Price:"), /* @__PURE__ */ React2.createElement(Text2, { size: 1, muted: true }, "$"), /* @__PURE__ */ React2.createElement(
1392
1392
  "input",
1393
1393
  {
1394
1394
  value: inputPrice,
@@ -1396,11 +1396,11 @@ var PriceInput = ({ inputPrice, handleInputChange }) => /* @__PURE__ */ React3.c
1396
1396
  type: "number",
1397
1397
  style: { textAlign: "end", padding: "5px", maxWidth: "75px" }
1398
1398
  }
1399
- ), /* @__PURE__ */ React3.createElement(Text2, { size: 1, muted: true }, "per style"));
1399
+ ), /* @__PURE__ */ React2.createElement(Text2, { size: 1, muted: true }, "per style"));
1400
1400
  var PriceInput_default = PriceInput;
1401
1401
 
1402
1402
  // src/components/RegenerateSubfamiliesComponent.jsx
1403
- import React4, { useState } from "react";
1403
+ import React3, { useState } from "react";
1404
1404
  import { nanoid as nanoid5 } from "nanoid";
1405
1405
  import { Button, Text as Text3, Stack, Box } from "@sanity/ui";
1406
1406
  import { useFormValue } from "sanity";
@@ -1416,7 +1416,7 @@ var RegenerateSubfamiliesComponent = () => {
1416
1416
  const handleClick = () => {
1417
1417
  regenerateSubfamilies({ title, stylesObject, slug, doc_id, client, setStatus, setReady, setError });
1418
1418
  };
1419
- return /* @__PURE__ */ React4.createElement(React4.Fragment, null, status && /* @__PURE__ */ React4.createElement(Box, { padding: 3, style: { borderRadius: "4px", marginBottom: "10px" } }, /* @__PURE__ */ React4.createElement(Text3, { size: 1, style: { color: error ? "red" : "green" } }, status)), /* @__PURE__ */ React4.createElement(Button, { mode: "ghost", tone: "primary", width: "fill", padding: 3, onClick: handleClick, disabled: !ready }, /* @__PURE__ */ React4.createElement(Stack, { space: 2 }, /* @__PURE__ */ React4.createElement(Text3, { align: "center" }, "Regenerate Subfamilies"))));
1419
+ return /* @__PURE__ */ React3.createElement(React3.Fragment, null, status && /* @__PURE__ */ React3.createElement(Box, { padding: 3, style: { borderRadius: "4px", marginBottom: "10px" } }, /* @__PURE__ */ React3.createElement(Text3, { size: 1, style: { color: error ? "red" : "green" } }, status)), /* @__PURE__ */ React3.createElement(Button, { mode: "ghost", tone: "primary", width: "fill", padding: 3, onClick: handleClick, disabled: !ready }, /* @__PURE__ */ React3.createElement(Stack, { space: 2 }, /* @__PURE__ */ React3.createElement(Text3, { align: "center" }, "Regenerate Subfamilies"))));
1420
1420
  };
1421
1421
  var regenerateSubfamilies = async ({ title, stylesObject, slug, doc_id, client, setStatus, setReady, setError }) => {
1422
1422
  try {
@@ -1818,17 +1818,17 @@ var BatchUploadFonts = () => {
1818
1818
  setError(false);
1819
1819
  setStatus("ready");
1820
1820
  };
1821
- const renderTooltipLabel = (label, description) => /* @__PURE__ */ React5.createElement(
1821
+ const renderTooltipLabel = (label, description) => /* @__PURE__ */ React4.createElement(
1822
1822
  Tooltip,
1823
1823
  {
1824
- content: /* @__PURE__ */ React5.createElement(Box2, { padding: 2, style: { maxWidth: 260 } }, /* @__PURE__ */ React5.createElement(Text4, { size: 1, style: { lineHeight: 1.6 } }, description)),
1824
+ content: /* @__PURE__ */ React4.createElement(Box2, { padding: 2, style: { maxWidth: 260 } }, /* @__PURE__ */ React4.createElement(Text4, { size: 1, style: { lineHeight: 1.6 } }, description)),
1825
1825
  placement: "top",
1826
1826
  portal: true
1827
1827
  },
1828
- /* @__PURE__ */ React5.createElement(Flex3, { align: "center", gap: 1, style: { cursor: "default" } }, /* @__PURE__ */ React5.createElement(Label, null, label), /* @__PURE__ */ React5.createElement(InfoOutlineIcon, { style: { opacity: 0.5, display: "block" } }))
1828
+ /* @__PURE__ */ React4.createElement(Flex3, { align: "center", gap: 1, style: { cursor: "default" } }, /* @__PURE__ */ React4.createElement(Label, null, label), /* @__PURE__ */ React4.createElement(InfoOutlineIcon, { style: { opacity: 0.5, display: "block" } }))
1829
1829
  );
1830
- const renderProcessing = () => /* @__PURE__ */ React5.createElement(Stack2, { space: 3, paddingY: 2 }, /* @__PURE__ */ React5.createElement(Flex3, { align: "center", gap: 3 }, /* @__PURE__ */ React5.createElement(Spinner, null), /* @__PURE__ */ React5.createElement(Text4, { size: 1, muted: true }, status)), /* @__PURE__ */ React5.createElement(Card, { tone: "caution", border: true, radius: 2, padding: 2 }, /* @__PURE__ */ React5.createElement(Flex3, { align: "center", justify: "space-between", gap: 2 }, /* @__PURE__ */ React5.createElement(Flex3, { align: "center", gap: 2 }, /* @__PURE__ */ React5.createElement(WarningOutlineIcon, { style: { flexShrink: 0 } }), /* @__PURE__ */ React5.createElement(Text4, { size: 1, weight: "semibold" }, "Do not close or reload this tab")), /* @__PURE__ */ React5.createElement(Text4, { size: 1, muted: true, style: { flexShrink: 0 } }, formatElapsed(elapsedSeconds)))));
1831
- const renderDropZone = () => /* @__PURE__ */ React5.createElement(
1830
+ const renderProcessing = () => /* @__PURE__ */ React4.createElement(Stack2, { space: 3, paddingY: 2 }, /* @__PURE__ */ React4.createElement(Flex3, { align: "center", gap: 3 }, /* @__PURE__ */ React4.createElement(Spinner, null), /* @__PURE__ */ React4.createElement(Text4, { size: 1, muted: true }, status)), /* @__PURE__ */ React4.createElement(Card, { tone: "caution", border: true, radius: 2, padding: 2 }, /* @__PURE__ */ React4.createElement(Flex3, { align: "center", justify: "space-between", gap: 2 }, /* @__PURE__ */ React4.createElement(Flex3, { align: "center", gap: 2 }, /* @__PURE__ */ React4.createElement(WarningOutlineIcon, { style: { flexShrink: 0 } }), /* @__PURE__ */ React4.createElement(Text4, { size: 1, weight: "semibold" }, "Do not close or reload this tab")), /* @__PURE__ */ React4.createElement(Text4, { size: 1, muted: true, style: { flexShrink: 0 } }, formatElapsed(elapsedSeconds)))));
1831
+ const renderDropZone = () => /* @__PURE__ */ React4.createElement(
1832
1832
  Box2,
1833
1833
  {
1834
1834
  onDragEnter: handleDragEnter,
@@ -1845,7 +1845,7 @@ var BatchUploadFonts = () => {
1845
1845
  cursor: "default"
1846
1846
  }
1847
1847
  },
1848
- /* @__PURE__ */ React5.createElement(
1848
+ /* @__PURE__ */ React4.createElement(
1849
1849
  "input",
1850
1850
  {
1851
1851
  ref: fileInputRef,
@@ -1856,7 +1856,7 @@ var BatchUploadFonts = () => {
1856
1856
  onChange: handleFileSelect
1857
1857
  }
1858
1858
  ),
1859
- /* @__PURE__ */ React5.createElement(Stack2, { space: 3 }, /* @__PURE__ */ React5.createElement(Text4, { size: 1, muted: true }, isDragging ? "Release to add files" : "Drop font files here"), /* @__PURE__ */ React5.createElement(Flex3, { justify: "center" }, /* @__PURE__ */ React5.createElement(
1859
+ /* @__PURE__ */ React4.createElement(Stack2, { space: 3 }, /* @__PURE__ */ React4.createElement(Text4, { size: 1, muted: true }, isDragging ? "Release to add files" : "Drop font files here"), /* @__PURE__ */ React4.createElement(Flex3, { justify: "center" }, /* @__PURE__ */ React4.createElement(
1860
1860
  Button2,
1861
1861
  {
1862
1862
  mode: "ghost",
@@ -1873,7 +1873,7 @@ var BatchUploadFonts = () => {
1873
1873
  );
1874
1874
  const renderFileList = () => {
1875
1875
  const sorted = sortFilesByType(pendingFiles);
1876
- return /* @__PURE__ */ React5.createElement(Stack2, { space: 2 }, /* @__PURE__ */ React5.createElement(Flex3, { align: "center", justify: "space-between" }, /* @__PURE__ */ React5.createElement(Text4, { size: 1, muted: true }, pendingFiles.length, " file", pendingFiles.length === 1 ? "" : "s", " selected"), /* @__PURE__ */ React5.createElement(
1876
+ return /* @__PURE__ */ React4.createElement(Stack2, { space: 2 }, /* @__PURE__ */ React4.createElement(Flex3, { align: "center", justify: "space-between" }, /* @__PURE__ */ React4.createElement(Text4, { size: 1, muted: true }, pendingFiles.length, " file", pendingFiles.length === 1 ? "" : "s", " selected"), /* @__PURE__ */ React4.createElement(
1877
1877
  Button2,
1878
1878
  {
1879
1879
  mode: "bleed",
@@ -1883,16 +1883,16 @@ var BatchUploadFonts = () => {
1883
1883
  text: "Clear all",
1884
1884
  onClick: () => setPendingFiles([])
1885
1885
  }
1886
- )), /* @__PURE__ */ React5.createElement(Box2, { style: { maxHeight: "260px", overflowY: "auto", display: "flex", flexDirection: "column", gap: "4px" } }, sorted.map((file, i) => {
1886
+ )), /* @__PURE__ */ React4.createElement(Box2, { style: { maxHeight: "260px", overflowY: "auto", display: "flex", flexDirection: "column", gap: "4px" } }, sorted.map((file, i) => {
1887
1887
  const ext = file.name.split(".").pop().toUpperCase();
1888
- return /* @__PURE__ */ React5.createElement(Card, { key: `${file.name}-${file.size}-${i}`, border: true, radius: 1, paddingX: 2, paddingY: 2 }, /* @__PURE__ */ React5.createElement(Flex3, { justify: "space-between", align: "center", gap: 2 }, /* @__PURE__ */ React5.createElement(Flex3, { gap: 3, align: "center", style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React5.createElement(
1888
+ return /* @__PURE__ */ React4.createElement(Card, { key: `${file.name}-${file.size}-${i}`, border: true, radius: 1, paddingX: 2, paddingY: 2 }, /* @__PURE__ */ React4.createElement(Flex3, { justify: "space-between", align: "center", gap: 2 }, /* @__PURE__ */ React4.createElement(Flex3, { gap: 3, align: "center", style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React4.createElement(
1889
1889
  Text4,
1890
1890
  {
1891
1891
  size: 0,
1892
1892
  style: { fontFamily: "monospace", minWidth: "2.5rem", flexShrink: 0 }
1893
1893
  },
1894
1894
  ext
1895
- ), /* @__PURE__ */ React5.createElement(Box2, { style: { flex: 1, minWidth: 0, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" } }, /* @__PURE__ */ React5.createElement(Text4, { size: 1 }, file.name))), /* @__PURE__ */ React5.createElement(
1895
+ ), /* @__PURE__ */ React4.createElement(Box2, { style: { flex: 1, minWidth: 0, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" } }, /* @__PURE__ */ React4.createElement(Text4, { size: 1 }, file.name))), /* @__PURE__ */ React4.createElement(
1896
1896
  Button2,
1897
1897
  {
1898
1898
  mode: "bleed",
@@ -1902,7 +1902,7 @@ var BatchUploadFonts = () => {
1902
1902
  onClick: () => handleRemoveFile(file)
1903
1903
  }
1904
1904
  )));
1905
- })), /* @__PURE__ */ React5.createElement(
1905
+ })), /* @__PURE__ */ React4.createElement(
1906
1906
  Box2,
1907
1907
  {
1908
1908
  onDragEnter: handleDragEnter,
@@ -1918,7 +1918,7 @@ var BatchUploadFonts = () => {
1918
1918
  transition: "border-color 0.12s, background 0.12s"
1919
1919
  }
1920
1920
  },
1921
- /* @__PURE__ */ React5.createElement(
1921
+ /* @__PURE__ */ React4.createElement(
1922
1922
  "input",
1923
1923
  {
1924
1924
  ref: fileInputRef,
@@ -1929,7 +1929,7 @@ var BatchUploadFonts = () => {
1929
1929
  onChange: handleFileSelect
1930
1930
  }
1931
1931
  ),
1932
- /* @__PURE__ */ React5.createElement(Flex3, { align: "center", justify: "center", gap: 2 }, /* @__PURE__ */ React5.createElement(Text4, { size: 1, muted: true }, isDragging ? "Release to add" : "Drop more files or"), /* @__PURE__ */ React5.createElement(
1932
+ /* @__PURE__ */ React4.createElement(Flex3, { align: "center", justify: "center", gap: 2 }, /* @__PURE__ */ React4.createElement(Text4, { size: 1, muted: true }, isDragging ? "Release to add" : "Drop more files or"), /* @__PURE__ */ React4.createElement(
1933
1933
  Button2,
1934
1934
  {
1935
1935
  mode: "bleed",
@@ -1943,7 +1943,7 @@ var BatchUploadFonts = () => {
1943
1943
  }
1944
1944
  }
1945
1945
  ))
1946
- ), /* @__PURE__ */ React5.createElement(
1946
+ ), /* @__PURE__ */ React4.createElement(
1947
1947
  Button2,
1948
1948
  {
1949
1949
  mode: "ghost",
@@ -1955,12 +1955,12 @@ var BatchUploadFonts = () => {
1955
1955
  }
1956
1956
  ));
1957
1957
  };
1958
- return /* @__PURE__ */ React5.createElement(React5.Fragment, null, title && title !== "" && slug && slug !== "" && /* @__PURE__ */ React5.createElement(React5.Fragment, null, /* @__PURE__ */ React5.createElement(
1958
+ return /* @__PURE__ */ React4.createElement(React4.Fragment, null, title && title !== "" && slug && slug !== "" && /* @__PURE__ */ React4.createElement(React4.Fragment, null, /* @__PURE__ */ React4.createElement(
1959
1959
  StatusDisplay_default,
1960
1960
  {
1961
1961
  status,
1962
1962
  error,
1963
- action: /* @__PURE__ */ React5.createElement(
1963
+ action: /* @__PURE__ */ React4.createElement(
1964
1964
  Button2,
1965
1965
  {
1966
1966
  mode: showUtilities ? "default" : "ghost",
@@ -1973,7 +1973,7 @@ var BatchUploadFonts = () => {
1973
1973
  }
1974
1974
  )
1975
1975
  }
1976
- ), /* @__PURE__ */ React5.createElement(Card, { border: true, padding: 2, shadow: 1, radius: 2 }, showUtilities ? /* @__PURE__ */ React5.createElement(Stack2, { space: 4, marginTop: 2 }, /* @__PURE__ */ React5.createElement(Stack2, { space: 2 }, /* @__PURE__ */ React5.createElement(Text4, { size: 1, weight: "semibold", style: { lineHeight: 1.6 } }, "Regenerate Subfamilies"), /* @__PURE__ */ React5.createElement(RegenerateSubfamiliesComponent, null)), /* @__PURE__ */ React5.createElement(Stack2, { space: 3 }, /* @__PURE__ */ React5.createElement(Text4, { size: 1, weight: "semibold", style: { lineHeight: 1.6 } }, "Rename Fonts (name table, Full Name)"), /* @__PURE__ */ React5.createElement(Flex3, { align: "center", gap: 2 }, /* @__PURE__ */ React5.createElement(
1976
+ ), /* @__PURE__ */ React4.createElement(Card, { border: true, padding: 2, shadow: 1, radius: 2 }, showUtilities ? /* @__PURE__ */ React4.createElement(Stack2, { space: 4, marginTop: 2 }, /* @__PURE__ */ React4.createElement(Stack2, { space: 2 }, /* @__PURE__ */ React4.createElement(Text4, { size: 1, weight: "semibold", style: { lineHeight: 1.6 } }, "Regenerate Subfamilies"), /* @__PURE__ */ React4.createElement(RegenerateSubfamiliesComponent, null)), /* @__PURE__ */ React4.createElement(Stack2, { space: 3 }, /* @__PURE__ */ React4.createElement(Text4, { size: 1, weight: "semibold", style: { lineHeight: 1.6 } }, "Rename Fonts (name table, Full Name)"), /* @__PURE__ */ React4.createElement(Flex3, { align: "center", gap: 2 }, /* @__PURE__ */ React4.createElement(
1977
1977
  Switch,
1978
1978
  {
1979
1979
  checked: preserveShortenedNames,
@@ -1982,7 +1982,7 @@ var BatchUploadFonts = () => {
1982
1982
  ), renderTooltipLabel(
1983
1983
  "Preserve shortened names",
1984
1984
  'Abbreviations in font names are kept as-is (e.g. "XNarrow" stays "XNarrow", "Bd" stays "Bd").'
1985
- )), ready === "rename" ? renderProcessing() : /* @__PURE__ */ React5.createElement(Button2, { mode: "ghost", tone: "primary", text: "Rename Existing Fonts", style: { width: "100%" }, onClick: handleRenameExistingFonts, disabled: ready !== true })), /* @__PURE__ */ React5.createElement(Stack2, { space: 3 }, /* @__PURE__ */ React5.createElement(Text4, { size: 1, weight: "semibold", style: { lineHeight: 1.6 } }, "Update Font Prices"), ready === "price" ? renderProcessing() : /* @__PURE__ */ React5.createElement(Stack2, { space: 2 }, /* @__PURE__ */ React5.createElement(PriceInput_default, { inputPrice, handleInputChange }), /* @__PURE__ */ React5.createElement(Button2, { mode: "ghost", tone: "primary", text: "Update All Font Prices", style: { width: "100%" }, onClick: handleChangeFontPrice, disabled: ready !== true }))), /* @__PURE__ */ React5.createElement(Stack2, { space: 3 }, /* @__PURE__ */ React5.createElement(Text4, { size: 1, weight: "semibold", style: { lineHeight: 1.6 } }, "Regenerate CSS"), /* @__PURE__ */ React5.createElement(Text4, { size: 1, muted: true, style: { lineHeight: 1.6 } }, "Rebuilds the CSS @font-face files for all fonts in the typeface fonts list."), ready === "css" ? renderProcessing() : /* @__PURE__ */ React5.createElement(Button2, { mode: "ghost", tone: "primary", text: "Regenerate CSS Files", style: { width: "100%" }, onClick: handleRegenerateCssFiles, disabled: ready !== true }))) : ready ? /* @__PURE__ */ React5.createElement(React5.Fragment, null, /* @__PURE__ */ React5.createElement(Grid, { columns: [2], gap: 4, marginTop: 1, marginBottom: 1 }, /* @__PURE__ */ React5.createElement(Box2, null, /* @__PURE__ */ React5.createElement(PriceInput_default, { inputPrice, handleInputChange })), /* @__PURE__ */ React5.createElement(Stack2, { space: 3 }, /* @__PURE__ */ React5.createElement(Flex3, { align: "center", gap: 2 }, /* @__PURE__ */ React5.createElement(
1985
+ )), ready === "rename" ? renderProcessing() : /* @__PURE__ */ React4.createElement(Button2, { mode: "ghost", tone: "primary", text: "Rename Existing Fonts", style: { width: "100%" }, onClick: handleRenameExistingFonts, disabled: ready !== true })), /* @__PURE__ */ React4.createElement(Stack2, { space: 3 }, /* @__PURE__ */ React4.createElement(Text4, { size: 1, weight: "semibold", style: { lineHeight: 1.6 } }, "Update Font Prices"), ready === "price" ? renderProcessing() : /* @__PURE__ */ React4.createElement(Stack2, { space: 2 }, /* @__PURE__ */ React4.createElement(PriceInput_default, { inputPrice, handleInputChange }), /* @__PURE__ */ React4.createElement(Button2, { mode: "ghost", tone: "primary", text: "Update All Font Prices", style: { width: "100%" }, onClick: handleChangeFontPrice, disabled: ready !== true }))), /* @__PURE__ */ React4.createElement(Stack2, { space: 3 }, /* @__PURE__ */ React4.createElement(Text4, { size: 1, weight: "semibold", style: { lineHeight: 1.6 } }, "Regenerate CSS"), /* @__PURE__ */ React4.createElement(Text4, { size: 1, muted: true, style: { lineHeight: 1.6 } }, "Rebuilds the CSS @font-face files for all fonts in the typeface fonts list."), ready === "css" ? renderProcessing() : /* @__PURE__ */ React4.createElement(Button2, { mode: "ghost", tone: "primary", text: "Regenerate CSS Files", style: { width: "100%" }, onClick: handleRegenerateCssFiles, disabled: ready !== true }))) : ready ? /* @__PURE__ */ React4.createElement(React4.Fragment, null, /* @__PURE__ */ React4.createElement(Grid, { columns: [2], gap: 4, marginTop: 1, marginBottom: 1 }, /* @__PURE__ */ React4.createElement(Box2, null, /* @__PURE__ */ React4.createElement(PriceInput_default, { inputPrice, handleInputChange })), /* @__PURE__ */ React4.createElement(Stack2, { space: 3 }, /* @__PURE__ */ React4.createElement(Flex3, { align: "center", gap: 2 }, /* @__PURE__ */ React4.createElement(
1986
1986
  Switch,
1987
1987
  {
1988
1988
  checked: preserveShortenedNames,
@@ -1991,7 +1991,7 @@ var BatchUploadFonts = () => {
1991
1991
  ), renderTooltipLabel(
1992
1992
  "Preserve shortened names",
1993
1993
  'Abbreviations in font names are kept as-is (e.g. "XNarrow" stays "XNarrow", "Bd" stays "Bd").'
1994
- )), /* @__PURE__ */ React5.createElement(Flex3, { align: "center", gap: 2 }, /* @__PURE__ */ React5.createElement(
1994
+ )), /* @__PURE__ */ React4.createElement(Flex3, { align: "center", gap: 2 }, /* @__PURE__ */ React4.createElement(
1995
1995
  Switch,
1996
1996
  {
1997
1997
  checked: preserveFileNames,
@@ -2000,11 +2000,11 @@ var BatchUploadFonts = () => {
2000
2000
  ), renderTooltipLabel(
2001
2001
  "Preserve file names",
2002
2002
  "Original filename capitalisation is used for asset naming instead of the normalised font title."
2003
- )))), /* @__PURE__ */ React5.createElement(Box2, { marginTop: 3 }, pendingFiles.length === 0 ? renderDropZone() : renderFileList())) : renderProcessing())));
2003
+ )))), /* @__PURE__ */ React4.createElement(Box2, { marginTop: 3 }, pendingFiles.length === 0 ? renderDropZone() : renderFileList())) : renderProcessing())));
2004
2004
  };
2005
2005
 
2006
2006
  // src/components/GenerateCollectionsPairsComponent.jsx
2007
- import React6, { useCallback as useCallback2, useState as useState3 } from "react";
2007
+ import React5, { useCallback as useCallback2, useState as useState3 } from "react";
2008
2008
  import { Stack as Stack3, Grid as Grid2, Flex as Flex4, Text as Text5, Button as Button3, Card as Card2, Spinner as Spinner2 } from "@sanity/ui";
2009
2009
  import { useFormValue as useFormValue3 } from "sanity";
2010
2010
  import slugify2 from "slugify";
@@ -2184,7 +2184,7 @@ var GenerateCollectionsPairsComponent = () => {
2184
2184
  setReady(true);
2185
2185
  }, [doc_id, title, slug, stylesObject, pairPrice, client, createSanityPair]);
2186
2186
  if (!title || !slug) return null;
2187
- return /* @__PURE__ */ React6.createElement(Stack3, { space: 2 }, /* @__PURE__ */ React6.createElement(StatusDisplay_default, { status, error: false }), /* @__PURE__ */ React6.createElement(Card2, { border: true, padding: 2, shadow: 1, radius: 2 }, ready ? /* @__PURE__ */ React6.createElement(Stack3, { space: 3 }, /* @__PURE__ */ React6.createElement(Grid2, { columns: [2], gap: 4, marginTop: 1, marginBottom: 1 }, /* @__PURE__ */ React6.createElement(Stack3, { space: 2 }, /* @__PURE__ */ React6.createElement(Text5, { size: 1, muted: true }, "Collection price / font"), /* @__PURE__ */ React6.createElement(Flex4, { align: "center", gap: 2 }, /* @__PURE__ */ React6.createElement(Text5, { size: 1, muted: true }, "$"), /* @__PURE__ */ React6.createElement(
2187
+ return /* @__PURE__ */ React5.createElement(Stack3, { space: 2 }, /* @__PURE__ */ React5.createElement(StatusDisplay_default, { status, error: false }), /* @__PURE__ */ React5.createElement(Card2, { border: true, padding: 2, shadow: 1, radius: 2 }, ready ? /* @__PURE__ */ React5.createElement(Stack3, { space: 3 }, /* @__PURE__ */ React5.createElement(Grid2, { columns: [2], gap: 4, marginTop: 1, marginBottom: 1 }, /* @__PURE__ */ React5.createElement(Stack3, { space: 2 }, /* @__PURE__ */ React5.createElement(Text5, { size: 1, muted: true }, "Collection price / font"), /* @__PURE__ */ React5.createElement(Flex4, { align: "center", gap: 2 }, /* @__PURE__ */ React5.createElement(Text5, { size: 1, muted: true }, "$"), /* @__PURE__ */ React5.createElement(
2188
2188
  "input",
2189
2189
  {
2190
2190
  value: collectionPrice,
@@ -2192,7 +2192,7 @@ var GenerateCollectionsPairsComponent = () => {
2192
2192
  type: "number",
2193
2193
  style: { textAlign: "end", padding: "5px", maxWidth: "75px" }
2194
2194
  }
2195
- ))), /* @__PURE__ */ React6.createElement(Stack3, { space: 2 }, /* @__PURE__ */ React6.createElement(Text5, { size: 1, muted: true }, "Pair price"), /* @__PURE__ */ React6.createElement(Flex4, { align: "center", gap: 2 }, /* @__PURE__ */ React6.createElement(Text5, { size: 1, muted: true }, "$"), /* @__PURE__ */ React6.createElement(
2195
+ ))), /* @__PURE__ */ React5.createElement(Stack3, { space: 2 }, /* @__PURE__ */ React5.createElement(Text5, { size: 1, muted: true }, "Pair price"), /* @__PURE__ */ React5.createElement(Flex4, { align: "center", gap: 2 }, /* @__PURE__ */ React5.createElement(Text5, { size: 1, muted: true }, "$"), /* @__PURE__ */ React5.createElement(
2196
2196
  "input",
2197
2197
  {
2198
2198
  value: pairPrice,
@@ -2200,11 +2200,11 @@ var GenerateCollectionsPairsComponent = () => {
2200
2200
  type: "number",
2201
2201
  style: { textAlign: "end", padding: "5px", maxWidth: "75px" }
2202
2202
  }
2203
- )))), /* @__PURE__ */ React6.createElement(Button3, { mode: "ghost", tone: "primary", text: "Generate Collections", style: { width: "100%" }, onClick: handleGenerateCollections }), /* @__PURE__ */ React6.createElement(Button3, { mode: "ghost", tone: "primary", text: "Generate Pairs", style: { width: "100%" }, onClick: handleGeneratePairs })) : /* @__PURE__ */ React6.createElement(Flex4, { align: "center", justify: "center", gap: 3, padding: 4 }, /* @__PURE__ */ React6.createElement(Spinner2, null), /* @__PURE__ */ React6.createElement(Text5, { muted: true, size: 1 }, status))));
2203
+ )))), /* @__PURE__ */ React5.createElement(Button3, { mode: "ghost", tone: "primary", text: "Generate Collections", style: { width: "100%" }, onClick: handleGenerateCollections }), /* @__PURE__ */ React5.createElement(Button3, { mode: "ghost", tone: "primary", text: "Generate Pairs", style: { width: "100%" }, onClick: handleGeneratePairs })) : /* @__PURE__ */ React5.createElement(Flex4, { align: "center", justify: "center", gap: 3, padding: 4 }, /* @__PURE__ */ React5.createElement(Spinner2, null), /* @__PURE__ */ React5.createElement(Text5, { muted: true, size: 1 }, status))));
2204
2204
  };
2205
2205
 
2206
2206
  // src/components/UpdateScriptsComponent.jsx
2207
- import React7, { useState as useState4, useCallback as useCallback3, useRef as useRef2, useEffect as useEffect2 } from "react";
2207
+ import React6, { useState as useState4, useCallback as useCallback3, useRef as useRef2, useEffect as useEffect2 } from "react";
2208
2208
  import { Stack as Stack4, Text as Text6, Button as Button4 } from "@sanity/ui";
2209
2209
  import { useFormValue as useFormValue4, set } from "sanity";
2210
2210
  var UpdateScriptsComponent = (props) => {
@@ -2247,7 +2247,7 @@ var UpdateScriptsComponent = (props) => {
2247
2247
  if (isReadyRef.current) onChange(set(newScripts));
2248
2248
  setMessage("Scripts updated");
2249
2249
  }, [onChange, fonts, client]);
2250
- return /* @__PURE__ */ React7.createElement(Stack4, { space: 3 }, /* @__PURE__ */ React7.createElement(
2250
+ return /* @__PURE__ */ React6.createElement(Stack4, { space: 3 }, /* @__PURE__ */ React6.createElement(
2251
2251
  Button4,
2252
2252
  {
2253
2253
  mode: "ghost",
@@ -2256,11 +2256,11 @@ var UpdateScriptsComponent = (props) => {
2256
2256
  text: "Update Scripts from Font Files",
2257
2257
  onClick: updateFromFonts
2258
2258
  }
2259
- ), message && /* @__PURE__ */ React7.createElement(Text6, { size: 1, style: { color: "green" } }, message), props.renderDefault(props));
2259
+ ), message && /* @__PURE__ */ React6.createElement(Text6, { size: 1, style: { color: "green" } }, message), props.renderDefault(props));
2260
2260
  };
2261
2261
 
2262
2262
  // src/components/SingleUploaderTool.jsx
2263
- import React8, { useState as useState5, useEffect as useEffect3, useCallback as useCallback4, useMemo as useMemo3 } from "react";
2263
+ import React7, { useState as useState5, useEffect as useEffect3, useCallback as useCallback4, useMemo as useMemo3 } from "react";
2264
2264
  import { Button as Button5, Grid as Grid3, Stack as Stack5, Flex as Flex5, Box as Box3, Text as Text7, Card as Card3 } from "@sanity/ui";
2265
2265
  import { TrashIcon as TrashIcon2, ControlsIcon as ControlsIcon2 } from "@sanity/icons";
2266
2266
  import { useFormValue as useFormValue5, set as set2, unset } from "sanity";
@@ -2804,26 +2804,26 @@ var SingleUploaderTool = (props) => {
2804
2804
  const formatUpper = format.toUpperCase();
2805
2805
  const hasFile = !!((_b2 = (_a2 = fileInput == null ? void 0 : fileInput[format]) == null ? void 0 : _a2.asset) == null ? void 0 : _b2._ref);
2806
2806
  const fileUrl = hasFile ? `https://cdn.sanity.io/files/${process.env.SANITY_STUDIO_PROJECT_ID}/${process.env.SANITY_STUDIO_DATASET}/${fileInput[format].asset._ref.replace("file-", "").replace("-", ".")}` : null;
2807
- return /* @__PURE__ */ React8.createElement(Card3, { border: true, radius: 1, paddingX: 2, paddingY: 3 }, /* @__PURE__ */ React8.createElement(Flex5, { justify: "space-between", align: "center", gap: 2 }, /* @__PURE__ */ React8.createElement(Flex5, { gap: 3, align: "center", style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React8.createElement(Text7, { size: 0, style: { fontFamily: "monospace", minWidth: "2.5rem", flexShrink: 0, opacity: hasFile ? 1 : 0.5 } }, formatUpper), hasFile ? /* @__PURE__ */ React8.createElement(Box3, { style: { flex: 1, minWidth: 0, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" } }, /* @__PURE__ */ React8.createElement("a", { href: fileUrl, target: "_blank", rel: "noreferrer" }, (filenames == null ? void 0 : filenames[format]) || "File")) : /* @__PURE__ */ React8.createElement(Text7, { size: 1, muted: true }, "\u2014")), status === "ready" && /* @__PURE__ */ React8.createElement(Flex5, { gap: 1, align: "center", style: { flexShrink: 0 } }, buildSource && (fileInput == null ? void 0 : fileInput[buildSource]) && /* @__PURE__ */ React8.createElement(Button5, { mode: "ghost", tone: "primary", fontSize: 1, padding: 2, onClick: () => handleGenerateFontFile(format, fileInput[buildSource]), text: "Build" }), /* @__PURE__ */ React8.createElement(Button5, { as: "label", mode: "ghost", tone: "primary", fontSize: 1, padding: 2, style: { cursor: "pointer" } }, /* @__PURE__ */ React8.createElement(Text7, { size: 1 }, "Upload"), /* @__PURE__ */ React8.createElement("input", { ref, type: "file", hidden: true, onChange: (e) => handleUpload(e, format) })), hasFile && /* @__PURE__ */ React8.createElement(Button5, { mode: "bleed", tone: "critical", icon: TrashIcon2, padding: 2, onClick: () => handleDelete(format) }))));
2807
+ return /* @__PURE__ */ React7.createElement(Card3, { border: true, radius: 1, paddingX: 2, paddingY: 3 }, /* @__PURE__ */ React7.createElement(Flex5, { justify: "space-between", align: "center", gap: 2 }, /* @__PURE__ */ React7.createElement(Flex5, { gap: 3, align: "center", style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React7.createElement(Text7, { size: 0, style: { fontFamily: "monospace", minWidth: "2.5rem", flexShrink: 0, opacity: hasFile ? 1 : 0.5 } }, formatUpper), hasFile ? /* @__PURE__ */ React7.createElement(Box3, { style: { flex: 1, minWidth: 0, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" } }, /* @__PURE__ */ React7.createElement("a", { href: fileUrl, target: "_blank", rel: "noreferrer" }, (filenames == null ? void 0 : filenames[format]) || "File")) : /* @__PURE__ */ React7.createElement(Text7, { size: 1, muted: true }, "\u2014")), status === "ready" && /* @__PURE__ */ React7.createElement(Flex5, { gap: 1, align: "center", style: { flexShrink: 0 } }, buildSource && (fileInput == null ? void 0 : fileInput[buildSource]) && /* @__PURE__ */ React7.createElement(Button5, { mode: "ghost", tone: "primary", fontSize: 1, padding: 2, onClick: () => handleGenerateFontFile(format, fileInput[buildSource]), text: "Build" }), /* @__PURE__ */ React7.createElement(Button5, { as: "label", mode: "ghost", tone: "primary", fontSize: 1, padding: 2, style: { cursor: "pointer" } }, /* @__PURE__ */ React7.createElement(Text7, { size: 1 }, "Upload"), /* @__PURE__ */ React7.createElement("input", { ref, type: "file", hidden: true, onChange: (e) => handleUpload(e, format) })), hasFile && /* @__PURE__ */ React7.createElement(Button5, { mode: "bleed", tone: "critical", icon: TrashIcon2, padding: 2, onClick: () => handleDelete(format) }))));
2808
2808
  };
2809
2809
  const renderTopLevelAssetSection = (label, fieldName, assetRef, filename, onBuild) => {
2810
2810
  const hasFile = !!assetRef;
2811
2811
  const fileUrl = hasFile ? `https://cdn.sanity.io/files/${process.env.SANITY_STUDIO_PROJECT_ID}/${process.env.SANITY_STUDIO_DATASET}/${assetRef.replace("file-", "").replace("-", ".")}` : null;
2812
- return /* @__PURE__ */ React8.createElement(Card3, { border: true, radius: 1, paddingX: 2, paddingY: 3 }, /* @__PURE__ */ React8.createElement(Flex5, { justify: "space-between", align: "center", gap: 2 }, /* @__PURE__ */ React8.createElement(Flex5, { gap: 3, align: "center", style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React8.createElement(Text7, { size: 0, style: { fontFamily: "monospace", minWidth: "2.5rem", flexShrink: 0, opacity: hasFile ? 1 : 0.5 } }, label), hasFile ? /* @__PURE__ */ React8.createElement(Box3, { style: { flex: 1, minWidth: 0, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" } }, /* @__PURE__ */ React8.createElement("a", { href: fileUrl, target: "_blank", rel: "noreferrer" }, filename || "File")) : /* @__PURE__ */ React8.createElement(Text7, { size: 1, muted: true }, "\u2014")), status === "ready" && /* @__PURE__ */ React8.createElement(Flex5, { gap: 1, align: "center", style: { flexShrink: 0 } }, onBuild && (fileInput == null ? void 0 : fileInput.woff2) && /* @__PURE__ */ React8.createElement(Button5, { mode: "ghost", tone: "primary", fontSize: 1, padding: 2, onClick: onBuild, text: "Build" }), /* @__PURE__ */ React8.createElement(Button5, { as: "label", mode: "ghost", tone: "primary", fontSize: 1, padding: 2, style: { cursor: "pointer" } }, /* @__PURE__ */ React8.createElement(Text7, { size: 1 }, "Upload"), /* @__PURE__ */ React8.createElement("input", { type: "file", hidden: true, onChange: (e) => handleUploadTopLevelFile(e, fieldName) })), hasFile && /* @__PURE__ */ React8.createElement(Button5, { mode: "bleed", tone: "critical", icon: TrashIcon2, padding: 2, onClick: () => handleDeleteTopLevel(fieldName) }))));
2812
+ return /* @__PURE__ */ React7.createElement(Card3, { border: true, radius: 1, paddingX: 2, paddingY: 3 }, /* @__PURE__ */ React7.createElement(Flex5, { justify: "space-between", align: "center", gap: 2 }, /* @__PURE__ */ React7.createElement(Flex5, { gap: 3, align: "center", style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React7.createElement(Text7, { size: 0, style: { fontFamily: "monospace", minWidth: "2.5rem", flexShrink: 0, opacity: hasFile ? 1 : 0.5 } }, label), hasFile ? /* @__PURE__ */ React7.createElement(Box3, { style: { flex: 1, minWidth: 0, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" } }, /* @__PURE__ */ React7.createElement("a", { href: fileUrl, target: "_blank", rel: "noreferrer" }, filename || "File")) : /* @__PURE__ */ React7.createElement(Text7, { size: 1, muted: true }, "\u2014")), status === "ready" && /* @__PURE__ */ React7.createElement(Flex5, { gap: 1, align: "center", style: { flexShrink: 0 } }, onBuild && (fileInput == null ? void 0 : fileInput.woff2) && /* @__PURE__ */ React7.createElement(Button5, { mode: "ghost", tone: "primary", fontSize: 1, padding: 2, onClick: onBuild, text: "Build" }), /* @__PURE__ */ React7.createElement(Button5, { as: "label", mode: "ghost", tone: "primary", fontSize: 1, padding: 2, style: { cursor: "pointer" } }, /* @__PURE__ */ React7.createElement(Text7, { size: 1 }, "Upload"), /* @__PURE__ */ React7.createElement("input", { type: "file", hidden: true, onChange: (e) => handleUploadTopLevelFile(e, fieldName) })), hasFile && /* @__PURE__ */ React7.createElement(Button5, { mode: "bleed", tone: "critical", icon: TrashIcon2, padding: 2, onClick: () => handleDeleteTopLevel(fieldName) }))));
2813
2813
  };
2814
2814
  const renderCssSection = () => {
2815
2815
  var _a2, _b2;
2816
2816
  const hasFile = !!((_b2 = (_a2 = fileInput == null ? void 0 : fileInput.css) == null ? void 0 : _a2.asset) == null ? void 0 : _b2._ref);
2817
2817
  const fileUrl = hasFile ? `https://cdn.sanity.io/files/${process.env.SANITY_STUDIO_PROJECT_ID}/${process.env.SANITY_STUDIO_DATASET}/${fileInput.css.asset._ref.replace("file-", "").replace("-", ".")}` : null;
2818
- return /* @__PURE__ */ React8.createElement(Card3, { border: true, radius: 1, paddingX: 2, paddingY: 3 }, /* @__PURE__ */ React8.createElement(Flex5, { justify: "space-between", align: "center", gap: 2 }, /* @__PURE__ */ React8.createElement(Flex5, { gap: 3, align: "center", style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React8.createElement(Text7, { size: 0, style: { fontFamily: "monospace", minWidth: "2.5rem", flexShrink: 0, opacity: hasFile ? 1 : 0.5 } }, "CSS"), hasFile ? /* @__PURE__ */ React8.createElement(Box3, { style: { flex: 1, minWidth: 0, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" } }, /* @__PURE__ */ React8.createElement("a", { href: fileUrl, target: "_blank", rel: "noreferrer" }, (filenames == null ? void 0 : filenames.css) || "File")) : /* @__PURE__ */ React8.createElement(Text7, { size: 1, muted: true }, "\u2014")), status === "ready" && /* @__PURE__ */ React8.createElement(Flex5, { gap: 1, align: "center", style: { flexShrink: 0 } }, (fileInput == null ? void 0 : fileInput.woff2) && /* @__PURE__ */ React8.createElement(Button5, { mode: "ghost", tone: "primary", fontSize: 1, padding: 2, onClick: () => handleGenerateCssFile(), text: "Build" }), hasFile && /* @__PURE__ */ React8.createElement(Button5, { mode: "bleed", tone: "critical", icon: TrashIcon2, padding: 2, onClick: () => handleDelete("css") }))));
2818
+ return /* @__PURE__ */ React7.createElement(Card3, { border: true, radius: 1, paddingX: 2, paddingY: 3 }, /* @__PURE__ */ React7.createElement(Flex5, { justify: "space-between", align: "center", gap: 2 }, /* @__PURE__ */ React7.createElement(Flex5, { gap: 3, align: "center", style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React7.createElement(Text7, { size: 0, style: { fontFamily: "monospace", minWidth: "2.5rem", flexShrink: 0, opacity: hasFile ? 1 : 0.5 } }, "CSS"), hasFile ? /* @__PURE__ */ React7.createElement(Box3, { style: { flex: 1, minWidth: 0, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" } }, /* @__PURE__ */ React7.createElement("a", { href: fileUrl, target: "_blank", rel: "noreferrer" }, (filenames == null ? void 0 : filenames.css) || "File")) : /* @__PURE__ */ React7.createElement(Text7, { size: 1, muted: true }, "\u2014")), status === "ready" && /* @__PURE__ */ React7.createElement(Flex5, { gap: 1, align: "center", style: { flexShrink: 0 } }, (fileInput == null ? void 0 : fileInput.woff2) && /* @__PURE__ */ React7.createElement(Button5, { mode: "ghost", tone: "primary", fontSize: 1, padding: 2, onClick: () => handleGenerateCssFile(), text: "Build" }), hasFile && /* @__PURE__ */ React7.createElement(Button5, { mode: "bleed", tone: "critical", icon: TrashIcon2, padding: 2, onClick: () => handleDelete("css") }))));
2819
2819
  };
2820
- const renderDataSection = () => /* @__PURE__ */ React8.createElement(Card3, { border: true, radius: 1, paddingX: 2, paddingY: 3 }, /* @__PURE__ */ React8.createElement(Flex5, { justify: "space-between", align: "center", gap: 2 }, /* @__PURE__ */ React8.createElement(Flex5, { gap: 3, align: "center", style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React8.createElement(Text7, { size: 0, style: { fontFamily: "monospace", minWidth: "2.5rem", flexShrink: 0, opacity: (doc_metaData == null ? void 0 : doc_metaData.version) ? 1 : 0.5 } }, "DATA"), (doc_metaData == null ? void 0 : doc_metaData.version) ? /* @__PURE__ */ React8.createElement(Text7, { size: 1 }, "v", doc_metaData.version, " ", /* @__PURE__ */ React8.createElement(Text7, { as: "span", size: 1, muted: true }, "(", doc_metaData.genDate, ")")) : /* @__PURE__ */ React8.createElement(Text7, { size: 1, muted: true }, "\u2014")), status === "ready" && (fileInput == null ? void 0 : fileInput.ttf) && /* @__PURE__ */ React8.createElement(Flex5, { gap: 1, align: "center", style: { flexShrink: 0 } }, /* @__PURE__ */ React8.createElement(Button5, { mode: "ghost", tone: "primary", fontSize: 1, padding: 2, onClick: () => handleGenerateFontData(), text: "Build" }))));
2821
- return /* @__PURE__ */ React8.createElement(Stack5, { space: 2 }, /* @__PURE__ */ React8.createElement(
2820
+ const renderDataSection = () => /* @__PURE__ */ React7.createElement(Card3, { border: true, radius: 1, paddingX: 2, paddingY: 3 }, /* @__PURE__ */ React7.createElement(Flex5, { justify: "space-between", align: "center", gap: 2 }, /* @__PURE__ */ React7.createElement(Flex5, { gap: 3, align: "center", style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React7.createElement(Text7, { size: 0, style: { fontFamily: "monospace", minWidth: "2.5rem", flexShrink: 0, opacity: (doc_metaData == null ? void 0 : doc_metaData.version) ? 1 : 0.5 } }, "DATA"), (doc_metaData == null ? void 0 : doc_metaData.version) ? /* @__PURE__ */ React7.createElement(Text7, { size: 1 }, "v", doc_metaData.version, " ", /* @__PURE__ */ React7.createElement(Text7, { as: "span", size: 1, muted: true }, "(", doc_metaData.genDate, ")")) : /* @__PURE__ */ React7.createElement(Text7, { size: 1, muted: true }, "\u2014")), status === "ready" && (fileInput == null ? void 0 : fileInput.ttf) && /* @__PURE__ */ React7.createElement(Flex5, { gap: 1, align: "center", style: { flexShrink: 0 } }, /* @__PURE__ */ React7.createElement(Button5, { mode: "ghost", tone: "primary", fontSize: 1, padding: 2, onClick: () => handleGenerateFontData(), text: "Build" }))));
2821
+ return /* @__PURE__ */ React7.createElement(Stack5, { space: 2 }, /* @__PURE__ */ React7.createElement(
2822
2822
  StatusDisplay_default,
2823
2823
  {
2824
2824
  status,
2825
2825
  error,
2826
- action: /* @__PURE__ */ React8.createElement(
2826
+ action: /* @__PURE__ */ React7.createElement(
2827
2827
  Button5,
2828
2828
  {
2829
2829
  mode: "bleed",
@@ -2835,7 +2835,7 @@ var SingleUploaderTool = (props) => {
2835
2835
  }
2836
2836
  )
2837
2837
  }
2838
- ), renderFontSection("ttf"), status === "ready" && (fileInput == null ? void 0 : fileInput.ttf) && /* @__PURE__ */ React8.createElement(Grid3, { columns: [1, 2], gap: 2 }, /* @__PURE__ */ React8.createElement(
2838
+ ), renderFontSection("ttf"), status === "ready" && (fileInput == null ? void 0 : fileInput.ttf) && /* @__PURE__ */ React7.createElement(Grid3, { columns: [1, 2], gap: 2 }, /* @__PURE__ */ React7.createElement(
2839
2839
  Button5,
2840
2840
  {
2841
2841
  mode: "ghost",
@@ -2844,7 +2844,7 @@ var SingleUploaderTool = (props) => {
2844
2844
  text: "Rebuild All from TTF",
2845
2845
  style: { width: "100%" }
2846
2846
  }
2847
- ), /* @__PURE__ */ React8.createElement(
2847
+ ), /* @__PURE__ */ React7.createElement(
2848
2848
  Button5,
2849
2849
  {
2850
2850
  mode: "ghost",
@@ -2864,11 +2864,11 @@ var SingleUploaderTool = (props) => {
2864
2864
  text: "Build Missing",
2865
2865
  style: { width: "100%" }
2866
2866
  }
2867
- )), renderFontSection("otf", "woff"), renderFontSection("woff", "ttf"), renderFontSection("woff2", "ttf"), showAdvanced && renderTopLevelAssetSection("WEB", "woff2_web", (_b = (_a = fileInput == null ? void 0 : fileInput.woff2_web) == null ? void 0 : _a.asset) == null ? void 0 : _b._ref, filenames == null ? void 0 : filenames.woff2_web, handleGenerateSubsetAndWeb), showAdvanced && renderTopLevelAssetSection("SUBSET", "woff2_subset", (_d = (_c = fileInput == null ? void 0 : fileInput.woff2_subset) == null ? void 0 : _c.asset) == null ? void 0 : _d._ref, filenames == null ? void 0 : filenames.woff2_subset, handleGenerateSubsetAndWeb), showAdvanced && renderFontSection("eot", "ttf"), showAdvanced && renderFontSection("svg", "ttf"), renderCssSection(), showAdvanced && renderDataSection(), status === "ready" && ((fileInput == null ? void 0 : fileInput.ttf) || (fileInput == null ? void 0 : fileInput.otf) || (fileInput == null ? void 0 : fileInput.woff) || (fileInput == null ? void 0 : fileInput.woff2)) && /* @__PURE__ */ React8.createElement(Button5, { mode: "ghost", tone: "critical", onClick: () => handleDeleteAll(), text: "Delete All", style: { width: "100%" } }));
2867
+ )), renderFontSection("otf", "woff"), renderFontSection("woff", "ttf"), renderFontSection("woff2", "ttf"), showAdvanced && renderTopLevelAssetSection("WEB", "woff2_web", (_b = (_a = fileInput == null ? void 0 : fileInput.woff2_web) == null ? void 0 : _a.asset) == null ? void 0 : _b._ref, filenames == null ? void 0 : filenames.woff2_web, handleGenerateSubsetAndWeb), showAdvanced && renderTopLevelAssetSection("SUBSET", "woff2_subset", (_d = (_c = fileInput == null ? void 0 : fileInput.woff2_subset) == null ? void 0 : _c.asset) == null ? void 0 : _d._ref, filenames == null ? void 0 : filenames.woff2_subset, handleGenerateSubsetAndWeb), showAdvanced && renderFontSection("eot", "ttf"), showAdvanced && renderFontSection("svg", "ttf"), renderCssSection(), showAdvanced && renderDataSection(), status === "ready" && ((fileInput == null ? void 0 : fileInput.ttf) || (fileInput == null ? void 0 : fileInput.otf) || (fileInput == null ? void 0 : fileInput.woff) || (fileInput == null ? void 0 : fileInput.woff2)) && /* @__PURE__ */ React7.createElement(Button5, { mode: "ghost", tone: "critical", onClick: () => handleDeleteAll(), text: "Delete All", style: { width: "100%" } }));
2868
2868
  };
2869
2869
 
2870
2870
  // src/components/UploadScriptsComponent.jsx
2871
- import React10, { useCallback as useCallback5, useEffect as useEffect4, useMemo as useMemo4, useState as useState6 } from "react";
2871
+ import React9, { useCallback as useCallback5, useEffect as useEffect4, useMemo as useMemo4, useState as useState6 } from "react";
2872
2872
  import { Button as Button6, Flex as Flex6, Grid as Grid4, Stack as Stack6, Text as Text8, TextInput, MenuButton, Menu, MenuItem, Select } from "@sanity/ui";
2873
2873
  import * as fontkit6 from "fontkit";
2874
2874
  import slugify3 from "slugify";
@@ -2876,7 +2876,7 @@ import { useFormValue as useFormValue6 } from "sanity";
2876
2876
  import { nanoid as nanoid7 } from "nanoid";
2877
2877
 
2878
2878
  // src/utils/utils.js
2879
- import React9 from "react";
2879
+ import React8 from "react";
2880
2880
  var HtmlDescription = ({ children }) => {
2881
2881
  return children || "";
2882
2882
  };
@@ -2894,8 +2894,8 @@ var UploadScriptsComponent = (props) => {
2894
2894
  const { elementProps: { ref } } = props;
2895
2895
  const client = useSanityClient();
2896
2896
  const [selectedScript, setSelectedScript] = useState6("");
2897
- const [status, setStatus] = React10.useState("");
2898
- const [ready, setReady] = React10.useState(true);
2897
+ const [status, setStatus] = React9.useState("");
2898
+ const [ready, setReady] = React9.useState(true);
2899
2899
  let doc_id = useFormValue6(["_id"]);
2900
2900
  const title = useFormValue6(["title"]);
2901
2901
  const slug = useFormValue6(["slug"]);
@@ -3217,26 +3217,26 @@ var UploadScriptsComponent = (props) => {
3217
3217
  }
3218
3218
  setReady(true);
3219
3219
  }, [title, slug, doc_id]);
3220
- return /* @__PURE__ */ React10.createElement(Stack6, null, !ready && /* @__PURE__ */ React10.createElement(Text8, null, /* @__PURE__ */ React10.createElement("br", null), status, /* @__PURE__ */ React10.createElement("br", null), /* @__PURE__ */ React10.createElement("br", null)), ready && /* @__PURE__ */ React10.createElement(Stack6, null, /* @__PURE__ */ React10.createElement(Grid4, { columns: !!(selectedScript && selectedScript !== "") ? 2 : 1, gap: 2 }, /* @__PURE__ */ React10.createElement(
3220
+ return /* @__PURE__ */ React9.createElement(Stack6, null, !ready && /* @__PURE__ */ React9.createElement(Text8, null, /* @__PURE__ */ React9.createElement("br", null), status, /* @__PURE__ */ React9.createElement("br", null), /* @__PURE__ */ React9.createElement("br", null)), ready && /* @__PURE__ */ React9.createElement(Stack6, null, /* @__PURE__ */ React9.createElement(Grid4, { columns: !!(selectedScript && selectedScript !== "") ? 2 : 1, gap: 2 }, /* @__PURE__ */ React9.createElement(
3221
3221
  Select,
3222
3222
  {
3223
3223
  id: "menu-button-example",
3224
3224
  onChange: (e) => setSelectedScript(e.target.value)
3225
3225
  },
3226
- /* @__PURE__ */ React10.createElement("option", { key: "script-none", value: "" }, " "),
3226
+ /* @__PURE__ */ React9.createElement("option", { key: "script-none", value: "" }, " "),
3227
3227
  SCRIPTS.map(
3228
3228
  (script, i) => {
3229
3229
  var _a;
3230
- return /* @__PURE__ */ React10.createElement("option", { key: "script-" + i, value: script }, ((_a = script[0]) == null ? void 0 : _a.toUpperCase()) + script.slice(1));
3230
+ return /* @__PURE__ */ React9.createElement("option", { key: "script-" + i, value: script }, ((_a = script[0]) == null ? void 0 : _a.toUpperCase()) + script.slice(1));
3231
3231
  }
3232
3232
  )
3233
- ), !!(selectedScript && selectedScript !== "") && /* @__PURE__ */ React10.createElement(React10.Fragment, null, /* @__PURE__ */ React10.createElement("label", { htmlFor: "upload-scripts-file" }, /* @__PURE__ */ React10.createElement(
3233
+ ), !!(selectedScript && selectedScript !== "") && /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement("label", { htmlFor: "upload-scripts-file" }, /* @__PURE__ */ React9.createElement(
3234
3234
  Button6,
3235
3235
  {
3236
3236
  style: { pointerEvents: "none" },
3237
3237
  text: "Upload (ttf/otf/woff/woff2/etc..)"
3238
3238
  }
3239
- )), /* @__PURE__ */ React10.createElement(
3239
+ )), /* @__PURE__ */ React9.createElement(
3240
3240
  "input",
3241
3241
  {
3242
3242
  ref,
@@ -3251,7 +3251,7 @@ var UploadScriptsComponent = (props) => {
3251
3251
  };
3252
3252
 
3253
3253
  // src/components/FontScriptUploaderComponent.jsx
3254
- import React11, { useState as useState7, useEffect as useEffect5, useCallback as useCallback6 } from "react";
3254
+ import React10, { useState as useState7, useEffect as useEffect5, useCallback as useCallback6 } from "react";
3255
3255
  import { Stack as Stack7, Flex as Flex7, Text as Text9, Button as Button7 } from "@sanity/ui";
3256
3256
  import { useFormValue as useFormValue7, set as set3, unset as unset2 } from "sanity";
3257
3257
  var FontScriptUploaderComponent = (props) => {
@@ -3460,17 +3460,17 @@ var FontScriptUploaderComponent = (props) => {
3460
3460
  }
3461
3461
  }
3462
3462
  }, [scriptFileInput]);
3463
- return /* @__PURE__ */ React11.createElement(Stack7, { space: 4 }, SCRIPTS && scriptFileInput && SCRIPTS.map((language, i) => {
3463
+ return /* @__PURE__ */ React10.createElement(Stack7, { space: 4 }, SCRIPTS && scriptFileInput && SCRIPTS.map((language, i) => {
3464
3464
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, __, _$, _aa, _ba, _ca, _da, _ea, _fa, _ga, _ha, _ia, _ja, _ka, _la, _ma, _na, _oa, _pa, _qa, _ra, _sa, _ta, _ua, _va, _wa, _xa, _ya, _za, _Aa, _Ba, _Ca, _Da, _Ea, _Fa, _Ga;
3465
- return /* @__PURE__ */ React11.createElement(Stack7, { space: 2, key: "language-" + i, style: { borderBottom: "1px solid var(--card-border-color)", paddingBottom: 8 } }, /* @__PURE__ */ React11.createElement(Flex7, { gap: 2 }, /* @__PURE__ */ React11.createElement(Text9, { weight: "semibold" }, ((_a = language[0]) == null ? void 0 : _a.toUpperCase()) + language.slice(1)), message && message[language] && message[language] !== "" && /* @__PURE__ */ React11.createElement(Text9, { style: { color: "green" } }, message[language])), expanded[language] && /* @__PURE__ */ React11.createElement(Stack7, { space: 2 }, /* @__PURE__ */ React11.createElement(Flex7, { justify: "space-between", align: "center" }, /* @__PURE__ */ React11.createElement(Text9, null, "TTF:\xA0", !((_d = (_c = (_b = scriptFileInput[language]) == null ? void 0 : _b.ttf) == null ? void 0 : _c.asset) == null ? void 0 : _d._ref) ? ((_e = filenames[language]) == null ? void 0 : _e.ttf) ? /* @__PURE__ */ React11.createElement("b", null, filenames[language].ttf) : /* @__PURE__ */ React11.createElement("b", null, "Empty") : /* @__PURE__ */ React11.createElement("a", { href: `https://cdn.sanity.io/files/${process.env.SANITY_STUDIO_PROJECT_ID}/${process.env.SANITY_STUDIO_DATASET}/${(_h = (_g = (_f = scriptFileInput[language]) == null ? void 0 : _f.ttf) == null ? void 0 : _g.asset) == null ? void 0 : _h._ref.replace("file-", "").replace("-", ".")}`, target: "_blank" }, ((_i = filenames[language]) == null ? void 0 : _i.ttf) ? /* @__PURE__ */ React11.createElement("b", null, filenames[language].ttf) : /* @__PURE__ */ React11.createElement("b", null, "File"))), status === "ready" && /* @__PURE__ */ React11.createElement(Flex7, { gap: 1 }, /* @__PURE__ */ React11.createElement("label", null, /* @__PURE__ */ React11.createElement(Button7, { as: "span", mode: "ghost" }, "Upload"), /* @__PURE__ */ React11.createElement("input", { ref, type: "file", style: { display: "none" }, onChange: (event) => handleUpload(event, language, "ttf") })), ((_j = value[language]) == null ? void 0 : _j.ttf) && /* @__PURE__ */ React11.createElement(Button7, { mode: "ghost", tone: "critical", onClick: () => handleDelete("ttf", language) }, "\xD7"))), status === "ready" && ((_k = value[language]) == null ? void 0 : _k.ttf) && /* @__PURE__ */ React11.createElement(Button7, { mode: "default", onClick: () => handleGenerateFontFile("all", value[language].ttf, language) }, "Regenerate Files from TTF"), /* @__PURE__ */ React11.createElement(Flex7, { justify: "space-between", align: "center" }, /* @__PURE__ */ React11.createElement(Text9, null, "OTF:\xA0", !((_n = (_m = (_l = scriptFileInput[language]) == null ? void 0 : _l.otf) == null ? void 0 : _m.asset) == null ? void 0 : _n._ref) ? ((_o = filenames[language]) == null ? void 0 : _o.otf) ? /* @__PURE__ */ React11.createElement("b", null, (_p = filenames[language]) == null ? void 0 : _p.otf) : /* @__PURE__ */ React11.createElement("b", null, "Empty") : /* @__PURE__ */ React11.createElement("a", { href: `https://cdn.sanity.io/files/${process.env.SANITY_STUDIO_PROJECT_ID}/${process.env.SANITY_STUDIO_DATASET}/${(_s = (_r = (_q = scriptFileInput[language]) == null ? void 0 : _q.otf) == null ? void 0 : _r.asset) == null ? void 0 : _s._ref.replace("file-", "").replace("-", ".")}`, target: "_blank" }, ((_t = filenames[language]) == null ? void 0 : _t.otf) ? /* @__PURE__ */ React11.createElement("b", null, (_u = filenames[language]) == null ? void 0 : _u.otf) : /* @__PURE__ */ React11.createElement("b", null, "File"))), status === "ready" && /* @__PURE__ */ React11.createElement(Flex7, { gap: 1 }, ((_v = value[language]) == null ? void 0 : _v.woff) && /* @__PURE__ */ React11.createElement(Button7, { mode: "default", onClick: () => handleGenerateFontFile("otf", value[language].woff, language) }, "Build"), /* @__PURE__ */ React11.createElement("label", null, /* @__PURE__ */ React11.createElement(Button7, { as: "span", mode: "ghost" }, "Upload"), /* @__PURE__ */ React11.createElement("input", { ref, type: "file", style: { display: "none" }, onChange: async (event) => handleUpload(event, language, "otf") })), ((_w = value[language]) == null ? void 0 : _w.otf) && /* @__PURE__ */ React11.createElement(Button7, { mode: "ghost", tone: "critical", onClick: () => handleDelete("otf", language) }, "\xD7"))), /* @__PURE__ */ React11.createElement(Flex7, { justify: "space-between", align: "center" }, /* @__PURE__ */ React11.createElement(Text9, null, "WOFF:\xA0", !((_z = (_y = (_x = scriptFileInput[language]) == null ? void 0 : _x.woff) == null ? void 0 : _y.asset) == null ? void 0 : _z._ref) ? ((_A = filenames[language]) == null ? void 0 : _A.woff) ? /* @__PURE__ */ React11.createElement("b", null, (_B = filenames[language]) == null ? void 0 : _B.woff) : /* @__PURE__ */ React11.createElement("b", null, "Empty") : /* @__PURE__ */ React11.createElement("a", { href: `https://cdn.sanity.io/files/${process.env.SANITY_STUDIO_PROJECT_ID}/${process.env.SANITY_STUDIO_DATASET}/${(_E = (_D = (_C = scriptFileInput[language]) == null ? void 0 : _C.woff) == null ? void 0 : _D.asset) == null ? void 0 : _E._ref.replace("file-", "").replace("-", ".")}`, target: "_blank" }, ((_F = filenames[language]) == null ? void 0 : _F.woff) ? /* @__PURE__ */ React11.createElement("b", null, (_G = filenames[language]) == null ? void 0 : _G.woff) : /* @__PURE__ */ React11.createElement("b", null, "File"))), status === "ready" && /* @__PURE__ */ React11.createElement(Flex7, { gap: 1 }, ((_H = value[language]) == null ? void 0 : _H.ttf) && /* @__PURE__ */ React11.createElement(Button7, { mode: "default", onClick: () => handleGenerateFontFile("woff", value[language].ttf, language) }, "Build"), /* @__PURE__ */ React11.createElement("label", null, /* @__PURE__ */ React11.createElement(Button7, { as: "span", mode: "ghost" }, "Upload"), /* @__PURE__ */ React11.createElement("input", { ref, type: "file", style: { display: "none" }, onChange: async (event) => handleUpload(event, language, "woff") })), ((_I = value[language]) == null ? void 0 : _I.woff) && /* @__PURE__ */ React11.createElement(Button7, { mode: "ghost", tone: "critical", onClick: () => handleDelete("woff", language) }, "\xD7"))), /* @__PURE__ */ React11.createElement(Flex7, { justify: "space-between", align: "center" }, /* @__PURE__ */ React11.createElement(Text9, null, "WOFF2:\xA0", !((_L = (_K = (_J = scriptFileInput[language]) == null ? void 0 : _J.woff2) == null ? void 0 : _K.asset) == null ? void 0 : _L._ref) ? ((_M = filenames[language]) == null ? void 0 : _M.woff2) ? /* @__PURE__ */ React11.createElement("b", null, (_N = filenames[language]) == null ? void 0 : _N.woff2) : /* @__PURE__ */ React11.createElement("b", null, "Empty") : /* @__PURE__ */ React11.createElement("a", { href: `https://cdn.sanity.io/files/${process.env.SANITY_STUDIO_PROJECT_ID}/${process.env.SANITY_STUDIO_DATASET}/${(_Q = (_P = (_O = scriptFileInput[language]) == null ? void 0 : _O.woff2) == null ? void 0 : _P.asset) == null ? void 0 : _Q._ref.replace("file-", "").replace("-", ".")}`, target: "_blank" }, ((_R = filenames[language]) == null ? void 0 : _R.woff2) ? /* @__PURE__ */ React11.createElement("b", null, (_S = filenames[language]) == null ? void 0 : _S.woff2) : /* @__PURE__ */ React11.createElement("b", null, "File"))), status === "ready" && /* @__PURE__ */ React11.createElement(Flex7, { gap: 1 }, ((_T = value[language]) == null ? void 0 : _T.ttf) && /* @__PURE__ */ React11.createElement(Button7, { mode: "default", onClick: () => handleGenerateFontFile("woff2", value[language].ttf, language) }, "Build"), /* @__PURE__ */ React11.createElement("label", null, /* @__PURE__ */ React11.createElement(Button7, { as: "span", mode: "ghost" }, "Upload"), /* @__PURE__ */ React11.createElement("input", { ref, type: "file", style: { display: "none" }, onChange: async (event) => handleUpload(event, language, "woff2") })), ((_U = value[language]) == null ? void 0 : _U.woff2) && /* @__PURE__ */ React11.createElement(Button7, { mode: "ghost", tone: "critical", onClick: () => handleDelete("woff2", language) }, "\xD7"))), /* @__PURE__ */ React11.createElement(Flex7, { justify: "space-between", align: "center" }, /* @__PURE__ */ React11.createElement(Text9, null, "EOT:\xA0", !((_X = (_W = (_V = scriptFileInput[language]) == null ? void 0 : _V.eot) == null ? void 0 : _W.asset) == null ? void 0 : _X._ref) ? ((_Y = filenames[language]) == null ? void 0 : _Y.eot) ? /* @__PURE__ */ React11.createElement("b", null, (_Z = filenames[language]) == null ? void 0 : _Z.eot) : /* @__PURE__ */ React11.createElement("b", null, "Empty") : /* @__PURE__ */ React11.createElement("a", { href: `https://cdn.sanity.io/files/${process.env.SANITY_STUDIO_PROJECT_ID}/${process.env.SANITY_STUDIO_DATASET}/${(_aa = (_$ = (__ = scriptFileInput[language]) == null ? void 0 : __.eot) == null ? void 0 : _$.asset) == null ? void 0 : _aa._ref.replace("file-", "").replace("-", ".")}`, target: "_blank" }, ((_ba = filenames[language]) == null ? void 0 : _ba.eot) ? /* @__PURE__ */ React11.createElement("b", null, (_ca = filenames[language]) == null ? void 0 : _ca.eot) : /* @__PURE__ */ React11.createElement("b", null, "File"))), status === "ready" && /* @__PURE__ */ React11.createElement(Flex7, { gap: 1 }, ((_da = value[language]) == null ? void 0 : _da.ttf) && /* @__PURE__ */ React11.createElement(Button7, { mode: "default", onClick: () => handleGenerateFontFile("eot", value[language].ttf, language) }, "Build"), /* @__PURE__ */ React11.createElement("label", null, /* @__PURE__ */ React11.createElement(Button7, { as: "span", mode: "ghost" }, "Upload"), /* @__PURE__ */ React11.createElement("input", { ref, type: "file", style: { display: "none" }, onChange: async (event) => handleUpload(event, language, "eot") })), ((_ea = value[language]) == null ? void 0 : _ea.eot) && /* @__PURE__ */ React11.createElement(Button7, { mode: "ghost", tone: "critical", onClick: () => handleDelete("eot", language) }, "\xD7"))), /* @__PURE__ */ React11.createElement(Flex7, { justify: "space-between", align: "center" }, /* @__PURE__ */ React11.createElement(Text9, null, "SVG:\xA0", !((_ha = (_ga = (_fa = scriptFileInput[language]) == null ? void 0 : _fa.svg) == null ? void 0 : _ga.asset) == null ? void 0 : _ha._ref) ? ((_ia = filenames[language]) == null ? void 0 : _ia.svg) ? /* @__PURE__ */ React11.createElement("b", null, (_ja = filenames[language]) == null ? void 0 : _ja.svg) : /* @__PURE__ */ React11.createElement("b", null, "Empty") : /* @__PURE__ */ React11.createElement("a", { href: `https://cdn.sanity.io/files/${process.env.SANITY_STUDIO_PROJECT_ID}/${process.env.SANITY_STUDIO_DATASET}/${(_ma = (_la = (_ka = scriptFileInput[language]) == null ? void 0 : _ka.svg) == null ? void 0 : _la.asset) == null ? void 0 : _ma._ref.replace("file-", "").replace("-", ".")}`, target: "_blank" }, ((_na = filenames[language]) == null ? void 0 : _na.svg) ? /* @__PURE__ */ React11.createElement("b", null, (_oa = filenames[language]) == null ? void 0 : _oa.svg) : /* @__PURE__ */ React11.createElement("b", null, "File"))), status === "ready" && /* @__PURE__ */ React11.createElement(Flex7, { gap: 1 }, ((_pa = value[language]) == null ? void 0 : _pa.ttf) && /* @__PURE__ */ React11.createElement(Button7, { mode: "default", onClick: () => handleGenerateFontFile("svg", value[language].ttf, language) }, "Build"), /* @__PURE__ */ React11.createElement("label", null, /* @__PURE__ */ React11.createElement(Button7, { as: "span", mode: "ghost" }, "Upload"), /* @__PURE__ */ React11.createElement("input", { ref, type: "file", style: { display: "none" }, onChange: async (event) => handleUpload(event, language, "svg") })), ((_qa = value[language]) == null ? void 0 : _qa.svg) && /* @__PURE__ */ React11.createElement(Button7, { mode: "ghost", tone: "critical", onClick: () => handleDelete("svg", language) }, "\xD7"))), /* @__PURE__ */ React11.createElement(Flex7, { justify: "space-between", align: "center" }, /* @__PURE__ */ React11.createElement(Text9, null, "CSS:\xA0", !((_ta = (_sa = (_ra = scriptFileInput[language]) == null ? void 0 : _ra.css) == null ? void 0 : _sa.asset) == null ? void 0 : _ta._ref) ? ((_ua = filenames[language]) == null ? void 0 : _ua.css) ? /* @__PURE__ */ React11.createElement("b", null, (_va = filenames[language]) == null ? void 0 : _va.css) : /* @__PURE__ */ React11.createElement("b", null, "Empty") : /* @__PURE__ */ React11.createElement("a", { href: `https://cdn.sanity.io/files/${process.env.SANITY_STUDIO_PROJECT_ID}/${process.env.SANITY_STUDIO_DATASET}/${(_ya = (_xa = (_wa = scriptFileInput[language]) == null ? void 0 : _wa.css) == null ? void 0 : _xa.asset) == null ? void 0 : _ya._ref.replace("file-", "").replace("-", ".")}`, target: "_blank" }, ((_za = filenames[language]) == null ? void 0 : _za.css) ? /* @__PURE__ */ React11.createElement("b", null, (_Aa = filenames[language]) == null ? void 0 : _Aa.css) : /* @__PURE__ */ React11.createElement("b", null, "File"))), status === "ready" && /* @__PURE__ */ React11.createElement(Flex7, { gap: 1 }, ((_Ba = value[language]) == null ? void 0 : _Ba.woff2) && /* @__PURE__ */ React11.createElement(Button7, { mode: "default", onClick: () => handleGenerateCssFile(language) }, "Build"), ((_Ca = value[language]) == null ? void 0 : _Ca.css) && /* @__PURE__ */ React11.createElement(Button7, { mode: "ghost", tone: "critical", onClick: () => handleDelete("css", language) }, "\xD7"))), status === "ready" && (((_Da = value[language]) == null ? void 0 : _Da.ttf) || ((_Ea = value[language]) == null ? void 0 : _Ea.otf) || ((_Fa = value[language]) == null ? void 0 : _Fa.woff) || ((_Ga = value[language]) == null ? void 0 : _Ga.woff2)) && /* @__PURE__ */ React11.createElement(Button7, { mode: "ghost", tone: "critical", onClick: () => handleDeleteAll(language), style: { width: "100%" } }, "Delete All")));
3465
+ return /* @__PURE__ */ React10.createElement(Stack7, { space: 2, key: "language-" + i, style: { borderBottom: "1px solid var(--card-border-color)", paddingBottom: 8 } }, /* @__PURE__ */ React10.createElement(Flex7, { gap: 2 }, /* @__PURE__ */ React10.createElement(Text9, { weight: "semibold" }, ((_a = language[0]) == null ? void 0 : _a.toUpperCase()) + language.slice(1)), message && message[language] && message[language] !== "" && /* @__PURE__ */ React10.createElement(Text9, { style: { color: "green" } }, message[language])), expanded[language] && /* @__PURE__ */ React10.createElement(Stack7, { space: 2 }, /* @__PURE__ */ React10.createElement(Flex7, { justify: "space-between", align: "center" }, /* @__PURE__ */ React10.createElement(Text9, null, "TTF:\xA0", !((_d = (_c = (_b = scriptFileInput[language]) == null ? void 0 : _b.ttf) == null ? void 0 : _c.asset) == null ? void 0 : _d._ref) ? ((_e = filenames[language]) == null ? void 0 : _e.ttf) ? /* @__PURE__ */ React10.createElement("b", null, filenames[language].ttf) : /* @__PURE__ */ React10.createElement("b", null, "Empty") : /* @__PURE__ */ React10.createElement("a", { href: `https://cdn.sanity.io/files/${process.env.SANITY_STUDIO_PROJECT_ID}/${process.env.SANITY_STUDIO_DATASET}/${(_h = (_g = (_f = scriptFileInput[language]) == null ? void 0 : _f.ttf) == null ? void 0 : _g.asset) == null ? void 0 : _h._ref.replace("file-", "").replace("-", ".")}`, target: "_blank" }, ((_i = filenames[language]) == null ? void 0 : _i.ttf) ? /* @__PURE__ */ React10.createElement("b", null, filenames[language].ttf) : /* @__PURE__ */ React10.createElement("b", null, "File"))), status === "ready" && /* @__PURE__ */ React10.createElement(Flex7, { gap: 1 }, /* @__PURE__ */ React10.createElement("label", null, /* @__PURE__ */ React10.createElement(Button7, { as: "span", mode: "ghost" }, "Upload"), /* @__PURE__ */ React10.createElement("input", { ref, type: "file", style: { display: "none" }, onChange: (event) => handleUpload(event, language, "ttf") })), ((_j = value[language]) == null ? void 0 : _j.ttf) && /* @__PURE__ */ React10.createElement(Button7, { mode: "ghost", tone: "critical", onClick: () => handleDelete("ttf", language) }, "\xD7"))), status === "ready" && ((_k = value[language]) == null ? void 0 : _k.ttf) && /* @__PURE__ */ React10.createElement(Button7, { mode: "default", onClick: () => handleGenerateFontFile("all", value[language].ttf, language) }, "Regenerate Files from TTF"), /* @__PURE__ */ React10.createElement(Flex7, { justify: "space-between", align: "center" }, /* @__PURE__ */ React10.createElement(Text9, null, "OTF:\xA0", !((_n = (_m = (_l = scriptFileInput[language]) == null ? void 0 : _l.otf) == null ? void 0 : _m.asset) == null ? void 0 : _n._ref) ? ((_o = filenames[language]) == null ? void 0 : _o.otf) ? /* @__PURE__ */ React10.createElement("b", null, (_p = filenames[language]) == null ? void 0 : _p.otf) : /* @__PURE__ */ React10.createElement("b", null, "Empty") : /* @__PURE__ */ React10.createElement("a", { href: `https://cdn.sanity.io/files/${process.env.SANITY_STUDIO_PROJECT_ID}/${process.env.SANITY_STUDIO_DATASET}/${(_s = (_r = (_q = scriptFileInput[language]) == null ? void 0 : _q.otf) == null ? void 0 : _r.asset) == null ? void 0 : _s._ref.replace("file-", "").replace("-", ".")}`, target: "_blank" }, ((_t = filenames[language]) == null ? void 0 : _t.otf) ? /* @__PURE__ */ React10.createElement("b", null, (_u = filenames[language]) == null ? void 0 : _u.otf) : /* @__PURE__ */ React10.createElement("b", null, "File"))), status === "ready" && /* @__PURE__ */ React10.createElement(Flex7, { gap: 1 }, ((_v = value[language]) == null ? void 0 : _v.woff) && /* @__PURE__ */ React10.createElement(Button7, { mode: "default", onClick: () => handleGenerateFontFile("otf", value[language].woff, language) }, "Build"), /* @__PURE__ */ React10.createElement("label", null, /* @__PURE__ */ React10.createElement(Button7, { as: "span", mode: "ghost" }, "Upload"), /* @__PURE__ */ React10.createElement("input", { ref, type: "file", style: { display: "none" }, onChange: async (event) => handleUpload(event, language, "otf") })), ((_w = value[language]) == null ? void 0 : _w.otf) && /* @__PURE__ */ React10.createElement(Button7, { mode: "ghost", tone: "critical", onClick: () => handleDelete("otf", language) }, "\xD7"))), /* @__PURE__ */ React10.createElement(Flex7, { justify: "space-between", align: "center" }, /* @__PURE__ */ React10.createElement(Text9, null, "WOFF:\xA0", !((_z = (_y = (_x = scriptFileInput[language]) == null ? void 0 : _x.woff) == null ? void 0 : _y.asset) == null ? void 0 : _z._ref) ? ((_A = filenames[language]) == null ? void 0 : _A.woff) ? /* @__PURE__ */ React10.createElement("b", null, (_B = filenames[language]) == null ? void 0 : _B.woff) : /* @__PURE__ */ React10.createElement("b", null, "Empty") : /* @__PURE__ */ React10.createElement("a", { href: `https://cdn.sanity.io/files/${process.env.SANITY_STUDIO_PROJECT_ID}/${process.env.SANITY_STUDIO_DATASET}/${(_E = (_D = (_C = scriptFileInput[language]) == null ? void 0 : _C.woff) == null ? void 0 : _D.asset) == null ? void 0 : _E._ref.replace("file-", "").replace("-", ".")}`, target: "_blank" }, ((_F = filenames[language]) == null ? void 0 : _F.woff) ? /* @__PURE__ */ React10.createElement("b", null, (_G = filenames[language]) == null ? void 0 : _G.woff) : /* @__PURE__ */ React10.createElement("b", null, "File"))), status === "ready" && /* @__PURE__ */ React10.createElement(Flex7, { gap: 1 }, ((_H = value[language]) == null ? void 0 : _H.ttf) && /* @__PURE__ */ React10.createElement(Button7, { mode: "default", onClick: () => handleGenerateFontFile("woff", value[language].ttf, language) }, "Build"), /* @__PURE__ */ React10.createElement("label", null, /* @__PURE__ */ React10.createElement(Button7, { as: "span", mode: "ghost" }, "Upload"), /* @__PURE__ */ React10.createElement("input", { ref, type: "file", style: { display: "none" }, onChange: async (event) => handleUpload(event, language, "woff") })), ((_I = value[language]) == null ? void 0 : _I.woff) && /* @__PURE__ */ React10.createElement(Button7, { mode: "ghost", tone: "critical", onClick: () => handleDelete("woff", language) }, "\xD7"))), /* @__PURE__ */ React10.createElement(Flex7, { justify: "space-between", align: "center" }, /* @__PURE__ */ React10.createElement(Text9, null, "WOFF2:\xA0", !((_L = (_K = (_J = scriptFileInput[language]) == null ? void 0 : _J.woff2) == null ? void 0 : _K.asset) == null ? void 0 : _L._ref) ? ((_M = filenames[language]) == null ? void 0 : _M.woff2) ? /* @__PURE__ */ React10.createElement("b", null, (_N = filenames[language]) == null ? void 0 : _N.woff2) : /* @__PURE__ */ React10.createElement("b", null, "Empty") : /* @__PURE__ */ React10.createElement("a", { href: `https://cdn.sanity.io/files/${process.env.SANITY_STUDIO_PROJECT_ID}/${process.env.SANITY_STUDIO_DATASET}/${(_Q = (_P = (_O = scriptFileInput[language]) == null ? void 0 : _O.woff2) == null ? void 0 : _P.asset) == null ? void 0 : _Q._ref.replace("file-", "").replace("-", ".")}`, target: "_blank" }, ((_R = filenames[language]) == null ? void 0 : _R.woff2) ? /* @__PURE__ */ React10.createElement("b", null, (_S = filenames[language]) == null ? void 0 : _S.woff2) : /* @__PURE__ */ React10.createElement("b", null, "File"))), status === "ready" && /* @__PURE__ */ React10.createElement(Flex7, { gap: 1 }, ((_T = value[language]) == null ? void 0 : _T.ttf) && /* @__PURE__ */ React10.createElement(Button7, { mode: "default", onClick: () => handleGenerateFontFile("woff2", value[language].ttf, language) }, "Build"), /* @__PURE__ */ React10.createElement("label", null, /* @__PURE__ */ React10.createElement(Button7, { as: "span", mode: "ghost" }, "Upload"), /* @__PURE__ */ React10.createElement("input", { ref, type: "file", style: { display: "none" }, onChange: async (event) => handleUpload(event, language, "woff2") })), ((_U = value[language]) == null ? void 0 : _U.woff2) && /* @__PURE__ */ React10.createElement(Button7, { mode: "ghost", tone: "critical", onClick: () => handleDelete("woff2", language) }, "\xD7"))), /* @__PURE__ */ React10.createElement(Flex7, { justify: "space-between", align: "center" }, /* @__PURE__ */ React10.createElement(Text9, null, "EOT:\xA0", !((_X = (_W = (_V = scriptFileInput[language]) == null ? void 0 : _V.eot) == null ? void 0 : _W.asset) == null ? void 0 : _X._ref) ? ((_Y = filenames[language]) == null ? void 0 : _Y.eot) ? /* @__PURE__ */ React10.createElement("b", null, (_Z = filenames[language]) == null ? void 0 : _Z.eot) : /* @__PURE__ */ React10.createElement("b", null, "Empty") : /* @__PURE__ */ React10.createElement("a", { href: `https://cdn.sanity.io/files/${process.env.SANITY_STUDIO_PROJECT_ID}/${process.env.SANITY_STUDIO_DATASET}/${(_aa = (_$ = (__ = scriptFileInput[language]) == null ? void 0 : __.eot) == null ? void 0 : _$.asset) == null ? void 0 : _aa._ref.replace("file-", "").replace("-", ".")}`, target: "_blank" }, ((_ba = filenames[language]) == null ? void 0 : _ba.eot) ? /* @__PURE__ */ React10.createElement("b", null, (_ca = filenames[language]) == null ? void 0 : _ca.eot) : /* @__PURE__ */ React10.createElement("b", null, "File"))), status === "ready" && /* @__PURE__ */ React10.createElement(Flex7, { gap: 1 }, ((_da = value[language]) == null ? void 0 : _da.ttf) && /* @__PURE__ */ React10.createElement(Button7, { mode: "default", onClick: () => handleGenerateFontFile("eot", value[language].ttf, language) }, "Build"), /* @__PURE__ */ React10.createElement("label", null, /* @__PURE__ */ React10.createElement(Button7, { as: "span", mode: "ghost" }, "Upload"), /* @__PURE__ */ React10.createElement("input", { ref, type: "file", style: { display: "none" }, onChange: async (event) => handleUpload(event, language, "eot") })), ((_ea = value[language]) == null ? void 0 : _ea.eot) && /* @__PURE__ */ React10.createElement(Button7, { mode: "ghost", tone: "critical", onClick: () => handleDelete("eot", language) }, "\xD7"))), /* @__PURE__ */ React10.createElement(Flex7, { justify: "space-between", align: "center" }, /* @__PURE__ */ React10.createElement(Text9, null, "SVG:\xA0", !((_ha = (_ga = (_fa = scriptFileInput[language]) == null ? void 0 : _fa.svg) == null ? void 0 : _ga.asset) == null ? void 0 : _ha._ref) ? ((_ia = filenames[language]) == null ? void 0 : _ia.svg) ? /* @__PURE__ */ React10.createElement("b", null, (_ja = filenames[language]) == null ? void 0 : _ja.svg) : /* @__PURE__ */ React10.createElement("b", null, "Empty") : /* @__PURE__ */ React10.createElement("a", { href: `https://cdn.sanity.io/files/${process.env.SANITY_STUDIO_PROJECT_ID}/${process.env.SANITY_STUDIO_DATASET}/${(_ma = (_la = (_ka = scriptFileInput[language]) == null ? void 0 : _ka.svg) == null ? void 0 : _la.asset) == null ? void 0 : _ma._ref.replace("file-", "").replace("-", ".")}`, target: "_blank" }, ((_na = filenames[language]) == null ? void 0 : _na.svg) ? /* @__PURE__ */ React10.createElement("b", null, (_oa = filenames[language]) == null ? void 0 : _oa.svg) : /* @__PURE__ */ React10.createElement("b", null, "File"))), status === "ready" && /* @__PURE__ */ React10.createElement(Flex7, { gap: 1 }, ((_pa = value[language]) == null ? void 0 : _pa.ttf) && /* @__PURE__ */ React10.createElement(Button7, { mode: "default", onClick: () => handleGenerateFontFile("svg", value[language].ttf, language) }, "Build"), /* @__PURE__ */ React10.createElement("label", null, /* @__PURE__ */ React10.createElement(Button7, { as: "span", mode: "ghost" }, "Upload"), /* @__PURE__ */ React10.createElement("input", { ref, type: "file", style: { display: "none" }, onChange: async (event) => handleUpload(event, language, "svg") })), ((_qa = value[language]) == null ? void 0 : _qa.svg) && /* @__PURE__ */ React10.createElement(Button7, { mode: "ghost", tone: "critical", onClick: () => handleDelete("svg", language) }, "\xD7"))), /* @__PURE__ */ React10.createElement(Flex7, { justify: "space-between", align: "center" }, /* @__PURE__ */ React10.createElement(Text9, null, "CSS:\xA0", !((_ta = (_sa = (_ra = scriptFileInput[language]) == null ? void 0 : _ra.css) == null ? void 0 : _sa.asset) == null ? void 0 : _ta._ref) ? ((_ua = filenames[language]) == null ? void 0 : _ua.css) ? /* @__PURE__ */ React10.createElement("b", null, (_va = filenames[language]) == null ? void 0 : _va.css) : /* @__PURE__ */ React10.createElement("b", null, "Empty") : /* @__PURE__ */ React10.createElement("a", { href: `https://cdn.sanity.io/files/${process.env.SANITY_STUDIO_PROJECT_ID}/${process.env.SANITY_STUDIO_DATASET}/${(_ya = (_xa = (_wa = scriptFileInput[language]) == null ? void 0 : _wa.css) == null ? void 0 : _xa.asset) == null ? void 0 : _ya._ref.replace("file-", "").replace("-", ".")}`, target: "_blank" }, ((_za = filenames[language]) == null ? void 0 : _za.css) ? /* @__PURE__ */ React10.createElement("b", null, (_Aa = filenames[language]) == null ? void 0 : _Aa.css) : /* @__PURE__ */ React10.createElement("b", null, "File"))), status === "ready" && /* @__PURE__ */ React10.createElement(Flex7, { gap: 1 }, ((_Ba = value[language]) == null ? void 0 : _Ba.woff2) && /* @__PURE__ */ React10.createElement(Button7, { mode: "default", onClick: () => handleGenerateCssFile(language) }, "Build"), ((_Ca = value[language]) == null ? void 0 : _Ca.css) && /* @__PURE__ */ React10.createElement(Button7, { mode: "ghost", tone: "critical", onClick: () => handleDelete("css", language) }, "\xD7"))), status === "ready" && (((_Da = value[language]) == null ? void 0 : _Da.ttf) || ((_Ea = value[language]) == null ? void 0 : _Ea.otf) || ((_Fa = value[language]) == null ? void 0 : _Fa.woff) || ((_Ga = value[language]) == null ? void 0 : _Ga.woff2)) && /* @__PURE__ */ React10.createElement(Button7, { mode: "ghost", tone: "critical", onClick: () => handleDeleteAll(language), style: { width: "100%" } }, "Delete All")));
3466
3466
  }));
3467
3467
  };
3468
3468
 
3469
3469
  // src/components/UploadButton.jsx
3470
- import React12, { forwardRef } from "react";
3470
+ import React11, { forwardRef } from "react";
3471
3471
  import { Button as Button8, Text as Text10 } from "@sanity/ui";
3472
3472
  var UploadButton = forwardRef(({ handleUpload }, ref) => {
3473
- return /* @__PURE__ */ React12.createElement(
3473
+ return /* @__PURE__ */ React11.createElement(
3474
3474
  Button8,
3475
3475
  {
3476
3476
  mode: "ghost",
@@ -3479,8 +3479,8 @@ var UploadButton = forwardRef(({ handleUpload }, ref) => {
3479
3479
  padding: 3,
3480
3480
  style: { position: "relative" }
3481
3481
  },
3482
- /* @__PURE__ */ React12.createElement(Text10, { align: "center" }, "Upload (ttf/otf/woff/woff2/etc...)"),
3483
- /* @__PURE__ */ React12.createElement(
3482
+ /* @__PURE__ */ React11.createElement(Text10, { align: "center" }, "Upload (ttf/otf/woff/woff2/etc...)"),
3483
+ /* @__PURE__ */ React11.createElement(
3484
3484
  "input",
3485
3485
  {
3486
3486
  ref,
@@ -3504,7 +3504,7 @@ UploadButton.displayName = "UploadButton";
3504
3504
  var UploadButton_default = UploadButton;
3505
3505
 
3506
3506
  // src/components/KeyValueInput.jsx
3507
- import React13, { useState as useState8, useCallback as useCallback7 } from "react";
3507
+ import React12, { useState as useState8, useCallback as useCallback7 } from "react";
3508
3508
  import { Button as Button9, Grid as Grid5, Stack as Stack8, TextInput as TextInput2 } from "@sanity/ui";
3509
3509
  import { AddIcon, ArrowDownIcon, ArrowUpIcon, TrashIcon as TrashIcon3 } from "@sanity/icons";
3510
3510
  import { set as set4 } from "sanity";
@@ -3540,33 +3540,33 @@ function KeyValueInput({ value = [], onChange }) {
3540
3540
  setPairs(updatedPairs);
3541
3541
  onChange(set4(updatedPairs));
3542
3542
  }, [pairs, onChange]);
3543
- return /* @__PURE__ */ React13.createElement(Stack8, { space: 3 }, pairs.map((pair, index) => /* @__PURE__ */ React13.createElement(Grid5, { className: "manualButtonWrap", columns: [2], key: index, gap: 0, style: { position: "relative" } }, /* @__PURE__ */ React13.createElement("div", { style: { position: "absolute", height: "100%", top: "0", left: "-10px", width: "min-content", transform: "translate(-100%, 0%)" } }, /* @__PURE__ */ React13.createElement("button", { className: "manualButton manualButtonUp", style: { fontSize: "15px", height: "50%" }, onClick: () => handleMoveUp(index) }, /* @__PURE__ */ React13.createElement(ArrowUpIcon, null)), /* @__PURE__ */ React13.createElement("button", { className: "manualButton manualButtonDown", style: { fontSize: "15px", height: "50%" }, onClick: () => handleMoveDown(index) }, /* @__PURE__ */ React13.createElement(ArrowDownIcon, null))), /* @__PURE__ */ React13.createElement(
3543
+ return /* @__PURE__ */ React12.createElement(Stack8, { space: 3 }, pairs.map((pair, index) => /* @__PURE__ */ React12.createElement(Grid5, { className: "manualButtonWrap", columns: [2], key: index, gap: 0, style: { position: "relative" } }, /* @__PURE__ */ React12.createElement("div", { style: { position: "absolute", height: "100%", top: "0", left: "-10px", width: "min-content", transform: "translate(-100%, 0%)" } }, /* @__PURE__ */ React12.createElement("button", { className: "manualButton manualButtonUp", style: { fontSize: "15px", height: "50%" }, onClick: () => handleMoveUp(index) }, /* @__PURE__ */ React12.createElement(ArrowUpIcon, null)), /* @__PURE__ */ React12.createElement("button", { className: "manualButton manualButtonDown", style: { fontSize: "15px", height: "50%" }, onClick: () => handleMoveDown(index) }, /* @__PURE__ */ React12.createElement(ArrowDownIcon, null))), /* @__PURE__ */ React12.createElement(
3544
3544
  TextInput2,
3545
3545
  {
3546
3546
  value: pair.key,
3547
3547
  onChange: (e) => handlePairChange(index, "key", e.target.value),
3548
3548
  placeholder: "Key"
3549
3549
  }
3550
- ), /* @__PURE__ */ React13.createElement("div", { style: { marginLeft: "-1px" } }, /* @__PURE__ */ React13.createElement(
3550
+ ), /* @__PURE__ */ React12.createElement("div", { style: { marginLeft: "-1px" } }, /* @__PURE__ */ React12.createElement(
3551
3551
  TextInput2,
3552
3552
  {
3553
3553
  value: pair.value,
3554
3554
  onChange: (e) => handlePairChange(index, "value", e.target.value),
3555
3555
  placeholder: "Value"
3556
3556
  }
3557
- )), /* @__PURE__ */ React13.createElement(
3557
+ )), /* @__PURE__ */ React12.createElement(
3558
3558
  "button",
3559
3559
  {
3560
3560
  className: "manualButton",
3561
3561
  onClick: () => handleRemovePair(index),
3562
3562
  style: { position: "absolute", top: "0", right: "-10px", transform: "translate(100%, 0%)" }
3563
3563
  },
3564
- /* @__PURE__ */ React13.createElement(TrashIcon3, null)
3565
- ))), /* @__PURE__ */ React13.createElement(Button9, { tone: "primary", onClick: handleAddPair, icon: AddIcon, text: "Add Row" }));
3564
+ /* @__PURE__ */ React12.createElement(TrashIcon3, null)
3565
+ ))), /* @__PURE__ */ React12.createElement(Button9, { tone: "primary", onClick: handleAddPair, icon: AddIcon, text: "Add Row" }));
3566
3566
  }
3567
3567
 
3568
3568
  // src/components/KeyValueReferenceInput.jsx
3569
- import React14, { useState as useState9, useCallback as useCallback8, useEffect as useEffect6 } from "react";
3569
+ import React13, { useState as useState9, useCallback as useCallback8, useEffect as useEffect6 } from "react";
3570
3570
  import { Button as Button10, Stack as Stack9, TextInput as TextInput3, Box as Box4, Card as Card4, Flex as Flex8, Text as Text11, Dialog, Menu as Menu2, MenuButton as MenuButton2, MenuItem as MenuItem2, Autocomplete } from "@sanity/ui";
3571
3571
  import { AddIcon as AddIcon2, ArrowDownIcon as ArrowDownIcon2, ArrowUpIcon as ArrowUpIcon2, TrashIcon as TrashIcon4, SyncIcon, EllipsisHorizontalIcon } from "@sanity/icons";
3572
3572
  import { set as set5, useFormValue as useFormValue8 } from "sanity";
@@ -3677,48 +3677,48 @@ function KeyValueReferenceInput(props) {
3677
3677
  const valueTitle = (valueField == null ? void 0 : valueField.title) || "Value";
3678
3678
  const keyPlaceholder = (keyField == null ? void 0 : keyField.placeholder) || "Enter key";
3679
3679
  const pickerLabel = referenceType || valueTitle.toLowerCase();
3680
- return /* @__PURE__ */ React14.createElement(Stack9, { space: 3 }, topActions && /* @__PURE__ */ React14.createElement(Box4, { paddingBottom: 2 }, topActions), /* @__PURE__ */ React14.createElement(Box4, null, /* @__PURE__ */ React14.createElement(Stack9, { space: 2 }, pairs.map((pair, index) => {
3680
+ return /* @__PURE__ */ React13.createElement(Stack9, { space: 3 }, topActions && /* @__PURE__ */ React13.createElement(Box4, { paddingBottom: 2 }, topActions), /* @__PURE__ */ React13.createElement(Box4, null, /* @__PURE__ */ React13.createElement(Stack9, { space: 2 }, pairs.map((pair, index) => {
3681
3681
  var _a2;
3682
- return /* @__PURE__ */ React14.createElement(Box4, { key: index, style: { position: "relative" } }, /* @__PURE__ */ React14.createElement("div", { style: { position: "absolute", height: "100%", top: "0", left: "-5px", width: "min-content", transform: "translate(-100%, 0%)" } }, /* @__PURE__ */ React14.createElement("button", { className: "manualButton manualButtonUp", style: { fontSize: "15px", height: "50%" }, onClick: () => handleMoveUp(index) }, /* @__PURE__ */ React14.createElement(ArrowUpIcon2, null)), /* @__PURE__ */ React14.createElement("button", { className: "manualButton manualButtonDown", style: { fontSize: "15px", height: "50%" }, onClick: () => handleMoveDown(index) }, /* @__PURE__ */ React14.createElement(ArrowDownIcon2, null))), /* @__PURE__ */ React14.createElement(Flex8, { gap: 2, align: "flex-start" }, /* @__PURE__ */ React14.createElement(Box4, { flex: 1 }, /* @__PURE__ */ React14.createElement(
3682
+ return /* @__PURE__ */ React13.createElement(Box4, { key: index, style: { position: "relative" } }, /* @__PURE__ */ React13.createElement("div", { style: { position: "absolute", height: "100%", top: "0", left: "-5px", width: "min-content", transform: "translate(-100%, 0%)" } }, /* @__PURE__ */ React13.createElement("button", { className: "manualButton manualButtonUp", style: { fontSize: "15px", height: "50%" }, onClick: () => handleMoveUp(index) }, /* @__PURE__ */ React13.createElement(ArrowUpIcon2, null)), /* @__PURE__ */ React13.createElement("button", { className: "manualButton manualButtonDown", style: { fontSize: "15px", height: "50%" }, onClick: () => handleMoveDown(index) }, /* @__PURE__ */ React13.createElement(ArrowDownIcon2, null))), /* @__PURE__ */ React13.createElement(Flex8, { gap: 2, align: "flex-start" }, /* @__PURE__ */ React13.createElement(Box4, { flex: 1 }, /* @__PURE__ */ React13.createElement(
3683
3683
  TextInput3,
3684
3684
  {
3685
3685
  value: pair.key,
3686
3686
  onChange: (e) => handlePairChange(index, "key", e.target.value),
3687
3687
  placeholder: keyPlaceholder
3688
3688
  }
3689
- )), /* @__PURE__ */ React14.createElement(Box4, { flex: 1, style: { minHeight: "100%" } }, ((_a2 = pair.value) == null ? void 0 : _a2._ref) ? /* @__PURE__ */ React14.createElement(Card4, { className: "referenceCard", radius: 2, tone: "primary", style: { paddingLeft: "1rem", height: "fit-content" } }, /* @__PURE__ */ React14.createElement(Flex8, { align: "center", justify: "space-between" }, /* @__PURE__ */ React14.createElement(
3689
+ )), /* @__PURE__ */ React13.createElement(Box4, { flex: 1, style: { minHeight: "100%" } }, ((_a2 = pair.value) == null ? void 0 : _a2._ref) ? /* @__PURE__ */ React13.createElement(Card4, { className: "referenceCard", radius: 2, tone: "primary", style: { paddingLeft: "1rem", height: "fit-content" } }, /* @__PURE__ */ React13.createElement(Flex8, { align: "center", justify: "space-between" }, /* @__PURE__ */ React13.createElement(
3690
3690
  Text11,
3691
3691
  {
3692
3692
  size: 2,
3693
3693
  style: { whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis", maxWidth: "90%" }
3694
3694
  },
3695
3695
  referenceData[pair.value._ref] || "Loading..."
3696
- ), /* @__PURE__ */ React14.createElement(
3696
+ ), /* @__PURE__ */ React13.createElement(
3697
3697
  MenuButton2,
3698
3698
  {
3699
- button: /* @__PURE__ */ React14.createElement(Button10, { icon: EllipsisHorizontalIcon, mode: "bleed", title: "Options" }),
3699
+ button: /* @__PURE__ */ React13.createElement(Button10, { icon: EllipsisHorizontalIcon, mode: "bleed", title: "Options" }),
3700
3700
  id: `ref-options-${index}`,
3701
- menu: /* @__PURE__ */ React14.createElement(Menu2, null, /* @__PURE__ */ React14.createElement(MenuItem2, { tone: "critical", icon: TrashIcon4, text: "Remove", onClick: () => handlePairChange(index, "value", null) }), /* @__PURE__ */ React14.createElement(MenuItem2, { icon: SyncIcon, text: "Replace", onClick: () => openReferenceSelector(index) })),
3701
+ menu: /* @__PURE__ */ React13.createElement(Menu2, null, /* @__PURE__ */ React13.createElement(MenuItem2, { tone: "critical", icon: TrashIcon4, text: "Remove", onClick: () => handlePairChange(index, "value", null) }), /* @__PURE__ */ React13.createElement(MenuItem2, { icon: SyncIcon, text: "Replace", onClick: () => openReferenceSelector(index) })),
3702
3702
  popover: { portal: true, tone: "default", placement: "left" }
3703
3703
  }
3704
- ))) : /* @__PURE__ */ React14.createElement(
3704
+ ))) : /* @__PURE__ */ React13.createElement(
3705
3705
  Box4,
3706
3706
  {
3707
3707
  padding: 2,
3708
3708
  style: { minHeight: "100%", border: "1px dashed #ccc", borderRadius: "4px", display: "flex", alignItems: "center", justifyContent: "center", cursor: "pointer" },
3709
3709
  onClick: () => openReferenceSelector(index)
3710
3710
  },
3711
- /* @__PURE__ */ React14.createElement(Text11, { muted: true, size: 2 }, "Click to select a ", pickerLabel)
3712
- ))), /* @__PURE__ */ React14.createElement(
3711
+ /* @__PURE__ */ React13.createElement(Text11, { muted: true, size: 2 }, "Click to select a ", pickerLabel)
3712
+ ))), /* @__PURE__ */ React13.createElement(
3713
3713
  "button",
3714
3714
  {
3715
3715
  className: "manualButton",
3716
3716
  onClick: () => handleRemovePair(index),
3717
3717
  style: { position: "absolute", top: "0", right: "-7px", transform: "translate(100%, 0%)" }
3718
3718
  },
3719
- /* @__PURE__ */ React14.createElement(TrashIcon4, null)
3719
+ /* @__PURE__ */ React13.createElement(TrashIcon4, null)
3720
3720
  ));
3721
- }))), /* @__PURE__ */ React14.createElement(Button10, { tone: "primary", mode: "ghost", onClick: handleAddPair, icon: AddIcon2, text: `Add ${keyTitle}` }), isDialogOpen && /* @__PURE__ */ React14.createElement(
3721
+ }))), /* @__PURE__ */ React13.createElement(Button10, { tone: "primary", mode: "ghost", onClick: handleAddPair, icon: AddIcon2, text: `Add ${keyTitle}` }), isDialogOpen && /* @__PURE__ */ React13.createElement(
3722
3722
  Dialog,
3723
3723
  {
3724
3724
  header: `Select a ${pickerLabel}`,
@@ -3726,13 +3726,13 @@ function KeyValueReferenceInput(props) {
3726
3726
  onClose: closeDialog,
3727
3727
  width: 1
3728
3728
  },
3729
- /* @__PURE__ */ React14.createElement(Box4, { padding: 4 }, /* @__PURE__ */ React14.createElement(
3729
+ /* @__PURE__ */ React13.createElement(Box4, { padding: 4 }, /* @__PURE__ */ React13.createElement(
3730
3730
  Autocomplete,
3731
3731
  {
3732
3732
  id: "reference-autocomplete",
3733
3733
  options: referenceOptions,
3734
3734
  placeholder: `Search ${pickerLabel}s...`,
3735
- renderOption: (option) => /* @__PURE__ */ React14.createElement(Card4, { key: option.value, padding: 3, radius: 2, tone: "default", style: { cursor: "pointer" } }, /* @__PURE__ */ React14.createElement(Text11, { size: 2 }, option.title)),
3735
+ renderOption: (option) => /* @__PURE__ */ React13.createElement(Card4, { key: option.value, padding: 3, radius: 2, tone: "default", style: { cursor: "pointer" } }, /* @__PURE__ */ React13.createElement(Text11, { size: 2 }, option.title)),
3736
3736
  renderValue: (val) => {
3737
3737
  var _a2;
3738
3738
  return ((_a2 = referenceOptions.find((o) => o.value === val)) == null ? void 0 : _a2.title) || "";
@@ -3749,7 +3749,7 @@ function KeyValueReferenceInput(props) {
3749
3749
  }
3750
3750
 
3751
3751
  // src/components/VariableInstanceReferencesInput.jsx
3752
- import React15, { useState as useState10, useCallback as useCallback9 } from "react";
3752
+ import React14, { useState as useState10, useCallback as useCallback9 } from "react";
3753
3753
  import { Button as Button11, Flex as Flex9, Dialog as Dialog2, Box as Box5, Stack as Stack10, Text as Text12 } from "@sanity/ui";
3754
3754
  import { SyncIcon as SyncIcon2, DocumentTextIcon } from "@sanity/icons";
3755
3755
  import { set as set6, useFormValue as useFormValue9 } from "sanity";
@@ -3846,7 +3846,7 @@ function VariableInstanceReferencesInput(props) {
3846
3846
  setPendingAction(null);
3847
3847
  }, []);
3848
3848
  const showAutofill = !!((formDocument == null ? void 0 : formDocument.variableFont) && (formDocument == null ? void 0 : formDocument.variableInstances));
3849
- const topActions = showAutofill ? /* @__PURE__ */ React15.createElement(Flex9, { gap: 2 }, /* @__PURE__ */ React15.createElement(
3849
+ const topActions = showAutofill ? /* @__PURE__ */ React14.createElement(Flex9, { gap: 2 }, /* @__PURE__ */ React14.createElement(
3850
3850
  Button11,
3851
3851
  {
3852
3852
  tone: "primary",
@@ -3857,7 +3857,7 @@ function VariableInstanceReferencesInput(props) {
3857
3857
  disabled: isAutofilling,
3858
3858
  loading: isAutofilling
3859
3859
  }
3860
- ), /* @__PURE__ */ React15.createElement(
3860
+ ), /* @__PURE__ */ React14.createElement(
3861
3861
  Button11,
3862
3862
  {
3863
3863
  tone: "default",
@@ -3869,7 +3869,7 @@ function VariableInstanceReferencesInput(props) {
3869
3869
  loading: isAutofilling
3870
3870
  }
3871
3871
  )) : null;
3872
- return /* @__PURE__ */ React15.createElement(React15.Fragment, null, /* @__PURE__ */ React15.createElement(
3872
+ return /* @__PURE__ */ React14.createElement(React14.Fragment, null, /* @__PURE__ */ React14.createElement(
3873
3873
  KeyValueReferenceInput,
3874
3874
  {
3875
3875
  ...props,
@@ -3877,7 +3877,7 @@ function VariableInstanceReferencesInput(props) {
3877
3877
  fetchReferences,
3878
3878
  topActions
3879
3879
  }
3880
- ), showConfirmDialog && /* @__PURE__ */ React15.createElement(
3880
+ ), showConfirmDialog && /* @__PURE__ */ React14.createElement(
3881
3881
  Dialog2,
3882
3882
  {
3883
3883
  header: "Existing entries found",
@@ -3885,12 +3885,12 @@ function VariableInstanceReferencesInput(props) {
3885
3885
  onClose: handleConfirmCancel,
3886
3886
  width: 1
3887
3887
  },
3888
- /* @__PURE__ */ React15.createElement(Box5, { padding: 4 }, /* @__PURE__ */ React15.createElement(Stack10, { space: 4 }, /* @__PURE__ */ React15.createElement(Text12, null, "You already have ", value.length, " ", value.length === 1 ? "entry" : "entries", ". How would you like to proceed?"), /* @__PURE__ */ React15.createElement(Flex9, { gap: 2, justify: "flex-end" }, /* @__PURE__ */ React15.createElement(Button11, { text: "Cancel", mode: "ghost", onClick: handleConfirmCancel }), /* @__PURE__ */ React15.createElement(Button11, { text: "Merge (Add New)", tone: "primary", mode: "ghost", onClick: () => handleConfirmChoice("merge") }), /* @__PURE__ */ React15.createElement(Button11, { text: "Replace All", tone: "critical", onClick: () => handleConfirmChoice("replace") }))))
3888
+ /* @__PURE__ */ React14.createElement(Box5, { padding: 4 }, /* @__PURE__ */ React14.createElement(Stack10, { space: 4 }, /* @__PURE__ */ React14.createElement(Text12, null, "You already have ", value.length, " ", value.length === 1 ? "entry" : "entries", ". How would you like to proceed?"), /* @__PURE__ */ React14.createElement(Flex9, { gap: 2, justify: "flex-end" }, /* @__PURE__ */ React14.createElement(Button11, { text: "Cancel", mode: "ghost", onClick: handleConfirmCancel }), /* @__PURE__ */ React14.createElement(Button11, { text: "Merge (Add New)", tone: "primary", mode: "ghost", onClick: () => handleConfirmChoice("merge") }), /* @__PURE__ */ React14.createElement(Button11, { text: "Replace All", tone: "critical", onClick: () => handleConfirmChoice("replace") }))))
3889
3889
  ));
3890
3890
  }
3891
3891
 
3892
3892
  // src/components/PrimaryCollectionGeneratorTypeface.jsx
3893
- import React16, { useCallback as useCallback10, useState as useState11 } from "react";
3893
+ import React15, { useCallback as useCallback10, useState as useState11 } from "react";
3894
3894
  import { Stack as Stack11, Flex as Flex10, Text as Text13, Button as Button12, Card as Card5, Spinner as Spinner3 } from "@sanity/ui";
3895
3895
  import { useFormValue as useFormValue10 } from "sanity";
3896
3896
  import { nanoid as nanoid10 } from "nanoid";
@@ -3945,7 +3945,7 @@ var PrimaryCollectionGeneratorTypeface = () => {
3945
3945
  setReady(true);
3946
3946
  }, [docId, fonts, price, preferredStyle, styles, title, client]);
3947
3947
  if (!title || !fonts) return null;
3948
- return /* @__PURE__ */ React16.createElement(Stack11, { space: 2 }, /* @__PURE__ */ React16.createElement(StatusDisplay_default, { status, error: false }), /* @__PURE__ */ React16.createElement(Card5, { border: true, padding: 2, shadow: 1, radius: 2 }, ready ? /* @__PURE__ */ React16.createElement(Stack11, { space: 3 }, /* @__PURE__ */ React16.createElement(Flex10, { align: "center", gap: 2, marginTop: 1, marginBottom: 1 }, /* @__PURE__ */ React16.createElement(Text13, { size: 1, muted: true }, "Price"), /* @__PURE__ */ React16.createElement(Text13, { size: 1, muted: true }, "$"), /* @__PURE__ */ React16.createElement(
3948
+ return /* @__PURE__ */ React15.createElement(Stack11, { space: 2 }, /* @__PURE__ */ React15.createElement(StatusDisplay_default, { status, error: false }), /* @__PURE__ */ React15.createElement(Card5, { border: true, padding: 2, shadow: 1, radius: 2 }, ready ? /* @__PURE__ */ React15.createElement(Stack11, { space: 3 }, /* @__PURE__ */ React15.createElement(Flex10, { align: "center", gap: 2, marginTop: 1, marginBottom: 1 }, /* @__PURE__ */ React15.createElement(Text13, { size: 1, muted: true }, "Price"), /* @__PURE__ */ React15.createElement(Text13, { size: 1, muted: true }, "$"), /* @__PURE__ */ React15.createElement(
3949
3949
  "input",
3950
3950
  {
3951
3951
  value: price,
@@ -3953,7 +3953,7 @@ var PrimaryCollectionGeneratorTypeface = () => {
3953
3953
  type: "number",
3954
3954
  style: { textAlign: "end", padding: "5px", maxWidth: "75px" }
3955
3955
  }
3956
- ), /* @__PURE__ */ React16.createElement(Text13, { size: 1, muted: true }, "per full family")), /* @__PURE__ */ React16.createElement(
3956
+ ), /* @__PURE__ */ React15.createElement(Text13, { size: 1, muted: true }, "per full family")), /* @__PURE__ */ React15.createElement(
3957
3957
  Button12,
3958
3958
  {
3959
3959
  mode: "ghost",
@@ -3962,11 +3962,11 @@ var PrimaryCollectionGeneratorTypeface = () => {
3962
3962
  onClick: generateCollection,
3963
3963
  text: "Generate Full Family Collection"
3964
3964
  }
3965
- )) : /* @__PURE__ */ React16.createElement(Flex10, { align: "center", justify: "center", gap: 3, padding: 4 }, /* @__PURE__ */ React16.createElement(Spinner3, null), /* @__PURE__ */ React16.createElement(Text13, { muted: true, size: 1 }, status))));
3965
+ )) : /* @__PURE__ */ React15.createElement(Flex10, { align: "center", justify: "center", gap: 3, padding: 4 }, /* @__PURE__ */ React15.createElement(Spinner3, null), /* @__PURE__ */ React15.createElement(Text13, { muted: true, size: 1 }, status))));
3966
3966
  };
3967
3967
 
3968
3968
  // src/components/SetOTF.jsx
3969
- import { useState as useState12 } from "react";
3969
+ import React16, { useState as useState12 } from "react";
3970
3970
  import { set as set7, useFormValue as useFormValue11 } from "sanity";
3971
3971
  import { Stack as Stack12, Button as Button13, Text as Text14 } from "@sanity/ui";
3972
3972
  var SetOTF = (props) => {
@@ -4017,7 +4017,7 @@ var SetOTF = (props) => {
4017
4017
  console.error("SetOTF detect error:", err);
4018
4018
  }
4019
4019
  };
4020
- return /* @__PURE__ */ React.createElement(Stack12, { className: "openType" }, ((_a = value == null ? void 0 : value.features) == null ? void 0 : _a.length) > 0 && /* @__PURE__ */ React.createElement(Text14, { muted: true, size: 1, style: { marginBottom: "0.5rem" } }, "Number of features: ", value.features.length), !!((_b = stylesObject == null ? void 0 : stylesObject.fonts) == null ? void 0 : _b.length) && /* @__PURE__ */ React.createElement(
4020
+ return /* @__PURE__ */ React16.createElement(Stack12, { className: "openType" }, ((_a = value == null ? void 0 : value.features) == null ? void 0 : _a.length) > 0 && /* @__PURE__ */ React16.createElement(Text14, { muted: true, size: 1, style: { marginBottom: "0.5rem" } }, "Number of features: ", value.features.length), !!((_b = stylesObject == null ? void 0 : stylesObject.fonts) == null ? void 0 : _b.length) && /* @__PURE__ */ React16.createElement(
4021
4021
  Button13,
4022
4022
  {
4023
4023
  text: "Detect OTF",
@@ -4025,7 +4025,7 @@ var SetOTF = (props) => {
4025
4025
  onClick: detect,
4026
4026
  style: { borderRadius: "0 3px 0 0", marginBottom: "1rem" }
4027
4027
  }
4028
- ), !!message && /* @__PURE__ */ React.createElement(Text14, { muted: true, size: 1 }, /* @__PURE__ */ React.createElement("br", null), message, /* @__PURE__ */ React.createElement("br", null), /* @__PURE__ */ React.createElement("br", null)), props.renderDefault(props));
4028
+ ), !!message && /* @__PURE__ */ React16.createElement(Text14, { muted: true, size: 1 }, /* @__PURE__ */ React16.createElement("br", null), message, /* @__PURE__ */ React16.createElement("br", null), /* @__PURE__ */ React16.createElement("br", null)), props.renderDefault(props));
4029
4029
  };
4030
4030
 
4031
4031
  // src/components/StyleCountInput.jsx
@@ -6716,7 +6716,7 @@ var stylisticSetField = {
6716
6716
  };
6717
6717
 
6718
6718
  // src/schema/stylesField.js
6719
- import { AdvancedRefArray } from "sanity-advanced-reference-array";
6719
+ import { AdvancedRefArray } from "@liiift-studio/sanity-advanced-reference-array";
6720
6720
  var field = (condition, def) => condition ? [def] : [];
6721
6721
  var fontsFilter = async ({ getClient, document, parent }) => {
6722
6722
  const client = getClient({ apiVersion: "2022-11-09" });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liiift-studio/sanity-font-manager",
3
- "version": "2.3.13",
3
+ "version": "2.3.15",
4
4
  "description": "Sanity Studio plugin — full font management suite with batch upload, format conversion, metadata extraction, CSS generation, collection/pair generation, and script variant support. Supports Sanity v3, v4, and v5.",
5
5
  "license": "MIT",
6
6
  "author": "Liiift Studio",
@@ -60,10 +60,10 @@
60
60
  "@sanity/ui": ">=3",
61
61
  "react": ">=18",
62
62
  "sanity": ">=3",
63
- "sanity-advanced-reference-array": ">=1"
63
+ "@liiift-studio/sanity-advanced-reference-array": ">=1"
64
64
  },
65
65
  "peerDependenciesMeta": {
66
- "sanity-advanced-reference-array": {
66
+ "@liiift-studio/sanity-advanced-reference-array": {
67
67
  "optional": true
68
68
  }
69
69
  },
@@ -1,6 +1,6 @@
1
1
  // Detects and sets active OpenType features on a typeface document from the first linked font's metadata
2
2
 
3
- import { useState } from 'react';
3
+ import React, { useState } from 'react';
4
4
  import { set, useFormValue } from 'sanity';
5
5
  import { Stack, Button, Text } from '@sanity/ui';
6
6
  import { useSanityClient } from '../hooks/useSanityClient';
@@ -1,5 +1,5 @@
1
1
  // Sanity schema factory function for the Styles object field — call createStylesField(options) to generate the field definition for a typeface document
2
- import { AdvancedRefArray } from 'sanity-advanced-reference-array';
2
+ import { AdvancedRefArray } from '@liiift-studio/sanity-advanced-reference-array';
3
3
  import { RegenerateSubfamiliesComponent } from '../components/RegenerateSubfamiliesComponent.jsx';
4
4
 
5
5
  // Conditionally includes a field definition in an array