@tydavidson/design-system 1.1.9 → 1.1.11

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.d.mts CHANGED
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import React__default from 'react';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
  import { ThemeColor } from './themes/index.mjs';
6
- export { ComponentVariant, DynamicThemeProvider, DynamicThemeProviderNoSSR, DynamicThemeToggle, SafeThemeProvider, ThemeContextProvider, ThemeProvider, ThemeProviderNoSSR, ThemeToggle, getColorVariantClasses, isDarkTheme, mapColorToShadcnVariant, mapVariantToShadcnVariant, useTheme, useThemeServer } from './themes/index.mjs';
6
+ export { ClientThemeProvider, ClientThemeToggle, ComponentVariant, ThemeContextProvider, ThemeProvider, ThemeProviderNoSSR, ThemeToggle, getColorVariantClasses, isDarkTheme, mapColorToShadcnVariant, mapVariantToShadcnVariant, useTheme, useThemeServer } from './themes/index.mjs';
7
7
  import * as react_jsx_runtime from 'react/jsx-runtime';
8
8
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
9
9
  import * as TogglePrimitive from '@radix-ui/react-toggle';
@@ -361,6 +361,61 @@ interface EmailFooterProps {
361
361
  }
362
362
  declare const EmailFooter: React__default.FC<EmailFooterProps>;
363
363
 
