@canopy-iiif/app 0.13.4 → 0.13.5

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.
@@ -3159,8 +3159,30 @@ function MdxSearchTabs(props) {
3159
3159
  return /* @__PURE__ */ React30.createElement("div", { "data-canopy-search-tabs": "1" }, /* @__PURE__ */ React30.createElement("script", { type: "application/json", dangerouslySetInnerHTML: { __html: json } }));
3160
3160
  }
3161
3161
 
3162
- // ui/src/search-form/MdxSearchFormModal.jsx
3162
+ // ui/src/search/MdxSearch.jsx
3163
3163
  import React31 from "react";
3164
+ function MdxSearch(props = {}) {
3165
+ const {
3166
+ layout,
3167
+ tabsProps = {},
3168
+ summaryProps = {},
3169
+ resultsProps = {},
3170
+ className = "",
3171
+ showTabs = true,
3172
+ showSummary = true,
3173
+ showResults = true,
3174
+ children
3175
+ } = props || {};
3176
+ const resultsPayload = resultsProps && typeof resultsProps === "object" ? { ...resultsProps } : {};
3177
+ if (typeof layout !== "undefined" && layout !== null && !resultsPayload.layout) {
3178
+ resultsPayload.layout = layout;
3179
+ }
3180
+ const classes = ["canopy-search", className].filter(Boolean).join(" ");
3181
+ return /* @__PURE__ */ React31.createElement("section", { className: classes, "data-canopy-search": "1" }, showTabs ? /* @__PURE__ */ React31.createElement(MdxSearchTabs, { ...tabsProps }) : null, showSummary ? /* @__PURE__ */ React31.createElement(SearchSummary, { ...summaryProps }) : null, showResults ? /* @__PURE__ */ React31.createElement(MdxSearchResults, { ...resultsPayload }) : null, children || null);
3182
+ }
3183
+
3184
+ // ui/src/search-form/MdxSearchFormModal.jsx
3185
+ import React32 from "react";
3164
3186
  function MdxSearchFormModal(props = {}) {
3165
3187
  const {
3166
3188
  placeholder = "Search\u2026",
@@ -3176,11 +3198,11 @@ function MdxSearchFormModal(props = {}) {
3176
3198
  const text = typeof label === "string" && label.trim() ? label.trim() : buttonLabel;
3177
3199
  const resolvedSearchPath = resolveSearchPath(searchPath);
3178
3200
  const data = { placeholder, hotkey, maxResults, groupOrder, label: text, searchPath: resolvedSearchPath };
3179
- return /* @__PURE__ */ React31.createElement("div", { "data-canopy-search-form": true, className: "flex-1 min-w-0" }, /* @__PURE__ */ React31.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ React31.createElement(SearchPanelForm, { placeholder, buttonLabel, label, searchPath: resolvedSearchPath }), /* @__PURE__ */ React31.createElement(SearchPanelTeaserResults, null)), /* @__PURE__ */ React31.createElement("script", { type: "application/json", dangerouslySetInnerHTML: { __html: JSON.stringify(data) } }));
3201
+ return /* @__PURE__ */ React32.createElement("div", { "data-canopy-search-form": true, className: "flex-1 min-w-0" }, /* @__PURE__ */ React32.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ React32.createElement(SearchPanelForm, { placeholder, buttonLabel, label, searchPath: resolvedSearchPath }), /* @__PURE__ */ React32.createElement(SearchPanelTeaserResults, null)), /* @__PURE__ */ React32.createElement("script", { type: "application/json", dangerouslySetInnerHTML: { __html: JSON.stringify(data) } }));
3180
3202
  }
3181
3203
 
3182
3204
  // ui/src/iiif/ManifestPrimitives.jsx
