@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 +57 -2
- package/dist/index.d.ts +57 -2
- package/dist/index.js +220 -87
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +202 -81
- package/dist/index.mjs.map +1 -1
- package/dist/themes/index.d.mts +11 -17
- package/dist/themes/index.d.ts +11 -17
- package/dist/themes/index.js +64 -87
- package/dist/themes/index.js.map +1 -1
- package/dist/themes/index.mjs +63 -81
- package/dist/themes/index.mjs.map +1 -1
- package/docs/setup-guide.md +15 -15
- package/docs/troubleshooting.md +7 -7
- package/package.json +1 -1
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
|
-
|
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
|
-
|
1823
|
-
|
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(
|
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,
|
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
|