132 lines
5.2 KiB
JavaScript
132 lines
5.2 KiB
JavaScript
'use client';
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
imageSwatchClassNames: function() {
|
|
return imageSwatchClassNames;
|
|
},
|
|
useImageSwatchStyles_unstable: function() {
|
|
return useImageSwatchStyles_unstable;
|
|
}
|
|
});
|
|
const _react = require("@griffel/react");
|
|
const _reacttheme = require("@fluentui/react-theme");
|
|
const _reacttabster = require("@fluentui/react-tabster");
|
|
const imageSwatchClassNames = {
|
|
root: 'fui-ImageSwatch'
|
|
};
|
|
/**
|
|
* Styles for the root slot
|
|
*/ const useStyles = (0, _react.makeResetStyles)({
|
|
display: 'inline-flex',
|
|
boxSizing: 'border-box',
|
|
border: `1px solid ${_reacttheme.tokens.colorTransparentStroke}`,
|
|
backgroundSize: 'cover',
|
|
backgroundRepeat: 'no-repeat',
|
|
padding: '0',
|
|
':hover': {
|
|
cursor: 'pointer',
|
|
border: 'none',
|
|
boxShadow: `inset 0 0 0 ${_reacttheme.tokens.strokeWidthThick} ${_reacttheme.tokens.colorBrandStroke1}, inset 0 0 0 ${_reacttheme.tokens.strokeWidthThicker} ${_reacttheme.tokens.colorStrokeFocus1}`
|
|
},
|
|
':hover:active': {
|
|
border: 'none',
|
|
boxShadow: `inset 0 0 0 ${_reacttheme.tokens.strokeWidthThicker} ${_reacttheme.tokens.colorCompoundBrandStrokePressed}, inset 0 0 0 ${_reacttheme.tokens.strokeWidthThickest} ${_reacttheme.tokens.colorStrokeFocus1}`
|
|
},
|
|
':focus': {
|
|
outline: 'none'
|
|
},
|
|
':focus-visible': {
|
|
outline: 'none'
|
|
},
|
|
...(0, _reacttabster.createCustomFocusIndicatorStyle)({
|
|
border: 'none',
|
|
outline: 'none',
|
|
boxShadow: `inset 0 0 0 ${_reacttheme.tokens.strokeWidthThick} ${_reacttheme.tokens.colorStrokeFocus2}, inset 0 0 0 ${_reacttheme.tokens.strokeWidthThicker} ${_reacttheme.tokens.colorStrokeFocus1}`
|
|
}),
|
|
// High contrast styles
|
|
'@media (forced-colors: active)': {
|
|
forcedColorAdjust: 'none',
|
|
':hover': {
|
|
boxShadow: `inset 0 0 0 ${_reacttheme.tokens.strokeWidthThick} ${_reacttheme.tokens.colorBrandStroke2Hover}, inset 0 0 0 ${_reacttheme.tokens.strokeWidthThicker} ${_reacttheme.tokens.colorStrokeFocus1}`
|
|
},
|
|
':hover:active': {
|
|
boxShadow: `inset 0 0 0 ${_reacttheme.tokens.strokeWidthThicker} ${_reacttheme.tokens.colorBrandStroke2Pressed}, inset 0 0 0 ${_reacttheme.tokens.strokeWidthThickest} ${_reacttheme.tokens.colorStrokeFocus1}`
|
|
}
|
|
}
|
|
});
|
|
const useStylesSelected = (0, _react.makeStyles)({
|
|
selected: {
|
|
border: 'none',
|
|
boxShadow: `inset 0 0 0 ${_reacttheme.tokens.strokeWidthThicker} ${_reacttheme.tokens.colorBrandStroke1}, inset 0 0 0 5px ${_reacttheme.tokens.colorStrokeFocus1}`,
|
|
':hover': {
|
|
boxShadow: `inset 0 0 0 ${_reacttheme.tokens.strokeWidthThickest} ${_reacttheme.tokens.colorCompoundBrandStrokeHover}, inset 0 0 0 6px ${_reacttheme.tokens.colorStrokeFocus1}`
|
|
},
|
|
':hover:active': {
|
|
boxShadow: `inset 0 0 0 ${_reacttheme.tokens.strokeWidthThickest} ${_reacttheme.tokens.colorCompoundBrandStrokePressed}, inset 0 0 0 7px ${_reacttheme.tokens.colorStrokeFocus1}`
|
|
},
|
|
...(0, _reacttabster.createCustomFocusIndicatorStyle)({
|
|
boxShadow: `inset 0 0 0 ${_reacttheme.tokens.strokeWidthThicker} ${_reacttheme.tokens.colorStrokeFocus2}, inset 0 0 0 5px ${_reacttheme.tokens.colorStrokeFocus1}`
|
|
}),
|
|
'@media (forced-colors: active)': {
|
|
boxShadow: `inset 0 0 0 ${_reacttheme.tokens.strokeWidthThicker} ${_reacttheme.tokens.colorBrandStroke2Pressed}, inset 0 0 0 5px ${_reacttheme.tokens.colorStrokeFocus1}`
|
|
}
|
|
}
|
|
});
|
|
const useSizeStyles = (0, _react.makeStyles)({
|
|
'extra-small': {
|
|
width: '20px',
|
|
height: '20px'
|
|
},
|
|
small: {
|
|
width: '24px',
|
|
height: '24px'
|
|
},
|
|
medium: {
|
|
width: '28px',
|
|
height: '28px'
|
|
},
|
|
large: {
|
|
width: '32px',
|
|
height: '32px'
|
|
}
|
|
});
|
|
const useShapeStyles = (0, _react.makeStyles)({
|
|
rounded: {
|
|
borderRadius: _reacttheme.tokens.borderRadiusMedium,
|
|
...(0, _reacttabster.createCustomFocusIndicatorStyle)({
|
|
borderRadius: _reacttheme.tokens.borderRadiusMedium
|
|
})
|
|
},
|
|
circular: {
|
|
borderRadius: _reacttheme.tokens.borderRadiusCircular,
|
|
...(0, _reacttabster.createCustomFocusIndicatorStyle)({
|
|
borderRadius: _reacttheme.tokens.borderRadiusCircular
|
|
})
|
|
},
|
|
square: {
|
|
borderRadius: _reacttheme.tokens.borderRadiusNone,
|
|
...(0, _reacttabster.createCustomFocusIndicatorStyle)({
|
|
borderRadius: _reacttheme.tokens.borderRadiusNone
|
|
})
|
|
}
|
|
});
|
|
const useImageSwatchStyles_unstable = (state)=>{
|
|
'use no memo';
|
|
const styles = useStyles();
|
|
const selectedStyles = useStylesSelected();
|
|
const sizeStyles = useSizeStyles();
|
|
const shapeStyles = useShapeStyles();
|
|
const { size = 'medium', shape = 'square' } = state;
|
|
state.root.className = (0, _react.mergeClasses)(imageSwatchClassNames.root, styles, sizeStyles[size], shapeStyles[shape], state.selected && selectedStyles.selected, state.root.className);
|
|
return state;
|
|
};
|