@canopy-iiif/app 1.4.11 → 1.4.12

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.
@@ -2415,7 +2415,7 @@ function References({
2415
2415
  return /* @__PURE__ */ React26.createElement("dl", { className: containerClass, ...rest }, /* @__PURE__ */ React26.createElement("div", { className: "references__group" }, /* @__PURE__ */ React26.createElement("dt", null, title), entries.map((entry) => /* @__PURE__ */ React26.createElement("dd", { key: entry.href, className: "references__item" }, /* @__PURE__ */ React26.createElement("a", { href: entry.href }, entry.title || entry.href)))));
2416
2416
  }
2417
2417
 
2418
- // ui/src/content/Biblography.jsx
2418
+ // ui/src/content/Bibliography.jsx
2419
2419
  import React27 from "react";
2420
2420
  import bibliography from "@canopy-iiif/app/lib/components/bibliography.js";
2421
2421
  function resolveHeadingTag(tag, fallback) {
@@ -2429,17 +2429,17 @@ function NoteBody({ note }) {
2429
2429
  return /* @__PURE__ */ React27.createElement(
2430
2430
  "div",
2431
2431
  {
2432
- className: "biblography__note-body",
2432
+ className: "bibliography__note-body",
2433
2433
  dangerouslySetInnerHTML: { __html: note.html }
2434
2434
  }
2435
2435
  );
2436
2436
  }
2437
2437
  if (note.text) {
2438
- return /* @__PURE__ */ React27.createElement("div", { className: "biblography__note-body" }, note.text);
2438
+ return /* @__PURE__ */ React27.createElement("div", { className: "bibliography__note-body" }, note.text);
2439
2439
  }
2440
2440
  return null;
2441
2441
  }
2442
- function Biblography({
2442
+ function Bibliography({
2443
2443
  className = "",
2444
2444
  pageHeadingTag = "h3"
2445
2445
  } = {}) {
@@ -2452,13 +2452,13 @@ function Biblography({
2452
2452
  }
2453
2453
  if (!entries.length) return null;
2454
2454
  const PageHeadingTag = resolveHeadingTag(pageHeadingTag, "h3");
2455
- const rootClass = ["biblography", className].filter(Boolean).join(" ");
2456
- return /* @__PURE__ */ React27.createElement("section", { className: rootClass }, /* @__PURE__ */ React27.createElement("div", { className: "biblography__pages" }, entries.map((entry) => {
2455
+ const rootClass = ["bibliography", className].filter(Boolean).join(" ");
2456
+ return /* @__PURE__ */ React27.createElement("section", { className: rootClass }, /* @__PURE__ */ React27.createElement("div", { className: "bibliography__pages" }, entries.map((entry) => {
2457
2457
  const key = entry.href || entry.relativePath || entry.title;
2458
2458
  const pageTitle = entry.title || entry.href;
2459
- return /* @__PURE__ */ React27.createElement("article", { key, className: "biblography__page" }, /* @__PURE__ */ React27.createElement("header", { className: "biblography__page-header" }, pageTitle ? /* @__PURE__ */ React27.createElement(PageHeadingTag, { className: "biblography__page-title" }, pageTitle) : null, entry.href ? /* @__PURE__ */ React27.createElement("a", { className: "biblography__page-link", href: entry.href }, entry.href) : null), /* @__PURE__ */ React27.createElement("ol", { className: "biblography__notes" }, (entry.footnotes || []).map((note, idx) => {
2459
+ return /* @__PURE__ */ React27.createElement("article", { key, className: "bibliography__page" }, /* @__PURE__ */ React27.createElement("header", { className: "bibliography__page-header" }, pageTitle ? /* @__PURE__ */ React27.createElement(PageHeadingTag, { className: "bibliography__page-title" }, pageTitle) : null, entry.href ? /* @__PURE__ */ React27.createElement("a", { className: "bibliography__page-link", href: entry.href }, entry.href) : null), /* @__PURE__ */ React27.createElement("ol", { className: "bibliography__notes" }, (entry.footnotes || []).map((note, idx) => {
2460
2460
  const noteKey = `${key || "entry"}-${note.identifier || idx}`;
2461
- return /* @__PURE__ */ React27.createElement("li", { key: noteKey, className: "biblography__note" }, note.identifier ? /* @__PURE__ */ React27.createElement("span", { className: "biblography__note-label" }, note.identifier) : null, /* @__PURE__ */ React27.createElement(NoteBody, { note }));
2461
+ return /* @__PURE__ */ React27.createElement("li", { key: noteKey, className: "bibliography__note" }, note.identifier ? /* @__PURE__ */ React27.createElement("span", { className: "bibliography__note-label" }, note.identifier) : null, /* @__PURE__ */ React27.createElement(NoteBody, { note }));
2462
2462
  })));
2463
2463
  })));
2464
2464
  }
@@ -3836,8 +3836,14 @@ function RequiredStatement({ manifest, requiredStatement, ...rest }) {
3836
3836
  return /* @__PURE__ */ React38.createElement(CloverRequiredStatement, { requiredStatement: stmt, ...rest });
3837
3837
  }
3838
3838
 
3839
- // ui/src/docs/CodeBlock.jsx
3839
+ // ui/src/iiif/Properties/Id.jsx
3840
3840
  import React39 from "react";
3841
+ function Id({ title = "IIIF Manifest", id, ...props }) {
3842
+ return /* @__PURE__ */ React39.createElement("dl", null, /* @__PURE__ */ React39.createElement("dt", null, title), /* @__PURE__ */ React39.createElement("dd", null, /* @__PURE__ */ React39.createElement("a", { href: id }, id)));
3843
+ }
3844
+
3845
+ // ui/src/docs/CodeBlock.jsx
3846
+ import React40 from "react";
3841
3847
  function parseHighlightAttr(attr) {
3842
3848
  if (!attr) return /* @__PURE__ */ new Set();
3843
3849
  const cleaned = String(attr || "").trim();
@@ -3883,10 +3889,10 @@ var highlightBaseStyle = {
3883
3889
  };
3884
3890
  function DocsCodeBlock(props = {}) {
3885
3891
  const { children, ...rest } = props;
3886
- const childArray = React39.Children.toArray(children);
3887
- const codeElement = childArray.find((el) => React39.isValidElement(el));
3892
+ const childArray = React40.Children.toArray(children);
3893
+ const codeElement = childArray.find((el) => React40.isValidElement(el));
3888
3894
  if (!codeElement || !codeElement.props) {
3889
- return React39.createElement("pre", props);
3895
+ return React40.createElement("pre", props);
3890
3896
  }
3891
3897
  const {
3892
3898
  className = "",
@@ -3901,8 +3907,8 @@ function DocsCodeBlock(props = {}) {
3901
3907
  const highlightSet = parseHighlightAttr(highlightAttr);
3902
3908
  const copyAttr = codeProps["data-copy"];
3903
3909
  const enableCopy = copyAttr !== void 0 ? copyAttr === true || copyAttr === "true" || copyAttr === "" : false;
3904
- const [copied, setCopied] = React39.useState(false);
3905
- const handleCopy = React39.useCallback(async () => {
3910
+ const [copied, setCopied] = React40.useState(false);
3911
+ const handleCopy = React40.useCallback(async () => {
3906
3912
  const text = rawCode;
3907
3913
  try {
3908
3914
  if (typeof navigator !== "undefined" && navigator.clipboard && navigator.clipboard.writeText) {
@@ -3967,20 +3973,20 @@ function DocsCodeBlock(props = {}) {
3967
3973
  const highlight = highlightSet.has(lineNumber);
3968
3974
  const style = highlight ? { ...baseLineStyle, ...highlightBaseStyle } : baseLineStyle;
3969
3975
  const displayLine = line === "" ? " " : line;
3970
- return React39.createElement(
3976
+ return React40.createElement(
3971
3977
  "span",
3972
3978
  { key: lineNumber, style },
3973
- React39.createElement("span", { style: lineContentStyle }, displayLine)
3979
+ React40.createElement("span", { style: lineContentStyle }, displayLine)
3974
3980
  );
3975
3981
  });
3976
- return React39.createElement(
3982
+ return React40.createElement(
3977
3983
  "div",
3978
3984
  { style: containerStyle },
3979
- showHeader ? React39.createElement(
3985
+ showHeader ? React40.createElement(
3980
3986
  "div",
3981
3987
  { style: headerStyle },
3982
- React39.createElement("span", null, showFilename ? filename : null),
3983
- enableCopy ? React39.createElement(
3988
+ React40.createElement("span", null, showFilename ? filename : null),
3989
+ enableCopy ? React40.createElement(
3984
3990
  "button",
3985
3991
  {
3986
3992
  type: "button",
@@ -3999,29 +4005,29 @@ function DocsCodeBlock(props = {}) {
3999
4005
  copied ? "Copied" : "Copy"
4000
4006
  ) : null
4001
4007
  ) : null,
4002
- React39.createElement(
4008
+ React40.createElement(
4003
4009
  "pre",
4004
4010
  { ...preRest, className: preClassName, style: mergedPreStyle },
4005
- React39.createElement("code", { style: codeStyle }, lineElements)
4011
+ React40.createElement("code", { style: codeStyle }, lineElements)
4006
4012
  )
4007
4013
  );
4008
4014
  }
4009
4015
 
4010
4016
  // ui/src/docs/MarkdownTable.jsx
4011
- import React40 from "react";
4017
+ import React41 from "react";
4012
4018
  function MarkdownTable({ className = "", ...rest }) {
4013
4019
  const merged = ["markdown-table", className].filter(Boolean).join(" ");
4014
- return /* @__PURE__ */ React40.createElement("div", { className: "markdown-table__frame" }, /* @__PURE__ */ React40.createElement("table", { className: merged, ...rest }));
4020
+ return /* @__PURE__ */ React41.createElement("div", { className: "markdown-table__frame" }, /* @__PURE__ */ React41.createElement("table", { className: merged, ...rest }));
4015
4021
  }
4016
4022
 
4017
4023
  // ui/src/docs/Diagram.jsx
4018
- import React41 from "react";
4024
+ import React42 from "react";
4019
4025
  function CanopyDiagram() {
4020
- return /* @__PURE__ */ React41.createElement("div", { className: "canopy-diagram" }, /* @__PURE__ */ React41.createElement("section", { className: "canopy-diagram__section canopy-diagram__section--collections" }, /* @__PURE__ */ React41.createElement("h3", null, "IIIF Collection(s)"), /* @__PURE__ */ React41.createElement("span", { className: "canopy-diagram__section-summary" }, "Source collections contribute 105 total manifests that Canopy retrieves as-is via IIIF endpoints."), /* @__PURE__ */ React41.createElement("div", { className: "canopy-diagram__grid" }, /* @__PURE__ */ React41.createElement("article", null, /* @__PURE__ */ React41.createElement("h4", null, "Collection A"), /* @__PURE__ */ React41.createElement("ul", null, /* @__PURE__ */ React41.createElement("li", null, "70 Manifests"), /* @__PURE__ */ React41.createElement("li", null, "IIIF Images + A/V"), /* @__PURE__ */ React41.createElement("li", null, "Textual Annotations"))), /* @__PURE__ */ React41.createElement("article", null, /* @__PURE__ */ React41.createElement("h4", null, "Collection B"), /* @__PURE__ */ React41.createElement("ul", null, /* @__PURE__ */ React41.createElement("li", null, "35 Manifests"), /* @__PURE__ */ React41.createElement("li", null, "IIIF Images + A/V"), /* @__PURE__ */ React41.createElement("li", null, "Textual Annotations"))))), /* @__PURE__ */ React41.createElement("div", { className: "canopy-diagram__arrow", "aria-hidden": "true" }, /* @__PURE__ */ React41.createElement("span", { className: "canopy-diagram__arrow-line" }), /* @__PURE__ */ React41.createElement("span", { className: "canopy-diagram__arrow-head" })), /* @__PURE__ */ React41.createElement("section", { className: "canopy-diagram__section canopy-diagram__section--build" }, /* @__PURE__ */ React41.createElement("h3", null, "Canopy Build Process"), /* @__PURE__ */ React41.createElement("span", { className: "canopy-diagram__section-summary" }, "Canopy syncs manifests, page content, and annotations before bundling the site."), /* @__PURE__ */ React41.createElement("div", { className: "canopy-diagram__grid" }, /* @__PURE__ */ React41.createElement("article", null, /* @__PURE__ */ React41.createElement("h4", null, "Automated content"), /* @__PURE__ */ React41.createElement("ul", null, /* @__PURE__ */ React41.createElement("li", null, "105 manifests \u2192 105 work pages"), /* @__PURE__ */ React41.createElement("li", null, "One page per manifest"), /* @__PURE__ */ React41.createElement("li", null, "Customize page layout"))), /* @__PURE__ */ React41.createElement("article", null, /* @__PURE__ */ React41.createElement("h4", null, "Contextual content"), /* @__PURE__ */ React41.createElement("ul", null, /* @__PURE__ */ React41.createElement("li", null, "Markdown & MDX pages"), /* @__PURE__ */ React41.createElement("li", null, "Author narratives"), /* @__PURE__ */ React41.createElement("li", null, "Reference manifests inline"))), /* @__PURE__ */ React41.createElement("article", null, /* @__PURE__ */ React41.createElement("h4", null, "Search index"), /* @__PURE__ */ React41.createElement("ul", null, /* @__PURE__ */ React41.createElement("li", null, "Combines works + pages"), /* @__PURE__ */ React41.createElement("li", null, "Customize result layout"), /* @__PURE__ */ React41.createElement("li", null, "Optional annotations"))))), /* @__PURE__ */ React41.createElement("div", { className: "canopy-diagram__arrow", "aria-hidden": "true" }, /* @__PURE__ */ React41.createElement("span", { className: "canopy-diagram__arrow-line" }), /* @__PURE__ */ React41.createElement("span", { className: "canopy-diagram__arrow-head" })), /* @__PURE__ */ React41.createElement("section", { className: "canopy-diagram__section canopy-diagram__section--output" }, /* @__PURE__ */ React41.createElement("h3", null, "Static Digital Project"), /* @__PURE__ */ React41.createElement("span", { className: "canopy-diagram__section-summary" }, "The output is a lightweight bundle of HTML, CSS, JS, and JSON assets that can deploy anywhere."), /* @__PURE__ */ React41.createElement("div", { className: "canopy-diagram__grid" }, /* @__PURE__ */ React41.createElement("article", null, /* @__PURE__ */ React41.createElement("h4", null, "Work pages"), /* @__PURE__ */ React41.createElement("ul", null, /* @__PURE__ */ React41.createElement("li", null, "105 generated HTML pages"), /* @__PURE__ */ React41.createElement("li", null, "Each links back to source manifests"), /* @__PURE__ */ React41.createElement("li", null, "Styled with Canopy components"))), /* @__PURE__ */ React41.createElement("article", null, /* @__PURE__ */ React41.createElement("h4", null, "Custom pages"), /* @__PURE__ */ React41.createElement("ul", null, /* @__PURE__ */ React41.createElement("li", null, "Markdown & MDX-authored content"), /* @__PURE__ */ React41.createElement("li", null, "Reusable layouts for narratives"), /* @__PURE__ */ React41.createElement("li", null, "Embed IIIF media & interstitials"))), /* @__PURE__ */ React41.createElement("article", null, /* @__PURE__ */ React41.createElement("h4", null, "Search bundle"), /* @__PURE__ */ React41.createElement("ul", null, /* @__PURE__ */ React41.createElement("li", null, "Static FlexSearch index"), /* @__PURE__ */ React41.createElement("li", null, "Works + pages share records"), /* @__PURE__ */ React41.createElement("li", null, "Optional annotation dataset"))))));
4026
+ return /* @__PURE__ */ React42.createElement("div", { className: "canopy-diagram" }, /* @__PURE__ */ React42.createElement("section", { className: "canopy-diagram__section canopy-diagram__section--collections" }, /* @__PURE__ */ React42.createElement("h3", null, "IIIF Collection(s)"), /* @__PURE__ */ React42.createElement("span", { className: "canopy-diagram__section-summary" }, "Source collections contribute 105 total manifests that Canopy retrieves as-is via IIIF endpoints."), /* @__PURE__ */ React42.createElement("div", { className: "canopy-diagram__grid" }, /* @__PURE__ */ React42.createElement("article", null, /* @__PURE__ */ React42.createElement("h4", null, "Collection A"), /* @__PURE__ */ React42.createElement("ul", null, /* @__PURE__ */ React42.createElement("li", null, "70 Manifests"), /* @__PURE__ */ React42.createElement("li", null, "IIIF Images + A/V"), /* @__PURE__ */ React42.createElement("li", null, "Textual Annotations"))), /* @__PURE__ */ React42.createElement("article", null, /* @__PURE__ */ React42.createElement("h4", null, "Collection B"), /* @__PURE__ */ React42.createElement("ul", null, /* @__PURE__ */ React42.createElement("li", null, "35 Manifests"), /* @__PURE__ */ React42.createElement("li", null, "IIIF Images + A/V"), /* @__PURE__ */ React42.createElement("li", null, "Textual Annotations"))))), /* @__PURE__ */ React42.createElement("div", { className: "canopy-diagram__arrow", "aria-hidden": "true" }, /* @__PURE__ */ React42.createElement("span", { className: "canopy-diagram__arrow-line" }), /* @__PURE__ */ React42.createElement("span", { className: "canopy-diagram__arrow-head" })), /* @__PURE__ */ React42.createElement("section", { className: "canopy-diagram__section canopy-diagram__section--build" }, /* @__PURE__ */ React42.createElement("h3", null, "Canopy Build Process"), /* @__PURE__ */ React42.createElement("span", { className: "canopy-diagram__section-summary" }, "Canopy syncs manifests, page content, and annotations before bundling the site."), /* @__PURE__ */ React42.createElement("div", { className: "canopy-diagram__grid" }, /* @__PURE__ */ React42.createElement("article", null, /* @__PURE__ */ React42.createElement("h4", null, "Automated content"), /* @__PURE__ */ React42.createElement("ul", null, /* @__PURE__ */ React42.createElement("li", null, "105 manifests \u2192 105 work pages"), /* @__PURE__ */ React42.createElement("li", null, "One page per manifest"), /* @__PURE__ */ React42.createElement("li", null, "Customize page layout"))), /* @__PURE__ */ React42.createElement("article", null, /* @__PURE__ */ React42.createElement("h4", null, "Contextual content"), /* @__PURE__ */ React42.createElement("ul", null, /* @__PURE__ */ React42.createElement("li", null, "Markdown & MDX pages"), /* @__PURE__ */ React42.createElement("li", null, "Author narratives"), /* @__PURE__ */ React42.createElement("li", null, "Reference manifests inline"))), /* @__PURE__ */ React42.createElement("article", null, /* @__PURE__ */ React42.createElement("h4", null, "Search index"), /* @__PURE__ */ React42.createElement("ul", null, /* @__PURE__ */ React42.createElement("li", null, "Combines works + pages"), /* @__PURE__ */ React42.createElement("li", null, "Customize result layout"), /* @__PURE__ */ React42.createElement("li", null, "Optional annotations"))))), /* @__PURE__ */ React42.createElement("div", { className: "canopy-diagram__arrow", "aria-hidden": "true" }, /* @__PURE__ */ React42.createElement("span", { className: "canopy-diagram__arrow-line" }), /* @__PURE__ */ React42.createElement("span", { className: "canopy-diagram__arrow-head" })), /* @__PURE__ */ React42.createElement("section", { className: "canopy-diagram__section canopy-diagram__section--output" }, /* @__PURE__ */ React42.createElement("h3", null, "Static Digital Project"), /* @__PURE__ */ React42.createElement("span", { className: "canopy-diagram__section-summary" }, "The output is a lightweight bundle of HTML, CSS, JS, and JSON assets that can deploy anywhere."), /* @__PURE__ */ React42.createElement("div", { className: "canopy-diagram__grid" }, /* @__PURE__ */ React42.createElement("article", null, /* @__PURE__ */ React42.createElement("h4", null, "Work pages"), /* @__PURE__ */ React42.createElement("ul", null, /* @__PURE__ */ React42.createElement("li", null, "105 generated HTML pages"), /* @__PURE__ */ React42.createElement("li", null, "Each links back to source manifests"), /* @__PURE__ */ React42.createElement("li", null, "Styled with Canopy components"))), /* @__PURE__ */ React42.createElement("article", null, /* @__PURE__ */ React42.createElement("h4", null, "Custom pages"), /* @__PURE__ */ React42.createElement("ul", null, /* @__PURE__ */ React42.createElement("li", null, "Markdown & MDX-authored content"), /* @__PURE__ */ React42.createElement("li", null, "Reusable layouts for narratives"), /* @__PURE__ */ React42.createElement("li", null, "Embed IIIF media & interstitials"))), /* @__PURE__ */ React42.createElement("article", null, /* @__PURE__ */ React42.createElement("h4", null, "Search bundle"), /* @__PURE__ */ React42.createElement("ul", null, /* @__PURE__ */ React42.createElement("li", null, "Static FlexSearch index"), /* @__PURE__ */ React42.createElement("li", null, "Works + pages share records"), /* @__PURE__ */ React42.createElement("li", null, "Optional annotation dataset"))))));
4021
4027
  }
4022
4028
 
4023
4029
  // ui/src/docs/ThemeShowcase.jsx
4024
- import React42 from "react";
4030
+ import React43 from "react";
4025
4031
 
4026
4032
  // ../../node_modules/@radix-ui/colors/index.mjs
4027
4033
  var colors_exports = {};
@@ -7873,21 +7879,21 @@ var STEP_MAP = {
7873
7879
  800: 11,
7874
7880
  900: 12
7875
7881
  };
7876
- var Section = ({ title, description, children }) => /* @__PURE__ */ React42.createElement("div", { className: "canopy-theme-showcase__section" }, /* @__PURE__ */ React42.createElement("h3", { className: "canopy-theme-showcase__section-title" }, title), description ? /* @__PURE__ */ React42.createElement("p", { className: "canopy-theme-showcase__section-description" }, description) : null, children);
7877
- var ColorScaleRow = ({ label, prefix }) => /* @__PURE__ */ React42.createElement("div", { className: "canopy-theme-showcase__scale-row" }, /* @__PURE__ */ React42.createElement("div", { className: "canopy-theme-showcase__scale-label" }, /* @__PURE__ */ React42.createElement("strong", null, label)), /* @__PURE__ */ React42.createElement("div", { className: "canopy-theme-showcase__scale-track" }, COLOR_STOPS.map((stop) => /* @__PURE__ */ React42.createElement(
7882
+ var Section = ({ title, description, children }) => /* @__PURE__ */ React43.createElement("div", { className: "canopy-theme-showcase__section" }, /* @__PURE__ */ React43.createElement("h3", { className: "canopy-theme-showcase__section-title" }, title), description ? /* @__PURE__ */ React43.createElement("p", { className: "canopy-theme-showcase__section-description" }, description) : null, children);
7883
+ var ColorScaleRow = ({ label, prefix }) => /* @__PURE__ */ React43.createElement("div", { className: "canopy-theme-showcase__scale-row" }, /* @__PURE__ */ React43.createElement("div", { className: "canopy-theme-showcase__scale-label" }, /* @__PURE__ */ React43.createElement("strong", null, label)), /* @__PURE__ */ React43.createElement("div", { className: "canopy-theme-showcase__scale-track" }, COLOR_STOPS.map((stop) => /* @__PURE__ */ React43.createElement(
7878
7884
  "div",
7879
7885
  {
7880
7886
  key: `${label}-${stop}`,
7881
7887
  className: "canopy-theme-showcase__scale-stop"
7882
7888
  },
7883
- /* @__PURE__ */ React42.createElement(
7889
+ /* @__PURE__ */ React43.createElement(
7884
7890
  "span",
7885
7891
  {
7886
7892
  className: "canopy-theme-showcase__scale-chip",
7887
7893
  style: { backgroundColor: `var(${prefix}-${stop})` }
7888
7894
  }
7889
7895
  ),
7890
- /* @__PURE__ */ React42.createElement("span", { className: "canopy-theme-showcase__scale-token" }, stop)
7896
+ /* @__PURE__ */ React43.createElement("span", { className: "canopy-theme-showcase__scale-token" }, stop)
7891
7897
  ))));
7892
7898
  var AVAILABLE = new Set(
7893
7899
  Object.keys(colors_exports).filter(
@@ -8069,9 +8075,9 @@ var PREVIEW_DATA = buildPreviewData();
8069
8075
  function encodeJson(value) {
8070
8076
  return JSON.stringify(value).replace(/</g, "\\u003c");
8071
8077
  }
8072
- var ColorsLabeled = ({ colors, type, getRadixSwatch }) => /* @__PURE__ */ React42.createElement("div", { className: "canopy-theme-showcase__swatch-grid" }, colors.map((name) => {
8078
+ var ColorsLabeled = ({ colors, type, getRadixSwatch }) => /* @__PURE__ */ React43.createElement("div", { className: "canopy-theme-showcase__swatch-grid" }, colors.map((name) => {
8073
8079
  const colorValue = getRadixSwatch(name);
8074
- return /* @__PURE__ */ React42.createElement(
8080
+ return /* @__PURE__ */ React43.createElement(
8075
8081
  "button",
8076
8082
  {
8077
8083
  key: `${type}-${name}`,
@@ -8082,14 +8088,14 @@ var ColorsLabeled = ({ colors, type, getRadixSwatch }) => /* @__PURE__ */ React4
8082
8088
  "data-theme-swatch-value": name,
8083
8089
  "aria-pressed": "false"
8084
8090
  },
8085
- /* @__PURE__ */ React42.createElement(
8091
+ /* @__PURE__ */ React43.createElement(
8086
8092
  "span",
8087
8093
  {
8088
8094
  className: "canopy-theme-showcase__swatch-chip",
8089
8095
  style: { background: colorValue || "var(--color-gray-200)" }
8090
8096
  }
8091
8097
  ),
8092
- /* @__PURE__ */ React42.createElement("span", { className: "canopy-theme-showcase__swatch-label" }, name)
8098
+ /* @__PURE__ */ React43.createElement("span", { className: "canopy-theme-showcase__swatch-label" }, name)
8093
8099
  );
8094
8100
  }));
8095
8101
  function ThemeShowcase() {
@@ -8246,18 +8252,18 @@ function ThemeShowcase() {
8246
8252
  .canopy-theme-showcase__swatch-controls { display: none; }
8247
8253
  .canopy-theme-showcase__clear-button { display: none; }
8248
8254
  `;
8249
- return /* @__PURE__ */ React42.createElement("div", { className: "canopy-theme-showcase", "data-theme-showcase": true }, /* @__PURE__ */ React42.createElement("style", { dangerouslySetInnerHTML: { __html: styles } }), /* @__PURE__ */ React42.createElement("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", gap: "1rem", marginBottom: "1rem" } }, /* @__PURE__ */ React42.createElement(
8255
+ return /* @__PURE__ */ React43.createElement("div", { className: "canopy-theme-showcase", "data-theme-showcase": true }, /* @__PURE__ */ React43.createElement("style", { dangerouslySetInnerHTML: { __html: styles } }), /* @__PURE__ */ React43.createElement("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", gap: "1rem", marginBottom: "1rem" } }, /* @__PURE__ */ React43.createElement(
8250
8256
  Section,
8251
8257
  {
8252
8258
  title: "Appearance",
8253
8259
  description: "Pick the base light or dark mode for the theme preview."
8254
8260
  },
8255
- /* @__PURE__ */ React42.createElement("div", { className: "canopy-theme-showcase__appearance-buttons" }, ["light", "dark"].map((mode) => {
8261
+ /* @__PURE__ */ React43.createElement("div", { className: "canopy-theme-showcase__appearance-buttons" }, ["light", "dark"].map((mode) => {
8256
8262
  const label = `${mode.charAt(0).toUpperCase()}${mode.slice(1)}`;
8257
8263
  const baseClass = "canopy-theme-showcase__appearance-button";
8258
8264
  const isDefault = mode === DEFAULTS.appearance;
8259
8265
  const className = isDefault ? `${baseClass} is-active` : baseClass;
8260
- return /* @__PURE__ */ React42.createElement(
8266
+ return /* @__PURE__ */ React43.createElement(
8261
8267
  "button",
8262
8268
  {
8263
8269
  key: mode,
@@ -8268,7 +8274,7 @@ function ThemeShowcase() {
8268
8274
  label
8269
8275
  );
8270
8276
  }))
8271
- ), /* @__PURE__ */ React42.createElement(
8277
+ ), /* @__PURE__ */ React43.createElement(
8272
8278
  "button",
8273
8279
  {
8274
8280
  type: "button",
@@ -8276,13 +8282,13 @@ function ThemeShowcase() {
8276
8282
  "data-theme-reset": true
8277
8283
  },
8278
8284
  "Reset"
8279
- )), /* @__PURE__ */ React42.createElement(
8285
+ )), /* @__PURE__ */ React43.createElement(
8280
8286
  Section,
8281
8287
  {
8282
8288
  title: "Color scales",
8283
8289
  description: "Accent and gray ramps from the active theme."
8284
8290
  },
8285
- /* @__PURE__ */ React42.createElement("div", { style: { display: "flex", flexDirection: "column", gap: "1.5rem" } }, COLOR_SCALES.map((scale) => /* @__PURE__ */ React42.createElement(
8291
+ /* @__PURE__ */ React43.createElement("div", { style: { display: "flex", flexDirection: "column", gap: "1.5rem" } }, COLOR_SCALES.map((scale) => /* @__PURE__ */ React43.createElement(
8286
8292
  ColorScaleRow,
8287
8293
  {
8288
8294
  key: scale.label,
@@ -8290,21 +8296,21 @@ function ThemeShowcase() {
8290
8296
  prefix: scale.prefix
8291
8297
  }
8292
8298
  )))
8293
- ), /* @__PURE__ */ React42.createElement(
8299
+ ), /* @__PURE__ */ React43.createElement(
8294
8300
  Section,
8295
8301
  {
8296
8302
  title: "Accent color palette options",
8297
8303
  description: "Click a swatch to temporarily override the accent palette."
8298
8304
  },
8299
- /* @__PURE__ */ React42.createElement(ColorsLabeled, { colors: accentColors, type: "accent", getRadixSwatch })
8300
- ), /* @__PURE__ */ React42.createElement(
8305
+ /* @__PURE__ */ React43.createElement(ColorsLabeled, { colors: accentColors, type: "accent", getRadixSwatch })
8306
+ ), /* @__PURE__ */ React43.createElement(
8301
8307
  Section,
8302
8308
  {
8303
8309
  title: "Gray color palette options",
8304
8310
  description: "Click a swatch to preview the neutral ramp for surfaces and text."
8305
8311
  },
8306
- /* @__PURE__ */ React42.createElement(ColorsLabeled, { colors: grayColors, type: "gray", getRadixSwatch })
8307
- ), /* @__PURE__ */ React42.createElement(
8312
+ /* @__PURE__ */ React43.createElement(ColorsLabeled, { colors: grayColors, type: "gray", getRadixSwatch })
8313
+ ), /* @__PURE__ */ React43.createElement(
8308
8314
  "script",
8309
8315
  {
8310
8316
  type: "application/json",
@@ -8314,7 +8320,7 @@ function ThemeShowcase() {
8314
8320
  ));
8315
8321
  }
8316
8322
  export {
8317
- Biblography,
8323
+ Bibliography,
8318
8324
  Button,
8319
8325
  ButtonWrapper,
8320
8326
  CanopyBrand,
@@ -8328,6 +8334,7 @@ export {
8328
8334
  MarkdownTable as DocsMarkdownTable,
8329
8335
  GoogleAnalytics,
8330
8336
  HelloWorld,
8337
+ Id,
8331
8338
  Image,
8332
8339
  interstitials_exports as Interstitials,
8333
8340
  Label,