364
+ interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
365
+ /**
366
+ * Whether the card has a border
367
+ * @default false
368
+ */
369
+ bordered?: boolean;
370
+ /**
371
+ * Whether the card has a shadow
372
+ * @default true
373
+ */
374
+ shadowed?: boolean;
375
+ /**
376
+ * The padding size of the card
377
+ * @default 'md'
378
+ */
379
+ padding?: "none" | "sm" | "md" | "lg";
380
+ }
381
+ declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
382
+ interface CardHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
383
+ }
384
+ declare const CardHeader: React.ForwardRefExoticComponent<CardHeaderProps & React.RefAttributes<HTMLDivElement>>;
385
+ interface CardTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {
386
+ }
387
+ declare const CardTitle: React.ForwardRefExoticComponent<CardTitleProps & React.RefAttributes<HTMLHeadingElement>>;
388
+ interface CardDescriptionProps extends React.HTMLAttributes<HTMLParagraphElement> {
389
+ }
390
+ declare const CardDescription: React.ForwardRefExoticComponent<CardDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
391
+ interface CardContentProps extends React.HTMLAttributes<HTMLDivElement> {
392
+ }
393
+ declare const CardContent: React.ForwardRefExoticComponent<CardContentProps & React.RefAttributes<HTMLDivElement>>;
394
+ interface CardFooterProps extends React.HTMLAttributes<HTMLDivElement> {
395
+ }
396
+ declare const CardFooter: React.ForwardRefExoticComponent<CardFooterProps & React.RefAttributes<HTMLDivElement>>;
397
+
398
+ declare const Dialog: React.FC<SheetPrimitive.DialogProps>;
399
+ declare const DialogTrigger: React.ForwardRefExoticComponent<SheetPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
400
+ declare const DialogPortal: React.FC<SheetPrimitive.DialogPortalProps>;
401
+ declare const DialogClose: React.ForwardRefExoticComponent<SheetPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
402
+ declare const DialogOverlay: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
403
+ declare const DialogContent: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
404
+ declare const DialogHeader: {
405
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
406
+ displayName: string;
407
+ };
408
+ declare const DialogFooter: {
409
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
410
+ displayName: string;
411
+ };
412
+ declare const DialogTitle: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
413
+ declare const DialogDescription: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
414
+
415
+ interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
416
+ }
417
+ declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
418
+
364
419
  /**
365
420
  * Combines multiple class values into a single className string
366
421
  * with proper Tailwind CSS class merging.
@@ -922,4 +977,4 @@ declare const tokens: {
922
977
  };
923
978
  type Tokens = typeof tokens;
924
979
 
925
- export { Button, type ButtonProps, Collapsible, CollapsibleContent, CollapsibleTrigger, type Colors, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DropdownMenu, EmailButton, type EmailButtonProps, EmailCaption, EmailContainer, type EmailContainerProps, EmailFooter, type EmailFooterProps, EmailHeader, type EmailHeaderProps, EmailHeading, EmailLayout, type EmailLayoutProps, EmailMuted, EmailText, type EmailTextProps, Heading, type HeadingProps, HoverCard, HoverCardContent, HoverCardTrigger, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type Radius, type Shadows, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Slider, type Spacing, Text, type TextProps, ThemeColor, Toggle, ToggleGroup, ToggleGroupItem, type Tokens, type Typography, buttonVariants, cn, colors, filterDOMProps, generateId, isNotNullOrUndefined, radius, shadows, spacing, tokens, typography };
980
+ export { Button, type ButtonProps, Card, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, type CardTitleProps, Collapsible, CollapsibleContent, CollapsibleTrigger, type Colors, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, EmailButton, type EmailButtonProps, EmailCaption, EmailContainer, type EmailContainerProps, EmailFooter, type EmailFooterProps, EmailHeader, type EmailHeaderProps, EmailHeading, EmailLayout, type EmailLayoutProps, EmailMuted, EmailText, type EmailTextProps, Heading, type HeadingProps, HoverCard, HoverCardContent, HoverCardTrigger, Input, type InputProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type Radius, type Shadows, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Slider, type Spacing, Text, type TextProps, ThemeColor, Toggle, ToggleGroup, ToggleGroupItem, type Tokens, type Typography, buttonVariants, cn, colors, filterDOMProps, generateId, isNotNullOrUndefined, radius, shadows, spacing, tokens, typography };
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import React__default from 'react';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
  import { ThemeColor } from './themes/index.js';
6
- export { ComponentVariant, DynamicThemeProvider, DynamicThemeProviderNoSSR, DynamicThemeToggle, SafeThemeProvider, ThemeContextProvider, ThemeProvider, ThemeProviderNoSSR, ThemeToggle, getColorVariantClasses, isDarkTheme, mapColorToShadcnVariant, mapVariantToShadcnVariant, useTheme, useThemeServer } from './themes/index.js';
6
+ export { ClientThemeProvider, ClientThemeToggle, ComponentVariant, ThemeContextProvider, ThemeProvider, ThemeProviderNoSSR, ThemeToggle, getColorVariantClasses, isDarkTheme, mapColorToShadcnVariant, mapVariantToShadcnVariant, useTheme, useThemeServer } from './themes/index.js';
7
7
  import * as react_jsx_runtime from 'react/jsx-runtime';
8
8
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
9
9
  import * as TogglePrimitive from '@radix-ui/react-toggle';
@@ -361,6 +361,61 @@ interface EmailFooterProps {
361
361
  }
362
362
  declare const EmailFooter: React__default.FC<EmailFooterProps>;
363
363
 
364
+ interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
365
+ /**
366
+ * Whether the card has a border
367
+ * @default false
368
+ */
369
+ bordered?: boolean;
370
+ /**
371
+ * Whether the card has a shadow
372
+ * @default true
373
+ */
374
+ shadowed?: boolean;
375
+ /**
376
+ * The padding size of the card
377
+ * @default 'md'
378
+ */
379
+ padding?: "none" | "sm" | "md" | "lg";
380
+ }
381
+ declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
382
+ interface CardHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
383
+ }
384
+ declare const CardHeader: React.ForwardRefExoticComponent<CardHeaderProps & React.RefAttributes<HTMLDivElement>>;
385
+ interface CardTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {
386
+ }
387
+ declare const CardTitle: React.ForwardRefExoticComponent<CardTitleProps & React.RefAttributes<HTMLHeadingElement>>;
388
+ interface CardDescriptionProps extends React.HTMLAttributes<HTMLParagraphElement> {
389
+ }
390
+ declare const CardDescription: React.ForwardRefExoticComponent<CardDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
391
+ interface CardContentProps extends React.HTMLAttributes<HTMLDivElement> {
392
+ }
393
+ declare const CardContent: React.ForwardRefExoticComponent<CardContentProps & React.RefAttributes<HTMLDivElement>>;
394
+ interface CardFooterProps extends React.HTMLAttributes<HTMLDivElement> {
395
+ }
396
+ declare const CardFooter: React.ForwardRefExoticComponent<CardFooterProps & React.RefAttributes<HTMLDivElement>>;
397
+
398
+ declare const Dialog: React.FC<SheetPrimitive.DialogProps>;
399
+ declare const DialogTrigger: React.ForwardRefExoticComponent<SheetPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
400
+ declare const DialogPortal: React.FC<SheetPrimitive.DialogPortalProps>;
401
+ declare const DialogClose: React.ForwardRefExoticComponent<SheetPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
402
+ declare const DialogOverlay: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
403
+ declare const DialogContent: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
404
+ declare const DialogHeader: {
405
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
406
+ displayName: string;
407
+ };
408
+ declare const DialogFooter: {
409
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
410
+ displayName: string;
411
+ };
412
+ declare const DialogTitle: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
413
+ declare const DialogDescription: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
414
+
415
+ interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
416
+ }
417
+ declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
418
+
364
419
  /**
365
420
  * Combines multiple class values into a single className string
366
421
  * with proper Tailwind CSS class merging.
@@ -922,4 +977,4 @@ declare const tokens: {
922
977
  };
923
978
  type Tokens = typeof tokens;
924
979
 
925
- export { Button, type ButtonProps, Collapsible, CollapsibleContent, CollapsibleTrigger, type Colors, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DropdownMenu, EmailButton, type EmailButtonProps, EmailCaption, EmailContainer, type EmailContainerProps, EmailFooter, type EmailFooterProps, EmailHeader, type EmailHeaderProps, EmailHeading, EmailLayout, type EmailLayoutProps, EmailMuted, EmailText, type EmailTextProps, Heading, type HeadingProps, HoverCard, HoverCardContent, HoverCardTrigger, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type Radius, type Shadows, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Slider, type Spacing, Text, type TextProps, ThemeColor, Toggle, ToggleGroup, ToggleGroupItem, type Tokens, type Typography, buttonVariants, cn, colors, filterDOMProps, generateId, isNotNullOrUndefined, radius, shadows, spacing, tokens, typography };
980
+ export { Button, type ButtonProps, Card, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, type CardTitleProps, Collapsible, CollapsibleContent, CollapsibleTrigger, type Colors, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, EmailButton, type EmailButtonProps, EmailCaption, EmailContainer, type EmailContainerProps, EmailFooter, type EmailFooterProps, EmailHeader, type EmailHeaderProps, EmailHeading, EmailLayout, type EmailLayoutProps, EmailMuted, EmailText, type EmailTextProps, Heading, type HeadingProps, HoverCard, HoverCardContent, HoverCardTrigger, Input, type InputProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type Radius, type Shadows, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Slider, type Spacing, Text, type TextProps, ThemeColor, Toggle, ToggleGroup, ToggleGroupItem, type Tokens, type Typography, buttonVariants, cn, colors, filterDOMProps, generateId, isNotNullOrUndefined, radius, shadows, spacing, tokens, typography };
package/dist/index.js CHANGED
@@ -17,9 +17,6 @@ var SheetPrimitive = require('@radix-ui/react-dialog');
17
17
  var cmdk = require('cmdk');
18
18
  var CollapsiblePrimitive = require('@radix-ui/react-collapsible');
19
19
  var ContextMenuPrimitive = require('@radix-ui/react-context-menu');
20
- var dynamic = require('next/dynamic');
21
-
22
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
23
20
 
24
21
  function _interopNamespace(e) {
25
22
  if (e && e.__esModule) return e;
@@ -49,7 +46,6 @@ var HoverCardPrimitive__namespace = /*#__PURE__*/_interopNamespace(HoverCardPrim
49
46
  var SheetPrimitive__namespace = /*#__PURE__*/_interopNamespace(SheetPrimitive);
50
47
  var CollapsiblePrimitive__namespace = /*#__PURE__*/_interopNamespace(CollapsiblePrimitive);
51
48
  var ContextMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(ContextMenuPrimitive);
52
- var dynamic__default = /*#__PURE__*/_interopDefault(dynamic);
53
49
 
54
50
  var __defProp = Object.defineProperty;
55
51
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -80,58 +76,6 @@ var init_utils = __esm({
80
76
  }
81
77
  });
