@teamimpact/veda-ui-blocks 0.1.0-beta.8 → 0.1.0-beta.9

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
@@ -102,40 +102,8 @@ var DEFAULT_EXPANDED_CONTENT_JSX = /* @__PURE__ */ jsxs("div", { className: "blo
102
102
  ] })
103
103
  ] });
104
104
 
105
- // src/components/Button/Button.tsx
106
- import { Button as USWDSButton } from "@trussworks/react-uswds";
107
- import { jsx as jsx2 } from "react/jsx-runtime";
108
- function Button({
109
- type = "button",
110
- secondary = false,
111
- base = false,
112
- accentStyle,
113
- outline = false,
114
- inverse = false,
115
- size,
116
- unstyled = false,
117
- children,
118
- className,
119
- ...rest
120
- }) {
121
- const uswdsButtonProps = {
122
- secondary,
123
- base,
124
- outline,
125
- inverse,
126
- unstyled,
127
- className,
128
- type,
129
- // Only add accentStyle and size if defined, to avoid passing undefined
130
- ...accentStyle ? { accentStyle } : {},
131
- ...size ? { size } : {},
132
- children
133
- };
134
- return /* @__PURE__ */ jsx2(USWDSButton, { ...rest, ...uswdsButtonProps });
135
- }
136
-
137
105
  // src/components/Cards/Card/Card.tsx
138
- import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
106
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
139
107
  function Card({
140
108
  tag,
141
109
  title,
@@ -158,26 +126,52 @@ function Card({
158
126
  ]);
159
127
  const hasContent = tag || title || subtitle || description || callToAction || callToActionSecondary;
160
128
  return /* @__PURE__ */ jsxs2("div", { className: rootClassName, children: [
161
- imagePosition === "cover" && /* @__PURE__ */ jsx3("div", { className: "blocks-card__media", children: image }),
129
+ imagePosition === "cover" && /* @__PURE__ */ jsx2("div", { className: "blocks-card__media", children: image }),
162
130
  /* @__PURE__ */ jsxs2("div", { className: "blocks-card__content-container", children: [
163
- imagePosition !== "cover" && /* @__PURE__ */ jsx3("div", { className: "blocks-card__media", children: image }),
131
+ imagePosition !== "cover" && /* @__PURE__ */ jsx2("div", { className: "blocks-card__media", children: image }),
164
132
  hasContent && /* @__PURE__ */ jsxs2("div", { className: "blocks-card__content", children: [
165
- tag && /* @__PURE__ */ jsx3("div", { className: "blocks-card__tag", children: tag }),
166
- title && (typeof title === "string" ? /* @__PURE__ */ jsx3("h2", { className: "blocks-card__title", children: title }) : title),
167
- subtitle && /* @__PURE__ */ jsx3("div", { className: "blocks-card__subtitle", children: subtitle }),
168
- description && /* @__PURE__ */ jsx3("p", { className: "blocks-card__description", children: description }),
133
+ tag && /* @__PURE__ */ jsx2("div", { className: "blocks-card__tag", children: tag }),
134
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx2("h2", { className: "blocks-card__title", children: title }) : title),
135
+ subtitle && /* @__PURE__ */ jsx2("div", { className: "blocks-card__subtitle", children: subtitle }),
136
+ description && /* @__PURE__ */ jsx2("p", { className: "blocks-card__description", children: description }),
169
137
  (callToAction || callToActionSecondary) && /* @__PURE__ */ jsxs2("div", { className: "blocks-card__actions", children: [
170
- callToAction && /* @__PURE__ */ jsx3("a", { href: callToAction.href, className: "usa-button", children: callToAction.label }),
171
- callToActionSecondary && /* @__PURE__ */ jsx3("a", { href: callToActionSecondary.href, className: "usa-button usa-button--outline", children: callToActionSecondary.label })
138
+ callToAction && /* @__PURE__ */ jsx2("a", { href: callToAction.href, className: "usa-button", children: callToAction.label }),
139
+ callToActionSecondary && /* @__PURE__ */ jsx2("a", { href: callToActionSecondary.href, className: "usa-button usa-button--outline", children: callToActionSecondary.label })
172
140
  ] })
173
141
  ] })
174
142
  ] }),
175
- children && /* @__PURE__ */ jsx3("div", { className: "blocks-card__children", children })
143
+ children && /* @__PURE__ */ jsx2("div", { className: "blocks-card__children", children })
176
144
  ] });
177
145
  }
178
146
 
147
+ // src/components/icons/ArrowIcon.tsx
148
+ import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
149
+ var ArrowIcon = () => /* @__PURE__ */ jsxs3(
150
+ "svg",
151
+ {
152
+ width: "20",
153
+ height: "20",
154
+ viewBox: "0 0 20 20",
155
+ xmlns: "http://www.w3.org/2000/svg",
156
+ preserveAspectRatio: "xMidYMid meet",
157
+ "aria-hidden": "true",
158
+ children: [
159
+ /* @__PURE__ */ jsx3("circle", { cx: "10", cy: "10", r: "10", fill: "currentColor" }),
160
+ /* @__PURE__ */ jsx3("g", { transform: "translate(5.333, 5.333)", children: /* @__PURE__ */ jsx3(
161
+ "path",
162
+ {
163
+ fillRule: "evenodd",
164
+ clipRule: "evenodd",
165
+ d: "M4.66667 0L3.84417 0.8225L7.09917 4.08333H0V5.25H7.09917L3.84417 8.51083L4.66667 9.33333L9.33333 4.66667L4.66667 0Z",
166
+ fill: "white"
167
+ }
168
+ ) })
169
+ ]
170
+ }
171
+ );
172
+
179
173
  // src/components/Cards/CardCTA/CardCTA.tsx
