@pixpilot/shadcn-ui 0.25.1 → 0.27.0

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.
Files changed (56) hide show
  1. package/dist/AbsoluteFill.cjs +1 -0
  2. package/dist/AbsoluteFill.js +1 -0
  3. package/dist/Button.cjs +1 -0
  4. package/dist/Button.js +1 -0
  5. package/dist/ColorSelect.d.ts +2 -2
  6. package/dist/ContentCard.d.cts +2 -2
  7. package/dist/ContentCard.d.ts +2 -2
  8. package/dist/DatePicker.d.cts +2 -2
  9. package/dist/DatePicker.d.ts +2 -2
  10. package/dist/ScaledPreview.cjs +2 -0
  11. package/dist/ScaledPreview.js +2 -0
  12. package/dist/file-upload/FileUpload.d.cts +2 -2
  13. package/dist/file-upload/FileUpload.d.ts +2 -2
  14. package/dist/file-upload-inline/FileUploadInline.d.ts +2 -2
  15. package/dist/index.cjs +10 -1
  16. package/dist/index.d.cts +7 -2
  17. package/dist/index.d.ts +7 -2
  18. package/dist/index.js +7 -2
  19. package/dist/input/Input.d.ts +2 -2
  20. package/dist/layout/Layout.cjs +1 -0
  21. package/dist/layout/Layout.js +1 -0
  22. package/dist/layout/LayoutFooter.cjs +1 -0
  23. package/dist/layout/LayoutFooter.js +1 -0
  24. package/dist/layout/LayoutHeader.cjs +1 -0
  25. package/dist/layout/LayoutHeader.js +1 -0
  26. package/dist/layout/LayoutMain.cjs +1 -0
  27. package/dist/layout/LayoutMain.js +1 -0
  28. package/dist/theme-provider/index.d.ts +2 -2
  29. package/dist/theme-provider/index.js +2 -2
  30. package/dist/theme-toggle/ThemeModeDropdown.cjs +81 -0
  31. package/dist/theme-toggle/ThemeModeDropdown.d.cts +25 -0
  32. package/dist/theme-toggle/ThemeModeDropdown.d.ts +25 -0
  33. package/dist/theme-toggle/ThemeModeDropdown.js +76 -0
  34. package/dist/theme-toggle/ThemeModeSwitchInside.cjs +86 -0
  35. package/dist/theme-toggle/ThemeModeSwitchInside.d.cts +33 -0
  36. package/dist/theme-toggle/ThemeModeSwitchInside.d.ts +33 -0
  37. package/dist/theme-toggle/ThemeModeSwitchInside.js +82 -0
  38. package/dist/theme-toggle/ThemeModeSwitchOutside.cjs +68 -0
  39. package/dist/theme-toggle/ThemeModeSwitchOutside.d.cts +30 -0
  40. package/dist/theme-toggle/ThemeModeSwitchOutside.d.ts +30 -0
  41. package/dist/theme-toggle/ThemeModeSwitchOutside.js +63 -0
  42. package/dist/theme-toggle/ThemeModeToggleButton.cjs +48 -0
  43. package/dist/theme-toggle/ThemeModeToggleButton.d.cts +21 -0
  44. package/dist/theme-toggle/ThemeModeToggleButton.d.ts +21 -0
  45. package/dist/theme-toggle/ThemeModeToggleButton.js +43 -0
  46. package/dist/{ThemeToggle.cjs → theme-toggle/ThemeToggle.cjs} +13 -23
  47. package/dist/theme-toggle/ThemeToggle.d.cts +17 -0
  48. package/dist/theme-toggle/ThemeToggle.d.ts +17 -0
  49. package/dist/{ThemeToggle.js → theme-toggle/ThemeToggle.js} +13 -22
  50. package/dist/theme-toggle/index.cjs +5 -0
  51. package/dist/theme-toggle/index.d.cts +5 -0
  52. package/dist/theme-toggle/index.d.ts +5 -0
  53. package/dist/theme-toggle/index.js +5 -0
  54. package/package.json +1 -1
  55. package/dist/ThemeToggle.d.cts +0 -6
  56. package/dist/ThemeToggle.d.ts +0 -6
@@ -1,11 +1,10 @@
1
1
  'use client';
2
2
 
3
3
 
4
- import React, { useEffect, useState } from "react";
4
+ import React from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
- import { useTheme } from "next-themes";
7
6
 
8
- //#region src/ThemeToggle.tsx
7
+ //#region src/theme-toggle/ThemeToggle.tsx
9
8
  function SunIcon() {
10
9
  return /* @__PURE__ */ jsx("svg", {
11
10
  className: "h-5 w-5",
@@ -51,25 +50,16 @@ function SystemIcon() {
51
50
  })
52
51
  });
53
52
  }