82
78
 
83
- // src/themes/theme-provider.tsx
84
- var theme_provider_exports = {};
85
- __export(theme_provider_exports, {
86
- ThemeProvider: () => ThemeProvider,
87
- ThemeProviderNoSSR: () => ThemeProviderNoSSR
88
- });
89
- function ThemeProvider({
90
- children,
91
- ...props
92
- }) {
93
- const [NextThemesProvider, setNextThemesProvider] = React2__namespace.useState(null);
94
- const [mounted, setMounted] = React2__namespace.useState(false);
95
- React2__namespace.useEffect(() => {
96
- import('next-themes').then(({ ThemeProvider: Provider }) => {
97
- setNextThemesProvider(() => Provider);
98
- setMounted(true);
99
- });
100
- }, []);
101
- if (!mounted || !NextThemesProvider) {
102
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
103
- }
104
- return /* @__PURE__ */ jsxRuntime.jsx(
105
- NextThemesProvider,
106
- {
107
- attribute: "class",
108
- defaultTheme: "system",
109
- enableSystem: true,
110
- disableTransitionOnChange: true,
111
- ...props,
112
- children
113
- }
114
- );
115
- }
116
- function ThemeProviderNoSSR({
117
- children,
118
- ...props
119
- }) {
120
- const [mounted, setMounted] = React2__namespace.useState(false);
121
- React2__namespace.useEffect(() => {
122
- setMounted(true);
123
- }, []);
124
- if (!mounted) {
125
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
126
- }
127
- return /* @__PURE__ */ jsxRuntime.jsx(ThemeProvider, { ...props, children });
128
- }
129
- var init_theme_provider = __esm({
130
- "src/themes/theme-provider.tsx"() {
131
- "use client";
132
- }
133
- });
134
-
135
79
  // src/lib/theme-utils.ts
