@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.mjs CHANGED
@@ -15,7 +15,6 @@ import * as SheetPrimitive from '@radix-ui/react-dialog';
15
15
  import { Command as Command$1 } from 'cmdk';
16
16
  import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
17
17
  import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
18
- import dynamic from 'next/dynamic';
19
18
 
20
19
  var __defProp = Object.defineProperty;
21
20
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -46,58 +45,6 @@ var init_utils = __esm({
46
45
  }
47
46
  });
48
47
 
49
- // src/themes/theme-provider.tsx
50
- var theme_provider_exports = {};
51
- __export(theme_provider_exports, {
52
- ThemeProvider: () => ThemeProvider,
53
- ThemeProviderNoSSR: () => ThemeProviderNoSSR
54
- });
55
- function ThemeProvider({
56
- children,
57
- ...props
58
- }) {
59
- const [NextThemesProvider, setNextThemesProvider] = React2.useState(null);
60
- const [mounted, setMounted] = React2.useState(false);
61
- React2.useEffect(() => {
62
- import('next-themes').then(({ ThemeProvider: Provider }) => {
63
- setNextThemesProvider(() => Provider);
64
- setMounted(true);
65
- });
66
- }, []);
67
- if (!mounted || !NextThemesProvider) {
68
- return /* @__PURE__ */ jsx(Fragment, { children });
69
- }
70
- return /* @__PURE__ */ jsx(
71
- NextThemesProvider,
72
- {
73
- attribute: "class",
74
- defaultTheme: "system",
75
- enableSystem: true,
76
- disableTransitionOnChange: true,
77
- ...props,
78
- children
79
- }
80
- );
81
- }
82
- function ThemeProviderNoSSR({
83
- children,
84
- ...props
85
- }) {
86
- const [mounted, setMounted] = React2.useState(false);
87
- React2.useEffect(() => {
88
- setMounted(true);
89
- }, []);
90
- if (!mounted) {
91
- return /* @__PURE__ */ jsx(Fragment, { children });
92
- }
93
- return /* @__PURE__ */ jsx(ThemeProvider, { ...props, children });
94
- }
95
- var init_theme_provider = __esm({
96
- "src/themes/theme-provider.tsx"() {
97
- "use client";
98
- }
99
- });
100
-
101
48
  // src/lib/theme-utils.ts
102
49
  var mapColorToShadcnVariant, mapVariantToShadcnVariant, getColorVariantClasses, isDarkTheme;
103
50
  var init_theme_utils = __esm({
@@ -935,7 +882,9 @@ init_utils();
935
882
  // src/components/ui/dialog.tsx
936
883
  init_utils();
937
884
  var Dialog = SheetPrimitive.Root;
885
+ var DialogTrigger = SheetPrimitive.Trigger;
938
886
  var DialogPortal = SheetPrimitive.Portal;
887
+ var DialogClose = SheetPrimitive.Close;
939
888
  var DialogOverlay = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
940
889
  SheetPrimitive.Overlay,
941
890
  {
@@ -970,6 +919,34 @@ var DialogContent = React2.forwardRef(({ className, children, ...props }, ref) =
970
919
  )
971
920
  ] }));
972
921
  DialogContent.displayName = SheetPrimitive.Content.displayName;
922
+ var DialogHeader = ({
923
+ className,
924
+ ...props
925
+ }) => /* @__PURE__ */ jsx(
926
+ "div",
927
+ {
928
+ className: cn(
929
+ "flex flex-col space-y-1.5 text-center sm:text-left",
930
+ className
931
+ ),
932
+ ...props
933
+ }
934
+ );
935
+ DialogHeader.displayName = "DialogHeader";
936
+ var DialogFooter = ({
937
+ className,
938
+ ...props
939
+ }) => /* @__PURE__ */ jsx(
940
+ "div",
941
+ {
942
+ className: cn(
943
+ "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
944
+ className
945
+ ),
946
+ ...props
947
+ }
948
+ );
949
+ DialogFooter.displayName = "DialogFooter";
973
950
  var DialogTitle = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
974
951
  SheetPrimitive.Title,
975
952
  {
@@ -1514,6 +1491,115 @@ var EmailFooter = ({ children }) => /* @__PURE__ */ jsx("div", { style: {
1514
1491
  ] })
1515
1492
  ] }) });
1516
1493
 
