wix-style-react
Version:
wix-style-react
99 lines (98 loc) • 3.93 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _Focusable = require("../common/Focusable");
var _wixUiIconsCommon = require("@wix/wix-ui-icons-common");
var _color = _interopRequireDefault(require("color"));
var _ColorPickerConverterSt = require("./ColorPickerConverter.st.css");
var _Tooltip = _interopRequireDefault(require("../Tooltip"));
var _constants = require("./constants");
var _jsxFileName = "/home/builduser/work/a9c1ac8876d5057c/packages/wix-style-react/dist/cjs/ColorPicker/ColorPickerConverterViewer.js";
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
function getContrastColor(bg) {
var light = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '#ffffff';
var dark = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '#162d3d';
try {
var color = (0, _color.default)(bg);
var luminosity = color.luminosity();
if (luminosity > 0.5) {
return dark;
} else {
return light;
}
} catch (err) {}
}
class ColorPickerConverterViewer extends _react.PureComponent {
constructor() {
super(...arguments);
this.onAddClick = () => {
var {
color,
onAdd
} = this.props;
var noColorSelected = color.alpha() === 0;
!!onAdd && !noColorSelected && onAdd(color.hex());
};
this.addTooltip = element => {
var {
addTooltipContent
} = this.props;
return /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
disabled: !addTooltipContent,
content: addTooltipContent,
size: "small",
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 42,
columnNumber: 7
}
}, element);
};
}
render() {
var {
color,
onAdd,
focusableOnFocus,
focusableOnBlur,
className
} = this.props;
var noColorSelected = color.alpha() === 0;
var clickable = !!onAdd && !noColorSelected;
var viewer = /*#__PURE__*/_react.default.createElement(clickable ? 'button' : 'div', {
style: {
backgroundColor: noColorSelected ? undefined : color.hex()
},
'data-hook': _constants.DataHooks.addColor,
onFocus: focusableOnFocus,
onBlur: focusableOnBlur,
className: (0, _ColorPickerConverterSt.st)(_ColorPickerConverterSt.classes.preview, {
clickable,
noColorSelected
}, className),
onClick: this.onAddClick
}, clickable && /*#__PURE__*/_react.default.createElement(_wixUiIconsCommon.AddSmall, {
style: {
color: getContrastColor(color.hex())
},
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 78,
columnNumber: 9
}
}));
return clickable ? this.addTooltip(viewer) : viewer;
}
}
ColorPickerConverterViewer.propTypes = {
color: _propTypes.default.object,
onAdd: _propTypes.default.func,
addTooltipContent: _propTypes.default.node
};
var _default = exports.default = (0, _Focusable.withFocusable)(ColorPickerConverterViewer);
//# sourceMappingURL=ColorPickerConverterViewer.js.map