@bigbinary/neetoui 5.1.16 → 5.1.18

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/index.cjs.js CHANGED
@@ -19857,18 +19857,20 @@ var ColorPicker = function ColorPicker(_ref) {
19857
19857
  size = _ref$size === void 0 ? TARGET_SIZES.large : _ref$size,
19858
19858
  _ref$onChange = _ref.onChange,
19859
19859
  onChange = _ref$onChange === void 0 ? noop$2 : _ref$onChange,
19860
- _ref$colorPaletteProp = _ref.colorPaletteProps,
19861
- colorPaletteProps = _ref$colorPaletteProp === void 0 ? null : _ref$colorPaletteProp,
19860
+ colorPaletteProps = _ref.colorPaletteProps,
19862
19861
  _ref$showEyeDropper = _ref.showEyeDropper,
19863
19862
  showEyeDropper = _ref$showEyeDropper === void 0 ? false : _ref$showEyeDropper,
19864
19863
  _ref$showHexValue = _ref.showHexValue,
19865
19864
  showHexValue = _ref$showHexValue === void 0 ? false : _ref$showHexValue,
19866
19865
  _ref$showTransparency = _ref.showTransparencyControl,
19867
- showTransparencyControl = _ref$showTransparency === void 0 ? false : _ref$showTransparency;
19866
+ showTransparencyControl = _ref$showTransparency === void 0 ? false : _ref$showTransparency,
19867
+ _ref$showPicker = _ref.showPicker,
19868
+ showPicker = _ref$showPicker === void 0 ? true : _ref$showPicker;
19868
19869
  var _useState = React$5.useState(color),
19869
19870
  _useState2 = _slicedToArray$2(_useState, 2),
19870
19871
  colorInternal = _useState2[0],
19871
19872
  setColorInternal = _useState2[1];
19873
+ var isInputChanged = React$5.useRef(false);
19872
19874
  var _useEyeDropper = useEyeDropper({
19873
19875
  pickRadius: 3
19874
19876
  // cursorActive: CSS Cursors,
@@ -19882,15 +19884,31 @@ var ColorPicker = function ColorPicker(_ref) {
19882
19884
  var PickerComponent = showTransparencyControl ? ne : Z;
19883
19885
  var colorValue = (_ref2 = color !== null && color !== void 0 ? color : colorInternal) !== null && _ref2 !== void 0 ? _ref2 : "";
19884
19886
  var onChangeInternal = onChange || setColorInternal;
19885
- var onColorChange = function onColorChange(hex) {
19887
+ var getColor = function getColor(colorValue) {
19888
+ var color = tinycolor(colorValue);
19889
+ return {
19890
+ hex: showTransparencyControl ? color.toHex8String() : color.toHexString(),
19891
+ rgb: color.toRgb()
19892
+ };
19893
+ };
19894
+ var onColorInputChange = function onColorInputChange(hex) {
19886
19895
  var color = tinycolor(hex);
19887
19896
  var rgb = color.toRgb();
19888
- var hexValue = showTransparencyControl ? color.toHex8String() : color.toHexString();
19897
+ isInputChanged.current = true;
19889
19898
  onChangeInternal({
19890
- hex: hexValue,
19899
+ hex: hex,
19891
19900
  rgb: rgb
19892
19901
  });
19893
19902
  };
19903
+ var onPickerChange = function onPickerChange(hex) {
19904
+ return onChangeInternal(getColor(hex));
19905
+ };
19906
+ var onBlur = function onBlur() {
19907
+ // If input is not changed, don't call onChange on blur
19908
+ if (!isInputChanged.current) return;
19909
+ isInputChanged.current = false;
19910
+ onChangeInternal(getColor(colorValue));
19911
+ };
19894
19912
  var pickColor = /*#__PURE__*/function () {
19895
19913
  var _ref3 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
19896
19914
  var colorResponse, colorHex;
@@ -19903,7 +19921,7 @@ var ColorPicker = function ColorPicker(_ref) {
19903
19921
  case 3:
19904
19922
  colorResponse = _context.sent;
19905
19923
  colorHex = tinycolor(colorResponse.sRGBHex).toHexString();
19906
- onColorChange(colorHex);
19924
+ onPickerChange(colorHex);
19907
19925
  _context.next = 10;
19908
19926
  break;
19909
19927
  case 8:
@@ -19955,11 +19973,12 @@ var ColorPicker = function ColorPicker(_ref) {
19955
19973
  position: "bottom-start"
19956
19974
  }, /*#__PURE__*/React__default["default"].createElement("div", {
19957
19975
  className: "neeto-ui-colorpicker__popover"
19958
- }, /*#__PURE__*/React__default["default"].createElement("div", {
19959
- className: "neeto-ui-colorpicker__pointer"
19976
+ }, showPicker && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
19977
+ className: "neeto-ui-colorpicker__pointer",
19978
+ "data-testid": "neeto-color-picker-section"
19960
19979
  }, /*#__PURE__*/React__default["default"].createElement(PickerComponent, {
19961
19980
  color: colorValue,
19962
- onChange: onColorChange
19981
+ onChange: onPickerChange
19963
19982
  })), /*#__PURE__*/React__default["default"].createElement("div", {
19964
19983
  className: "neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center neeto-ui-mt-2 neeto-ui-gap-2"
19965
19984
  }, showEyeDropper && isSupported() && /*#__PURE__*/React__default["default"].createElement(Button, {
@@ -19977,10 +19996,13 @@ var ColorPicker = function ColorPicker(_ref) {
19977
19996
  }, /*#__PURE__*/React__default["default"].createElement(Oe, {
19978
19997
  alpha: !!showTransparencyControl,
19979
19998
  color: colorValue,
19980
- onChange: onColorChange
19981
- })))), colorPaletteProps && /*#__PURE__*/React__default["default"].createElement("div", {
19982
- className: "neeto-ui-colorpicker__palette-wrapper",
19983
- "data-testid": "color-palette"
19999
+ onBlur: onBlur,
20000
+ onChange: onColorInputChange
20001
+ }))))), colorPaletteProps && /*#__PURE__*/React__default["default"].createElement("div", {
20002
+ "data-testid": "color-palette",
20003
+ className: classnames$1("neeto-ui-colorpicker__palette-wrapper", {
20004
+ "neeto-ui-colorpicker__palette-wrapper--hidden-picker": !showPicker
20005
+ })
19984
20006
  }, /*#__PURE__*/React__default["default"].createElement(Palette, colorPaletteProps))));
19985
20007
  };
19986
20008