@app-studio/web 0.9.13 → 0.9.14
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/components/Toggle/Toggle/Toggle.style.d.ts +7 -1
- package/dist/components/Toggle/Toggle/Toggle.view.d.ts +3 -0
- package/dist/web.cjs.development.js +100 -24
- package/dist/web.cjs.development.js.map +1 -1
- package/dist/web.cjs.production.min.js +1 -1
- package/dist/web.cjs.production.min.js.map +1 -1
- package/dist/web.esm.js +100 -24
- package/dist/web.esm.js.map +1 -1
- package/dist/web.umd.development.js +100 -24
- package/dist/web.umd.development.js.map +1 -1
- package/dist/web.umd.production.min.js +1 -1
- package/dist/web.umd.production.min.js.map +1 -1
- package/package.json +1 -1
package/dist/web.esm.js
CHANGED
|
@@ -17029,8 +17029,78 @@ var useToggleState = defaultToggled => {
|
|
|
17029
17029
|
};
|
|
17030
17030
|
};
|
|
17031
17031
|
|
|
17032
|
-
var
|
|
17032
|
+
var ToggleShapes = {
|
|
17033
|
+
sharp: 0,
|
|
17034
|
+
rounded: 4,
|
|
17035
|
+
pillShaped: 24
|
|
17036
|
+
};
|
|
17037
|
+
/**
|
|
17038
|
+
* Generate toggle variants with proper color combinations based on main color and contrast
|
|
17039
|
+
* Similar to Button's getButtonVariants function
|
|
17040
|
+
*/
|
|
17041
|
+
var getToggleVariants = (color, isLight) => ({
|
|
17042
|
+
outline: {
|
|
17043
|
+
backgroundColor: 'transparent',
|
|
17044
|
+
color: color,
|
|
17045
|
+
borderWidth: 1,
|
|
17046
|
+
borderStyle: 'solid',
|
|
17047
|
+
borderColor: color,
|
|
17048
|
+
_hover: {
|
|
17049
|
+
backgroundColor: color,
|
|
17050
|
+
color: isLight ? 'color.black' : 'color.white',
|
|
17051
|
+
transform: 'translateY(-1px)'
|
|
17052
|
+
},
|
|
17053
|
+
_active: {
|
|
17054
|
+
backgroundColor: color,
|
|
17055
|
+
color: isLight ? 'color.black' : 'color.white',
|
|
17056
|
+
transform: 'translateY(0)'
|
|
17057
|
+
},
|
|
17058
|
+
transition: 'all 0.2s ease'
|
|
17059
|
+
},
|
|
17060
|
+
ghost: {
|
|
17061
|
+
backgroundColor: 'transparent',
|
|
17062
|
+
color: color,
|
|
17063
|
+
borderWidth: 0,
|
|
17064
|
+
borderStyle: 'none',
|
|
17065
|
+
borderColor: 'transparent',
|
|
17066
|
+
_hover: {
|
|
17067
|
+
backgroundColor: color,
|
|
17068
|
+
color: isLight ? 'color.black' : 'color.white',
|
|
17069
|
+
transform: 'translateY(-1px)'
|
|
17070
|
+
},
|
|
17071
|
+
_active: {
|
|
17072
|
+
backgroundColor: color,
|
|
17073
|
+
color: isLight ? 'color.black' : 'color.white',
|
|
17074
|
+
transform: 'translateY(0)'
|
|
17075
|
+
},
|
|
17076
|
+
transition: 'all 0.2s ease'
|
|
17077
|
+
},
|
|
17078
|
+
link: {
|
|
17079
|
+
backgroundColor: 'transparent',
|
|
17080
|
+
color: color,
|
|
17081
|
+
borderWidth: 1,
|
|
17082
|
+
borderStyle: 'solid',
|
|
17083
|
+
borderColor: 'transparent',
|
|
17084
|
+
textDecoration: 'underline',
|
|
17085
|
+
textUnderlineOffset: '1px',
|
|
17086
|
+
textDecorationThickness: '1px',
|
|
17087
|
+
_hover: {
|
|
17088
|
+
borderColor: color,
|
|
17089
|
+
textDecorationThickness: '2px',
|
|
17090
|
+
transform: 'translateY(-1px)'
|
|
17091
|
+
},
|
|
17092
|
+
_active: {
|
|
17093
|
+
borderColor: color,
|
|
17094
|
+
textDecorationThickness: '2px',
|
|
17095
|
+
transform: 'translateY(0)'
|
|
17096
|
+
},
|
|
17097
|
+
transition: 'all 0.2s ease'
|
|
17098
|
+
}
|
|
17099
|
+
});
|
|
17100
|
+
|
|
17101
|
+
var _excluded$T = ["children", "shape", "variant", "isHovered", "setIsHovered", "isDisabled", "isToggle", "setIsToggled", "onToggle", "views", "backgroundColor", "color", "themeMode"];
|
|
17033
17102
|
var ToggleView = _ref => {
|
|
17103
|
+
var _ref2;
|
|
17034
17104
|
var {
|
|
17035
17105
|
children,
|
|
17036
17106
|
shape = 'rounded',
|
|
@@ -17041,25 +17111,30 @@ var ToggleView = _ref => {
|
|
|
17041
17111
|
isToggle,
|
|
17042
17112
|
setIsToggled,
|
|
17043
17113
|
onToggle,
|
|
17044
|
-
views
|
|
17114
|
+
views,
|
|
17115
|
+
backgroundColor,
|
|
17116
|
+
// primary candidate for main color
|
|
17117
|
+
color,
|
|
17118
|
+
// 2nd candidate for main color
|
|
17119
|
+
themeMode: elementMode
|
|
17045
17120
|
} = _ref,
|
|
17046
17121
|
props = _objectWithoutPropertiesLoose(_ref, _excluded$T);
|
|
17047
|
-
|
|
17122
|
+
/* theme helpers */
|
|
17123
|
+
var {
|
|
17124
|
+
getColor,
|
|
17125
|
+
themeMode
|
|
17126
|
+
} = useTheme();
|
|
17127
|
+
var mode = elementMode != null ? elementMode : themeMode;
|
|
17128
|
+
/* MAIN COLOR – determines the entire palette */
|
|
17129
|
+
var mainColorKey = (_ref2 = backgroundColor != null ? backgroundColor : color) != null ? _ref2 : 'theme.primary';
|
|
17130
|
+
var mainTone = getColor(isDisabled ? 'theme.disabled' : mainColorKey, {
|
|
17131
|
+
themeMode: mode
|
|
17132
|
+
});
|
|
17133
|
+
var tone = contrast(mainTone);
|
|
17134
|
+
/* variant palette */
|
|
17135
|
+
var palette = useMemo(() => getToggleVariants(mainTone, tone === 'light'), [mainTone, tone]);
|
|
17136
|
+
var base = palette[variant];
|
|
17048
17137
|
var isActive = !!(isToggle || isHovered);
|
|
17049
|
-
var toggleVariants = {
|
|
17050
|
-
outline: {
|
|
17051
|
-
borderWidth: 1,
|
|
17052
|
-
borderStyle: 'solid',
|
|
17053
|
-
borderColor: 'color.trueGray.400'
|
|
17054
|
-
},
|
|
17055
|
-
link: {
|
|
17056
|
-
borderWidth: 1,
|
|
17057
|
-
borderStyle: 'solid',
|
|
17058
|
-
borderColor: isActive ? toggleColor : 'transparent',
|
|
17059
|
-
textDecoration: 'underline'
|
|
17060
|
-
},
|
|
17061
|
-
ghost: {}
|
|
17062
|
-
};
|
|
17063
17138
|
var handleHover = () => setIsHovered(!isHovered);
|
|
17064
17139
|
var handleToggle = () => {
|
|
17065
17140
|
if (!isDisabled) {
|
|
@@ -17076,14 +17151,15 @@ var ToggleView = _ref => {
|
|
|
17076
17151
|
role: "Toggle",
|
|
17077
17152
|
padding: shape === 'pillShaped' ? '10px 12px' : '8px',
|
|
17078
17153
|
width: "fit-content",
|
|
17079
|
-
color: isActive ? 'color.white' : toggleColor,
|
|
17080
|
-
backgroundColor: isActive ? toggleColor : 'transparent',
|
|
17081
|
-
onMouseEnter: handleHover,
|
|
17082
|
-
onMouseLeave: () => setIsHovered(false),
|
|
17083
17154
|
cursor: isDisabled ? 'not-allowed' : 'pointer',
|
|
17084
|
-
borderRadius: shape
|
|
17085
|
-
onClick: handleToggle
|
|
17086
|
-
|
|
17155
|
+
borderRadius: ToggleShapes[shape],
|
|
17156
|
+
onClick: handleToggle,
|
|
17157
|
+
onMouseEnter: handleHover,
|
|
17158
|
+
onMouseLeave: () => setIsHovered(false)
|
|
17159
|
+
}, base, isActive && {
|
|
17160
|
+
backgroundColor: mainTone,
|
|
17161
|
+
color: tone === 'light' ? 'color.black' : 'color.white'
|
|
17162
|
+
}, props, views == null ? void 0 : views.container), children);
|
|
17087
17163
|
};
|
|
17088
17164
|
|
|
17089
17165
|
var _excluded$U = ["children", "shape", "variant", "isDisabled", "isToggled", "onToggle"];
|