@versini/ui-togglegroup 5.3.2 → 6.0.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.
@@ -2,7 +2,7 @@ import { JSX } from 'react/jsx-runtime';
2
2
  import type { ToggleGroupItemProps } from './ToggleGroupTypes';
3
3
  import type { ToggleGroupProps } from './ToggleGroupTypes';
4
4
 
5
- export declare const ToggleGroup: ({ children, value, onValueChange, disabled, mode, focusMode, size, defaultValue, className, ...otherProps }: ToggleGroupProps) => JSX.Element;
5
+ export declare const ToggleGroup: ({ children, value, onValueChange, disabled, focusMode, size, defaultValue, className, ...otherProps }: ToggleGroupProps) => JSX.Element;
6
6
 
7
7
  export declare const TOGGLEGROUP_CLASSNAME = "av-togglegroup";
8
8
 
@@ -10,6 +10,6 @@ export declare const TOGGLEGROUP_ITEM_CLASSNAME = "av-togglegroup-item";
10
10
 
11
11
  export declare const TOGGLEGROUP_ITEM_WRAPPER_CLASSNAME = "av-togglegroup-item-wrapper";
12
12
 
13
- export declare const ToggleGroupItem: ({ value, disabled }: ToggleGroupItemProps) => JSX.Element;
13
+ export declare const ToggleGroupItem: ({ value, disabled, children, }: ToggleGroupItemProps) => JSX.Element;
14
14
 
15
15
  export { }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- @versini/ui-togglegroup v5.3.2
2
+ @versini/ui-togglegroup v6.0.0
3
3
  © 2026 gizmette.com
4
4
  */
5
5
 
@@ -18,28 +18,22 @@ const TOGGLEGROUP_ITEM_CLASSNAME = "av-togglegroup-item";
18
18
 
19
19
  const ToggleGroupContext = react.createContext({
20
20
  size: "medium",
21
- focusMode: "system",
22
- mode: "system"
21
+ focusMode: "system"
23
22
  });
24
23
 
25
24
 
26
25
 
27
26
 
