@nswds/app 1.114.1 → 1.116.0

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.cjs CHANGED
@@ -4231,7 +4231,7 @@ var Link = React5.forwardRef(function Link2({ className, variant, ...props }, re
4231
4231
  var styles = {
4232
4232
  base: [
4233
4233
  // Base
4234
- "relative isolate inline-flex items-baseline justify-center gap-x-2 rounded-sm border text-base/7 sm:text-sm/6 font-semibold transition-all",
4234
+ "relative isolate inline-flex items-baseline justify-center gap-x-2 rounded-sm border text-base/7 font-bold transition-all",
4235
4235
  // Focus
4236
4236
  "focus:outline focus:outline-2 focus:outline-offset-2 focus:outline-(--btn-bg)",
4237
4237
  // Disabled
@@ -4478,28 +4478,17 @@ var styles = {
4478
4478
  "dark:[--btn-hover-overlay:var(--color-accent-500)]/30 dark:data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/10"
4479
4479
  ],
4480
4480
  danger: [
4481
- // Base
4482
- "",
4483
- // States
4484
- "",
4485
- // Dark mode
4486
- "",
4487
- // Dark mode states
4488
- "",
4489
- // Icon
4490
- "",
4491
- // Icon states
4492
- "",
4493
- // Icon dark mode
4494
- "",
4495
- // Icon dark mode states
4496
- ""
4481
+ // Backward-compatible alias for legacy consumers that still use `danger`.
4482
+ "[--btn-bg:var(--color-accent-600)] [--btn-border:var(--color-accent-600)]/90 [--btn-text:white]",
4483
+ "[--btn-hover-overlay:var(--color-accent-600)]/10 data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/10",
4484
+ "dark:[--btn-bg:var(--color-accent-500)] dark:[--btn-border:var(--color-accent-500)]/90 dark:[--btn-text:white]",
4485
+ "dark:[--btn-hover-overlay:var(--color-accent-500)]/30 dark:data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/10"
4497
4486
  ]
4498
4487
  },
4499
4488
  size: {
4500
- default: "px-[calc(--spacing(5)-1px)] py-[calc(--spacing(4)-1px)] sm:px-[calc(--spacing(4.5)-1px)] sm:py-[calc(--spacing(3)-1px)]",
4501
- sm: "px-[calc(--spacing(4)-1px)] py-[calc(--spacing(3)-1px)] sm:px-[calc(--spacing(3.5)-1px)] sm:py-[calc(--spacing(2)-1px)]",
4502
- lg: "px-[calc(--spacing(6)-1px)] py-[calc(--spacing(5)-1px)] sm:px-[calc(--spacing(5.5)-1px)] sm:py-[calc(--spacing(4)-1px)]",
4489
+ default: "px-[calc(--spacing(6)-1px)] py-[calc(--spacing(4)-1px)] sm:px-[calc(--spacing(5.5)-1px)] sm:py-[calc(--spacing(3)-1px)]",
4490
+ sm: "px-[calc(--spacing(5)-1px)] py-[calc(--spacing(3)-1px)] sm:px-[calc(--spacing(4.5)-1px)] sm:py-[calc(--spacing(2)-1px)]",
4491
+ lg: "px-[calc(--spacing(7)-1px)] py-[calc(--spacing(5)-1px)] sm:px-[calc(--spacing(6.5)-1px)] sm:py-[calc(--spacing(4)-1px)]",
4503
4492
  icon: "w-10 h-10 flex-none"
4504
4493
  },
4505
4494
  iconSize: {
@@ -18835,7 +18824,7 @@ function FormatToggle({ format, setFormat }) {
18835
18824
 
18836
18825
  // package.json
18837
18826
  var package_default = {
18838
- version: "1.114.0"};
18827
+ version: "1.115.0"};
18839
18828
  var SluggerContext = React5__namespace.default.createContext(null);
18840
18829
  function flattenText(nodes) {
18841
18830
  if (nodes == null || typeof nodes === "boolean") return "";
@@ -19124,9 +19113,108 @@ var heroBannerVariants = classVarianceAuthority.cva("relative", {
19124
19113
  variants: {
19125
19114
  variant: {
19126
19115
  "primary-800": "bg-primary-800 text-white",
19127
- "grey-150": "bg-grey-150 text-grey-800",
19116
+ "primary-600": "bg-primary-600 text-white",
19117
+ "primary-400": "bg-primary-400 text-primary-800",
19118
+ "primary-200": "bg-primary-200 text-primary-800",
19119
+ "grey-800": "bg-grey-800 text-white",
19120
+ "grey-600": "bg-grey-600 text-white",
19121
+ "grey-400": "bg-grey-400 text-grey-800",
19122
+ "grey-200": "bg-grey-200 text-grey-800",
19128
19123
  "accent-800": "bg-accent-800 text-white",
19124
+ "accent-600": "bg-accent-600 text-white",
19125
+ "accent-400": "bg-accent-400 text-accent-800",
19126
+ "accent-200": "bg-accent-200 text-accent-800",
19127
+ white: "bg-white text-grey-800"
19128
+ }
19129
+ },
19130
+ defaultVariants: {
19131
+ variant: "primary-800"
19132
+ }
19133
+ });
19134
+ var heroBannerContentAlignments = {
19135
+ center: {
19136
+ content: "text-center",
19137
+ subtitle: "mx-auto",
19138
+ actions: "justify-center"
19139
+ },
19140
+ left: {
19141
+ content: "text-left",
19142
+ subtitle: "",
19143
+ actions: "justify-start"
19144
+ }
19145
+ };
19146
+ function HeroBannerSimple({
19147
+ variant,
19148
+ heading,
19149
+ subtitle,
19150
+ contentAlign = "center",
19151
+ primaryButton,
19152
+ secondaryButton
19153
+ }) {
19154
+ const alignment = heroBannerContentAlignments[contentAlign];
19155
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: heroBannerVariants({ variant }), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-6 py-24 sm:py-32 lg:px-8", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-2xl", alignment.content), children: [
19156
+ heading && /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-4xl font-semibold tracking-tight text-balance sm:text-6xl", children: heading }),
19157
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-6 max-w-xl text-lg leading-8 text-pretty", alignment.subtitle), children: subtitle }),
19158
+ (primaryButton || secondaryButton) && /* @__PURE__ */ jsxRuntime.jsxs(
19159
+ "div",
19160
+ {
19161
+ className: cn("mt-10 flex flex-wrap items-center gap-x-6 gap-y-4", alignment.actions),
19162
+ children: [
19163
+ primaryButton && (primaryButton.href ? /* @__PURE__ */ jsxRuntime.jsx(
19164
+ Button2,
19165
+ {
19166
+ href: primaryButton.href,
19167
+ variant: primaryButton.variant,
19168
+ color: primaryButton.color ?? void 0,
19169
+ children: primaryButton.text
19170
+ }
19171
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
19172
+ Button2,
19173
+ {
19174
+ onClick: primaryButton.onClick,
19175
+ variant: primaryButton.variant,
19176
+ color: primaryButton.color ?? void 0,
19177
+ children: primaryButton.text
19178
+ }
19179
+ )),
19180
+ secondaryButton && (secondaryButton.href ? /* @__PURE__ */ jsxRuntime.jsx(
19181
+ Button2,
19182
+ {
19183
+ href: secondaryButton.href,
19184
+ variant: secondaryButton.variant,
19185
+ color: secondaryButton.color ?? void 0,
19186
+ children: secondaryButton.text
19187
+ }
19188
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
19189
+ Button2,
19190
+ {
19191
+ onClick: secondaryButton.onClick,
19192
+ variant: secondaryButton.variant,
19193
+ color: secondaryButton.color ?? void 0,
19194
+ children: secondaryButton.text
19195
+ }
19196
+ ))
19197
+ ]
19198
+ }
19199
+ )
19200
+ ] }) }) });
19201
+ }
19202
+ var heroBannerVariants2 = classVarianceAuthority.cva("relative", {
19203
+ variants: {
19204
+ variant: {
19205
+ "primary-800": "bg-primary-800 text-white",
19206
+ "primary-600": "bg-primary-600 text-white",
19207
+ "primary-400": "bg-primary-400 text-primary-800",
19129
19208
  "primary-200": "bg-primary-200 text-primary-800",
19209
+ "grey-800": "bg-grey-800 text-white",
19210
+ "grey-600": "bg-grey-600 text-white",
19211
+ "grey-400": "bg-grey-400 text-grey-800",
19212
+ "grey-200": "bg-grey-200 text-grey-800",
19213
+ "grey-150": "bg-grey-200 text-grey-800",
19214
+ "accent-800": "bg-accent-800 text-white",
19215
+ "accent-600": "bg-accent-600 text-white",
19216
+ "accent-400": "bg-accent-400 text-accent-800",
19217
+ "accent-200": "bg-accent-200 text-accent-800",
19130
19218
  white: "bg-white text-grey-800"
19131
19219
  }
19132
19220
  },
@@ -19134,6 +19222,34 @@ var heroBannerVariants = classVarianceAuthority.cva("relative", {
19134
19222
  variant: "primary-800"
19135
19223
  }
19136
19224
  });
19225
+ var HERO_BANNER_SUPPORTING_IMAGE_DEFAULT_SPLIT = {
19226
+ left: 8,
19227
+ right: 4
19228
+ };
19229
+ var HERO_BANNER_SUPPORTING_IMAGE_COLUMN_SPANS = {
19230
+ 1: "lg:col-span-1",
19231
+ 2: "lg:col-span-2",
19232
+ 3: "lg:col-span-3",
19233
+ 4: "lg:col-span-4",
19234
+ 5: "lg:col-span-5",
19235
+ 6: "lg:col-span-6",
19236
+ 7: "lg:col-span-7",
19237
+ 8: "lg:col-span-8",
19238
+ 9: "lg:col-span-9",
19239
+ 10: "lg:col-span-10",
19240
+ 11: "lg:col-span-11"
19241
+ };
19242
+ function resolveHeroBannerSupportingImageSplit(split) {
19243
+ if (!split) {
19244
+ return HERO_BANNER_SUPPORTING_IMAGE_DEFAULT_SPLIT;
19245
+ }
19246
+ const hasValidLeftSpan = split.left in HERO_BANNER_SUPPORTING_IMAGE_COLUMN_SPANS;
19247
+ const hasValidRightSpan = split.right in HERO_BANNER_SUPPORTING_IMAGE_COLUMN_SPANS;
19248
+ if (hasValidLeftSpan && hasValidRightSpan && split.left + split.right === 12) {
19249
+ return split;
19250
+ }
19251
+ return HERO_BANNER_SUPPORTING_IMAGE_DEFAULT_SPLIT;
19252
+ }
19137
19253
  function HeroBannerSupportingImage({
19138
19254
  variant,
19139
19255
  imgAlt,
@@ -19141,63 +19257,96 @@ function HeroBannerSupportingImage({
19141
19257
  imgBgcolor,
19142
19258
  heading,
19143
19259
  subtitle,
19260
+ split,
19144
19261
  primaryButton,
19145
19262
  secondaryButton
19146
19263
  }) {
19147
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: heroBannerVariants({ variant }), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto max-w-7xl lg:grid lg:grid-cols-12 lg:gap-x-8 lg:px-8", children: [
19148
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-6 pt-10 pb-24 sm:pb-32 lg:col-span-8 lg:px-0 lg:pt-24 lg:pb-28 xl:col-span-8", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto max-w-2xl lg:mx-0", children: [
19149
- heading && /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "mt-24 text-4xl font-bold tracking-tight sm:mt-10 sm:text-6xl", children: heading }),
19150
- subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-6 text-lg leading-8", children: subtitle }),
19151
- (primaryButton || secondaryButton) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-10 flex items-center gap-x-6", children: [
19152
- primaryButton && (primaryButton.href ? /* @__PURE__ */ jsxRuntime.jsx(
19153
- Button2,
19154
- {
19155
- href: primaryButton.href,
19156
- variant: primaryButton.variant,
19157
- color: primaryButton.color ?? void 0,
19158
- children: primaryButton.text
19159
- }
19160
- ) : /* @__PURE__ */ jsxRuntime.jsx(
19161
- Button2,
19162
- {
19163
- onClick: primaryButton.onClick,
19164
- variant: primaryButton.variant,
19165
- color: primaryButton.color ?? void 0,
19166
- children: primaryButton.text
19167
- }
19168
- )),
19169
- secondaryButton && (secondaryButton.href ? /* @__PURE__ */ jsxRuntime.jsx(
19170
- Button2,
19171
- {
19172
- href: secondaryButton.href,
19173
- variant: secondaryButton.variant,
19174
- color: secondaryButton.color ?? void 0,
19175
- children: secondaryButton.text
19176
- }
19177
- ) : /* @__PURE__ */ jsxRuntime.jsx(
19178
- Button2,
19264
+ const resolvedSplit = resolveHeroBannerSupportingImageSplit(split);
19265
+ const textSpanClassName = HERO_BANNER_SUPPORTING_IMAGE_COLUMN_SPANS[resolvedSplit.left];
19266
+ const imageSpanClassName = HERO_BANNER_SUPPORTING_IMAGE_COLUMN_SPANS[resolvedSplit.right];
19267
+ const imageStart = `${resolvedSplit.left / 12 * 100}%`;
19268
+ const contentMaxWidth = `${Math.min(56, resolvedSplit.left / 8 * 42)}rem`;
19269
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: heroBannerVariants2({ variant }), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto max-w-7xl lg:grid lg:grid-cols-12 lg:gap-x-8 lg:px-8", children: [
19270
+ /* @__PURE__ */ jsxRuntime.jsx(
19271
+ "div",
19272
+ {
19273
+ className: cn("px-6 pt-10 pb-24 sm:pb-32 lg:px-0 lg:pt-24 lg:pb-28", textSpanClassName),
19274
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
19275
+ "div",
19179
19276
  {
19180
- onClick: secondaryButton.onClick,
19181
- variant: secondaryButton.variant,
19182
- color: secondaryButton.color ?? void 0,
19183
- children: secondaryButton.text
19277
+ className: "mx-auto max-w-2xl lg:mx-0 lg:max-w-[var(--hero-copy-max-width)]",
19278
+ style: {
19279
+ "--hero-copy-max-width": contentMaxWidth
19280
+ },
19281
+ children: [
19282
+ heading && /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "mt-24 text-4xl font-semibold tracking-tight text-balance sm:mt-10 sm:text-6xl", children: heading }),
19283
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-6 text-lg leading-8 text-pretty", children: subtitle }),
19284
+ (primaryButton || secondaryButton) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-10 flex flex-wrap items-center gap-x-6 gap-y-4", children: [
19285
+ primaryButton && (primaryButton.href ? /* @__PURE__ */ jsxRuntime.jsx(
19286
+ Button2,
19287
+ {
19288
+ href: primaryButton.href,
19289
+ variant: primaryButton.variant,
19290
+ color: primaryButton.color ?? void 0,
19291
+ children: primaryButton.text
19292
+ }
19293
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
19294
+ Button2,
19295
+ {
19296
+ onClick: primaryButton.onClick,
19297
+ variant: primaryButton.variant,
19298
+ color: primaryButton.color ?? void 0,
19299
+ children: primaryButton.text
19300
+ }
19301
+ )),
19302
+ secondaryButton && (secondaryButton.href ? /* @__PURE__ */ jsxRuntime.jsx(
19303
+ Button2,
19304
+ {
19305
+ href: secondaryButton.href,
19306
+ variant: secondaryButton.variant,
19307
+ color: secondaryButton.color ?? void 0,
19308
+ children: secondaryButton.text
19309
+ }
19310
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
19311
+ Button2,
19312
+ {
19313
+ onClick: secondaryButton.onClick,
19314
+ variant: secondaryButton.variant,
19315
+ color: secondaryButton.color ?? void 0,
19316
+ children: secondaryButton.text
19317
+ }
19318
+ ))
19319
+ ] })
19320
+ ]
19184
19321
  }
19185
- ))
19186
- ] })
19187
- ] }) }),
19188
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative lg:col-span-4 lg:-mr-8 xl:absolute xl:inset-0 xl:left-2/3 xl:mr-0", children: /* @__PURE__ */ jsxRuntime.jsx(
19189
- Image2__default.default,
19322
+ )
19323
+ }
19324
+ ),
19325
+ /* @__PURE__ */ jsxRuntime.jsx(
19326
+ "div",
19190
19327
  {
19191
- alt: imgAlt,
19192
- src: imgSrc || "/placeholder.svg",
19193
- width: 800,
19194
- height: 800,
19195
19328
  className: cn(
19196
- "aspect-[3/2] w-full object-cover lg:absolute lg:inset-0 lg:aspect-auto lg:h-full",
19197
- imgBgcolor
19329
+ "relative lg:-mr-8 xl:absolute xl:inset-y-0 xl:right-0 xl:left-[var(--hero-image-start)] xl:mr-0",
19330
+ imageSpanClassName
19331
+ ),
19332
+ style: {
19333
+ "--hero-image-start": imageStart
19334
+ },
19335
+ children: /* @__PURE__ */ jsxRuntime.jsx(
19336
+ Image2__default.default,
19337
+ {
19338
+ alt: imgAlt,
19339
+ src: imgSrc || "/placeholder.svg",
19340
+ width: 800,
19341
+ height: 800,
19342
+ className: cn(
19343
+ "aspect-[3/2] w-full object-cover lg:absolute lg:inset-0 lg:aspect-auto lg:h-full",
19344
+ imgBgcolor
19345
+ )
19346
+ }
19198
19347
  )
19199
19348
  }
19200
- ) })
19349
+ )
19201
19350
  ] }) });
