@tydavidson/design-system 1.1.8 → 1.1.10

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
@@ -1,7 +1,6 @@
1
1
  import { clsx } from 'clsx';
2
2
  import { twMerge } from 'tailwind-merge';
3
3
  import * as React2 from 'react';
4
- import { ThemeProvider as ThemeProvider$1, useTheme as useTheme$1 } from 'next-themes';
5
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
5
  import { IconCheck, IconPointFilled, IconChevronRight, IconX, IconSearch, IconSun, IconMoon } from '@tabler/icons-react';
7
6
  import { Slot } from '@radix-ui/react-slot';
@@ -16,10 +15,11 @@ import * as SheetPrimitive from '@radix-ui/react-dialog';
16
15
  import { Command as Command$1 } from 'cmdk';
17
16
  import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
18
17
  import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
19
- import dynamic from 'next/dynamic';
20
18
 
21
19
  var __defProp = Object.defineProperty;
20
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
22
21
  var __getOwnPropNames = Object.getOwnPropertyNames;
22
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
23
23
  var __esm = (fn, res) => function __init() {
24
24
  return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
25
25
  };
@@ -27,6 +27,15 @@ var __export = (target, all) => {
27
27
  for (var name in all)
28
28
  __defProp(target, name, { get: all[name], enumerable: true });
29
29
  };
30
+ var __copyProps = (to, from, except, desc) => {
31
+ if (from && typeof from === "object" || typeof from === "function") {
32
+ for (let key of __getOwnPropNames(from))
33
+ if (!__hasOwnProp.call(to, key) && key !== except)
34
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
35
+ }
36
+ return to;
37
+ };
38
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
39
  function cn(...inputs) {
31
40
  return twMerge(clsx(inputs));
32
41
  }
@@ -47,50 +56,6 @@ var init_utils = __esm({
47
56
  }
48
57
  });
49
58
 
50
- // src/themes/theme-provider.tsx
51
- var theme_provider_exports = {};
52
- __export(theme_provider_exports, {
53
- ThemeProvider: () => ThemeProvider,
54
- ThemeProviderNoSSR: () => ThemeProviderNoSSR
55
- });
56
- function ThemeProvider({
57
- children,
58
- ...props
59
- }) {
60
- if (typeof window === "undefined") {
61
- return /* @__PURE__ */ jsx(Fragment, { children });
62
- }
63
- return /* @__PURE__ */ jsx(
64
- ThemeProvider$1,
65
- {
66
- attribute: "class",
67
- defaultTheme: "system",
68
- enableSystem: true,
69
- disableTransitionOnChange: true,
70
- ...props,
71
- children
72
- }
73
- );
74
- }
75
- function ThemeProviderNoSSR({
76
- children,
77
- ...props
78
- }) {
79
- const [mounted, setMounted] = React2.useState(false);
80
- React2.useEffect(() => {
81
- setMounted(true);
82
- }, []);
83
- if (!mounted) {
84
- return /* @__PURE__ */ jsx(Fragment, { children });
85
- }
86
- return /* @__PURE__ */ jsx(ThemeProvider, { ...props, children });
87
- }
88
- var init_theme_provider = __esm({
89
- "src/themes/theme-provider.tsx"() {
90
- "use client";
91
- }
92
- });
93
-
94
59
  // src/lib/theme-utils.ts
95
60
  var mapColorToShadcnVariant, mapVariantToShadcnVariant, getColorVariantClasses, isDarkTheme;
