@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.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';
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';
package/dist/index.js CHANGED
@@ -3,7 +3,6 @@
3
3
  var clsx = require('clsx');
4
4
  var tailwindMerge = require('tailwind-merge');
5
5
  var React2 = require('react');
6
- var nextThemes = require('next-themes');
7
6
  var jsxRuntime = require('react/jsx-runtime');
8
7
  var iconsReact = require('@tabler/icons-react');
9
8
  var reactSlot = require('@radix-ui/react-slot');
@@ -18,9 +17,6 @@ var SheetPrimitive = require('@radix-ui/react-dialog');
18
17
  var cmdk = require('cmdk');
19
18
  var CollapsiblePrimitive = require('@radix-ui/react-collapsible');
20
19
  var ContextMenuPrimitive = require('@radix-ui/react-context-menu');
21
- var dynamic = require('next/dynamic');
22
-
23
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
24
20
 
25
21
  function _interopNamespace(e) {
26
22
  if (e && e.__esModule) return e;
@@ -50,10 +46,11 @@ var HoverCardPrimitive__namespace = /*#__PURE__*/_interopNamespace(HoverCardPrim
50
46
  var SheetPrimitive__namespace = /*#__PURE__*/_interopNamespace(SheetPrimitive);
51
47
  var CollapsiblePrimitive__namespace = /*#__PURE__*/_interopNamespace(CollapsiblePrimitive);
52
48
  var ContextMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(ContextMenuPrimitive);
53
- var dynamic__default = /*#__PURE__*/_interopDefault(dynamic);
54
49
 
55
50
  var __defProp = Object.defineProperty;
51
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
56
52
  var __getOwnPropNames = Object.getOwnPropertyNames;
53
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
57
54
  var __esm = (fn, res) => function __init() {
58
55
  return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
59
56
  };
@@ -61,6 +58,15 @@ var __export = (target, all) => {
61
58
  for (var name in all)
62
59
  __defProp(target, name, { get: all[name], enumerable: true });
63
60
  };
61
+ var __copyProps = (to, from, except, desc) => {
62
+ if (from && typeof from === "object" || typeof from === "function") {
63
+ for (let key of __getOwnPropNames(from))
64
+ if (!__hasOwnProp.call(to, key) && key !== except)
65
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
66
+ }
67
+ return to;
68
+ };
69
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
64
70
  function cn(...inputs) {
65
71
  return tailwindMerge.twMerge(clsx.clsx(inputs));
66
72
  }
@@ -81,50 +87,6 @@ var init_utils = __esm({
81
87
  }
82
88
  });
83
89
 
84
- // src/themes/theme-provider.tsx
85
- var theme_provider_exports = {};
86
- __export(theme_provider_exports, {
87
- ThemeProvider: () => ThemeProvider,
88
- ThemeProviderNoSSR: () => ThemeProviderNoSSR
89
- });
90
- function ThemeProvider({
91
- children,
92
- ...props
93
- }) {
94
- if (typeof window === "undefined") {
95
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
96
- }
97
- return /* @__PURE__ */ jsxRuntime.jsx(
98
- nextThemes.ThemeProvider,
99
- {
100
- attribute: "class",
101
- defaultTheme: "system",
102
- enableSystem: true,
103
- disableTransitionOnChange: true,
104
- ...props,
105
- children
106
- }
107
- );
108
- }
109
- function ThemeProviderNoSSR({
110
- children,
111
- ...props
112
- }) {
113
- const [mounted, setMounted] = React2__namespace.useState(false);
114
- React2__namespace.useEffect(() => {
115
- setMounted(true);
116
- }, []);
117
- if (!mounted) {
118
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
119
- }
120
- return /* @__PURE__ */ jsxRuntime.jsx(ThemeProvider, { ...props, children });
121
- }
122
- var init_theme_provider = __esm({
123
- "src/themes/theme-provider.tsx"() {
124
- "use client";
125
- }
126
- });
127
-
128
90
  // src/lib/theme-utils.ts
129
91
  exports.mapColorToShadcnVariant = void 0; exports.mapVariantToShadcnVariant = void 0; exports.getColorVariantClasses = void 0; exports.isDarkTheme = void 0;
130
92
  var init_theme_utils = __esm({
@@ -187,28 +149,42 @@ var init_theme_utils = __esm({
187
149
  }
188
150
  });
189
151
  function useTheme() {
190
- if (typeof window === "undefined") {
152
+ const [themeData, setThemeData] = React2__namespace.useState({
153
+ theme: "system",
154
+ setTheme: (theme) => {
155
+ },
156
+ resolvedTheme: "light",
157
+ isDark: false
158
+ });
159
+ const [mounted, setMounted] = React2__namespace.useState(false);
160
+ React2__namespace.useEffect(() => {
161
+ import('next-themes').then(({ useTheme: useNextTheme }) => {
162
+ const { theme, setTheme, resolvedTheme, systemTheme } = useNextTheme();
163
+ const isDark = exports.isDarkTheme(theme, systemTheme);
164
+ setThemeData({
165
+ theme: theme || "system",
166
+ setTheme,
167
+ resolvedTheme: resolvedTheme || "light",
168
+ isDark
169
+ });
170
+ setMounted(true);
171
+ });
172
+ }, []);
173
+ if (!mounted) {
191
174
  return {
192
175
  theme: "system",
193
- setTheme: () => {
176
+ setTheme: (theme) => {
194
177
  },
195
178
  resolvedTheme: "light",
196
179
  isDark: false
197
180
  };
198
181
  }
199
- const { theme, setTheme, resolvedTheme, systemTheme } = nextThemes.useTheme();
200
- const isDark = exports.isDarkTheme(theme, systemTheme);
201
- return {
202
- theme: theme || "system",
203
- setTheme,
204
- resolvedTheme: resolvedTheme || "light",
205
- isDark
206
- };
182
+ return themeData;
207
183
  }
208
184
  function useThemeServer() {
209
185
  return {
210
186
  theme: "system",
211
- setTheme: () => {
187
+ setTheme: (theme) => {
212
188
  },
213
189
  resolvedTheme: "light",
214
190
  isDark: false
@@ -1801,47 +1777,81 @@ var tokens = {
1801
1777
  radius,
1802
1778
  shadows
1803
1779
  };
1780
+ function ThemeProvider({
1781
+ children,
1782
+ ...props
1783
+ }) {
1784
+ const [NextThemesProvider, setNextThemesProvider] = React2__namespace.useState(null);
1785
+ const [mounted, setMounted] = React2__namespace.useState(false);
1786
+ React2__namespace.useEffect(() => {
1787
+ import('next-themes').then(({ ThemeProvider: Provider }) => {
1788
+ setNextThemesProvider(() => Provider);
1789
+ setMounted(true);
1790
+ });
1791
+ }, []);
1792
+ if (!mounted || !NextThemesProvider) {
1793
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
1794
+ }
1795
+ return /* @__PURE__ */ jsxRuntime.jsx(
1796
+ NextThemesProvider,
1797
+ {
1798
+ attribute: "class",
1799
+ defaultTheme: "system",
1800
+ enableSystem: true,
1801
+ disableTransitionOnChange: true,
1802
+ ...props,
1803
+ children
1804
+ }
1805
+ );
1806
+ }
1807
+ function ThemeProviderNoSSR({
1808
+ children,
1809
+ ...props
1810
+ }) {
1811
+ const [mounted, setMounted] = React2__namespace.useState(false);
1812
+ React2__namespace.useEffect(() => {
1813
+ setMounted(true);
1814
+ }, []);
1815
+ if (!mounted) {
1816
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
1817
+ }
1818
+ return /* @__PURE__ */ jsxRuntime.jsx(ThemeProvider, { ...props, children });
1819
+ }
1804
1820
 
1805
1821
  // src/themes/index.ts
1806
- init_theme_provider();
1807
1822
  init_theme_context();
1808
1823
  init_theme_toggle2();
1809
- var DynamicThemeProvider = dynamic__default.default(
1810
- () => Promise.resolve().then(() => (init_theme_provider(), theme_provider_exports)).then((mod) => ({ default: mod.ThemeProvider })),
1811
- {
1812
- ssr: false,
1813
- loading: () => /* @__PURE__ */ jsxRuntime.jsx("div", { style: { visibility: "hidden" } })
1814
- }
1815
- );
1816
- var DynamicThemeProviderNoSSR = dynamic__default.default(
1817
- () => Promise.resolve().then(() => (init_theme_provider(), theme_provider_exports)).then((mod) => ({ default: mod.ThemeProviderNoSSR })),
1818
- {
1819
- ssr: false,
1820
- loading: () => /* @__PURE__ */ jsxRuntime.jsx("div", { style: { visibility: "hidden" } })
1821
- }
1822
- );
1823
- var DynamicThemeToggle = dynamic__default.default(
1824
- () => Promise.resolve().then(() => (init_theme_toggle2(), theme_toggle_exports)).then((mod) => ({ default: mod.ThemeToggle })),
1825
- {
1826
- ssr: false,
1827
- loading: () => /* @__PURE__ */ jsxRuntime.jsx("div", { style: { visibility: "hidden" } })
1828
- }
1829
- );
1830
- function SafeThemeProvider({
1824
+ function ClientThemeProvider({
1831
1825
  children,
1832
- noSSR = false,
1833
1826
  ...props
1834
1827
  }) {
1835
- if (noSSR) {
1836
- return /* @__PURE__ */ jsxRuntime.jsx(DynamicThemeProviderNoSSR, { ...props, children });
1828
+ const [mounted, setMounted] = React2__namespace.useState(false);
1829
+ React2__namespace.useEffect(() => {
1830
+ setMounted(true);
1831
+ }, []);
1832
+ if (!mounted) {
1833
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
1834
+ }
1835
+ return /* @__PURE__ */ jsxRuntime.jsx(ThemeProvider, { ...props, children });
1836
+ }
1837
+ function ClientThemeToggle(props) {
1838
+ const [mounted, setMounted] = React2__namespace.useState(false);
1839
+ React2__namespace.useEffect(() => {
1840
+ setMounted(true);
1841
+ }, []);
1842
+ if (!mounted) {
1843
+ return null;
1837
1844
  }
1838
- return /* @__PURE__ */ jsxRuntime.jsx(DynamicThemeProvider, { ...props, children });
1845
+ const { ThemeToggle: ThemeToggle2 } = (init_theme_toggle2(), __toCommonJS(theme_toggle_exports));
1846
+ return /* @__PURE__ */ jsxRuntime.jsx(ThemeToggle2, { ...props });
1839
1847
  }
1840
1848
 
1841
1849
  // src/themes/index.ts
1842
1850
  init_theme_utils();
1843
1851
 
1844
1852
  exports.Button = Button;
1853
+ exports.ClientThemeProvider = ClientThemeProvider;
1854
+ exports.ClientThemeToggle = ClientThemeToggle;
1845
1855
  exports.Collapsible = Collapsible;
1846
1856
  exports.CollapsibleContent = CollapsibleContent2;
1847
1857
  exports.CollapsibleTrigger = CollapsibleTrigger2;
@@ -1870,9 +1880,6 @@ exports.ContextMenuSubContent = ContextMenuSubContent;
1870
1880
  exports.ContextMenuSubTrigger = ContextMenuSubTrigger;
1871
1881
  exports.ContextMenuTrigger = ContextMenuTrigger;
1872
1882
  exports.DropdownMenu = DropdownMenu;
1873
- exports.DynamicThemeProvider = DynamicThemeProvider;
1874
- exports.DynamicThemeProviderNoSSR = DynamicThemeProviderNoSSR;
1875
- exports.DynamicThemeToggle = DynamicThemeToggle;
1876
1883
  exports.EmailButton = EmailButton;
1877
1884
  exports.EmailCaption = EmailCaption;
1878
1885
  exports.EmailContainer = EmailContainer;
@@ -1890,7 +1897,6 @@ exports.Popover = Popover;
1890
1897
  exports.PopoverAnchor = PopoverAnchor;
1891
1898
  exports.PopoverContent = PopoverContent;
1892
1899
  exports.PopoverTrigger = PopoverTrigger;
1893
- exports.SafeThemeProvider = SafeThemeProvider;
1894
1900
  exports.Sheet = Sheet;
1895
1901
  exports.SheetClose = SheetClose;
1896
1902
  exports.SheetContent = SheetContent;