@fakhrirafiki/theme-engine 0.4.18 → 0.4.19
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.js +2 -18
- package/dist/index.mjs +2 -18
- package/dist/styles/components.css +38 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4742,27 +4742,9 @@ var ThemeToggle = (0, import_react3.forwardRef)(
|
|
|
4742
4742
|
const { clientX: x, clientY: y } = event;
|
|
4743
4743
|
toggleMode({ x, y });
|
|
4744
4744
|
};
|
|
4745
|
-
const sizeClasses = {
|
|
4746
|
-
sm: "h-8 w-8 p-1.5",
|
|
4747
|
-
md: "h-9 w-9 p-2",
|
|
4748
|
-
lg: "h-10 w-10 p-2.5"
|
|
4749
|
-
};
|
|
4750
|
-
const variantClasses = {
|
|
4751
|
-
default: "bg-background border border-input hover:bg-accent hover:text-accent-foreground",
|
|
4752
|
-
outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
|
|
4753
|
-
ghost: "hover:bg-accent hover:text-accent-foreground"
|
|
4754
|
-
};
|
|
4755
4745
|
const baseClasses = (0, import_clsx.clsx)(
|
|
4756
4746
|
// Base button styles
|
|
4757
4747
|
"theme-toggle",
|
|
4758
|
-
"inline-flex items-center justify-center",
|
|
4759
|
-
"rounded-md text-sm font-medium",
|
|
4760
|
-
"ring-offset-background transition-colors",
|
|
4761
|
-
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
4762
|
-
"disabled:pointer-events-none disabled:opacity-50",
|
|
4763
|
-
// Size and variant
|
|
4764
|
-
sizeClasses[size],
|
|
4765
|
-
variantClasses[variant],
|
|
4766
4748
|
className
|
|
4767
4749
|
);
|
|
4768
4750
|
const renderIcon = () => {
|
|
@@ -4784,6 +4766,8 @@ var ThemeToggle = (0, import_react3.forwardRef)(
|
|
|
4784
4766
|
ref,
|
|
4785
4767
|
className: baseClasses,
|
|
4786
4768
|
onClick: handleClick,
|
|
4769
|
+
"data-size": size,
|
|
4770
|
+
"data-variant": variant,
|
|
4787
4771
|
"data-mode": resolvedMode,
|
|
4788
4772
|
"data-theme": resolvedMode,
|
|
4789
4773
|
"aria-label": `Switch to ${resolvedMode === "light" ? "dark" : "light"} mode`,
|
package/dist/index.mjs
CHANGED
|
@@ -4698,27 +4698,9 @@ var ThemeToggle = forwardRef(
|
|
|
4698
4698
|
const { clientX: x, clientY: y } = event;
|
|
4699
4699
|
toggleMode({ x, y });
|
|
4700
4700
|
};
|
|
4701
|
-
const sizeClasses = {
|
|
4702
|
-
sm: "h-8 w-8 p-1.5",
|
|
4703
|
-
md: "h-9 w-9 p-2",
|
|
4704
|
-
lg: "h-10 w-10 p-2.5"
|
|
4705
|
-
};
|
|
4706
|
-
const variantClasses = {
|
|
4707
|
-
default: "bg-background border border-input hover:bg-accent hover:text-accent-foreground",
|
|
4708
|
-
outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
|
|
4709
|
-
ghost: "hover:bg-accent hover:text-accent-foreground"
|
|
4710
|
-
};
|
|
4711
4701
|
const baseClasses = clsx(
|
|
4712
4702
|
// Base button styles
|
|
4713
4703
|
"theme-toggle",
|
|
4714
|
-
"inline-flex items-center justify-center",
|
|
4715
|
-
"rounded-md text-sm font-medium",
|
|
4716
|
-
"ring-offset-background transition-colors",
|
|
4717
|
-
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
4718
|
-
"disabled:pointer-events-none disabled:opacity-50",
|
|
4719
|
-
// Size and variant
|
|
4720
|
-
sizeClasses[size],
|
|
4721
|
-
variantClasses[variant],
|
|
4722
4704
|
className
|
|
4723
4705
|
);
|
|
4724
4706
|
const renderIcon = () => {
|
|
@@ -4740,6 +4722,8 @@ var ThemeToggle = forwardRef(
|
|
|
4740
4722
|
ref,
|
|
4741
4723
|
className: baseClasses,
|
|
4742
4724
|
onClick: handleClick,
|
|
4725
|
+
"data-size": size,
|
|
4726
|
+
"data-variant": variant,
|
|
4743
4727
|
"data-mode": resolvedMode,
|
|
4744
4728
|
"data-theme": resolvedMode,
|
|
4745
4729
|
"aria-label": `Switch to ${resolvedMode === "light" ? "dark" : "light"} mode`,
|
|
@@ -8,6 +8,44 @@
|
|
|
8
8
|
border: 1px solid hsl(var(--border));
|
|
9
9
|
background-color: hsl(var(--background));
|
|
10
10
|
color: hsl(var(--foreground));
|
|
11
|
+
|
|
12
|
+
box-sizing: border-box;
|
|
13
|
+
display: inline-flex;
|
|
14
|
+
align-items: center;
|
|
15
|
+
justify-content: center;
|
|
16
|
+
border-radius: calc(var(--radius) + 0.125rem);
|
|
17
|
+
font-size: 0.875rem;
|
|
18
|
+
font-weight: 500;
|
|
19
|
+
line-height: 1;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.theme-toggle:disabled {
|
|
23
|
+
opacity: 0.5;
|
|
24
|
+
cursor: not-allowed;
|
|
25
|
+
pointer-events: none;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.theme-toggle[data-size="sm"] {
|
|
29
|
+
width: 2rem;
|
|
30
|
+
height: 2rem;
|
|
31
|
+
padding: 0.375rem;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.theme-toggle[data-size="md"] {
|
|
35
|
+
width: 2.25rem;
|
|
36
|
+
height: 2.25rem;
|
|
37
|
+
padding: 0.5rem;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.theme-toggle[data-size="lg"] {
|
|
41
|
+
width: 2.5rem;
|
|
42
|
+
height: 2.5rem;
|
|
43
|
+
padding: 0.625rem;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.theme-toggle[data-variant="ghost"] {
|
|
47
|
+
border-color: transparent;
|
|
48
|
+
background-color: transparent;
|
|
11
49
|
}
|
|
12
50
|
|
|
13
51
|
.theme-toggle:hover {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fakhrirafiki/theme-engine",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.19",
|
|
4
4
|
"description": "Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|