28
27
  const getToggleGroupItemFocusClasses = ({ focusMode })=>{
29
- return clsx("focus:outline", "focus:outline-2", "focus:outline-offset", {
30
- "focus:outline-focus-light": focusMode === "light",
31
- "focus:outline-focus-dark": focusMode === "dark",
32
- "focus:outline-focus-light dark:focus:outline-focus-dark": focusMode === "alt-system",
33
- "focus:outline-focus-dark dark:focus:outline-focus-light": focusMode === "system"
28
+ return clsx("focus:outline-none", "focus:ring-2", "focus:ring-inset", {
29
+ "focus:ring-focus-light": focusMode === "light",
30
+ "focus:ring-focus-dark": focusMode === "dark",
31
+ "focus:ring-focus-light dark:focus:ring-focus-dark": focusMode === "alt-system",
32
+ "focus:ring-focus-dark dark:focus:ring-focus-light": focusMode === "system"
34
33
  });
35
34
  };
36
- const getToggleGroupItemActiveClasses = ({ mode })=>{
37
- return clsx({
38
- "data-[state=on]:bg-surface-medium": mode === "dark",
39
- "data-[state=on]:bg-surface-lightest": mode === "light",
40
- "data-[state=on]:bg-surface-lightest dark:data-[state=on]:bg-surface-medium": mode === "system",
41
- "data-[state=on]:bg-surface-medium dark:data-[state=on]:bg-surface-lightest": mode === "alt-system"
42
- });
35
+ const getToggleGroupItemActiveClasses = ()=>{
36
+ return clsx("data-[state=on]:bg-surface-lightest data-[state=on]:text-copy-dark dark:data-[state=on]:bg-surface-dark dark:data-[state=on]:text-copy-light");
43
37
  };
44
38
  const getToggleGroupItemSizeClasses = ({ size })=>{
45
39
  return clsx({
@@ -48,35 +42,21 @@ const getToggleGroupItemSizeClasses = ({ size })=>{
48
42
  "h-7 px-4": size === "large"
49
43
  });
50
44
  };
51
- const getToggleGroupItemWrapperClasses = ({ mode })=>{
52
- return clsx(TOGGLEGROUP_ITEM_WRAPPER_CLASSNAME, "px-1", "relative", "border-r", "last:border-transparent", "has-[button[aria-checked='true']]:border-transparent", "has-[+_*_button[aria-checked='false']]:border-border-medium", {
53
- "border-surface-light": mode === "light",
54
- "border-surface-darker": mode === "dark",
55
- "border-surface-light dark:border-surface-darker": mode === "system",
56
- "border-surface-darker dark:border-surface-light": mode === "alt-system"
57
- });
45
+ const getToggleGroupItemWrapperClasses = ()=>{
46
+ return clsx(TOGGLEGROUP_ITEM_WRAPPER_CLASSNAME, "relative", "[&>button]:rounded-none", "first:[&>button]:rounded-l-md", "last:[&>button]:rounded-r-md", "border-r border-border-medium last:border-r-0");
58
47
  };
59
- const getToggleGroupItemClasses = ({ focusMode, mode, size })=>{
48
+ const getToggleGroupItemClasses = ({ focusMode, size })=>{
60
49
  return {
61
- wrapperClass: getToggleGroupItemWrapperClasses({
62
- mode
63
- }),
64
- itemClass: clsx(TOGGLEGROUP_ITEM_CLASSNAME, "flex items-center justify-center bg-transparent", "rounded-xs", "transition duration-200 ease", getToggleGroupItemSizeClasses({
50
+ wrapperClass: getToggleGroupItemWrapperClasses(),
51
+ itemClass: clsx(TOGGLEGROUP_ITEM_CLASSNAME, "flex items-center justify-center bg-transparent", "transition duration-200 ease", getToggleGroupItemSizeClasses({
65
52
  size
66
53
  }), getToggleGroupItemFocusClasses({
67
54
  focusMode
68
- }), getToggleGroupItemActiveClasses({
69
- mode
70
- }))
55
+ }), getToggleGroupItemActiveClasses())
71
56
  };
72
57
  };
73
- const getToggleGroupClasses = ({ mode, className })=>{
74
- return clsx(TOGGLEGROUP_CLASSNAME, "inline-flex p-1", "rounded-xs", {
75
- "bg-surface-light text-copy-dark": mode === "light",
76
- "bg-surface-darker text-copy-lighter": mode === "dark",
77
- "bg-surface-light text-copy-dark dark:bg-surface-darker dark:text-copy-lighter": mode === "system",
78
- "bg-surface-darker text-copy-lighter dark:bg-surface-light dark:text-copy-dark": mode === "alt-system"
79
- }, className);
58
+ const getToggleGroupClasses = ({ className })=>{
59
+ return clsx(TOGGLEGROUP_CLASSNAME, "inline-flex", "rounded-md", "border border-border-medium", "bg-surface-light text-copy-dark/70", className);
80
60
  };
81
61
 
82
62
 
@@ -84,15 +64,13 @@ const getToggleGroupClasses = ({ mode, className })=>{
84
64
 
85
65
 
86
66
 
87
- const ToggleGroup = ({ children, value, onValueChange, disabled, mode = "system", focusMode = "system", size = "medium", defaultValue, className, ...otherProps })=>{
67
+ const ToggleGroup = ({ children, value, onValueChange, disabled, focusMode = "system", size = "medium", defaultValue, className, ...otherProps })=>{
88
68
  const toggleGroupClasses = getToggleGroupClasses({
89
- mode,
90
69
  className
91
70
  });
92
71
  const contextValue = {
93
72
  size,
94
- focusMode,
95
- mode
73
+ focusMode
96
74
  };
97
75
  return /*#__PURE__*/ jsx(ToggleGroupContext.Provider, {
98
76
  value: contextValue,
@@ -108,11 +86,10 @@ const ToggleGroup = ({ children, value, onValueChange, disabled, mode = "system"
108
86
  })
109
87
  });
110
88
  };
111
- const ToggleGroupItem = ({ value, disabled })=>{
112
- const { size, focusMode, mode } = useContext(ToggleGroupContext);
89
+ const ToggleGroupItem = ({ value, disabled, children })=>{
90
+ const { size, focusMode } = useContext(ToggleGroupContext);
113
91
  const { itemClass, wrapperClass } = getToggleGroupItemClasses({
114
92
  focusMode,
115
- mode,
116
93
  size
117
94
  });
118
95
  return /*#__PURE__*/ jsx("div", {
@@ -121,7 +98,7 @@ const ToggleGroupItem = ({ value, disabled })=>{
121
98
  disabled: disabled,
122
99
  className: itemClass,
123
100
  value: value,
124
- children: value
101
+ children: children ?? value
125
102
  })
126
103
  });
127
104
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@versini/ui-togglegroup",
3
- "version": "5.3.2",
3
+ "version": "6.0.0",
4
4
  "license": "MIT",
5
5
  "author": "Arno Versini",
6
6
  "publishConfig": {
@@ -47,5 +47,5 @@
47
47
  "sideEffects": [
48
48
  "**/*.css"
49
49
  ],
50
- "gitHead": "84d5ac4ea694792080c881a50b4fd5c4ce3750c0"
50
+ "gitHead": "3534e50d79273f5731868c07f114faeb0ff04bf5"
51
51
  }