@itcase/ui 1.0.75 → 1.0.77

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.
@@ -55,11 +55,15 @@ function Menu(props) {
55
55
  prefix: 'menu_columns_',
56
56
  propsKey: 'columns'
57
57
  });
58
+ const flexGrowClass = useDeviceTargetClass.useDeviceTargetClass(props, {
59
+ prefix: 'flex-grow_',
60
+ propsKey: 'flexGrow'
61
+ });
58
62
  const {
59
63
  styles: menuStyles
60
64
  } = useStyles.useStyles(props);
61
65
  return /*#__PURE__*/React__default.default.createElement("div", {
62
- className: clsx__default.default(className, 'menu', directionClass, columnsClass, type && `menu_type_${type}`)
66
+ className: clsx__default.default(className, 'menu', directionClass, columnsClass, type && `menu_type_${type}`, flexGrowClass)
63
67
  }, /*#__PURE__*/React__default.default.createElement("div", {
64
68
  className: "menu__wrapper",
65
69
  style: menuStyles
@@ -8186,6 +8186,8 @@ const SelectContainer = /*#__PURE__*/React__namespace.default.forwardRef(functio
8186
8186
  value,
8187
8187
  onChange
8188
8188
  } = props;
8189
+ const defaultRef = React.useRef(null);
8190
+ const selectRef = ref || defaultRef;
8189
8191
  const borderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
8190
8192
  prefix: 'border-color_',
8191
8193
  propsKey: 'borderColor'
@@ -8290,6 +8292,23 @@ const SelectContainer = /*#__PURE__*/React__namespace.default.forwardRef(functio
8290
8292
  propsKey: 'headingTextColor'
8291
8293
  });
8292
8294
  const SelectComponent = React.useMemo(() => isCreatable ? CreatableSelect$1 : Select__default.default, [isCreatable]);
8295
+ React.useEffect(() => {
8296
+ const onClickOutside = event => {
8297
+ const isTargetSelectContainer = event.target.hasClass && event.target.hasClass('select_state_hide-value-container');
8298
+ const isTargetInsideController = selectRef.current.controlRef.contains(event.target);
8299
+ if (!isTargetSelectContainer && !isTargetInsideController) {
8300
+ selectRef.current?.onInputBlur();
8301
+ }
8302
+ };
8303
+ if (hideValueContainer) {
8304
+ document.addEventListener('click', onClickOutside);
8305
+ }
8306
+ return () => {
8307
+ if (hideValueContainer) {
8308
+ document.removeEventListener('click', onClickOutside);
8309
+ }
8310
+ };
8311
+ }, []);
8293
8312
  return /*#__PURE__*/React__namespace.default.createElement(SelectComponent, {
8294
8313
  className: clsx__default.default(className, 'select', fillClass, fillHoverClass, shapeClass, borderColorClass, sizeClass, hideValueContainer && 'select_state_hide-value-container', set && `select_set_${set}`),
8295
8314
  classNamePrefix: "select",
@@ -8352,7 +8371,7 @@ const SelectContainer = /*#__PURE__*/React__namespace.default.forwardRef(functio
8352
8371
  multipleItemIcon: multipleItemIcon,
8353
8372
  multipleItemIconFill: multipleItemIconFill,
8354
8373
  options: options,
8355
- ref: ref,
8374
+ ref: selectRef,
8356
8375
  components: {
8357
8376
  Control: SelectControl,
8358
8377
  ClearIndicator: SelectClearIndicator,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itcase/ui",
3
- "version": "1.0.75",
3
+ "version": "1.0.77",
4
4
  "description": "UI components (Modal, Loader, Popup, etc)",
5
5
  "keywords": [
6
6
  "Modal",