3183
- import React32 from "react";
3205
+ import React33 from "react";
3184
3206
  import {
3185
3207
  Label as CloverLabel,
3186
3208
  Metadata as CloverMetadata,
@@ -3205,28 +3227,28 @@ function ensureMetadata(items) {
3205
3227
  function Label({ manifest, label, ...rest }) {
3206
3228
  const intl = label || manifest && manifest.label;
3207
3229
  if (!hasInternationalValue(intl)) return null;
3208
- return /* @__PURE__ */ React32.createElement(CloverLabel, { label: intl, ...rest });
3230
+ return /* @__PURE__ */ React33.createElement(CloverLabel, { label: intl, ...rest });
3209
3231
  }
3210
3232
  function Summary({ manifest, summary, ...rest }) {
3211
3233
  const intl = summary || manifest && manifest.summary;
3212
3234
  if (!hasInternationalValue(intl)) return null;
3213
- return /* @__PURE__ */ React32.createElement(CloverSummary, { summary: intl, ...rest });
3235
+ return /* @__PURE__ */ React33.createElement(CloverSummary, { summary: intl, ...rest });
3214
3236
  }
3215
3237
  function Metadata({ manifest, metadata, ...rest }) {
3216
3238
  const items = ensureMetadata(metadata || manifest && manifest.metadata);
3217
3239
  if (!items.length) return null;
3218
- return /* @__PURE__ */ React32.createElement(CloverMetadata, { metadata: items, ...rest });
3240
+ return /* @__PURE__ */ React33.createElement(CloverMetadata, { metadata: items, ...rest });
3219
3241
  }
3220
3242
  function RequiredStatement({ manifest, requiredStatement, ...rest }) {
3221
3243
  const stmt = requiredStatement || manifest && manifest.requiredStatement;
3222
3244
  if (!stmt || !hasInternationalValue(stmt.label) || !hasInternationalValue(stmt.value)) {
3223
3245
  return null;
3224
3246
  }
3225
- return /* @__PURE__ */ React32.createElement(CloverRequiredStatement, { requiredStatement: stmt, ...rest });
3247
+ return /* @__PURE__ */ React33.createElement(CloverRequiredStatement, { requiredStatement: stmt, ...rest });
3226
3248
  }
3227
3249
 
3228
3250
  // ui/src/docs/CodeBlock.jsx
3229
- import React33 from "react";
3251
+ import React34 from "react";
3230
3252
  function parseHighlightAttr(attr) {
3231
3253
  if (!attr) return /* @__PURE__ */ new Set();
3232
3254
  const cleaned = String(attr || "").trim();
@@ -3272,10 +3294,10 @@ var highlightBaseStyle = {
3272
3294
  };
3273
3295
  function DocsCodeBlock(props = {}) {
3274
3296
  const { children, ...rest } = props;
3275
- const childArray = React33.Children.toArray(children);
3276
- const codeElement = childArray.find((el) => React33.isValidElement(el));
3297
+ const childArray = React34.Children.toArray(children);
3298
+ const codeElement = childArray.find((el) => React34.isValidElement(el));
3277
3299
  if (!codeElement || !codeElement.props) {
3278
- return React33.createElement("pre", props);
3300
+ return React34.createElement("pre", props);
3279
3301
  }
3280
3302
  const {
3281
3303
  className = "",
@@ -3290,8 +3312,8 @@ function DocsCodeBlock(props = {}) {
3290
3312
  const highlightSet = parseHighlightAttr(highlightAttr);
3291
3313
  const copyAttr = codeProps["data-copy"];
3292
3314
  const enableCopy = copyAttr !== void 0 ? copyAttr === true || copyAttr === "true" || copyAttr === "" : false;
3293
- const [copied, setCopied] = React33.useState(false);
3294
- const handleCopy = React33.useCallback(async () => {
3315
+ const [copied, setCopied] = React34.useState(false);
3316
+ const handleCopy = React34.useCallback(async () => {
3295
3317
  const text = rawCode;
3296
3318
  try {
3297
3319
  if (typeof navigator !== "undefined" && navigator.clipboard && navigator.clipboard.writeText) {
@@ -3356,20 +3378,20 @@ function DocsCodeBlock(props = {}) {
3356
3378
  const highlight = highlightSet.has(lineNumber);
3357
3379
  const style = highlight ? { ...baseLineStyle, ...highlightBaseStyle } : baseLineStyle;
3358
3380
  const displayLine = line === "" ? " " : line;
3359
- return React33.createElement(
3381
+ return React34.createElement(
3360
3382
  "span",
3361
3383
  { key: lineNumber, style },
3362
- React33.createElement("span", { style: lineContentStyle }, displayLine)
3384
+ React34.createElement("span", { style: lineContentStyle }, displayLine)
3363
3385
  );
3364
3386
  });
3365
- return React33.createElement(
3387
+ return React34.createElement(
3366
3388
  "div",
3367
3389
  { style: containerStyle },
3368
- showHeader ? React33.createElement(
3390
+ showHeader ? React34.createElement(
3369
3391
  "div",
3370
3392
  { style: headerStyle },
3371
- React33.createElement("span", null, showFilename ? filename : null),
3372
- enableCopy ? React33.createElement(
3393
+ React34.createElement("span", null, showFilename ? filename : null),
3394
+ enableCopy ? React34.createElement(
3373
3395
  "button",
3374
3396
  {
3375
3397
  type: "button",
@@ -3388,29 +3410,29 @@ function DocsCodeBlock(props = {}) {
3388
3410
  copied ? "Copied" : "Copy"
3389
3411
  ) : null
3390
3412
  ) : null,
3391
- React33.createElement(
3413
+ React34.createElement(
3392
3414
  "pre",
3393
3415
  { ...preRest, className: preClassName, style: mergedPreStyle },
3394
- React33.createElement("code", { style: codeStyle }, lineElements)
3416
+ React34.createElement("code", { style: codeStyle }, lineElements)
3395
3417
  )
3396
3418
  );
3397
3419
  }
3398
3420
 
3399
3421
  // ui/src/docs/MarkdownTable.jsx
3400
- import React34 from "react";
3422
+ import React35 from "react";
3401
3423
  function MarkdownTable({ className = "", ...rest }) {
3402
3424
  const merged = ["markdown-table", className].filter(Boolean).join(" ");
3403
- return /* @__PURE__ */ React34.createElement("div", { className: "markdown-table__frame" }, /* @__PURE__ */ React34.createElement("table", { className: merged, ...rest }));
3425
+ return /* @__PURE__ */ React35.createElement("div", { className: "markdown-table__frame" }, /* @__PURE__ */ React35.createElement("table", { className: merged, ...rest }));
3404
3426
  }
3405
3427
 
3406
3428
  // ui/src/docs/Diagram.jsx
3407
- import React35 from "react";
3429
+ import React36 from "react";
3408
3430
  function CanopyDiagram() {
3409
- return /* @__PURE__ */ React35.createElement("div", { className: "canopy-diagram" }, /* @__PURE__ */ React35.createElement("section", { className: "canopy-diagram__section canopy-diagram__section--collections" }, /* @__PURE__ */ React35.createElement("h3", null, "IIIF Collection(s)"), /* @__PURE__ */ React35.createElement("span", { className: "canopy-diagram__section-summary" }, "Source collections contribute 105 total manifests that Canopy retrieves as-is via IIIF endpoints."), /* @__PURE__ */ React35.createElement("div", { className: "canopy-diagram__grid" }, /* @__PURE__ */ React35.createElement("article", null, /* @__PURE__ */ React35.createElement("h4", null, "Collection A"), /* @__PURE__ */ React35.createElement("ul", null, /* @__PURE__ */ React35.createElement("li", null, "70 Manifests"), /* @__PURE__ */ React35.createElement("li", null, "IIIF Images + A/V"), /* @__PURE__ */ React35.createElement("li", null, "Textual Annotations"))), /* @__PURE__ */ React35.createElement("article", null, /* @__PURE__ */ React35.createElement("h4", null, "Collection B"), /* @__PURE__ */ React35.createElement("ul", null, /* @__PURE__ */ React35.createElement("li", null, "35 Manifests"), /* @__PURE__ */ React35.createElement("li", null, "IIIF Images + A/V"), /* @__PURE__ */ React35.createElement("li", null, "Textual Annotations"))))), /* @__PURE__ */ React35.createElement("div", { className: "canopy-diagram__arrow", "aria-hidden": "true" }, /* @__PURE__ */ React35.createElement("span", { className: "canopy-diagram__arrow-line" }), /* @__PURE__ */ React35.createElement("span", { className: "canopy-diagram__arrow-head" })), /* @__PURE__ */ React35.createElement("section", { className: "canopy-diagram__section canopy-diagram__section--build" }, /* @__PURE__ */ React35.createElement("h3", null, "Canopy Build Process"), /* @__PURE__ */ React35.createElement("span", { className: "canopy-diagram__section-summary" }, "Canopy syncs manifests, page content, and annotations before bundling the site."), /* @__PURE__ */ React35.createElement("div", { className: "canopy-diagram__grid" }, /* @__PURE__ */ React35.createElement("article", null, /* @__PURE__ */ React35.createElement("h4", null, "Automated content"), /* @__PURE__ */ React35.createElement("ul", null, /* @__PURE__ */ React35.createElement("li", null, "105 manifests \u2192 105 work pages"), /* @__PURE__ */ React35.createElement("li", null, "One page per manifest"), /* @__PURE__ */ React35.createElement("li", null, "Customize page layout"))), /* @__PURE__ */ React35.createElement("article", null, /* @__PURE__ */ React35.createElement("h4", null, "Contextual content"), /* @__PURE__ */ React35.createElement("ul", null, /* @__PURE__ */ React35.createElement("li", null, "Markdown & MDX pages"), /* @__PURE__ */ React35.createElement("li", null, "Author narratives & tours"), /* @__PURE__ */ React35.createElement("li", null, "Reference manifests inline"))), /* @__PURE__ */ React35.createElement("article", null, /* @__PURE__ */ React35.createElement("h4", null, "Search index"), /* @__PURE__ */ React35.createElement("ul", null, /* @__PURE__ */ React35.createElement("li", null, "Combines works + pages"), /* @__PURE__ */ React35.createElement("li", null, "Customize result layout"), /* @__PURE__ */ React35.createElement("li", null, "Optional annotations"))))), /* @__PURE__ */ React35.createElement("div", { className: "canopy-diagram__arrow", "aria-hidden": "true" }, /* @__PURE__ */ React35.createElement("span", { className: "canopy-diagram__arrow-line" }), /* @__PURE__ */ React35.createElement("span", { className: "canopy-diagram__arrow-head" })), /* @__PURE__ */ React35.createElement("section", { className: "canopy-diagram__section canopy-diagram__section--output" }, /* @__PURE__ */ React35.createElement("h3", null, "Static Digital Project"), /* @__PURE__ */ React35.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__ */ React35.createElement("div", { className: "canopy-diagram__grid" }, /* @__PURE__ */ React35.createElement("article", null, /* @__PURE__ */ React35.createElement("h4", null, "Work pages"), /* @__PURE__ */ React35.createElement("ul", null, /* @__PURE__ */ React35.createElement("li", null, "105 generated HTML pages"), /* @__PURE__ */ React35.createElement("li", null, "Each links back to source manifests"), /* @__PURE__ */ React35.createElement("li", null, "Styled with Canopy components"))), /* @__PURE__ */ React35.createElement("article", null, /* @__PURE__ */ React35.createElement("h4", null, "Custom pages"), /* @__PURE__ */ React35.createElement("ul", null, /* @__PURE__ */ React35.createElement("li", null, "Markdown & MDX-authored content"), /* @__PURE__ */ React35.createElement("li", null, "Reusable layouts for narratives"), /* @__PURE__ */ React35.createElement("li", null, "Embed IIIF media & interstitials"))), /* @__PURE__ */ React35.createElement("article", null, /* @__PURE__ */ React35.createElement("h4", null, "Search bundle"), /* @__PURE__ */ React35.createElement("ul", null, /* @__PURE__ */ React35.createElement("li", null, "Static FlexSearch index"), /* @__PURE__ */ React35.createElement("li", null, "Works + pages share records"), /* @__PURE__ */ React35.createElement("li", null, "Optional annotation dataset"))))));
3431
+ return /* @__PURE__ */ React36.createElement("div", { className: "canopy-diagram" }, /* @__PURE__ */ React36.createElement("section", { className: "canopy-diagram__section canopy-diagram__section--collections" }, /* @__PURE__ */ React36.createElement("h3", null, "IIIF Collection(s)"), /* @__PURE__ */ React36.createElement("span", { className: "canopy-diagram__section-summary" }, "Source collections contribute 105 total manifests that Canopy retrieves as-is via IIIF endpoints."), /* @__PURE__ */ React36.createElement("div", { className: "canopy-diagram__grid" }, /* @__PURE__ */ React36.createElement("article", null, /* @__PURE__ */ React36.createElement("h4", null, "Collection A"), /* @__PURE__ */ React36.createElement("ul", null, /* @__PURE__ */ React36.createElement("li", null, "70 Manifests"), /* @__PURE__ */ React36.createElement("li", null, "IIIF Images + A/V"), /* @__PURE__ */ React36.createElement("li", null, "Textual Annotations"))), /* @__PURE__ */ React36.createElement("article", null, /* @__PURE__ */ React36.createElement("h4", null, "Collection B"), /* @__PURE__ */ React36.createElement("ul", null, /* @__PURE__ */ React36.createElement("li", null, "35 Manifests"), /* @__PURE__ */ React36.createElement("li", null, "IIIF Images + A/V"), /* @__PURE__ */ React36.createElement("li", null, "Textual Annotations"))))), /* @__PURE__ */ React36.createElement("div", { className: "canopy-diagram__arrow", "aria-hidden": "true" }, /* @__PURE__ */ React36.createElement("span", { className: "canopy-diagram__arrow-line" }), /* @__PURE__ */ React36.createElement("span", { className: "canopy-diagram__arrow-head" })), /* @__PURE__ */ React36.createElement("section", { className: "canopy-diagram__section canopy-diagram__section--build" }, /* @__PURE__ */ React36.createElement("h3", null, "Canopy Build Process"), /* @__PURE__ */ React36.createElement("span", { className: "canopy-diagram__section-summary" }, "Canopy syncs manifests, page content, and annotations before bundling the site."), /* @__PURE__ */ React36.createElement("div", { className: "canopy-diagram__grid" }, /* @__PURE__ */ React36.createElement("article", null, /* @__PURE__ */ React36.createElement("h4", null, "Automated content"), /* @__PURE__ */ React36.createElement("ul", null, /* @__PURE__ */ React36.createElement("li", null, "105 manifests \u2192 105 work pages"), /* @__PURE__ */ React36.createElement("li", null, "One page per manifest"), /* @__PURE__ */ React36.createElement("li", null, "Customize page layout"))), /* @__PURE__ */ React36.createElement("article", null, /* @__PURE__ */ React36.createElement("h4", null, "Contextual content"), /* @__PURE__ */ React36.createElement("ul", null, /* @__PURE__ */ React36.createElement("li", null, "Markdown & MDX pages"), /* @__PURE__ */ React36.createElement("li", null, "Author narratives & tours"), /* @__PURE__ */ React36.createElement("li", null, "Reference manifests inline"))), /* @__PURE__ */ React36.createElement("article", null, /* @__PURE__ */ React36.createElement("h4", null, "Search index"), /* @__PURE__ */ React36.createElement("ul", null, /* @__PURE__ */ React36.createElement("li", null, "Combines works + pages"), /* @__PURE__ */ React36.createElement("li", null, "Customize result layout"), /* @__PURE__ */ React36.createElement("li", null, "Optional annotations"))))), /* @__PURE__ */ React36.createElement("div", { className: "canopy-diagram__arrow", "aria-hidden": "true" }, /* @__PURE__ */ React36.createElement("span", { className: "canopy-diagram__arrow-line" }), /* @__PURE__ */ React36.createElement("span", { className: "canopy-diagram__arrow-head" })), /* @__PURE__ */ React36.createElement("section", { className: "canopy-diagram__section canopy-diagram__section--output" }, /* @__PURE__ */ React36.createElement("h3", null, "Static Digital Project"), /* @__PURE__ */ React36.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__ */ React36.createElement("div", { className: "canopy-diagram__grid" }, /* @__PURE__ */ React36.createElement("article", null, /* @__PURE__ */ React36.createElement("h4", null, "Work pages"), /* @__PURE__ */ React36.createElement("ul", null, /* @__PURE__ */ React36.createElement("li", null, "105 generated HTML pages"), /* @__PURE__ */ React36.createElement("li", null, "Each links back to source manifests"), /* @__PURE__ */ React36.createElement("li", null, "Styled with Canopy components"))), /* @__PURE__ */ React36.createElement("article", null, /* @__PURE__ */ React36.createElement("h4", null, "Custom pages"), /* @__PURE__ */ React36.createElement("ul", null, /* @__PURE__ */ React36.createElement("li", null, "Markdown & MDX-authored content"), /* @__PURE__ */ React36.createElement("li", null, "Reusable layouts for narratives"), /* @__PURE__ */ React36.createElement("li", null, "Embed IIIF media & interstitials"))), /* @__PURE__ */ React36.createElement("article", null, /* @__PURE__ */ React36.createElement("h4", null, "Search bundle"), /* @__PURE__ */ React36.createElement("ul", null, /* @__PURE__ */ React36.createElement("li", null, "Static FlexSearch index"), /* @__PURE__ */ React36.createElement("li", null, "Works + pages share records"), /* @__PURE__ */ React36.createElement("li", null, "Optional annotation dataset"))))));
3410
3432
  }
3411
3433
 
3412
3434
  // ui/src/docs/ThemeShowcase.jsx
3413
- import React36 from "react";
3435
+ import React37 from "react";
3414
3436
 
3415
3437
  // ../../node_modules/@radix-ui/colors/index.mjs
3416
3438
  var colors_exports = {};
@@ -7243,21 +7265,21 @@ var ACCENT_COLOR_NAMES = [
7243
7265
  "sky"
7244
7266
  ];
7245
7267
  var GRAY_COLOR_NAMES = ["gray", "mauve", "slate", "sage", "olive", "sand"];
7246
- var Section = ({ title, description, children }) => /* @__PURE__ */ React36.createElement("div", { className: "canopy-theme-showcase__section" }, /* @__PURE__ */ React36.createElement("h3", { className: "canopy-theme-showcase__section-title" }, title), description ? /* @__PURE__ */ React36.createElement("p", { className: "canopy-theme-showcase__section-description" }, description) : null, children);
7247
- var ColorScaleRow = ({ label, prefix }) => /* @__PURE__ */ React36.createElement("div", { className: "canopy-theme-showcase__scale-row" }, /* @__PURE__ */ React36.createElement("div", { className: "canopy-theme-showcase__scale-label" }, /* @__PURE__ */ React36.createElement("strong", null, label)), /* @__PURE__ */ React36.createElement("div", { className: "canopy-theme-showcase__scale-track" }, COLOR_STOPS.map((stop) => /* @__PURE__ */ React36.createElement(
7268
+ var Section = ({ title, description, children }) => /* @__PURE__ */ React37.createElement("div", { className: "canopy-theme-showcase__section" }, /* @__PURE__ */ React37.createElement("h3", { className: "canopy-theme-showcase__section-title" }, title), description ? /* @__PURE__ */ React37.createElement("p", { className: "canopy-theme-showcase__section-description" }, description) : null, children);
7269
+ var ColorScaleRow = ({ label, prefix }) => /* @__PURE__ */ React37.createElement("div", { className: "canopy-theme-showcase__scale-row" }, /* @__PURE__ */ React37.createElement("div", { className: "canopy-theme-showcase__scale-label" }, /* @__PURE__ */ React37.createElement("strong", null, label)), /* @__PURE__ */ React37.createElement("div", { className: "canopy-theme-showcase__scale-track" }, COLOR_STOPS.map((stop) => /* @__PURE__ */ React37.createElement(
7248
7270
  "div",
7249
7271
  {
7250
7272
  key: `${label}-${stop}`,
7251
7273
  className: "canopy-theme-showcase__scale-stop"
7252
7274
  },
7253
- /* @__PURE__ */ React36.createElement(
7275
+ /* @__PURE__ */ React37.createElement(
7254
7276
  "span",
7255
7277
  {
7256
7278
  className: "canopy-theme-showcase__scale-chip",
7257
7279
  style: { backgroundColor: `var(${prefix}-${stop})` }
7258
7280
  }
7259
7281
  ),
7260
- /* @__PURE__ */ React36.createElement("span", { className: "canopy-theme-showcase__scale-token" }, stop)
7282
+ /* @__PURE__ */ React37.createElement("span", { className: "canopy-theme-showcase__scale-token" }, stop)
7261
7283
  ))));
7262
7284
  function ThemeShowcase() {
7263
7285
  const accentColors = ACCENT_COLOR_NAMES;
@@ -7268,15 +7290,15 @@ function ThemeShowcase() {
7268
7290
  if (!scale) return null;
7269
7291
  return scale[`${name}9`] || Object.values(scale)[8];
7270
7292
  };
7271
- const ColorsLabeled = ({ colors }) => /* @__PURE__ */ React36.createElement("div", { className: "canopy-theme-showcase__swatch-grid" }, colors.map((name) => {
7293
+ const ColorsLabeled = ({ colors }) => /* @__PURE__ */ React37.createElement("div", { className: "canopy-theme-showcase__swatch-grid" }, colors.map((name) => {
7272
7294
  const colorValue = getRadixSwatch(name);
7273
- return /* @__PURE__ */ React36.createElement("div", { key: name, className: "canopy-theme-showcase__swatch" }, /* @__PURE__ */ React36.createElement(
7295
+ return /* @__PURE__ */ React37.createElement("div", { key: name, className: "canopy-theme-showcase__swatch" }, /* @__PURE__ */ React37.createElement(
7274
7296
  "div",
7275
7297
  {
7276
7298
  className: "canopy-theme-showcase__swatch-chip",
7277
7299
  style: { background: colorValue || "var(--color-gray-200)" }
7278
7300
  }
7279
- ), /* @__PURE__ */ React36.createElement("div", { className: "canopy-theme-showcase__swatch-label" }, name));
7301
+ ), /* @__PURE__ */ React37.createElement("div", { className: "canopy-theme-showcase__swatch-label" }, name));
7280
7302
  }));
7281
7303
  const styles = `
7282
7304
  .canopy-theme-showcase__section {
@@ -7360,13 +7382,13 @@ function ThemeShowcase() {
7360
7382
  font-weight: 300;
7361
7383
  }
7362
7384
  `;
7363
- return /* @__PURE__ */ React36.createElement("div", { className: "canopy-theme-showcase" }, /* @__PURE__ */ React36.createElement("style", { dangerouslySetInnerHTML: { __html: styles } }), /* @__PURE__ */ React36.createElement(
7385
+ return /* @__PURE__ */ React37.createElement("div", { className: "canopy-theme-showcase" }, /* @__PURE__ */ React37.createElement("style", { dangerouslySetInnerHTML: { __html: styles } }), /* @__PURE__ */ React37.createElement(
7364
7386
  Section,
7365
7387
  {
7366
7388
  title: "Color scales",
7367
7389
  description: "Accent and gray ramps from the active theme."
7368
7390
  },
7369
- /* @__PURE__ */ React36.createElement("div", { style: { display: "flex", flexDirection: "column", gap: "1.5rem" } }, COLOR_SCALES.map((scale) => /* @__PURE__ */ React36.createElement(
7391
+ /* @__PURE__ */ React37.createElement("div", { style: { display: "flex", flexDirection: "column", gap: "1.5rem" } }, COLOR_SCALES.map((scale) => /* @__PURE__ */ React37.createElement(
7370
7392
  ColorScaleRow,
7371
7393
  {
7372
7394
  key: scale.label,
@@ -7374,20 +7396,20 @@ function ThemeShowcase() {
7374
7396
  prefix: scale.prefix
7375
7397
  }
7376
7398
  )))
7377
- ), /* @__PURE__ */ React36.createElement(
7399
+ ), /* @__PURE__ */ React37.createElement(
7378
7400
  Section,
7379
7401
  {
7380
7402
  title: "Accent palette options",
7381
7403
  description: "All accent color families available via Radix Themes."
7382
7404
  },
7383
- /* @__PURE__ */ React36.createElement(ColorsLabeled, { colors: accentColors })
7384
- ), /* @__PURE__ */ React36.createElement(
7405
+ /* @__PURE__ */ React37.createElement(ColorsLabeled, { colors: accentColors })
7406
+ ), /* @__PURE__ */ React37.createElement(
7385
7407
  Section,
7386
7408
  {
7387
7409
  title: "Gray palette options",
7388
7410
  description: "Neutral ramps you can assign via the theme block."
7389
7411
  },
7390
- /* @__PURE__ */ React36.createElement(ColorsLabeled, { colors: grayColors })
7412
+ /* @__PURE__ */ React37.createElement(ColorsLabeled, { colors: grayColors })
7391
7413
  ));
7392
7414
  }
7393
7415
  export {
@@ -7413,6 +7435,7 @@ export {
7413
7435
  MdxRelatedItems as RelatedItems,
7414
7436
  RequiredStatement,
7415
7437
  Scroll,
7438
+ MdxSearch as Search,
7416
7439
  MdxSearchFormModal as SearchFormModal,
7417
7440
  SearchPanel,
7418
7441
  SearchPanelForm,