136
80
  exports.mapColorToShadcnVariant = void 0; exports.mapVariantToShadcnVariant = void 0; exports.getColorVariantClasses = void 0; exports.isDarkTheme = void 0;
137
81
  var init_theme_utils = __esm({
@@ -969,7 +913,9 @@ init_utils();
969
913
  // src/components/ui/dialog.tsx
970
914
  init_utils();
971
915
  var Dialog = SheetPrimitive__namespace.Root;
916
+ var DialogTrigger = SheetPrimitive__namespace.Trigger;
972
917
  var DialogPortal = SheetPrimitive__namespace.Portal;
918
+ var DialogClose = SheetPrimitive__namespace.Close;
973
919
  var DialogOverlay = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
974
920
  SheetPrimitive__namespace.Overlay,
975
921
  {
@@ -1004,6 +950,34 @@ var DialogContent = React2__namespace.forwardRef(({ className, children, ...prop
1004
950
  )
1005
951
  ] }));
1006
952
  DialogContent.displayName = SheetPrimitive__namespace.Content.displayName;
953
+ var DialogHeader = ({
954
+ className,
955
+ ...props
956
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
957
+ "div",
958
+ {
959
+ className: cn(
960
+ "flex flex-col space-y-1.5 text-center sm:text-left",
961
+ className
962
+ ),
963
+ ...props
964
+ }
965
+ );
966
+ DialogHeader.displayName = "DialogHeader";
967
+ var DialogFooter = ({
968
+ className,
969
+ ...props
970
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
971
+ "div",
972
+ {
973
+ className: cn(
974
+ "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
975
+ className
976
+ ),
977
+ ...props
978
+ }
979
+ );
980
+ DialogFooter.displayName = "DialogFooter";
1007
981
  var DialogTitle = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1008
982
  SheetPrimitive__namespace.Title,
1009
983
  {
@@ -1548,6 +1522,115 @@ var EmailFooter = ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("div", { styl
1548
1522
  ] })
1549
1523
  ] }) });
