@nswds/app 1.114.1 → 1.115.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.js CHANGED
@@ -4177,7 +4177,7 @@ var Link = forwardRef(function Link2({ className, variant, ...props }, ref) {
4177
4177
  var styles = {
4178
4178
  base: [
4179
4179
  // Base
4180
- "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",
4180
+ "relative isolate inline-flex items-baseline justify-center gap-x-2 rounded-sm border text-base/7 font-bold transition-all",
4181
4181
  // Focus
4182
4182
  "focus:outline focus:outline-2 focus:outline-offset-2 focus:outline-(--btn-bg)",
4183
4183
  // Disabled
@@ -4261,7 +4261,7 @@ var styles = {
4261
4261
  ],
4262
4262
  outline: [
4263
4263
  // Text color
4264
- "border-(--btn-bg) text-(--btn-bg)",
4264
+ "border-(--btn-bg) text-(--btn-bg) border-2",
4265
4265
  // Optical border, implemented as the button background to avoid corner artifacts
4266
4266
  "bg-transparent",
4267
4267
  // Button background, implemented as foreground layer to stack on top of pseudo-border layer
@@ -4422,30 +4422,12 @@ var styles = {
4422
4422
  "dark:[--btn-bg:var(--color-accent-500)] dark:[--btn-border:var(--color-accent-500)]/90 dark:[--btn-text:white]",
4423
4423
  // Dark mode states
4424
4424
  "dark:[--btn-hover-overlay:var(--color-accent-500)]/30 dark:data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/10"
4425
- ],
4426
- danger: [
4427
- // Base
4428
- "",
4429
- // States
4430
- "",
4431
- // Dark mode
4432
- "",
4433
- // Dark mode states
4434
- "",
4435
- // Icon
4436
- "",
4437
- // Icon states
4438
- "",
4439
- // Icon dark mode
4440
- "",
4441
- // Icon dark mode states
4442
- ""
4443
4425
  ]
4444
4426
  },
4445
4427
  size: {
4446
- default: "px-[calc(--spacing(5)-1px)] py-[calc(--spacing(4)-1px)] sm:px-[calc(--spacing(4.5)-1px)] sm:py-[calc(--spacing(3)-1px)]",
4447
- sm: "px-[calc(--spacing(4)-1px)] py-[calc(--spacing(3)-1px)] sm:px-[calc(--spacing(3.5)-1px)] sm:py-[calc(--spacing(2)-1px)]",
4448
- lg: "px-[calc(--spacing(6)-1px)] py-[calc(--spacing(5)-1px)] sm:px-[calc(--spacing(5.5)-1px)] sm:py-[calc(--spacing(4)-1px)]",
4428
+ default: "px-[calc(--spacing(6)-1px)] py-[calc(--spacing(4)-1px)] sm:px-[calc(--spacing(5.5)-1px)] sm:py-[calc(--spacing(3)-1px)]",
4429
+ sm: "px-[calc(--spacing(5)-1px)] py-[calc(--spacing(3)-1px)] sm:px-[calc(--spacing(4.5)-1px)] sm:py-[calc(--spacing(2)-1px)]",
4430
+ lg: "px-[calc(--spacing(7)-1px)] py-[calc(--spacing(5)-1px)] sm:px-[calc(--spacing(6.5)-1px)] sm:py-[calc(--spacing(4)-1px)]",
4449
4431
  icon: "w-10 h-10 flex-none"
4450
4432
  },
4451
4433
  iconSize: {
@@ -4473,8 +4455,7 @@ var buttonVariants = cva(styles.base, {
4473
4455
  primary: styles.colors.primary,
4474
4456
  secondary: styles.colors.secondary,
4475
4457
  tertiary: styles.colors.tertiary,
4476
- accent: styles.colors.accent,
4477
- danger: styles.colors.danger
4458
+ accent: styles.colors.accent
4478
4459
  },
4479
4460
  size: {
4480
4461
  default: styles.size.default,
@@ -18781,7 +18762,7 @@ function FormatToggle({ format, setFormat }) {
18781
18762
 
18782
18763
  // package.json
18783
18764
  var package_default = {
18784
- version: "1.114.0"};
18765
+ version: "1.114.1"};
18785
18766
  var SluggerContext = React5__default.createContext(null);
18786
18767
  function flattenText(nodes) {
18787
18768
  if (nodes == null || typeof nodes === "boolean") return "";
@@ -19070,9 +19051,107 @@ var heroBannerVariants = cva("relative", {
19070
19051
  variants: {
19071
19052
  variant: {
19072
19053
  "primary-800": "bg-primary-800 text-white",
19073
- "grey-150": "bg-grey-150 text-grey-800",
19054
+ "primary-600": "bg-primary-600 text-white",
19055
+ "primary-400": "bg-primary-400 text-primary-800",
19056
+ "primary-200": "bg-primary-200 text-primary-800",
19057
+ "grey-800": "bg-grey-800 text-white",
19058
+ "grey-600": "bg-grey-600 text-white",
19059
+ "grey-400": "bg-grey-400 text-grey-800",
19060
+ "grey-200": "bg-grey-200 text-grey-800",
19074
19061
  "accent-800": "bg-accent-800 text-white",
19062
+ "accent-600": "bg-accent-600 text-white",
19063
+ "accent-400": "bg-accent-400 text-accent-800",
19064
+ "accent-200": "bg-accent-200 text-accent-800",
19065
+ white: "bg-white text-grey-800"
19066
+ }
19067
+ },
19068
+ defaultVariants: {
19069
+ variant: "primary-800"
19070
+ }
19071
+ });
19072
+ var heroBannerContentAlignments = {
19073
+ center: {
19074
+ content: "text-center",
19075
+ subtitle: "mx-auto",
19076
+ actions: "justify-center"
19077
+ },
19078
+ left: {
19079
+ content: "text-left",
19080
+ subtitle: "",
19081
+ actions: "justify-start"
19082
+ }
19083
+ };
19084
+ function HeroBannerSimple({
19085
+ variant,
19086
+ heading,
19087
+ subtitle,
19088
+ contentAlign = "center",
19089
+ primaryButton,
19090
+ secondaryButton
19091
+ }) {
19092
+ const alignment = heroBannerContentAlignments[contentAlign];
19093
+ return /* @__PURE__ */ jsx("div", { className: heroBannerVariants({ variant }), children: /* @__PURE__ */ jsx("div", { className: "px-6 py-24 sm:py-32 lg:px-8", children: /* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-2xl", alignment.content), children: [
19094
+ heading && /* @__PURE__ */ jsx("h1", { className: "text-4xl font-semibold tracking-tight text-balance sm:text-6xl", children: heading }),
19095
+ subtitle && /* @__PURE__ */ jsx("p", { className: cn("mt-6 max-w-xl text-lg leading-8 text-pretty", alignment.subtitle), children: subtitle }),
19096
+ (primaryButton || secondaryButton) && /* @__PURE__ */ jsxs(
19097
+ "div",
19098
+ {
19099
+ className: cn("mt-10 flex flex-wrap items-center gap-x-6 gap-y-4", alignment.actions),
19100
+ children: [
19101
+ primaryButton && (primaryButton.href ? /* @__PURE__ */ jsx(
19102
+ Button2,
19103
+ {
19104
+ href: primaryButton.href,
19105
+ variant: primaryButton.variant,
19106
+ color: primaryButton.color ?? void 0,
19107
+ children: primaryButton.text
19108
+ }
19109
+ ) : /* @__PURE__ */ jsx(
19110
+ Button2,
19111
+ {
19112
+ onClick: primaryButton.onClick,
19113
+ variant: primaryButton.variant,
19114
+ color: primaryButton.color ?? void 0,
19115
+ children: primaryButton.text
19116
+ }
19117
+ )),
19118
+ secondaryButton && (secondaryButton.href ? /* @__PURE__ */ jsx(
19119
+ Button2,
19120
+ {
19121
+ href: secondaryButton.href,
19122
+ variant: secondaryButton.variant,
19123
+ color: secondaryButton.color ?? void 0,
19124
+ children: secondaryButton.text
19125
+ }
19126
+ ) : /* @__PURE__ */ jsx(
19127
+ Button2,
19128
+ {
19129
+ onClick: secondaryButton.onClick,
19130
+ variant: secondaryButton.variant,
19131
+ color: secondaryButton.color ?? void 0,
19132
+ children: secondaryButton.text
19133
+ }
19134
+ ))
19135
+ ]
19136
+ }
19137
+ )
19138
+ ] }) }) });
19139
+ }
19140
+ var heroBannerVariants2 = cva("relative", {
19141
+ variants: {
19142
+ variant: {
19143
+ "primary-800": "bg-primary-800 text-white",
19144
+ "primary-600": "bg-primary-600 text-white",
19145
+ "primary-400": "bg-primary-400 text-primary-800",
19075
19146
  "primary-200": "bg-primary-200 text-primary-800",
19147
+ "grey-800": "bg-grey-800 text-white",
19148
+ "grey-600": "bg-grey-600 text-white",
19149
+ "grey-400": "bg-grey-400 text-grey-800",
19150
+ "grey-200": "bg-grey-200 text-grey-800",
19151
+ "accent-800": "bg-accent-800 text-white",
19152
+ "accent-600": "bg-accent-600 text-white",
19153
+ "accent-400": "bg-accent-400 text-accent-800",
19154
+ "accent-200": "bg-accent-200 text-accent-800",
19076
19155
  white: "bg-white text-grey-800"
19077
19156
  }
19078
19157
  },
@@ -19080,6 +19159,34 @@ var heroBannerVariants = cva("relative", {
19080
19159
  variant: "primary-800"
19081
19160
  }
19082
19161
  });
19162
+ var HERO_BANNER_SUPPORTING_IMAGE_DEFAULT_SPLIT = {
19163
+ left: 8,
19164
+ right: 4
19165
+ };
19166
+ var HERO_BANNER_SUPPORTING_IMAGE_COLUMN_SPANS = {
19167
+ 1: "lg:col-span-1",
19168
+ 2: "lg:col-span-2",
19169
+ 3: "lg:col-span-3",
19170
+ 4: "lg:col-span-4",
19171
+ 5: "lg:col-span-5",
19172
+ 6: "lg:col-span-6",
19173
+ 7: "lg:col-span-7",
19174
+ 8: "lg:col-span-8",
19175
+ 9: "lg:col-span-9",
19176
+ 10: "lg:col-span-10",
19177
+ 11: "lg:col-span-11"
19178
+ };
19179
+ function resolveHeroBannerSupportingImageSplit(split) {
19180
+ if (!split) {
19181
+ return HERO_BANNER_SUPPORTING_IMAGE_DEFAULT_SPLIT;
19182
+ }
19183
+ const hasValidLeftSpan = split.left in HERO_BANNER_SUPPORTING_IMAGE_COLUMN_SPANS;
19184
+ const hasValidRightSpan = split.right in HERO_BANNER_SUPPORTING_IMAGE_COLUMN_SPANS;
19185
+ if (hasValidLeftSpan && hasValidRightSpan && split.left + split.right === 12) {
19186
+ return split;
19187
+ }
19188
+ return HERO_BANNER_SUPPORTING_IMAGE_DEFAULT_SPLIT;
19189
+ }
19083
19190
  function HeroBannerSupportingImage({
19084
19191
  variant,
19085
19192
  imgAlt,
@@ -19087,63 +19194,96 @@ function HeroBannerSupportingImage({
19087
19194
  imgBgcolor,
19088
19195
  heading,
19089
19196
  subtitle,
19197
+ split,
19090
19198
  primaryButton,
19091
19199
  secondaryButton
19092
19200
  }) {
19093
- return /* @__PURE__ */ jsx("div", { className: heroBannerVariants({ variant }), children: /* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-7xl lg:grid lg:grid-cols-12 lg:gap-x-8 lg:px-8", children: [
19094
- /* @__PURE__ */ 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__ */ jsxs("div", { className: "mx-auto max-w-2xl lg:mx-0", children: [
19095
- heading && /* @__PURE__ */ jsx("h1", { className: "mt-24 text-4xl font-bold tracking-tight sm:mt-10 sm:text-6xl", children: heading }),
19096
- subtitle && /* @__PURE__ */ jsx("p", { className: "mt-6 text-lg leading-8", children: subtitle }),
19097
- (primaryButton || secondaryButton) && /* @__PURE__ */ jsxs("div", { className: "mt-10 flex items-center gap-x-6", children: [
19098
- primaryButton && (primaryButton.href ? /* @__PURE__ */ jsx(
19099
- Button2,
19100
- {
19101
- href: primaryButton.href,
19102
- variant: primaryButton.variant,
19103
- color: primaryButton.color ?? void 0,
19104
- children: primaryButton.text
19105
- }
19106
- ) : /* @__PURE__ */ jsx(
19107
- Button2,
19108
- {
19109
- onClick: primaryButton.onClick,
19110
- variant: primaryButton.variant,
19111
- color: primaryButton.color ?? void 0,
19112
- children: primaryButton.text
19113
- }
19114
- )),
19115
- secondaryButton && (secondaryButton.href ? /* @__PURE__ */ jsx(
19116
- Button2,
19117
- {
19118
- href: secondaryButton.href,
19119
- variant: secondaryButton.variant,
19120
- color: secondaryButton.color ?? void 0,
19121
- children: secondaryButton.text
19122
- }
19123
- ) : /* @__PURE__ */ jsx(
19124
- Button2,
19201
+ const resolvedSplit = resolveHeroBannerSupportingImageSplit(split);
19202
+ const textSpanClassName = HERO_BANNER_SUPPORTING_IMAGE_COLUMN_SPANS[resolvedSplit.left];
19203
+ const imageSpanClassName = HERO_BANNER_SUPPORTING_IMAGE_COLUMN_SPANS[resolvedSplit.right];
19204
+ const imageStart = `${resolvedSplit.left / 12 * 100}%`;
19205
+ const contentMaxWidth = `${Math.min(56, resolvedSplit.left / 8 * 42)}rem`;
19206
+ return /* @__PURE__ */ jsx("div", { className: heroBannerVariants2({ variant }), children: /* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-7xl lg:grid lg:grid-cols-12 lg:gap-x-8 lg:px-8", children: [
19207
+ /* @__PURE__ */ jsx(
19208
+ "div",
19209
+ {
19210
+ className: cn("px-6 pt-10 pb-24 sm:pb-32 lg:px-0 lg:pt-24 lg:pb-28", textSpanClassName),
19211
+ children: /* @__PURE__ */ jsxs(
19212
+ "div",
19125
19213
  {
19126
- onClick: secondaryButton.onClick,
19127
- variant: secondaryButton.variant,
19128
- color: secondaryButton.color ?? void 0,
19129
- children: secondaryButton.text
19214
+ className: "mx-auto max-w-2xl lg:mx-0 lg:max-w-[var(--hero-copy-max-width)]",
19215
+ style: {
19216
+ "--hero-copy-max-width": contentMaxWidth
19217
+ },
19218
+ children: [
19219
+ heading && /* @__PURE__ */ jsx("h1", { className: "mt-24 text-4xl font-semibold tracking-tight text-balance sm:mt-10 sm:text-6xl", children: heading }),
19220
+ subtitle && /* @__PURE__ */ jsx("p", { className: "mt-6 text-lg leading-8 text-pretty", children: subtitle }),
19221
+ (primaryButton || secondaryButton) && /* @__PURE__ */ jsxs("div", { className: "mt-10 flex flex-wrap items-center gap-x-6 gap-y-4", children: [
19222
+ primaryButton && (primaryButton.href ? /* @__PURE__ */ jsx(
19223
+ Button2,
19224
+ {
19225
+ href: primaryButton.href,
19226
+ variant: primaryButton.variant,
19227
+ color: primaryButton.color ?? void 0,
19228
+ children: primaryButton.text
19229
+ }
19230
+ ) : /* @__PURE__ */ jsx(
19231
+ Button2,
19232
+ {
19233
+ onClick: primaryButton.onClick,
19234
+ variant: primaryButton.variant,
19235
+ color: primaryButton.color ?? void 0,
19236
+ children: primaryButton.text
19237
+ }
19238
+ )),
19239
+ secondaryButton && (secondaryButton.href ? /* @__PURE__ */ jsx(
19240
+ Button2,
19241
+ {
19242
+ href: secondaryButton.href,
19243
+ variant: secondaryButton.variant,
19244
+ color: secondaryButton.color ?? void 0,
19245
+ children: secondaryButton.text
19246
+ }
19247
+ ) : /* @__PURE__ */ jsx(
19248
+ Button2,
19249
+ {
19250
+ onClick: secondaryButton.onClick,
19251
+ variant: secondaryButton.variant,
19252
+ color: secondaryButton.color ?? void 0,
19253
+ children: secondaryButton.text
19254
+ }
19255
+ ))
19256
+ ] })
19257
+ ]
19130
19258
  }
19131
- ))
19132
- ] })
19133
- ] }) }),
19134
- /* @__PURE__ */ 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__ */ jsx(
19135
- Image2,
19259
+ )
19260
+ }
19261
+ ),
19262
+ /* @__PURE__ */ jsx(
19263
+ "div",
19136
19264
  {
19137
- alt: imgAlt,
19138
- src: imgSrc || "/placeholder.svg",
19139
- width: 800,
19140
- height: 800,
19141
19265
  className: cn(
19142
- "aspect-[3/2] w-full object-cover lg:absolute lg:inset-0 lg:aspect-auto lg:h-full",
19143
- imgBgcolor
19266
+ "relative lg:-mr-8 xl:absolute xl:inset-y-0 xl:right-0 xl:left-[var(--hero-image-start)] xl:mr-0",
19267
+ imageSpanClassName
19268
+ ),
19269
+ style: {
19270
+ "--hero-image-start": imageStart
19271
+ },
19272
+ children: /* @__PURE__ */ jsx(
19273
+ Image2,
19274
+ {
19275
+ alt: imgAlt,
19276
+ src: imgSrc || "/placeholder.svg",
19277
+ width: 800,
19278
+ height: 800,
19279
+ className: cn(
19280
+ "aspect-[3/2] w-full object-cover lg:absolute lg:inset-0 lg:aspect-auto lg:h-full",
19281
+ imgBgcolor
19282
+ )
19283
+ }
19144
19284
  )
19145
19285
  }
19146
- ) })
19286
+ )
19147
19287
  ] }) });
19148
19288
  }
19149
19289
  function HoverCard({ ...props }) {
@@ -33122,7 +33262,7 @@ var Tracker = React5__default.forwardRef(
33122
33262
  }
33123
33263
  );
33124
33264
  Tracker.displayName = "Tracker";
33125
- var buttonVariants4 = cva(
33265
+ var buttonVariants5 = cva(
33126
33266
  "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",
33127
33267
  {
33128
33268
  variants: {
@@ -33159,7 +33299,7 @@ function Button7({
33159
33299
  Comp,
33160
33300
  {
33161
33301
  "data-slot": "button",
33162
- className: cn(buttonVariants4({ variant, size, className })),
33302
+ className: cn(buttonVariants5({ variant, size, className })),
33163
33303
  ...props
33164
33304
  }
33165
33305
  );
@@ -35568,6 +35708,23 @@ function Input2({ className, type, ...props }) {
35568
35708
  }
35569
35709
  );
35570
35710
  }
35711
+ var sanitizePreviewUrl = (value) => {
35712
+ if (!value) return void 0;
35713
+ const trimmed = value.trim();
35714
+ if (!trimmed) return void 0;
35715
+ const baseOrigin = typeof window !== "undefined" ? window.location.origin : "http://localhost";
35716
+ const hasExplicitScheme = /^[a-zA-Z][a-zA-Z\d+.-]*:/.test(trimmed);
35717
+ const isRelativeUrl = trimmed.startsWith("/") || trimmed.startsWith("./") || trimmed.startsWith("../") || trimmed.startsWith("?") || trimmed.startsWith("#");
35718
+ const isBareHostname = !hasExplicitScheme && !isRelativeUrl && /^[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+([/:?#].*)?$/.test(trimmed);
35719
+ try {
35720
+ const parsed = hasExplicitScheme ? new URL(trimmed) : isBareHostname ? new URL(`https://${trimmed}`) : new URL(trimmed, baseOrigin);
35721
+ if (parsed.protocol === "http:" || parsed.protocol === "https:") {
35722
+ return parsed.toString();
35723
+ }
35724
+ } catch {
35725
+ }
35726
+ return void 0;
35727
+ };
35571
35728
  var WebPreviewContext = createContext(null);
35572
35729
  var useWebPreview = () => {
35573
35730
  const context = useContext(WebPreviewContext);
@@ -35583,11 +35740,21 @@ var WebPreview = ({
35583
35740
  onUrlChange,
35584
35741
  ...props
35585
35742
  }) => {
35586
- const [url, setUrl] = useState(defaultUrl);
35743
+ const initialUrl = sanitizePreviewUrl(defaultUrl) ?? "";
35744
+ const [url, setUrl] = useState(initialUrl);
35587
35745
  const [consoleOpen, setConsoleOpen] = useState(false);
35588
35746
  const handleUrlChange = (newUrl) => {
35589
- setUrl(newUrl);
35590
- onUrlChange?.(newUrl);
35747
+ if (!newUrl.trim()) {
35748
+ setUrl("");
35749
+ onUrlChange?.("");
35750
+ return;
35751
+ }
35752
+ const safeUrl = sanitizePreviewUrl(newUrl);
35753
+ if (safeUrl === void 0) {
35754
+ return;
35755
+ }
35756
+ setUrl(safeUrl);
35757
+ onUrlChange?.(safeUrl);
35591
35758
  };
35592
35759
  const contextValue = {
35593
35760
  url,
@@ -35630,20 +35797,30 @@ var WebPreviewUrl = ({ value, onChange, onKeyDown, ...props }) => {
35630
35797
  }
35631
35798
  );
35632
35799
  };
35633
- var WebPreviewBody = ({ className, loading, src, ...props }) => {
35800
+ var WebPreviewBody = ({
35801
+ className,
35802
+ loading,
35803
+ loadingFallback,
35804
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
35805
+ sandbox: _sandbox,
35806
+ src,
35807
+ ...props
35808
+ }) => {
35634
35809
  const { url } = useWebPreview();
35810
+ const safeSrc = sanitizePreviewUrl(src ?? url);
35811
+ const resolvedLoadingFallback = loadingFallback ?? loading;
35635
35812
  return /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
35636
35813
  /* @__PURE__ */ jsx(
35637
35814
  "iframe",
35638
35815
  {
35639
35816
  className: cn("size-full", className),
35640
35817
  sandbox: "allow-scripts allow-same-origin allow-forms allow-popups allow-presentation",
35641
- src: (src ?? url) || void 0,
35818
+ src: safeSrc,
35642
35819
  title: "Preview",
35643
35820
  ...props
35644
35821
  }
35645
35822
  ),
35646
- loading
35823
+ resolvedLoadingFallback
35647
35824
  ] });
35648
35825
  };
35649
35826
  var useIsomorphicLayoutEffect2 = typeof window !== "undefined" ? useLayoutEffect : useEffect;
@@ -35860,6 +36037,6 @@ var languages = [
35860
36037
  "html"
35861
36038
  ];
35862
36039
 
35863
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Action2 as Action, Actions, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AreaChart, Artifact, ArtifactAction, ArtifactActions, ArtifactContent, ArtifactDescription, ArtifactHeader, ArtifactTitle, AspectRatio, AuthLayout, AvailableChartColors, Avatar, AvatarFallback, AvatarImage, Badge, BadgeButton, BarChart, BarList, BaseColorSwatches, Branch, BranchMessages, BranchNext, BranchPage, BranchPrevious, BranchSelector, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Breadcrumbs, Button2 as Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, CategoryBar, ChainOfThought, ChainOfThoughtContent, ChainOfThoughtHeader, ChainOfThoughtImage, ChainOfThoughtSearchResult, ChainOfThoughtSearchResults, ChainOfThoughtStep, ChartContainer, ChartLegend3 as ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip3 as ChartTooltip, ChartTooltipContent, Checkbox, CheckboxSmall, Code, CodeBlock, CodeBlockCopyButton, CodeDemo, CodeHighlight, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, ColorCard, ColorPairingTool, ColorSwatches, ColourScale, ComboChart, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Context, ContextCacheUsage, ContextContent, ContextContentBody, ContextContentFooter, ContextContentHeader, ContextInputUsage, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ContextOutputUsage, ContextReasoningUsage, ContextTrigger, Conversation, ConversationContent, ConversationEmptyState, ConversationScrollButton, DataTable, DataTableColumnHeader, DataTableFacetedFilter, DataTablePagination, DataTableToolbar, DataTableViewOptions, Description4 as Description, DescriptionDetails, DescriptionList, DescriptionTerm, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DonutChart, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DynamicFavicon, ErrorMessage, ExpandableSearch, ExpandableSearchField, Field2 as Field, FieldGroup, FieldLabel, Fieldset2 as Fieldset, Footer, FooterAcknowledgement, FooterLegalLinks, FooterSmallPrint, FooterSocialLink, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, FormatToggle, GenerateInterpolatedColors, Header2 as Header, Heading, HeroBannerSupportingImage, HoverCard, HoverCardContent, HoverCardTrigger, Icons, Image4 as Image, InlineCitation, InlineCitationCard, InlineCitationCardBody, InlineCitationCardTrigger, InlineCitationCarousel, InlineCitationCarouselContent, InlineCitationCarouselHeader, InlineCitationCarouselIndex, InlineCitationCarouselItem, InlineCitationSource, InlineCitationText, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Label5 as Label, Legend6 as Legend, LineChart, Link, _List as List, Listbox2 as Listbox, ListboxDescription, ListboxLabel, ListboxOption2 as ListboxOption, Loader, Loading, Logo, MainNavigation, Masthead, MegaMenu, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Message, MessageContent, MobileHeader, MobileSearch, MultiLevelPushMenu, NSWCard, NSWCardArrow, NSWCardDescription, NSWCardIcon, NSWCardImg, NSWCardTitle, Navbar, NavbarDivider, NavbarItem, NavbarLabel, NavbarSection, NavbarSpacer, Navigation, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuMainNavigation, NavigationMenuTrigger, NavigationMenuViewport, NotFound, OpenIn, OpenInChatGPT, OpenInClaude, OpenInContent, OpenInScira, OpenInT3, OpenInTrigger, OpenInv0, PageHeading, Pagination, PaginationGap, PaginationList, PaginationNext, PaginationPage, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PreWithCopy, PrevNextLinks, PrevNextLinksPageLink, Progress, ProgressBar, ProgressCircle, PromptInput, PromptInputActionAddAttachments, PromptInputActionMenu, PromptInputActionMenuContent, PromptInputActionMenuItem, PromptInputActionMenuTrigger, PromptInputAttachment, PromptInputAttachments, PromptInputBody, PromptInputButton, PromptInputSubmit, PromptInputTextarea, PromptInputToolbar, PromptInputTools, Prose, RadioGroup2 as RadioGroup, RadioGroupItem, Reasoning, ReasoningContent, ReasoningTrigger, ResizableHandle, ResizablePanel, ResizablePanelGroup, Response, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator4 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLink, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarNavigation, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SiteSearch, Skeleton, Slider, Social, Source, Sources, SourcesContent, SourcesTrigger, SparkAreaChart, SparkBarChart, SparkLineChart, Spinner, StepIndicator, StepNavigation, Strong, SubmitButton, Suggestion, Suggestions, Switch2 as Switch, SwitchField, SwitchGroup, TabNavigation, TabNavigationLink, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableOfContents, TableRow, Tabs2 as Tabs, TabsContent, TabsList, TabsTrigger, Task, TaskContent, TaskItem, TaskItemFile, TaskTrigger, Text, TextLink, Textarea, ThemeColorPalette, ThemeProvider, ThemeSelector, ThemeSwitcher, Toaster, TocContext, TocProvider, Toggle, ToggleGroup, ToggleGroupItem, Tool, ToolContent, ToolHeader, ToolInput, ToolOutput, Tooltip5 as Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TopLevel, TouchTarget, Tracker, Tooltip3 as TremorTooltip, ViewToggle, WebPreview, WebPreviewBody, WebPreviewNavigation, WebPreviewUrl, Wrapper, aboriginal, addStartStopToColorArray, allPalettes, badgeVariants, brand, buttonVariants, camelCase, chartColors, cn, colorDataArray, colorThemes, colors, constructCategoryColors, createColorArray, createColorData, createFormStore, darkenColor, diverging, domToSimple, focusInput, focusRing, generateColorThemes, generateDataVisColors, getColorClassName, getColorValue, getHeadings, getNodeText, getSurroundingColors, getYAxisDomain, hasErrorInput, hasOnlyOneValueForKey, humaniseVariant, interpolateColors, isLightColor, kebabCase, languages, lightenColor, navigationMenuTriggerStyle, oklchConverter, progressBarVariants, renderColorOutput, renderColorOutputToDTFM, semantic, sequential, shades, themeIndices, themeTokens, toggleVariants, truncate, useActiveSectionObserver, useDisableToc, useFormField, useIsMobile, useOnWindowResize, usePageHeadings, usePromptInputAttachments, useSelectorHeight, useSidebar, useStickyOffset, useToc };
36040
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Action2 as Action, Actions, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AreaChart, Artifact, ArtifactAction, ArtifactActions, ArtifactContent, ArtifactDescription, ArtifactHeader, ArtifactTitle, AspectRatio, AuthLayout, AvailableChartColors, Avatar, AvatarFallback, AvatarImage, Badge, BadgeButton, BarChart, BarList, BaseColorSwatches, Branch, BranchMessages, BranchNext, BranchPage, BranchPrevious, BranchSelector, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Breadcrumbs, Button2 as Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, CategoryBar, ChainOfThought, ChainOfThoughtContent, ChainOfThoughtHeader, ChainOfThoughtImage, ChainOfThoughtSearchResult, ChainOfThoughtSearchResults, ChainOfThoughtStep, ChartContainer, ChartLegend3 as ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip3 as ChartTooltip, ChartTooltipContent, Checkbox, CheckboxSmall, Code, CodeBlock, CodeBlockCopyButton, CodeDemo, CodeHighlight, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, ColorCard, ColorPairingTool, ColorSwatches, ColourScale, ComboChart, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Context, ContextCacheUsage, ContextContent, ContextContentBody, ContextContentFooter, ContextContentHeader, ContextInputUsage, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ContextOutputUsage, ContextReasoningUsage, ContextTrigger, Conversation, ConversationContent, ConversationEmptyState, ConversationScrollButton, DataTable, DataTableColumnHeader, DataTableFacetedFilter, DataTablePagination, DataTableToolbar, DataTableViewOptions, Description4 as Description, DescriptionDetails, DescriptionList, DescriptionTerm, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DonutChart, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DynamicFavicon, ErrorMessage, ExpandableSearch, ExpandableSearchField, Field2 as Field, FieldGroup, FieldLabel, Fieldset2 as Fieldset, Footer, FooterAcknowledgement, FooterLegalLinks, FooterSmallPrint, FooterSocialLink, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, FormatToggle, GenerateInterpolatedColors, Header2 as Header, Heading, HeroBannerSimple, HeroBannerSupportingImage, HoverCard, HoverCardContent, HoverCardTrigger, Icons, Image4 as Image, InlineCitation, InlineCitationCard, InlineCitationCardBody, InlineCitationCardTrigger, InlineCitationCarousel, InlineCitationCarouselContent, InlineCitationCarouselHeader, InlineCitationCarouselIndex, InlineCitationCarouselItem, InlineCitationSource, InlineCitationText, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Label5 as Label, Legend6 as Legend, LineChart, Link, _List as List, Listbox2 as Listbox, ListboxDescription, ListboxLabel, ListboxOption2 as ListboxOption, Loader, Loading, Logo, MainNavigation, Masthead, MegaMenu, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Message, MessageContent, MobileHeader, MobileSearch, MultiLevelPushMenu, NSWCard, NSWCardArrow, NSWCardDescription, NSWCardIcon, NSWCardImg, NSWCardTitle, Navbar, NavbarDivider, NavbarItem, NavbarLabel, NavbarSection, NavbarSpacer, Navigation, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuMainNavigation, NavigationMenuTrigger, NavigationMenuViewport, NotFound, OpenIn, OpenInChatGPT, OpenInClaude, OpenInContent, OpenInScira, OpenInT3, OpenInTrigger, OpenInv0, PageHeading, Pagination, PaginationGap, PaginationList, PaginationNext, PaginationPage, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PreWithCopy, PrevNextLinks, PrevNextLinksPageLink, Progress, ProgressBar, ProgressCircle, PromptInput, PromptInputActionAddAttachments, PromptInputActionMenu, PromptInputActionMenuContent, PromptInputActionMenuItem, PromptInputActionMenuTrigger, PromptInputAttachment, PromptInputAttachments, PromptInputBody, PromptInputButton, PromptInputSubmit, PromptInputTextarea, PromptInputToolbar, PromptInputTools, Prose, RadioGroup2 as RadioGroup, RadioGroupItem, Reasoning, ReasoningContent, ReasoningTrigger, ResizableHandle, ResizablePanel, ResizablePanelGroup, Response, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator4 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLink, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarNavigation, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SiteSearch, Skeleton, Slider, Social, Source, Sources, SourcesContent, SourcesTrigger, SparkAreaChart, SparkBarChart, SparkLineChart, Spinner, StepIndicator, StepNavigation, Strong, SubmitButton, Suggestion, Suggestions, Switch2 as Switch, SwitchField, SwitchGroup, TabNavigation, TabNavigationLink, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableOfContents, TableRow, Tabs2 as Tabs, TabsContent, TabsList, TabsTrigger, Task, TaskContent, TaskItem, TaskItemFile, TaskTrigger, Text, TextLink, Textarea, ThemeColorPalette, ThemeProvider, ThemeSelector, ThemeSwitcher, Toaster, TocContext, TocProvider, Toggle, ToggleGroup, ToggleGroupItem, Tool, ToolContent, ToolHeader, ToolInput, ToolOutput, Tooltip5 as Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TopLevel, TouchTarget, Tracker, Tooltip3 as TremorTooltip, ViewToggle, WebPreview, WebPreviewBody, WebPreviewNavigation, WebPreviewUrl, Wrapper, aboriginal, addStartStopToColorArray, allPalettes, badgeVariants, brand, buttonVariants, camelCase, chartColors, cn, colorDataArray, colorThemes, colors, constructCategoryColors, createColorArray, createColorData, createFormStore, darkenColor, diverging, domToSimple, focusInput, focusRing, generateColorThemes, generateDataVisColors, getColorClassName, getColorValue, getHeadings, getNodeText, getSurroundingColors, getYAxisDomain, hasErrorInput, hasOnlyOneValueForKey, humaniseVariant, interpolateColors, isLightColor, kebabCase, languages, lightenColor, navigationMenuTriggerStyle, oklchConverter, progressBarVariants, renderColorOutput, renderColorOutputToDTFM, semantic, sequential, shades, themeIndices, themeTokens, toggleVariants, truncate, useActiveSectionObserver, useDisableToc, useFormField, useIsMobile, useOnWindowResize, usePageHeadings, usePromptInputAttachments, useSelectorHeight, useSidebar, useStickyOffset, useToc };
35864
36041
  //# sourceMappingURL=index.js.map
35865
36042
  //# sourceMappingURL=index.js.map