@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
|
@@ -17005,8 +17005,78 @@
|
|
|
17005
17005
|
};
|
|
17006
17006
|
};
|
|
17007
17007
|
|
|
17008
|
-
var
|
|
17008
|
+
var ToggleShapes = {
|
|
17009
|
+
sharp: 0,
|
|
17010
|
+
rounded: 4,
|
|
17011
|
+
pillShaped: 24
|
|
17012
|
+
};
|
|
17013
|
+
/**
|
|
17014
|
+
* Generate toggle variants with proper color combinations based on main color and contrast
|
|
17015
|
+
* Similar to Button's getButtonVariants function
|
|
17016
|
+
*/
|
|
17017
|
+
var getToggleVariants = (color, isLight) => ({
|
|
17018
|
+
outline: {
|
|
17019
|
+
backgroundColor: 'transparent',
|
|
17020
|
+
color: color,
|
|
17021
|
+
borderWidth: 1,
|
|
17022
|
+
borderStyle: 'solid',
|
|
17023
|
+
borderColor: color,
|
|
17024
|
+
_hover: {
|
|
17025
|
+
backgroundColor: color,
|
|
17026
|
+
color: isLight ? 'color.black' : 'color.white',
|
|
17027
|
+
transform: 'translateY(-1px)'
|
|
17028
|
+
},
|
|
17029
|
+
_active: {
|
|
17030
|
+
backgroundColor: color,
|
|
17031
|
+
color: isLight ? 'color.black' : 'color.white',
|
|
17032
|
+
transform: 'translateY(0)'
|
|
17033
|
+
},
|
|
17034
|
+
transition: 'all 0.2s ease'
|
|
17035
|
+
},
|
|
17036
|
+
ghost: {
|
|
17037
|
+
backgroundColor: 'transparent',
|
|
17038
|
+
color: color,
|
|
17039
|
+
borderWidth: 0,
|
|
17040
|
+
borderStyle: 'none',
|
|
17041
|
+
borderColor: 'transparent',
|
|
17042
|
+
_hover: {
|
|
17043
|
+
backgroundColor: color,
|
|
17044
|
+
color: isLight ? 'color.black' : 'color.white',
|
|
17045
|
+
transform: 'translateY(-1px)'
|
|
17046
|
+
},
|
|
17047
|
+
_active: {
|
|
17048
|
+
backgroundColor: color,
|
|
17049
|
+
color: isLight ? 'color.black' : 'color.white',
|
|
17050
|
+
transform: 'translateY(0)'
|
|
17051
|
+
},
|
|
17052
|
+
transition: 'all 0.2s ease'
|
|
17053
|
+
},
|
|
17054
|
+
link: {
|
|
17055
|
+
backgroundColor: 'transparent',
|
|
17056
|
+
color: color,
|
|
17057
|
+
borderWidth: 1,
|
|
17058
|
+
borderStyle: 'solid',
|
|
17059
|
+
borderColor: 'transparent',
|
|
17060
|
+
textDecoration: 'underline',
|
|
17061
|
+
textUnderlineOffset: '1px',
|
|
17062
|
+
textDecorationThickness: '1px',
|
|
17063
|
+
_hover: {
|
|
17064
|
+
borderColor: color,
|
|
17065
|
+
textDecorationThickness: '2px',
|
|
17066
|
+
transform: 'translateY(-1px)'
|
|
17067
|
+
},
|
|
17068
|
+
_active: {
|
|
17069
|
+
borderColor: color,
|
|
17070
|
+
textDecorationThickness: '2px',
|
|
17071
|
+
transform: 'translateY(0)'
|
|
17072
|
+
},
|
|
17073
|
+
transition: 'all 0.2s ease'
|
|
17074
|
+
}
|
|
17075
|
+
});
|
|
17076
|
+
|
|
17077
|
+
var _excluded$T = ["children", "shape", "variant", "isHovered", "setIsHovered", "isDisabled", "isToggle", "setIsToggled", "onToggle", "views", "backgroundColor", "color", "themeMode"];
|
|
17009
17078
|
var ToggleView = _ref => {
|
|
17079
|
+
var _ref2;
|
|
17010
17080
|
var {
|
|
17011
17081
|
children,
|
|
17012
17082
|
shape = 'rounded',
|
|
@@ -17017,25 +17087,30 @@
|
|
|
17017
17087
|
isToggle,
|
|
17018
17088
|
setIsToggled,
|
|
17019
17089
|
onToggle,
|
|
17020
|
-
views
|
|
17090
|
+
views,
|
|
17091
|
+
backgroundColor,
|
|
17092
|
+
// primary candidate for main color
|
|
17093
|
+
color,
|
|
17094
|
+
// 2nd candidate for main color
|
|
17095
|
+
themeMode: elementMode
|
|
17021
17096
|
} = _ref,
|
|
17022
17097
|
props = _objectWithoutPropertiesLoose(_ref, _excluded$T);
|
|
17023
|
-
|
|
17098
|
+
/* theme helpers */
|
|
17099
|
+
var {
|
|
17100
|
+
getColor,
|
|
17101
|
+
themeMode
|
|
17102
|
+
} = appStudio.useTheme();
|
|
17103
|
+
var mode = elementMode != null ? elementMode : themeMode;
|
|
17104
|
+
/* MAIN COLOR – determines the entire palette */
|
|
17105
|
+
var mainColorKey = (_ref2 = backgroundColor != null ? backgroundColor : color) != null ? _ref2 : 'theme.primary';
|
|
17106
|
+
var mainTone = getColor(isDisabled ? 'theme.disabled' : mainColorKey, {
|
|
17107
|
+
themeMode: mode
|
|
17108
|
+
});
|
|
17109
|
+
var tone = contrast(mainTone);
|
|
17110
|
+
/* variant palette */
|
|
17111
|
+
var palette = React.useMemo(() => getToggleVariants(mainTone, tone === 'light'), [mainTone, tone]);
|
|
17112
|
+
var base = palette[variant];
|
|
17024
17113
|
var isActive = !!(isToggle || isHovered);
|
|
17025
|
-
var toggleVariants = {
|
|
17026
|
-
outline: {
|
|
17027
|
-
borderWidth: 1,
|
|
17028
|
-
borderStyle: 'solid',
|
|
17029
|
-
borderColor: 'color.trueGray.400'
|
|
17030
|
-
},
|
|
17031
|
-
link: {
|
|
17032
|
-
borderWidth: 1,
|
|
17033
|
-
borderStyle: 'solid',
|
|
17034
|
-
borderColor: isActive ? toggleColor : 'transparent',
|
|
17035
|
-
textDecoration: 'underline'
|
|
17036
|
-
},
|
|
17037
|
-
ghost: {}
|
|
17038
|
-
};
|
|
17039
17114
|
var handleHover = () => setIsHovered(!isHovered);
|
|
17040
17115
|
var handleToggle = () => {
|
|
17041
17116
|
if (!isDisabled) {
|
|
@@ -17052,14 +17127,15 @@
|
|
|
17052
17127
|
role: "Toggle",
|
|
17053
17128
|
padding: shape === 'pillShaped' ? '10px 12px' : '8px',
|
|
17054
17129
|
width: "fit-content",
|
|
17055
|
-
color: isActive ? 'color.white' : toggleColor,
|
|
17056
|
-
backgroundColor: isActive ? toggleColor : 'transparent',
|
|
17057
|
-
onMouseEnter: handleHover,
|
|
17058
|
-
onMouseLeave: () => setIsHovered(false),
|
|
17059
17130
|
cursor: isDisabled ? 'not-allowed' : 'pointer',
|
|
17060
|
-
borderRadius: shape
|
|
17061
|
-
onClick: handleToggle
|
|
17062
|
-
|
|
17131
|
+
borderRadius: ToggleShapes[shape],
|
|
17132
|
+
onClick: handleToggle,
|
|
17133
|
+
onMouseEnter: handleHover,
|
|
17134
|
+
onMouseLeave: () => setIsHovered(false)
|
|
17135
|
+
}, base, isActive && {
|
|
17136
|
+
backgroundColor: mainTone,
|
|
17137
|
+
color: tone === 'light' ? 'color.black' : 'color.white'
|
|
17138
|
+
}, props, views == null ? void 0 : views.container), children);
|
|
17063
17139
|
};
|
|
17064
17140
|
|
|
17065
17141
|
var _excluded$U = ["children", "shape", "variant", "isDisabled", "isToggled", "onToggle"];
|