1494
+ // src/components/ui/card.tsx
1495
+ init_utils();
1496
+ var Card = React2.forwardRef(
1497
+ ({ className, variant = "default", ...props }, ref) => {
1498
+ const variantClasses = {
1499
+ default: "bg-[var(--card-bg-default)] border-[var(--card-border-default)]",
1500
+ subtle: "bg-[var(--card-bg-subtle)] border-[var(--card-border-subtle)]",
1501
+ "border-only": "bg-[var(--card-bg-border-only)] border-[var(--card-border-border-only)]"
1502
+ };
1503
+ return /* @__PURE__ */ jsx(
1504
+ "div",
1505
+ {
1506
+ ref,
1507
+ className: cn(
1508
+ "rounded-lg border shadow-[var(--card-shadow)]",
1509
+ variantClasses[variant],
1510
+ className
1511
+ ),
1512
+ ...props
1513
+ }
1514
+ );
1515
+ }
1516
+ );
1517
+ Card.displayName = "Card";
1518
+ var CardHeader = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1519
+ "div",
1520
+ {
1521
+ ref,
1522
+ className: cn(
1523
+ "flex flex-col space-y-[var(--card-content-gap)] p-[var(--card-content-padding)]",
1524
+ className
1525
+ ),
1526
+ ...props
1527
+ }
1528
+ ));
1529
+ CardHeader.displayName = "CardHeader";
1530
+ var CardTitle = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1531
+ "div",
1532
+ {
1533
+ ref,
1534
+ className: cn(
1535
+ "text-[var(--card-title-size)] font-[var(--card-title-weight)] leading-none tracking-tight text-[var(--card-title-text)]",
1536
+ className
1537
+ ),
1538
+ ...props
1539
+ }
1540
+ ));
1541
+ CardTitle.displayName = "CardTitle";
1542
+ var CardDescription = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1543
+ "div",
1544
+ {
1545
+ ref,
1546
+ className: cn(
1547
+ "text-[var(--card-description-size)] text-[var(--card-description-text)]",
1548
+ className
1549
+ ),
1550
+ ...props
1551
+ }
1552
+ ));
1553
+ CardDescription.displayName = "CardDescription";
1554
+ var CardContent = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1555
+ "div",
1556
+ {
1557
+ ref,
1558
+ className: cn(
1559
+ "p-[var(--card-content-padding)] pt-0",
1560
+ className
1561
+ ),
1562
+ ...props
1563
+ }
1564
+ ));
1565
+ CardContent.displayName = "CardContent";
1566
+ var CardFooter = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1567
+ "div",
1568
+ {
1569
+ ref,
1570
+ className: cn(
1571
+ "flex items-center p-[var(--card-content-padding)] pt-0",
1572
+ className
1573
+ ),
1574
+ ...props
1575
+ }
1576
+ ));
1577
+ CardFooter.displayName = "CardFooter";
1578
+
1579
+ // src/components/ui/input.tsx
1580
+ init_utils();
1581
+ var Input = React2.forwardRef(
1582
+ ({ className, type, ...props }, ref) => {
1583
+ return /* @__PURE__ */ jsx(
1584
+ "input",
1585
+ {
1586
+ type,
1587
+ className: cn(
1588
+ "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",
1589
+ "bg-[var(--input-bg)] text-[var(--input-text)] border-[var(--input-border)] placeholder:text-[var(--input-text-placeholder)]",
1590
+ "hover:border-[var(--input-border-hover)]",
1591
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:border-[var(--input-border-focus)]",
1592
+ "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)]",
1593
+ className
1594
+ ),
1595
+ ref,
1596
+ ...props
1597
+ }
1598
+ );
1599
+ }
1600
+ );
1601
+ Input.displayName = "Input";
1602
+
1517
1603
  // src/index.ts
1518
1604
  init_utils();
1519
1605
 
@@ -1788,46 +1874,81 @@ var tokens = {
1788
1874
  radius,
1789
1875
  shadows
1790
1876
  };
1877
+ function ThemeProvider({
1878
+ children,
1879
+ ...props
1880
+ }) {
1881
+ const [NextThemesProvider, setNextThemesProvider] = React2.useState(null);
1882
+ const [mounted, setMounted] = React2.useState(false);
1883
+ React2.useEffect(() => {
1884
+ import('next-themes').then(({ ThemeProvider: Provider }) => {
1885
+ setNextThemesProvider(() => Provider);
1886
+ setMounted(true);
1887
+ });
1888
+ }, []);
1889
+ if (!mounted || !NextThemesProvider) {
1890
+ return /* @__PURE__ */ jsx(Fragment, { children });
1891
+ }
1892
+ return /* @__PURE__ */ jsx(
1893
+ NextThemesProvider,
1894
+ {
1895
+ attribute: "class",
1896
+ defaultTheme: "system",
1897
+ enableSystem: true,
1898
+ disableTransitionOnChange: true,
1899
+ ...props,
1900
+ children
1901
+ }
1902
+ );
1903
+ }
1904
+ function ThemeProviderNoSSR({
1905
+ children,
1906
+ ...props
1907
+ }) {
1908
+ const [mounted, setMounted] = React2.useState(false);
1909
+ React2.useEffect(() => {
1910
+ setMounted(true);
1911
+ }, []);
1912
+ if (!mounted) {
1913
+ return /* @__PURE__ */ jsx(Fragment, { children });
1914
+ }
1915
+ return /* @__PURE__ */ jsx(ThemeProvider, { ...props, children });
1916
+ }
1791
1917
 