180
- import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
174
+ import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
181
175
  function CardCTA({
182
176
  title,
183
177
  url,
@@ -194,39 +188,17 @@ function CardCTA({
194
188
  className
195
189
  ]);
196
190
  const accentColorStyle = accentColor ? { "--blocks-card-cta-custom-accent-color": accentColor } : void 0;
197
- return /* @__PURE__ */ jsx4("a", { href: url, className: rootClassName, style: { ...accentColorStyle, ...style }, ...rest, children: /* @__PURE__ */ jsxs3("div", { className: "blocks-card-cta__body", children: [
198
- /* @__PURE__ */ jsxs3(TitleTag, { className: "blocks-card-cta__title", title, children: [
191
+ return /* @__PURE__ */ jsx4("a", { href: url, className: rootClassName, style: { ...accentColorStyle, ...style }, ...rest, children: /* @__PURE__ */ jsxs4("div", { className: "blocks-card-cta__body", children: [
192
+ /* @__PURE__ */ jsxs4(TitleTag, { className: "blocks-card-cta__title", title, children: [
199
193
  title,
200
- /* @__PURE__ */ jsx4("span", { className: "blocks-card-cta__icon", "aria-hidden": "true", children: /* @__PURE__ */ jsxs3(
201
- "svg",
202
- {
203
- width: "20",
204
- height: "20",
205
- viewBox: "0 0 20 20",
206
- xmlns: "http://www.w3.org/2000/svg",
207
- preserveAspectRatio: "xMidYMid meet",
208
- "aria-hidden": "true",
209
- children: [
210
- /* @__PURE__ */ jsx4("circle", { cx: "10", cy: "10", r: "10", fill: "currentColor" }),
211
- /* @__PURE__ */ jsx4("g", { transform: "translate(5.333, 5.333)", children: /* @__PURE__ */ jsx4(
212
- "path",
213
- {
214
- fillRule: "evenodd",
215
- clipRule: "evenodd",
216
- d: "M4.66667 0L3.84417 0.8225L7.09917 4.08333H0V5.25H7.09917L3.84417 8.51083L4.66667 9.33333L9.33333 4.66667L4.66667 0Z",
217
- fill: "white"
218
- }
219
- ) })
220
- ]
221
- }
222
- ) })
194
+ /* @__PURE__ */ jsx4("span", { className: "blocks-card-cta__icon", "aria-hidden": "true", children: /* @__PURE__ */ jsx4(ArrowIcon, {}) })
223
195
  ] }),
224
196
  description && /* @__PURE__ */ jsx4("p", { className: "blocks-card-cta__description", children: description })
225
197
  ] }) });
226
198
  }
227
199
 
228
200
  // src/components/Cards/CardDetailed/CardDetailed.tsx
229
- import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
201
+ import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
230
202
  function CardDetailed({
231
203
  intro,
232
204
  title,
@@ -244,17 +216,17 @@ function CardDetailed({
244
216
  className
245
217
  ]);
246
218
  const hasContent = intro || title || description || tags.length || callToAction || callToActionSecondary;
247
- return /* @__PURE__ */ jsxs4("div", { className: rootClassName, children: [
248
- /* @__PURE__ */ jsxs4("div", { className: "blocks-card-detailed__media", children: [
219
+ return /* @__PURE__ */ jsxs5("div", { className: rootClassName, children: [
220
+ /* @__PURE__ */ jsxs5("div", { className: "blocks-card-detailed__media", children: [
249
221
  image,
250
222
  tagPrimary && /* @__PURE__ */ jsx5("div", { className: "blocks-card-detailed__tag-primary", children: tagPrimary })
251
223
  ] }),
252
- hasContent && /* @__PURE__ */ jsxs4("div", { className: "blocks-card-detailed__content-container", children: [
224
+ hasContent && /* @__PURE__ */ jsxs5("div", { className: "blocks-card-detailed__content-container", children: [
253
225
  intro && /* @__PURE__ */ jsx5("div", { className: "blocks-card-detailed__intro", title: intro, children: intro }),
254
226
  title && (typeof title === "string" ? /* @__PURE__ */ jsx5("h2", { className: "blocks-card-detailed__title", title, children: title }) : title),
255
227
  isNonEmptyArray(tags) && /* @__PURE__ */ jsx5("div", { className: "blocks-card-detailed__tags", children: tags }),
256
228
  description && /* @__PURE__ */ jsx5("p", { className: "blocks-card-detailed__description", children: description }),
257
- (callToAction || callToActionSecondary) && /* @__PURE__ */ jsxs4("div", { className: "blocks-card-detailed__actions", children: [
229
+ (callToAction || callToActionSecondary) && /* @__PURE__ */ jsxs5("div", { className: "blocks-card-detailed__actions", children: [
258
230
  callToAction && /* @__PURE__ */ jsx5("a", { href: callToAction.href, className: "usa-button", children: callToAction.label }),
259
231
  callToActionSecondary && /* @__PURE__ */ jsx5("a", { href: callToActionSecondary.href, className: "usa-button usa-button--outline", children: callToActionSecondary.label })
260
232
  ] })
@@ -263,7 +235,7 @@ function CardDetailed({
263
235
  }
264
236
 
265
237
  // src/components/Cards/CardMini/CardMini.tsx
266
- import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
238
+ import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
267
239
  function CardMini({ image, title, url, tag, titleAs = "h2", className }) {
268
240
  const TitleTag = titleAs;
269
241
  const hasTag = Boolean(tag);
@@ -271,9 +243,9 @@ function CardMini({ image, title, url, tag, titleAs = "h2", className }) {
271
243
  hasTag ? "blocks-card-mini--with-tag" : void 0,
272
244
  className
273
245
  ]);
274
- return /* @__PURE__ */ jsxs5("a", { href: url, className: rootClassName, children: [
246
+ return /* @__PURE__ */ jsxs6("a", { href: url, className: rootClassName, children: [
275
247
  /* @__PURE__ */ jsx6("div", { className: "blocks-card-mini__image", children: image }),
276
- /* @__PURE__ */ jsxs5("div", { className: "blocks-card-mini__body", children: [
248
+ /* @__PURE__ */ jsxs6("div", { className: "blocks-card-mini__body", children: [
277
249
  /* @__PURE__ */ jsx6(TitleTag, { className: "blocks-card-mini__title", title, children: title }),
278
250
  tag && /* @__PURE__ */ jsx6("div", { className: "blocks-card-mini__tag", children: tag })
279
251
  ] })
@@ -281,7 +253,7 @@ function CardMini({ image, title, url, tag, titleAs = "h2", className }) {
281
253
  }
282
254
 
283
255
  // src/components/Cards/CardSimple/CardSimple.tsx
284
- import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
256
+ import { jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
285
257
  function CardSimple({
286
258
  title,
287
259
  image,
@@ -296,12 +268,12 @@ function CardSimple({
296
268
  size === "compact" ? "blocks-card-simple--compact" : void 0,
297
269
  className
298
270
  ]);
299
- return /* @__PURE__ */ jsxs6("a", { href: url, className: rootClassName, children: [
300
- /* @__PURE__ */ jsxs6("div", { className: "blocks-card-simple__media", children: [
271
+ return /* @__PURE__ */ jsxs7("a", { href: url, className: rootClassName, children: [
272
+ /* @__PURE__ */ jsxs7("div", { className: "blocks-card-simple__media", children: [
301
273
  image,
302
274
  /* @__PURE__ */ jsx7("div", { className: "blocks-card-simple__overlay", "aria-hidden": "true" })
303
275
  ] }),
304
- /* @__PURE__ */ jsxs6("div", { className: "blocks-card-simple__body", children: [
276
+ /* @__PURE__ */ jsxs7("div", { className: "blocks-card-simple__body", children: [
305
277
  tag && /* @__PURE__ */ jsx7("div", { className: "blocks-card-simple__tag", children: tag }),
306
278
  /* @__PURE__ */ jsx7(TitleTag, { className: "blocks-card-simple__title", children: title })
307
279
  ] })
@@ -310,7 +282,7 @@ function CardSimple({
310
282
 
311
283
  // src/components/Footer/Footer.tsx
312
284
  import { GridContainer, Icon as Icon2, Link, Footer as USWDSFooter } from "@trussworks/react-uswds";
313
- import { Fragment, jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
285
+ import { Fragment, jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
314
286
  function Footer({
315
287
  portalDetails,
316
288
  primaryNavItems,
@@ -324,10 +296,10 @@ function Footer({
324
296
  {
325
297
  className: footerClassName,
326
298
  size: "slim",
327
- primary: /* @__PURE__ */ jsx8(GridContainer, { children: /* @__PURE__ */ jsxs7("section", { className: "blocks-footer__primary-section", children: [
328
- /* @__PURE__ */ jsxs7("div", { className: "blocks-footer__title", children: [
299
+ primary: /* @__PURE__ */ jsx8(GridContainer, { children: /* @__PURE__ */ jsxs8("section", { className: "blocks-footer__primary-section", children: [
300
+ /* @__PURE__ */ jsxs8("div", { className: "blocks-footer__title", children: [
329
301
  portalDetails.logo ? /* @__PURE__ */ jsx8("div", { className: "blocks-footer__logo", children: portalDetails.logo }) : null,
330
- /* @__PURE__ */ jsxs7("div", { className: "blocks-footer__title-text", children: [
302
+ /* @__PURE__ */ jsxs8("div", { className: "blocks-footer__title-text", children: [
331
303
  /* @__PURE__ */ jsx8("span", { children: portalDetails.title }),
332
304
  portalDetails.tagline ? /* @__PURE__ */ jsx8("p", { children: portalDetails.tagline }) : null
333
305
  ] })
@@ -342,7 +314,7 @@ function Footer({
342
314
  }
343
315
  ) }, href)) }) }) : null
344
316
  ] }) }),
345
- secondary: /* @__PURE__ */ jsxs7(Fragment, { children: [
317
+ secondary: /* @__PURE__ */ jsxs8(Fragment, { children: [
346
318
  secondaryNavItems.length > 0 ? /* @__PURE__ */ jsx8("section", { className: "blocks-footer__secondary-section-upper", children: /* @__PURE__ */ jsx8(
347
319
  "nav",
348
320
  {
@@ -351,20 +323,20 @@ function Footer({
351
323
  children: /* @__PURE__ */ jsx8("ul", { children: secondaryNavItems.map(({ label, href, isExternal }) => /* @__PURE__ */ jsx8("li", { className: "usa-footer__secondary-link", children: /* @__PURE__ */ jsx8(Link, { href, ...get_external_anchor_props(isExternal), children: label }) }, href)) })
352
324
  }
353
325
  ) }) : null,
354
- utilityNavItems?.length || portalDetails.updatedDate || portalDetails.contacts?.length ? /* @__PURE__ */ jsxs7("section", { className: "blocks-footer__secondary-section-lower", children: [
355
- utilityNavItems?.length ? /* @__PURE__ */ jsx8("nav", { className: "blocks-footer__utility-nav", "aria-label": "Site utilities", children: /* @__PURE__ */ jsx8("ul", { children: utilityNavItems.length ? utilityNavItems.map(({ text, label, href, isExternal }) => /* @__PURE__ */ jsxs7("li", { children: [
326
+ utilityNavItems?.length || portalDetails.updatedDate || portalDetails.contacts?.length ? /* @__PURE__ */ jsxs8("section", { className: "blocks-footer__secondary-section-lower", children: [
327
+ utilityNavItems?.length ? /* @__PURE__ */ jsx8("nav", { className: "blocks-footer__utility-nav", "aria-label": "Site utilities", children: /* @__PURE__ */ jsx8("ul", { children: utilityNavItems.length ? utilityNavItems.map(({ text, label, href, isExternal }) => /* @__PURE__ */ jsxs8("li", { children: [
356
328
  text,
357
329
  " ",
358
330
  /* @__PURE__ */ jsx8(Link, { href, ...get_external_anchor_props(isExternal), children: label })
359
331
  ] }, href)) : null }) }) : null,
360
- portalDetails.updatedDate || portalDetails.contacts?.length ? /* @__PURE__ */ jsxs7("div", { className: "blocks-footer__secondary-meta", children: [
361
- portalDetails.updatedDate ? /* @__PURE__ */ jsxs7("p", { children: [
332
+ portalDetails.updatedDate || portalDetails.contacts?.length ? /* @__PURE__ */ jsxs8("div", { className: "blocks-footer__secondary-meta", children: [
333
+ portalDetails.updatedDate ? /* @__PURE__ */ jsxs8("p", { children: [
362
334
  "Site last updated: ",
363
335
  portalDetails.updatedDate
364
336
  ] }) : null,
365
- portalDetails.contacts?.length ? /* @__PURE__ */ jsx8("nav", { className: "blocks-footer__contacts-nav", "aria-label": "Site contacts", children: /* @__PURE__ */ jsx8("ul", { children: portalDetails.contacts.map(({ label, name, email }) => /* @__PURE__ */ jsxs7("li", { children: [
337
+ portalDetails.contacts?.length ? /* @__PURE__ */ jsx8("nav", { className: "blocks-footer__contacts-nav", "aria-label": "Site contacts", children: /* @__PURE__ */ jsx8("ul", { children: portalDetails.contacts.map(({ label, name, email }) => /* @__PURE__ */ jsxs8("li", { children: [
366
338
  /* @__PURE__ */ jsx8("span", { children: label }),
367
- /* @__PURE__ */ jsxs7(Link, { href: `mailto:${email}`, ...get_external_anchor_props(), children: [
339
+ /* @__PURE__ */ jsxs8(Link, { href: `mailto:${email}`, ...get_external_anchor_props(), children: [
368
340
  /* @__PURE__ */ jsx8(Icon2.Mail, { "aria-hidden": "true", focusable: false }),
369
341
  /* @__PURE__ */ jsx8("span", { children: name })
370
342
  ] })
@@ -424,7 +396,7 @@ function useWindowResize(handleResize) {
424
396
 
425
397
  // src/components/Header/Header.helpers.tsx
426
398
  import { Link as Link2, Menu, NavDropDownButton } from "@trussworks/react-uswds";
427
- import { Fragment as Fragment2, jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
399
+ import { Fragment as Fragment2, jsx as jsx9, jsxs as jsxs9 } from "react/jsx-runtime";
428
400
  var make_nav_items_initial_state = (navItems) => {
429
401
  const initialState = {};
430
402
  const initialProps = navItems.map((item) => {
@@ -471,7 +443,7 @@ var make_menu_link_jsx = ({ label, href, isExternal, isPrimary }, options) => {
471
443
  var make_menu_link_with_dropdown_jsx = ({ label, menuId, subItems }, options) => {
472
444
  const { navDropDownOpenState, handleToggleDropdown, currentPath } = options;
473
445
  const sublinks = subItems.map((item) => make_menu_link_jsx(item, { currentPath }));
474
- return /* @__PURE__ */ jsxs8(Fragment2, { children: [
446
+ return /* @__PURE__ */ jsxs9(Fragment2, { children: [
475
447
  /* @__PURE__ */ jsx9(
476
448
  NavDropDownButton,
477
449
  {
@@ -497,7 +469,7 @@ var make_custom_nav_item_jsx = (customNavItem) => isNavItem(customNavItem) ? /*
497
469
  ) : customNavItem;
498
470
 
499
471
  // src/components/Header/Header.tsx
500
- import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
472
+ import { jsx as jsx10, jsxs as jsxs10 } from "react/jsx-runtime";
501
473
  function Header(props) {
502
474
  const {
503
475
  portalDetails: { logo, title, url },
@@ -565,9 +537,9 @@ function Header(props) {
565
537
  currentPath
566
538
  }) : make_menu_link_jsx(item, { currentPath })
567
539
  );
568
- return /* @__PURE__ */ jsx10(USWDSHeader, { className: headerClassName, basic: true, showMobileOverlay: isMobileNavExpanded, children: /* @__PURE__ */ jsxs9("div", { className: "usa-nav-container", children: [
569
- /* @__PURE__ */ jsxs9("div", { className: "usa-navbar", children: [
570
- /* @__PURE__ */ jsxs9("div", { className: "blocks-header__portal-details", children: [
540
+ return /* @__PURE__ */ jsx10(USWDSHeader, { className: headerClassName, basic: true, showMobileOverlay: isMobileNavExpanded, children: /* @__PURE__ */ jsxs10("div", { className: "usa-nav-container", children: [
541
+ /* @__PURE__ */ jsxs10("div", { className: "usa-navbar", children: [
542
+ /* @__PURE__ */ jsxs10("div", { className: "blocks-header__portal-details", children: [
571
543
  /* @__PURE__ */ jsx10("a", { className: "blocks-header__portal-logo", href: url ?? "/", children: logo }),
572
544
  title ? /* @__PURE__ */ jsx10(Title, { children: /* @__PURE__ */ jsx10("a", { href: url ?? "/", children: title }) }) : null
573
545
  ] }),
@@ -586,12 +558,145 @@ function Header(props) {
586
558
  ] }) });
587
559
  }
588
560
 
561
+ // src/components/Link/Link.tsx
562
+ import { jsx as jsx11, jsxs as jsxs11 } from "react/jsx-runtime";
563
+ function Link3({
564
+ variant = "text",
565
+ size = "md",
566
+ isExternal,
567
+ className,
568
+ as,
569
+ children,
570
+ ...rest
571
+ }) {
572
+ const Component = isExternal ? "a" : as ?? "a";
573
+ const rootClassName = make_class_name("blocks-link", [
574
+ `blocks-link--${variant}`,
575
+ variant === "button" || variant === "button-outline" ? "usa-button" : void 0,
576
+ variant === "button-outline" ? "usa-button--outline" : void 0,
577
+ variant === "text" ? "usa-button--unstyled" : void 0,
578
+ `blocks-link--${size}`,
579
+ isExternal ? "blocks-link--external usa-link--external" : void 0,
580
+ className
581
+ ]);
582
+ return /* @__PURE__ */ jsxs11(Component, { className: rootClassName, ...get_external_anchor_props(isExternal), ...rest, children: [
583
+ children,
584
+ variant === "arrow" && /* @__PURE__ */ jsx11(ArrowIcon, {})
585
+ ] });
586
+ }
587
+
588
+ // src/foundations/theme-token-bridge.helpers.ts
589
+ var BASE_COLOR_TOKENS = [
590
+ "base-lightest",
591
+ "base-lighter",
592
+ "base-light",
593
+ "base",
594
+ "base-dark",
595
+ "base-darker",
596
+ "base-darkest",
597
+ "ink"
598
+ ];
599
+ var PRIMARY_COLOR_TOKENS = [
600
+ "primary-lightest",
601
+ "primary-lighter",
602
+ "primary-light",
603
+ "primary",
604
+ "primary-vivid",
605
+ "primary-dark",
606
+ "primary-darker",
607
+ "primary-darkest"
608
+ ];
609
+ var SECONDARY_COLOR_TOKENS = [
610
+ "secondary-lightest",
611
+ "secondary-lighter",
612
+ "secondary-light",
613
+ "secondary",
614
+ "secondary-vivid",
615
+ "secondary-dark",
616
+ "secondary-darker",
617
+ "secondary-darkest"
618
+ ];
619
+ var ACCENT_COOL_COLOR_TOKENS = [
620
+ "accent-cool-lightest",
621
+ "accent-cool-lighter",
622
+ "accent-cool-light",
623
+ "accent-cool",
624
+ "accent-cool-dark",
625
+ "accent-cool-darker",
626
+ "accent-cool-darkest"
627
+ ];
628
+ var ACCENT_WARM_COLOR_TOKENS = [
629
+ "accent-warm-lightest",
630
+ "accent-warm-lighter",
631
+ "accent-warm-light",
632
+ "accent-warm",
633
+ "accent-warm-dark",
634
+ "accent-warm-darker",
635
+ "accent-warm-darkest"
636
+ ];
637
+ var INFO_COLOR_TOKENS = [
638
+ "info-lighter",
639
+ "info-light",
640
+ "info",
641
+ "info-dark",
642
+ "info-darker"
643
+ ];
644
+ var WARNING_COLOR_TOKENS = [
645
+ "warning-lighter",
646
+ "warning-light",
647
+ "warning",
648
+ "warning-dark",
649
+ "warning-darker"
650
+ ];
651
+ var ERROR_COLOR_TOKENS = [
652
+ "error-lighter",
653
+ "error-light",
654
+ "error",
655
+ "error-dark",
656
+ "error-darker"
657
+ ];
658
+ var SUCCESS_COLOR_TOKENS = [
659
+ "success-lighter",
660
+ "success-light",
661
+ "success",
662
+ "success-dark",
663
+ "success-darker"
664
+ ];
665
+ var DISABLED_COLOR_TOKENS = [
666
+ "disabled-lighter",
667
+ "disabled-light",
668
+ "disabled",
669
+ "disabled-dark",
670
+ "disabled-darker"
671
+ ];
672
+ var EMERGENCY_COLOR_TOKENS = ["emergency", "emergency-dark"];
673
+ var COLOR_TOKENS = [
674
+ ...BASE_COLOR_TOKENS,
675
+ ...PRIMARY_COLOR_TOKENS,
676
+ ...SECONDARY_COLOR_TOKENS,
677
+ ...ACCENT_COOL_COLOR_TOKENS,
678
+ ...ACCENT_WARM_COLOR_TOKENS,
679
+ ...INFO_COLOR_TOKENS,
680
+ ...WARNING_COLOR_TOKENS,
681
+ ...ERROR_COLOR_TOKENS,
682
+ ...SUCCESS_COLOR_TOKENS,
683
+ ...EMERGENCY_COLOR_TOKENS,
684
+ ...DISABLED_COLOR_TOKENS
685
+ ];
686
+ var resolveColorToken = (color) => COLOR_TOKENS.includes(color) ? `var(--color-${color})` : color;
687
+
688
+ // src/components/icons/CloseIcon.tsx
689
+ import { jsx as jsx12 } from "react/jsx-runtime";
690
+ var CloseIcon = () => /* @__PURE__ */ jsx12("svg", { height: "24", width: "24", viewBox: "0 0 24 24", "aria-hidden": "true", focusable: "false", children: /* @__PURE__ */ jsx12("path", { d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }) });
691
+
589
692
  // src/components/Tag/Tag.tsx
590
- import { jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
693
+ import { jsx as jsx13, jsxs as jsxs12 } from "react/jsx-runtime";
591
694
  function Tag({
592
695
  variant = "solid",
593
696
  size = "default",
594
697
  color,
698
+ bgColor,
699
+ borderColor,
595
700
  textColor,
596
701
  icon,
597
702
  onClose,
@@ -605,14 +710,16 @@ function Tag({
605
710
  onClose ? "blocks-tag--x-close" : void 0,
606
711
  className
607
712
  ]);
608
- const customStyle = color || textColor ? {
609
- ...color ? { "--blocks-tag-custom-color": color } : void 0,
610
- ...textColor ? { "--blocks-tag-custom-text-color": textColor } : void 0
713
+ const customStyle = color || textColor || bgColor || borderColor ? {
714
+ ...color ? { "--blocks-tag-custom-color": resolveColorToken(color) } : void 0,
715
+ ...textColor ? { "--blocks-tag-custom-text-color": resolveColorToken(textColor) } : void 0,
716
+ ...bgColor ? { "--blocks-tag-custom-bg-color": resolveColorToken(bgColor) } : void 0,
717
+ ...borderColor ? { "--blocks-tag-custom-border-color": resolveColorToken(borderColor) } : void 0
611
718
  } : void 0;
612
- return /* @__PURE__ */ jsxs10("span", { className: rootClassName, style: customStyle, children: [
613
- icon && /* @__PURE__ */ jsx11("span", { className: "blocks-tag__icon", children: icon }),
719
+ return /* @__PURE__ */ jsxs12("span", { className: rootClassName, style: customStyle, children: [
720
+ icon && /* @__PURE__ */ jsx13("span", { className: "blocks-tag__icon", children: icon }),
614
721
  children,
615
- onClose && /* @__PURE__ */ jsx11(
722
+ onClose && /* @__PURE__ */ jsx13(
616
723
  "button",
617
724
  {
618
725
  type: "button",
@@ -620,27 +727,81 @@ function Tag({
620
727
  "aria-label": "Remove tag",
621
728
  tabIndex: 0,
622
729
  onClick: onClose,
623
- children: /* @__PURE__ */ jsx11("svg", { height: "24", width: "24", viewBox: "0 0 24 24", "aria-hidden": "true", focusable: "false", children: /* @__PURE__ */ jsx11("path", { d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }) })
730
+ children: /* @__PURE__ */ jsx13(CloseIcon, {})
624
731
  }
625
732
  )
626
733
  ] });
627
734
  }
628
735
 
736
+ // src/geo/GeoConfigProvider.tsx
737
+ import { StacApiProvider } from "@developmentseed/stac-react";
738
+ import { createContext, useContext } from "react";
739
+
740
+ // src/geo/constants.ts
741
+ var NASA_BLUE_MARBLE_BASEMAP_STYLE = {
742
+ version: 8,
743
+ sources: {
744
+ "nasa-blue-marble": {
745
+ type: "raster",
746
+ tiles: [
747
+ "https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/BlueMarble_NextGeneration/default/GoogleMapsCompatible_Level8/{z}/{y}/{x}.jpeg"
748
+ ],
749
+ tileSize: 256,
750
+ maxzoom: 8,
751
+ attribution: "Imagery courtesy NASA EOSDIS/GIBS"
752
+ }
753
+ },
754
+ layers: [
755
+ {
756
+ id: "nasa-blue-marble",
757
+ type: "raster",
758
+ source: "nasa-blue-marble"
759
+ }
760
+ ]
761
+ };
762
+ var STAC_API_URL = "https://openveda.cloud/api/stac";
763
+ var TITILER_BASE_URL = "https://openveda.cloud/api/raster";
764
+ var DEFAULT_RENDER_PARAMS = {
765
+ assets: ["cog_default"],
766
+ rescale: "0,0.0001",
767
+ resampling: "bilinear",
768
+ colormap_name: "viridis",
769
+ bidx: [1]
770
+ };
771
+ var DEFAULT_TILE_MATRIX_SET = "WebMercatorQuad";
772
+ var STAC_COLORSTOP_RGBA_ARG_COUNT = 4;
773
+
774
+ // src/geo/GeoConfigProvider.tsx
775
+ import { jsx as jsx14 } from "react/jsx-runtime";
776
+ var GeoConfigContext = createContext(null);
777
+ function useGeoConfig() {
778
+ const ctx = useContext(GeoConfigContext);
779
+ if (!ctx) throw new Error("Geo components require a GeoConfigProvider ancestor");
780
+ return ctx;
781
+ }
782
+ function GeoConfigProvider({
783
+ stacApiUrl = STAC_API_URL,
784
+ titilerBaseUrl = TITILER_BASE_URL,
785
+ children
786
+ }) {
787
+ return /* @__PURE__ */ jsx14(GeoConfigContext.Provider, { value: { titilerBaseUrl }, children: /* @__PURE__ */ jsx14(StacApiProvider, { apiUrl: stacApiUrl, children }) });
788
+ }
789
+
629
790
  // src/geo/Legend/Legend.tsx
630
791
  import { Icon as Icon3 } from "@trussworks/react-uswds";
631
792
  import { useState as useState3 } from "react";
632
- import { jsx as jsx12, jsxs as jsxs11 } from "react/jsx-runtime";
793
+ import { jsx as jsx15, jsxs as jsxs13 } from "react/jsx-runtime";
633
794
  function Legend({ initialExpanded = false, ...props }) {
634
795
  const { title, description, unit, min, max, colorStops, provider, spatialExtent, timeDensity } = props;
635
796
  const [isExpanded, setIsExpanded] = useState3(initialExpanded);
636
797
  const subtitle = [provider, spatialExtent, timeDensity].some(isDefined) ? [provider, spatialExtent, timeDensity].filter(isDefined).join(" \xB7 ") : void 0;
637
- return /* @__PURE__ */ jsxs11("div", { className: "blocks-legend", children: [
638
- /* @__PURE__ */ jsxs11("div", { className: "blocks-legend__header", children: [
639
- /* @__PURE__ */ jsxs11("div", { className: "blocks-legend__header-text", children: [
640
- title && /* @__PURE__ */ jsx12("h3", { className: "blocks-legend__title", title, children: title }),
641
- subtitle && /* @__PURE__ */ jsx12("p", { className: "blocks-legend__subtitle", title: subtitle, children: subtitle })
798
+ return /* @__PURE__ */ jsxs13("div", { className: "blocks-legend", children: [
799
+ /* @__PURE__ */ jsxs13("div", { className: "blocks-legend__header", children: [
800
+ /* @__PURE__ */ jsxs13("div", { className: "blocks-legend__header-text", children: [
801
+ title && /* @__PURE__ */ jsx15("h3", { className: "blocks-legend__title", title, children: title }),
802
+ subtitle && /* @__PURE__ */ jsx15("p", { className: "blocks-legend__subtitle", title: subtitle, children: subtitle })
642
803
  ] }),
643
- description && /* @__PURE__ */ jsx12(
804
+ description && /* @__PURE__ */ jsx15(
644
805
  "button",
645
806
  {
646
807
  type: "button",
@@ -648,11 +809,11 @@ function Legend({ initialExpanded = false, ...props }) {
648
809
  "aria-expanded": isExpanded,
649
810
  "aria-label": "Toggle layer description",
650
811
  onClick: () => setIsExpanded((v) => !v),
651
- children: /* @__PURE__ */ jsx12(Icon3.InfoOutline, { "aria-hidden": true, focusable: false, size: 3 })
812
+ children: /* @__PURE__ */ jsx15(Icon3.InfoOutline, { "aria-hidden": true, focusable: false, size: 3 })
652
813
  }
653
814
  )
654
815
  ] }),
655
- /* @__PURE__ */ jsx12("div", { className: "blocks-legend__gradient-bar", children: /* @__PURE__ */ jsx12(
816
+ /* @__PURE__ */ jsx15("div", { className: "blocks-legend__gradient-bar", children: /* @__PURE__ */ jsx15(
656
817
  "div",
657
818
  {
658
819
  className: "blocks-legend__gradient",
@@ -661,12 +822,12 @@ function Legend({ initialExpanded = false, ...props }) {
661
822
  }
662
823
  }
663
824
  ) }),
664
- /* @__PURE__ */ jsxs11("div", { className: "blocks-legend__labels", children: [
665
- /* @__PURE__ */ jsx12("span", { className: "blocks-legend__min", children: min }),
666
- /* @__PURE__ */ jsx12("span", { className: "blocks-legend__unit", children: unit }),
667
- /* @__PURE__ */ jsx12("span", { className: "blocks-legend__max", children: max })
825
+ /* @__PURE__ */ jsxs13("div", { className: "blocks-legend__labels", children: [
826
+ /* @__PURE__ */ jsx15("span", { className: "blocks-legend__min", children: min }),
827
+ /* @__PURE__ */ jsx15("span", { className: "blocks-legend__unit", children: unit }),
828
+ /* @__PURE__ */ jsx15("span", { className: "blocks-legend__max", children: max })
668
829
  ] }),
669
- isExpanded && description && /* @__PURE__ */ jsx12("div", { className: "blocks-legend__description", children: /* @__PURE__ */ jsx12("div", { className: "blocks-legend__description-inner", children: description }) })
830
+ isExpanded && description && /* @__PURE__ */ jsx15("div", { className: "blocks-legend__description", children: /* @__PURE__ */ jsx15("div", { className: "blocks-legend__description-inner", children: description }) })
670
831
  ] });
671
832
  }
672
833
 
@@ -714,10 +875,10 @@ function formatDateRange(dateRange) {
714
875
  }
715
876
 
716
877
  // src/geo/DateChip/DateChip.tsx
717
- import { jsx as jsx13 } from "react/jsx-runtime";
878
+ import { jsx as jsx16 } from "react/jsx-runtime";
718
879
  function DateChip({ left, right }) {
719
880
  const label = right === void 0 || left.from === right.from && left.to === right.to ? formatDateRange(left) : `${formatDateRange(left)} vs ${formatDateRange(right)}`;
720
- return /* @__PURE__ */ jsx13("div", { className: "blocks-date-chip", children: label });
881
+ return /* @__PURE__ */ jsx16("div", { className: "blocks-date-chip", children: label });
721
882
  }
722
883
 
723
884
  // src/geo/hooks/useStacRasterLayer.ts
@@ -806,45 +967,13 @@ async function fetchMosaicTileUrl(request) {
806
967
  return fetchTilejson(tilejsonUrl, queryString);
807
968
  }
808
969
 
809
- // src/geo/constants.ts
810
- var NASA_BLUE_MARBLE_BASEMAP_STYLE = {
811
- version: 8,
812
- sources: {
813
- "nasa-blue-marble": {
814
- type: "raster",
815
- tiles: [
816
- "https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/BlueMarble_NextGeneration/default/GoogleMapsCompatible_Level8/{z}/{y}/{x}.jpeg"
817
- ],
818
- tileSize: 256,
819
- maxzoom: 8,
820
- attribution: "Imagery courtesy NASA EOSDIS/GIBS"
821
- }
822
- },
823
- layers: [
824
- {
825
- id: "nasa-blue-marble",
826
- type: "raster",
827
- source: "nasa-blue-marble"
828
- }
829
- ]
830
- };
831
- var TITILER_BASE_URL = "https://openveda.cloud/api/raster";
832
- var DEFAULT_RENDER_PARAMS = {
833
- assets: ["cog_default"],
834
- rescale: "0,0.0001",
835
- resampling: "bilinear",
836
- colormap_name: "viridis",
837
- bidx: [1]
838
- };
839
- var DEFAULT_TILE_MATRIX_SET = "WebMercatorQuad";
840
- var STAC_COLORSTOP_RGBA_ARG_COUNT = 4;
841
-
842
970
  // src/geo/hooks/useMosaicTiles.ts
843
971
  function useMosaicTiles(rasterLayerConfig) {
972
+ const { titilerBaseUrl } = useGeoConfig();
844
973
  const { collectionId, dateRange, tileMatrixSet = DEFAULT_TILE_MATRIX_SET } = rasterLayerConfig;
845
974
  const datetime = dateRange.from === dateRange.to ? dateRange.from : `${dateRange.from}/${dateRange.to}`;
846
975
  const request = {
847
- rasterApiUrl: TITILER_BASE_URL,
976
+ rasterApiUrl: titilerBaseUrl,
848
977
  collectionId,
849
978
  datetime,
850
979
  sourceParams: {
@@ -855,7 +984,7 @@ function useMosaicTiles(rasterLayerConfig) {
855
984
  tileMatrixSet
856
985
  };
857
986
  return useQuery({
858
- queryKey: [collectionId, dateRange],
987
+ queryKey: [collectionId, dateRange, titilerBaseUrl],
859
988
  queryFn: () => fetchMosaicTileUrl(request),
860
989
  staleTime: 30 * 60 * 1e3,
861
990
  gcTime: 60 * 60 * 1e3,
@@ -909,13 +1038,14 @@ function extractLegendProps(collection, colorStopMap) {
909
1038
 
910
1039
  // src/geo/hooks/useStacRasterLegend.ts
911
1040
  function useStacRasterLegend(collection) {
1041
+ const { titilerBaseUrl } = useGeoConfig();
912
1042
  const query = useQuery2({
913
- queryKey: ["legend", collection],
1043
+ queryKey: ["legend", collection, titilerBaseUrl],
914
1044
  queryFn: async () => {
915
1045
  if (!collection) return null;
916
1046
  const colormapName = collection?.renders?.dashboard?.colormap_name;
917
1047
  if (!colormapName) return null;
918
- const response = await fetch(`${TITILER_BASE_URL}/colorMaps/${colormapName}`);
1048
+ const response = await fetch(`${titilerBaseUrl}/colorMaps/${colormapName}`);
919
1049
  if (!response.ok) {
920
1050
  const error = {
921
1051
  detail: `Colormap "${colormapName}" not found (HTTP ${response.status})`,
@@ -964,7 +1094,7 @@ function useStacRasterLayer(rasterLayerConfig) {
964
1094
  }
965
1095
 
966
1096
  // src/geo/StacCompareMap/StacCompareMap.tsx
967
- import { jsx as jsx14, jsxs as jsxs12 } from "react/jsx-runtime";
1097
+ import { jsx as jsx17, jsxs as jsxs14 } from "react/jsx-runtime";
968
1098
  var MAP_PANEL_STYLE = {
969
1099
  position: "absolute",
970
1100
  top: 0,
@@ -1023,8 +1153,8 @@ function StacCompareMap({
1023
1153
  ...initialViewState && { initialViewState },
1024
1154
  style: MAP_PANEL_STYLE
1025
1155
  };
1026
- return /* @__PURE__ */ jsxs12("div", { ref: containerRef, className: containerClassName, children: [
1027
- /* @__PURE__ */ jsxs12(
1156
+ return /* @__PURE__ */ jsxs14("div", { ref: containerRef, className: containerClassName, children: [
1157
+ /* @__PURE__ */ jsxs14(
1028
1158
  MapLibreMap,
1029
1159
  {
1030
1160
  ref: leftMapRef,
@@ -1032,13 +1162,13 @@ function StacCompareMap({
1032
1162
  attributionControl: false,
1033
1163
  onLoad: () => setLeftMapLoaded(true),
1034
1164
  children: [
1035
- /* @__PURE__ */ jsx14(AttributionMapControl, {}),
1036
- /* @__PURE__ */ jsx14(NavigationControl, { position: "top-left", showCompass: false }),
1037
- left.mapSource.tiles && /* @__PURE__ */ jsx14(Source, { id: leftSourceId, type: "raster", tiles: [left.mapSource.tiles], children: /* @__PURE__ */ jsx14(Layer, { id: leftLayerId, type: "raster" }) })
1165
+ /* @__PURE__ */ jsx17(AttributionMapControl, {}),
1166
+ /* @__PURE__ */ jsx17(NavigationControl, { position: "top-left", showCompass: false }),
1167
+ left.mapSource.tiles && /* @__PURE__ */ jsx17(Source, { id: leftSourceId, type: "raster", tiles: [left.mapSource.tiles], children: /* @__PURE__ */ jsx17(Layer, { id: leftLayerId, type: "raster" }) })
1038
1168
  ]
1039
1169
  }
1040
1170
  ),
1041
- /* @__PURE__ */ jsxs12(
1171
+ /* @__PURE__ */ jsxs14(
1042
1172
  MapLibreMap,
1043
1173
  {
1044
1174
  ref: rightMapRef,
@@ -1046,14 +1176,14 @@ function StacCompareMap({
1046
1176
  attributionControl: false,
1047
1177
  onLoad: () => setRightMapLoaded(true),
1048
1178
  children: [
1049
- /* @__PURE__ */ jsx14(AttributionMapControl, {}),
1050
- right.mapSource.tiles && /* @__PURE__ */ jsx14(Source, { id: rightSourceId, type: "raster", tiles: [right.mapSource.tiles], children: /* @__PURE__ */ jsx14(Layer, { id: rightLayerId, type: "raster" }) })
1179
+ /* @__PURE__ */ jsx17(AttributionMapControl, {}),
1180
+ right.mapSource.tiles && /* @__PURE__ */ jsx17(Source, { id: rightSourceId, type: "raster", tiles: [right.mapSource.tiles], children: /* @__PURE__ */ jsx17(Layer, { id: rightLayerId, type: "raster" }) })
1051
1181
  ]
1052
1182
  }
1053
1183
  ),
1054
- /* @__PURE__ */ jsx14("div", { className: "blocks-stacmap-compare__date-chip", children: /* @__PURE__ */ jsx14(DateChip, { left: leftLayerConfig.dateRange, right: rightLayerConfig.dateRange }) }),
1055
- !isSameCollection && left.legend && /* @__PURE__ */ jsx14("div", { className: "blocks-stacmap-compare__legend-left", children: /* @__PURE__ */ jsx14(Legend, { ...left.legend }) }),
1056
- right.legend && /* @__PURE__ */ jsx14("div", { className: "blocks-stacmap-compare__legend-right", children: /* @__PURE__ */ jsx14(Legend, { ...right.legend }) })
1184
+ /* @__PURE__ */ jsx17("div", { className: "blocks-stacmap-compare__date-chip", children: /* @__PURE__ */ jsx17(DateChip, { left: leftLayerConfig.dateRange, right: rightLayerConfig.dateRange }) }),
1185
+ !isSameCollection && left.legend && /* @__PURE__ */ jsx17("div", { className: "blocks-stacmap-compare__legend-left", children: /* @__PURE__ */ jsx17(Legend, { ...left.legend }) }),
1186
+ right.legend && /* @__PURE__ */ jsx17("div", { className: "blocks-stacmap-compare__legend-right", children: /* @__PURE__ */ jsx17(Legend, { ...right.legend }) })
1057
1187
  ] });
1058
1188
  }
1059
1189
 
@@ -1065,7 +1195,7 @@ import {
1065
1195
  NavigationControl as NavigationControl2,
1066
1196
  Source as Source2
1067
1197
  } from "react-map-gl/maplibre";
1068
- import { jsx as jsx15, jsxs as jsxs13 } from "react/jsx-runtime";
1198
+ import { jsx as jsx18, jsxs as jsxs15 } from "react/jsx-runtime";
1069
1199
  function StacSingleLayerMap({
1070
1200
  baseMapStyle = NASA_BLUE_MARBLE_BASEMAP_STYLE,
1071
1201
  initialViewState,
@@ -1075,8 +1205,8 @@ function StacSingleLayerMap({
1075
1205
  const sourceId = `${layerConfig.collectionId}-raster-source-${instanceId}`;
1076
1206
  const layerId = `${layerConfig.collectionId}-raster-layer-${instanceId}`;
1077
1207
  const { mapSource, legend } = useStacRasterLayer(layerConfig);
1078
- return /* @__PURE__ */ jsxs13("div", { className: "blocks-stacmap-singlelayer", children: [
1079
- /* @__PURE__ */ jsxs13(
1208
+ return /* @__PURE__ */ jsxs15("div", { className: "blocks-stacmap-singlelayer", children: [
1209
+ /* @__PURE__ */ jsxs15(
1080
1210
  MapLibreMap2,
1081
1211
  {
1082
1212
  mapStyle: baseMapStyle,
@@ -1084,27 +1214,28 @@ function StacSingleLayerMap({
1084
1214
  style: { position: "absolute", inset: 0 },
1085
1215
  attributionControl: false,
1086
1216
  children: [
1087
- /* @__PURE__ */ jsx15(AttributionMapControl, {}),
1088
- /* @__PURE__ */ jsx15(NavigationControl2, { position: "top-left", showCompass: false }),
1089
- mapSource.tiles && /* @__PURE__ */ jsx15(Source2, { id: sourceId, type: "raster", tiles: [mapSource.tiles], children: /* @__PURE__ */ jsx15(Layer2, { id: layerId, type: "raster" }) })
1217
+ /* @__PURE__ */ jsx18(AttributionMapControl, {}),
1218
+ /* @__PURE__ */ jsx18(NavigationControl2, { position: "top-left", showCompass: false }),
1219
+ mapSource.tiles && /* @__PURE__ */ jsx18(Source2, { id: sourceId, type: "raster", tiles: [mapSource.tiles], children: /* @__PURE__ */ jsx18(Layer2, { id: layerId, type: "raster" }) })
1090
1220
  ]
1091
1221
  }
1092
1222
  ),
1093
- /* @__PURE__ */ jsx15("div", { className: "blocks-stacmap-singlelayer__legend", children: legend && /* @__PURE__ */ jsx15(Legend, { ...legend }) }),
1094
- /* @__PURE__ */ jsx15("div", { className: "blocks-stacmap-singlelayer__date-chip", children: /* @__PURE__ */ jsx15(DateChip, { left: layerConfig.dateRange }) })
1223
+ /* @__PURE__ */ jsx18("div", { className: "blocks-stacmap-singlelayer__legend", children: legend && /* @__PURE__ */ jsx18(Legend, { ...legend }) }),
1224
+ /* @__PURE__ */ jsx18("div", { className: "blocks-stacmap-singlelayer__date-chip", children: /* @__PURE__ */ jsx18(DateChip, { left: layerConfig.dateRange }) })
1095
1225
  ] });
1096
1226
  }
1097
1227
  export {
1098
1228
  Banner,
1099
- Button,
1100
1229
  Card,
1101
1230
  CardCTA,
1102
1231
  CardDetailed,
1103
1232
  CardMini,
1104
1233
  CardSimple,
1105
1234
  Footer,
1235
+ GeoConfigProvider,
1106
1236
  Header,
1107
1237
  Legend,
1238
+ Link3 as Link,
1108
1239
  StacCompareMap,
1109
1240
  StacSingleLayerMap,
1110
1241
  Tag