19202
19351
  }
19203
19352
  function HoverCard({ ...props }) {
@@ -33176,7 +33325,7 @@ var Tracker = React5__namespace.default.forwardRef(
33176
33325
  }
33177
33326
  );
33178
33327
  Tracker.displayName = "Tracker";
33179
- var buttonVariants4 = classVarianceAuthority.cva(
33328
+ var buttonVariants5 = classVarianceAuthority.cva(
33180
33329
  "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-sm text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
33181
33330
  {
33182
33331
  variants: {
@@ -33213,7 +33362,7 @@ function Button7({
33213
33362
  Comp,
33214
33363
  {
33215
33364
  "data-slot": "button",
33216
- className: cn(buttonVariants4({ variant, size, className })),
33365
+ className: cn(buttonVariants5({ variant, size, className })),
33217
33366
  ...props
33218
33367
  }
33219
33368
  );
@@ -35622,6 +35771,23 @@ function Input2({ className, type, ...props }) {
35622
35771
  }
35623
35772
  );
35624
35773
  }
35774
+ var sanitizePreviewUrl = (value) => {
35775
+ if (!value) return void 0;
35776
+ const trimmed = value.trim();
35777
+ if (!trimmed) return void 0;
35778
+ const baseOrigin = typeof window !== "undefined" ? window.location.origin : "http://localhost";
35779
+ const hasExplicitScheme = /^[a-zA-Z][a-zA-Z\d+.-]*:/.test(trimmed);
35780
+ const isRelativeUrl = trimmed.startsWith("/") || trimmed.startsWith("./") || trimmed.startsWith("../") || trimmed.startsWith("?") || trimmed.startsWith("#");
35781
+ const isBareHostname = !hasExplicitScheme && !isRelativeUrl && /^[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+([/:?#].*)?$/.test(trimmed);
35782
+ try {
35783
+ const parsed = hasExplicitScheme ? new URL(trimmed) : isBareHostname ? new URL(`https://${trimmed}`) : new URL(trimmed, baseOrigin);
35784
+ if (parsed.protocol === "http:" || parsed.protocol === "https:") {
35785
+ return parsed.toString();
35786
+ }
35787
+ } catch {
35788
+ }
35789
+ return void 0;
35790
+ };
35625
35791
  var WebPreviewContext = React5.createContext(null);
35626
35792
  var useWebPreview = () => {
35627
35793
  const context = React5.useContext(WebPreviewContext);
@@ -35637,11 +35803,21 @@ var WebPreview = ({
35637
35803
  onUrlChange,
35638
35804
  ...props
35639
35805
  }) => {
35640
- const [url, setUrl] = React5.useState(defaultUrl);
35806
+ const initialUrl = sanitizePreviewUrl(defaultUrl) ?? "";
35807
+ const [url, setUrl] = React5.useState(initialUrl);
35641
35808
  const [consoleOpen, setConsoleOpen] = React5.useState(false);
35642
35809
  const handleUrlChange = (newUrl) => {
35643
- setUrl(newUrl);
35644
- onUrlChange?.(newUrl);
35810
+ if (!newUrl.trim()) {
35811
+ setUrl("");
35812
+ onUrlChange?.("");
35813
+ return;
35814
+ }
35815
+ const safeUrl = sanitizePreviewUrl(newUrl);
35816
+ if (safeUrl === void 0) {
35817
+ return;
35818
+ }
35819
+ setUrl(safeUrl);
35820
+ onUrlChange?.(safeUrl);
35645
35821
  };
35646
35822
  const contextValue = {
35647
35823
  url,
@@ -35684,20 +35860,30 @@ var WebPreviewUrl = ({ value, onChange, onKeyDown, ...props }) => {
35684
35860
  }
35685
35861
  );
35686
35862
  };
35687
- var WebPreviewBody = ({ className, loading, src, ...props }) => {
35863
+ var WebPreviewBody = ({
35864
+ className,
35865
+ loading,
35866
+ loadingFallback,
35867
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
35868
+ sandbox: _sandbox,
35869
+ src,
35870
+ ...props
35871
+ }) => {
35688
35872
  const { url } = useWebPreview();
35873
+ const safeSrc = sanitizePreviewUrl(src ?? url);
35874
+ const resolvedLoadingFallback = loadingFallback ?? loading;
35689
35875
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
35690
35876
  /* @__PURE__ */ jsxRuntime.jsx(
35691
35877
  "iframe",
35692
35878
  {
35693
35879
  className: cn("size-full", className),
35694
35880
  sandbox: "allow-scripts allow-same-origin allow-forms allow-popups allow-presentation",
35695
- src: (src ?? url) || void 0,
35881
+ src: safeSrc,
35696
35882
  title: "Preview",
35697
35883
  ...props
35698
35884
  }
35699
35885
  ),
35700
- loading
35886
+ resolvedLoadingFallback
35701
35887
  ] });
35702
35888
  };
35703
35889
  var useIsomorphicLayoutEffect2 = typeof window !== "undefined" ? React5.useLayoutEffect : React5.useEffect;
@@ -36119,6 +36305,7 @@ exports.FormatToggle = FormatToggle;
36119
36305
  exports.GenerateInterpolatedColors = GenerateInterpolatedColors;
36120
36306
  exports.Header = Header2;
36121
36307
  exports.Heading = Heading;
36308
+ exports.HeroBannerSimple = HeroBannerSimple;
36122
36309
  exports.HeroBannerSupportingImage = HeroBannerSupportingImage;
36123
36310
  exports.HoverCard = HoverCard;
36124
36311
  exports.HoverCardContent = HoverCardContent;