1792
1918
  // src/themes/index.ts
1793
- init_theme_provider();
1794
1919
  init_theme_context();
1795
1920
  init_theme_toggle2();
1796
- var DynamicThemeProvider = dynamic(
1797
- () => Promise.resolve().then(() => (init_theme_provider(), theme_provider_exports)).then((mod) => ({ default: mod.ThemeProvider })),
1798
- {
1799
- ssr: false,
1800
- loading: () => /* @__PURE__ */ jsx("div", { style: { visibility: "hidden" } })
1801
- }
1802
- );
1803
- var DynamicThemeProviderNoSSR = dynamic(
1804
- () => Promise.resolve().then(() => (init_theme_provider(), theme_provider_exports)).then((mod) => ({ default: mod.ThemeProviderNoSSR })),
1805
- {
1806
- ssr: false,
1807
- loading: () => /* @__PURE__ */ jsx("div", { style: { visibility: "hidden" } })
1808
- }
1809
- );
1810
- var DynamicThemeToggle = dynamic(
1811
- () => Promise.resolve().then(() => (init_theme_toggle2(), theme_toggle_exports)).then((mod) => ({ default: mod.ThemeToggle })),
1812
- {
1813
- ssr: false,
1814
- loading: () => /* @__PURE__ */ jsx("div", { style: { visibility: "hidden" } })
1815
- }
1816
- );
1817
- function SafeThemeProvider({
1921
+ function ClientThemeProvider({
1818
1922
  children,
1819
- noSSR = false,
1820
1923
  ...props
1821
1924
  }) {
1822
- if (noSSR) {
1823
- return /* @__PURE__ */ jsx(DynamicThemeProviderNoSSR, { ...props, children });
1925
+ const [mounted, setMounted] = React2.useState(false);
1926
+ React2.useEffect(() => {
1927
+ setMounted(true);
1928
+ }, []);
1929
+ if (!mounted) {
1930
+ return /* @__PURE__ */ jsx(Fragment, { children });
1931
+ }
1932
+ return /* @__PURE__ */ jsx(ThemeProvider, { ...props, children });
1933
+ }
1934
+ function ClientThemeToggle(props) {
1935
+ const [mounted, setMounted] = React2.useState(false);
1936
+ const [ThemeToggleComponent, setThemeToggleComponent] = React2.useState(null);
1937
+ React2.useEffect(() => {
1938
+ setMounted(true);
1939
+ Promise.resolve().then(() => (init_theme_toggle2(), theme_toggle_exports)).then(({ ThemeToggle: ThemeToggle2 }) => {
1940
+ setThemeToggleComponent(() => ThemeToggle2);
1941
+ });
1942
+ }, []);
1943
+ if (!mounted || !ThemeToggleComponent) {
1944
+ return null;
1824
1945
  }
1825
- return /* @__PURE__ */ jsx(DynamicThemeProvider, { ...props, children });
1946
+ return /* @__PURE__ */ jsx(ThemeToggleComponent, { ...props });
1826
1947
  }
1827
1948
 
1828
1949
  // src/themes/index.ts
1829
1950
  init_theme_utils();
1830
1951
 
1831
- export { Button, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, 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, DynamicThemeProvider, DynamicThemeProviderNoSSR, DynamicThemeToggle, EmailButton, EmailCaption, EmailContainer, EmailFooter, EmailHeader, EmailHeading, EmailLayout, EmailMuted, EmailText, Heading, HoverCard, HoverCardContent, HoverCardTrigger, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, SafeThemeProvider, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Slider, Text, ThemeContextProvider, ThemeProvider, ThemeProviderNoSSR, ThemeToggle, Toggle, ToggleGroup, ToggleGroupItem, buttonVariants, cn, colors, filterDOMProps, generateId, getColorVariantClasses, isDarkTheme, isNotNullOrUndefined, mapColorToShadcnVariant, mapVariantToShadcnVariant, radius, shadows, spacing, tokens, typography, useTheme, useThemeServer };
1952
+ export { Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ClientThemeProvider, ClientThemeToggle, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, 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, EmailCaption, EmailContainer, EmailFooter, EmailHeader, EmailHeading, EmailLayout, EmailMuted, EmailText, Heading, HoverCard, HoverCardContent, HoverCardTrigger, Input, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Slider, Text, ThemeContextProvider, ThemeProvider, ThemeProviderNoSSR, ThemeToggle, Toggle, ToggleGroup, ToggleGroupItem, buttonVariants, cn, colors, filterDOMProps, generateId, getColorVariantClasses, isDarkTheme, isNotNullOrUndefined, mapColorToShadcnVariant, mapVariantToShadcnVariant, radius, shadows, spacing, tokens, typography, useTheme, useThemeServer };
1832
1953
  //# sourceMappingURL=index.mjs.map
1833
1954
  //# sourceMappingURL=index.mjs.map