96
61
  var init_theme_utils = __esm({
@@ -153,28 +118,42 @@ var init_theme_utils = __esm({
153
118
  }
154
119
  });
155
120
  function useTheme() {
156
- if (typeof window === "undefined") {
121
+ const [themeData, setThemeData] = React2.useState({
122
+ theme: "system",
123
+ setTheme: (theme) => {
124
+ },
125
+ resolvedTheme: "light",
126
+ isDark: false
127
+ });
128
+ const [mounted, setMounted] = React2.useState(false);
129
+ React2.useEffect(() => {
130
+ import('next-themes').then(({ useTheme: useNextTheme }) => {
131
+ const { theme, setTheme, resolvedTheme, systemTheme } = useNextTheme();
132
+ const isDark = isDarkTheme(theme, systemTheme);
133
+ setThemeData({
134
+ theme: theme || "system",
135
+ setTheme,
136
+ resolvedTheme: resolvedTheme || "light",
137
+ isDark
138
+ });
139
+ setMounted(true);
140
+ });
141
+ }, []);
142
+ if (!mounted) {
157
143
  return {
158
144
  theme: "system",
159
- setTheme: () => {
145
+ setTheme: (theme) => {
160
146
  },
161
147
  resolvedTheme: "light",
162
148
  isDark: false
163
149
  };
164
150
  }
165
- const { theme, setTheme, resolvedTheme, systemTheme } = useTheme$1();
166
- const isDark = isDarkTheme(theme, systemTheme);
167
- return {
168
- theme: theme || "system",
169
- setTheme,
170
- resolvedTheme: resolvedTheme || "light",
171
- isDark
172
- };
151
+ return themeData;
173
152
  }
174
153
  function useThemeServer() {
175
154
  return {
176
155
  theme: "system",
177
- setTheme: () => {
156
+ setTheme: (theme) => {
178
157
  },
179
158
  resolvedTheme: "light",
180
159
  isDark: false
@@ -1767,46 +1746,78 @@ var tokens = {
1767
1746
  radius,
1768
1747
  shadows
1769
1748
  };
1749
+ function ThemeProvider({
1750
+ children,
1751
+ ...props
1752
+ }) {
1753
+ const [NextThemesProvider, setNextThemesProvider] = React2.useState(null);
1754
+ const [mounted, setMounted] = React2.useState(false);
1755
+ React2.useEffect(() => {
1756
+ import('next-themes').then(({ ThemeProvider: Provider }) => {
1757
+ setNextThemesProvider(() => Provider);
1758
+ setMounted(true);
1759
+ });
1760
+ }, []);
1761
+ if (!mounted || !NextThemesProvider) {
1762
+ return /* @__PURE__ */ jsx(Fragment, { children });
1763
+ }
1764
+ return /* @__PURE__ */ jsx(
1765
+ NextThemesProvider,
1766
+ {
1767
+ attribute: "class",
1768
+ defaultTheme: "system",
1769
+ enableSystem: true,
1770
+ disableTransitionOnChange: true,
1771
+ ...props,
1772
+ children
1773
+ }
1774
+ );
1775
+ }
1776
+ function ThemeProviderNoSSR({
1777
+ children,
1778
+ ...props
1779
+ }) {
1780
+ const [mounted, setMounted] = React2.useState(false);
1781
+ React2.useEffect(() => {
1782
+ setMounted(true);
1783
+ }, []);
1784
+ if (!mounted) {
1785
+ return /* @__PURE__ */ jsx(Fragment, { children });
1786
+ }
1787
+ return /* @__PURE__ */ jsx(ThemeProvider, { ...props, children });
1788
+ }
1770
1789
 
1771
1790
  // src/themes/index.ts
1772
- init_theme_provider();
1773
1791
  init_theme_context();
1774
1792
  init_theme_toggle2();
1775
- var DynamicThemeProvider = dynamic(
1776
- () => Promise.resolve().then(() => (init_theme_provider(), theme_provider_exports)).then((mod) => ({ default: mod.ThemeProvider })),
1777
- {
1778
- ssr: false,
1779
- loading: () => /* @__PURE__ */ jsx("div", { style: { visibility: "hidden" } })
1780
- }
1781
- );
1782
- var DynamicThemeProviderNoSSR = dynamic(
1783
- () => Promise.resolve().then(() => (init_theme_provider(), theme_provider_exports)).then((mod) => ({ default: mod.ThemeProviderNoSSR })),
1784
- {
1785
- ssr: false,
1786
- loading: () => /* @__PURE__ */ jsx("div", { style: { visibility: "hidden" } })
1787
- }
1788
- );
1789
- var DynamicThemeToggle = dynamic(
1790
- () => Promise.resolve().then(() => (init_theme_toggle2(), theme_toggle_exports)).then((mod) => ({ default: mod.ThemeToggle })),
1791
- {
1792
- ssr: false,
1793
- loading: () => /* @__PURE__ */ jsx("div", { style: { visibility: "hidden" } })
1794
- }
1795
- );
1796
- function SafeThemeProvider({
1793
+ function ClientThemeProvider({
1797
1794
  children,
1798
- noSSR = false,
1799
1795
  ...props
1800
1796
  }) {
1801
- if (noSSR) {
1802
- return /* @__PURE__ */ jsx(DynamicThemeProviderNoSSR, { ...props, children });
1797
+ const [mounted, setMounted] = React2.useState(false);
1798
+ React2.useEffect(() => {
1799
+ setMounted(true);
1800
+ }, []);
1801
+ if (!mounted) {
1802
+ return /* @__PURE__ */ jsx(Fragment, { children });
1803
+ }
1804
+ return /* @__PURE__ */ jsx(ThemeProvider, { ...props, children });
1805
+ }
1806
+ function ClientThemeToggle(props) {
1807
+ const [mounted, setMounted] = React2.useState(false);
1808
+ React2.useEffect(() => {
1809
+ setMounted(true);
1810
+ }, []);
1811
+ if (!mounted) {
1812
+ return null;
1803
1813
  }
1804
- return /* @__PURE__ */ jsx(DynamicThemeProvider, { ...props, children });
1814
+ const { ThemeToggle: ThemeToggle2 } = (init_theme_toggle2(), __toCommonJS(theme_toggle_exports));
1815
+ return /* @__PURE__ */ jsx(ThemeToggle2, { ...props });
1805
1816
  }
1806
1817
 
1807
1818
  // src/themes/index.ts
1808
1819
  init_theme_utils();
1809
1820
 
1810
- 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 };
1821
+ export { Button, 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, DropdownMenu, EmailButton, EmailCaption, EmailContainer, EmailFooter, EmailHeader, EmailHeading, EmailLayout, EmailMuted, EmailText, Heading, HoverCard, HoverCardContent, HoverCardTrigger, 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 };
1811
1822
  //# sourceMappingURL=index.mjs.map
1812
1823
  //# sourceMappingURL=index.mjs.map