1550
1524
 
1525
+ // src/components/ui/card.tsx
1526
+ init_utils();
1527
+ var Card = React2__namespace.forwardRef(
1528
+ ({ className, variant = "default", ...props }, ref) => {
1529
+ const variantClasses = {
1530
+ default: "bg-[var(--card-bg-default)] border-[var(--card-border-default)]",
1531
+ subtle: "bg-[var(--card-bg-subtle)] border-[var(--card-border-subtle)]",
1532
+ "border-only": "bg-[var(--card-bg-border-only)] border-[var(--card-border-border-only)]"
1533
+ };
1534
+ return /* @__PURE__ */ jsxRuntime.jsx(
1535
+ "div",
1536
+ {
1537
+ ref,
1538
+ className: cn(
1539
+ "rounded-lg border shadow-[var(--card-shadow)]",
1540
+ variantClasses[variant],
1541
+ className
1542
+ ),
1543
+ ...props
1544
+ }
1545
+ );
1546
+ }
1547
+ );
1548
+ Card.displayName = "Card";
1549
+ var CardHeader = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1550
+ "div",
1551
+ {
1552
+ ref,
1553
+ className: cn(
1554
+ "flex flex-col space-y-[var(--card-content-gap)] p-[var(--card-content-padding)]",
1555
+ className
1556
+ ),
1557
+ ...props
1558
+ }
1559
+ ));
1560
+ CardHeader.displayName = "CardHeader";
1561
+ var CardTitle = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1562
+ "div",
1563
+ {
1564
+ ref,
1565
+ className: cn(
1566
+ "text-[var(--card-title-size)] font-[var(--card-title-weight)] leading-none tracking-tight text-[var(--card-title-text)]",
1567
+ className
1568
+ ),
1569
+ ...props
1570
+ }
1571
+ ));
1572
+ CardTitle.displayName = "CardTitle";
1573
+ var CardDescription = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1574
+ "div",
1575
+ {
1576
+ ref,
1577
+ className: cn(
1578
+ "text-[var(--card-description-size)] text-[var(--card-description-text)]",
1579
+ className
1580
+ ),
1581
+ ...props
1582
+ }
1583
+ ));
1584
+ CardDescription.displayName = "CardDescription";
1585
+ var CardContent = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1586
+ "div",
1587
+ {
1588
+ ref,
1589
+ className: cn(
1590
+ "p-[var(--card-content-padding)] pt-0",
1591
+ className
1592
+ ),
1593
+ ...props
1594
+ }
1595
+ ));
1596
+ CardContent.displayName = "CardContent";
1597
+ var CardFooter = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1598
+ "div",
1599
+ {
1600
+ ref,
1601
+ className: cn(
1602
+ "flex items-center p-[var(--card-content-padding)] pt-0",
1603
+ className
1604
+ ),
1605
+ ...props
1606
+ }
1607
+ ));
1608
+ CardFooter.displayName = "CardFooter";
1609
+
1610
+ // src/components/ui/input.tsx
1611
+ init_utils();
1612
+ var Input = React2__namespace.forwardRef(
1613
+ ({ className, type, ...props }, ref) => {
1614
+ return /* @__PURE__ */ jsxRuntime.jsx(
1615
+ "input",
1616
+ {
1617
+ type,
1618
+ className: cn(
1619
+ "flex h-10 w-full rounded-md border px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium",
1620
+ "bg-[var(--input-bg)] text-[var(--input-text)] border-[var(--input-border)] placeholder:text-[var(--input-text-placeholder)]",
1621
+ "hover:border-[var(--input-border-hover)]",
1622
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:border-[var(--input-border-focus)]",
1623
+ "disabled:cursor-not-allowed disabled:border-[var(--input-border-disabled)] disabled:bg-[var(--input-bg-disabled)] disabled:text-[var(--input-text-disabled)] disabled:opacity-[var(--input-opacity-disabled)]",
1624
+ className
1625
+ ),
1626
+ ref,
1627
+ ...props
1628
+ }
1629
+ );
1630
+ }
1631
+ );
1632
+ Input.displayName = "Input";
1633
+
1551
1634
  // src/index.ts