54
- function ThemeToggle() {
55
- const [mounted, setMounted] = useState(false);
56
- const { theme, setTheme } = useTheme();
57
- useEffect(() => {
58
- const timer = setTimeout(() => {
59
- setMounted(true);
60
- }, 0);
61
- return () => {
62
- clearTimeout(timer);
63
- };
64
- }, []);
65
- if (!mounted) return /* @__PURE__ */ jsx("div", {
66
- className: "flex h-9 w-9 items-center justify-center rounded-md border border-gray-200 dark:border-gray-700",
67
- children: /* @__PURE__ */ jsx("div", { className: "h-5 w-5 animate-pulse rounded bg-gray-300 dark:bg-gray-600" })
68
- });
53
+ /**
54
+ * Theme toggle button that cycles through light -> dark -> system.
55
+ * Pure component - requires theme and setTheme props.
56
+ */
57
+ function ThemeToggle(props) {
58
+ const { theme, setTheme, disabled } = props;
69
59
  const toggleTheme = () => {
70
- if (theme === "light") setTheme("dark");
71
- else if (theme === "dark") setTheme("system");
72
- else setTheme("light");
60
+ if (theme === "light") setTheme?.("dark");
61
+ else if (theme === "dark") setTheme?.("system");
62
+ else setTheme?.("light");
73
63
  };
74
64
  const getIcon = () => {
75
65
  if (theme === "light") return /* @__PURE__ */ jsx(MoonIcon, {});
@@ -83,9 +73,10 @@ function ThemeToggle() {
83
73
  };
84
74
  return /* @__PURE__ */ jsx("button", {
85
75
  onClick: toggleTheme,
86
- className: "flex h-9 w-9 items-center justify-center rounded-md border border-gray-200 bg-white text-gray-900 transition-colors hover:bg-gray-50 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:hover:bg-gray-800",
76
+ className: "flex h-9 w-9 items-center justify-center rounded-md border border-gray-200 bg-white text-gray-900 transition-colors hover:bg-gray-50 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:hover:bg-gray-800 disabled:cursor-not-allowed disabled:opacity-50",
87
77
  title: getTitle(),
88
78
  type: "button",
79
+ disabled,
89
80
  children: getIcon()
90
81
  });
91
82
  }
@@ -0,0 +1,5 @@
1
+ const require_ThemeModeDropdown = require('./ThemeModeDropdown.cjs');
2
+ const require_ThemeModeSwitchInside = require('./ThemeModeSwitchInside.cjs');
3
+ const require_ThemeModeSwitchOutside = require('./ThemeModeSwitchOutside.cjs');
4
+ const require_ThemeModeToggleButton = require('./ThemeModeToggleButton.cjs');
5
+ const require_ThemeToggle = require('./ThemeToggle.cjs');
@@ -0,0 +1,5 @@
1
+ import { ThemeModeDropdown, ThemeModeDropdownProps } from "./ThemeModeDropdown.cjs";
2
+ import { ThemeModeSwitchInside, ThemeModeSwitchInsideProps, ThemeModeSwitchInsideSize } from "./ThemeModeSwitchInside.cjs";
3
+ import { ThemeModeSwitchOutside, ThemeModeSwitchOutsideProps } from "./ThemeModeSwitchOutside.cjs";
4
+ import { ThemeModeToggleButton, ThemeModeToggleButtonProps } from "./ThemeModeToggleButton.cjs";
5
+ import { ThemeToggle, ThemeToggleProps } from "./ThemeToggle.cjs";
@@ -0,0 +1,5 @@
1
+ import { ThemeModeDropdown, ThemeModeDropdownProps } from "./ThemeModeDropdown.js";
2
+ import { ThemeModeSwitchInside, ThemeModeSwitchInsideProps, ThemeModeSwitchInsideSize } from "./ThemeModeSwitchInside.js";
3
+ import { ThemeModeSwitchOutside, ThemeModeSwitchOutsideProps } from "./ThemeModeSwitchOutside.js";
4
+ import { ThemeModeToggleButton, ThemeModeToggleButtonProps } from "./ThemeModeToggleButton.js";
5
+ import { ThemeToggle, ThemeToggleProps } from "./ThemeToggle.js";
@@ -0,0 +1,5 @@
1
+ import { ThemeModeDropdown } from "./ThemeModeDropdown.js";
2
+ import { ThemeModeSwitchInside } from "./ThemeModeSwitchInside.js";
3
+ import { ThemeModeSwitchOutside } from "./ThemeModeSwitchOutside.js";
4
+ import { ThemeModeToggleButton } from "./ThemeModeToggleButton.js";
5
+ import { ThemeToggle } from "./ThemeToggle.js";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pixpilot/shadcn-ui",
3
3
  "type": "module",
4
- "version": "0.25.1",
4
+ "version": "0.27.0",
5
5
  "description": "Custom UI components and utilities built with shadcn/ui.",
6
6
  "author": "m.doaie <m.doaie@hotmail.com>",
7
7
  "license": "MIT",
@@ -1,6 +0,0 @@
1
- import * as react_jsx_runtime6 from "react/jsx-runtime";
2
-
3
- //#region src/ThemeToggle.d.ts
4
- declare function ThemeToggle(): react_jsx_runtime6.JSX.Element;
5
- //#endregion
6
- export { ThemeToggle };
@@ -1,6 +0,0 @@
1
- import * as react_jsx_runtime6 from "react/jsx-runtime";
2
-
3
- //#region src/ThemeToggle.d.ts
4
- declare function ThemeToggle(): react_jsx_runtime6.JSX.Element;
5
- //#endregion
6
- export { ThemeToggle };