1552
1635
  init_utils();
1553
1636
 
@@ -1822,47 +1905,90 @@ var tokens = {
1822
1905
  radius,
1823
1906
  shadows
1824
1907
  };
1908
+ function ThemeProvider({
1909
+ children,
1910
+ ...props
1911
+ }) {
1912
+ const [NextThemesProvider, setNextThemesProvider] = React2__namespace.useState(null);
1913
+ const [mounted, setMounted] = React2__namespace.useState(false);
1914
+ React2__namespace.useEffect(() => {
1915
+ import('next-themes').then(({ ThemeProvider: Provider }) => {
1916
+ setNextThemesProvider(() => Provider);
1917
+ setMounted(true);
1918
+ });
1919
+ }, []);
1920
+ if (!mounted || !NextThemesProvider) {
1921
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
1922
+ }
1923
+ return /* @__PURE__ */ jsxRuntime.jsx(
1924
+ NextThemesProvider,
1925
+ {
1926
+ attribute: "class",
1927
+ defaultTheme: "system",
1928
+ enableSystem: true,
1929
+ disableTransitionOnChange: true,
1930
+ ...props,
1931
+ children
1932
+ }
1933
+ );
1934
+ }
1935
+ function ThemeProviderNoSSR({
1936
+ children,
1937
+ ...props
1938
+ }) {
1939
+ const [mounted, setMounted] = React2__namespace.useState(false);
1940
+ React2__namespace.useEffect(() => {
1941
+ setMounted(true);
1942
+ }, []);
1943
+ if (!mounted) {
1944
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
1945
+ }
1946
+ return /* @__PURE__ */ jsxRuntime.jsx(ThemeProvider, { ...props, children });
1947
+ }
1825
1948
 
1826
1949
  // src/themes/index.ts
1827
- init_theme_provider();
1828
1950
  init_theme_context();
1829
1951
  init_theme_toggle2();
1830
- var DynamicThemeProvider = dynamic__default.default(
1831
- () => Promise.resolve().then(() => (init_theme_provider(), theme_provider_exports)).then((mod) => ({ default: mod.ThemeProvider })),
1832
- {
1833
- ssr: false,
1834
- loading: () => /* @__PURE__ */ jsxRuntime.jsx("div", { style: { visibility: "hidden" } })
1835
- }
1836
- );
1837
- var DynamicThemeProviderNoSSR = dynamic__default.default(
1838
- () => Promise.resolve().then(() => (init_theme_provider(), theme_provider_exports)).then((mod) => ({ default: mod.ThemeProviderNoSSR })),
1839
- {
1840
- ssr: false,
1841
- loading: () => /* @__PURE__ */ jsxRuntime.jsx("div", { style: { visibility: "hidden" } })
1842
- }
1843
- );
1844
- var DynamicThemeToggle = dynamic__default.default(
1845
- () => Promise.resolve().then(() => (init_theme_toggle2(), theme_toggle_exports)).then((mod) => ({ default: mod.ThemeToggle })),
1846
- {
1847
- ssr: false,
1848
- loading: () => /* @__PURE__ */ jsxRuntime.jsx("div", { style: { visibility: "hidden" } })
1849
- }
1850
- );
1851
- function SafeThemeProvider({
1952
+ function ClientThemeProvider({
1852
1953
  children,
1853
- noSSR = false,
1854
1954
  ...props
1855
1955
  }) {
1856
- if (noSSR) {
1857
- return /* @__PURE__ */ jsxRuntime.jsx(DynamicThemeProviderNoSSR, { ...props, children });
1956
+ const [mounted, setMounted] = React2__namespace.useState(false);
1957
+ React2__namespace.useEffect(() => {
1958
+ setMounted(true);
1959
+ }, []);
1960
+ if (!mounted) {
1961
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
1962
+ }
1963
+ return /* @__PURE__ */ jsxRuntime.jsx(ThemeProvider, { ...props, children });
1964
+ }
1965
+ function ClientThemeToggle(props) {
1966
+ const [mounted, setMounted] = React2__namespace.useState(false);
1967
+ const [ThemeToggleComponent, setThemeToggleComponent] = React2__namespace.useState(null);
1968
+ React2__namespace.useEffect(() => {
1969
+ setMounted(true);
1970
+ Promise.resolve().then(() => (init_theme_toggle2(), theme_toggle_exports)).then(({ ThemeToggle: ThemeToggle2 }) => {
1971
+ setThemeToggleComponent(() => ThemeToggle2);
1972
+ });
1973
+ }, []);
1974
+ if (!mounted || !ThemeToggleComponent) {
1975
+ return null;
1858
1976
  }
1859
- return /* @__PURE__ */ jsxRuntime.jsx(DynamicThemeProvider, { ...props, children });
1977
+ return /* @__PURE__ */ jsxRuntime.jsx(ThemeToggleComponent, { ...props });
1860
1978
  }
1861
1979
 
1862
1980
  // src/themes/index.ts
1863
1981
  init_theme_utils();
1864
1982
 
1865
1983
  exports.Button = Button;
1984
+ exports.Card = Card;
1985
+ exports.CardContent = CardContent;
1986
+ exports.CardDescription = CardDescription;
1987
+ exports.CardFooter = CardFooter;
1988
+ exports.CardHeader = CardHeader;
1989
+ exports.CardTitle = CardTitle;
1990
+ exports.ClientThemeProvider = ClientThemeProvider;
1991
+ exports.ClientThemeToggle = ClientThemeToggle;
1866
1992
  exports.Collapsible = Collapsible;
1867
1993
  exports.CollapsibleContent = CollapsibleContent2;
1868
1994
  exports.CollapsibleTrigger = CollapsibleTrigger2;
@@ -1890,10 +2016,17 @@ exports.ContextMenuSub = ContextMenuSub;
1890
2016
  exports.ContextMenuSubContent = ContextMenuSubContent;
1891
2017
  exports.ContextMenuSubTrigger = ContextMenuSubTrigger;
1892
2018
  exports.ContextMenuTrigger = ContextMenuTrigger;
2019
+ exports.Dialog = Dialog;
2020
+ exports.DialogClose = DialogClose;
2021
+ exports.DialogContent = DialogContent;
2022
+ exports.DialogDescription = DialogDescription;
2023
+ exports.DialogFooter = DialogFooter;
2024
+ exports.DialogHeader = DialogHeader;
2025
+ exports.DialogOverlay = DialogOverlay;
2026
+ exports.DialogPortal = DialogPortal;
2027
+ exports.DialogTitle = DialogTitle;
2028
+ exports.DialogTrigger = DialogTrigger;
1893
2029
  exports.DropdownMenu = DropdownMenu;
1894
- exports.DynamicThemeProvider = DynamicThemeProvider;
1895
- exports.DynamicThemeProviderNoSSR = DynamicThemeProviderNoSSR;
1896
- exports.DynamicThemeToggle = DynamicThemeToggle;
1897
2030
  exports.EmailButton = EmailButton;
1898
2031
  exports.EmailCaption = EmailCaption;
1899
2032
  exports.EmailContainer = EmailContainer;
@@ -1907,11 +2040,11 @@ exports.Heading = Heading;
1907
2040
  exports.HoverCard = HoverCard;
1908
2041
  exports.HoverCardContent = HoverCardContent;
1909
2042
  exports.HoverCardTrigger = HoverCardTrigger;
2043
+ exports.Input = Input;
1910
2044
  exports.Popover = Popover;
1911
2045
  exports.PopoverAnchor = PopoverAnchor;
1912
2046
  exports.PopoverContent = PopoverContent;
1913
2047
  exports.PopoverTrigger = PopoverTrigger;
1914
- exports.SafeThemeProvider = SafeThemeProvider;
1915
2048
  exports.Sheet = Sheet;
1916
2049
  exports.SheetClose = SheetClose;
1917
2050
  exports.SheetContent = SheetContent;