"use strict";

exports.__esModule = true;
exports.CollectionToolbarLeftGroup = void 0;
var _react = _interopRequireWildcard(require("react"));
var _designSystem = require("@wix/design-system");
var _mobxReactLite = require("mobx-react-lite");
var _InitialLoadingConditional = require("../InitialLoadingConditional");
var _CollectionToolbarSkeletonItem = require("./CollectionToolbarSkeletonItem");
var _ToolbarLeftGroupState = require("../../state/Toolbar/ToolbarLeftGroupState");
var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/cairo/dist/cjs/components/CollectionToolbar/CollectionToolbarLeftGroup.tsx";
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (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 (const 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 _CollectionToolbarLeftGroup(props) {
  const {
    state,
    left,
    viewsToolbarItem,
    filtersElement,
    mode
  } = props;
  const {
    toolbar: {
      responsive
    }
  } = state;
  const isLeftElementMode = mode === 'tabs' || mode === 'title';
  const shouldMeasure = isLeftElementMode && !responsive.responsiveDisabled;
  const container = (0, _react.useRef)(null);
  const [leftGroupState] = (0, _react.useState)(() => new _ToolbarLeftGroupState.ToolbarLeftGroupState({
    responsive,
    mode,
    minWidth: mode === 'title' ? 50 : 140,
    getTabsState: () => state.tabs
  }));
  (0, _react.useEffect)(() => {
    var _container$current;
    if (!shouldMeasure) {
      return;
    }
    responsive.leftGroupState = leftGroupState;
    const dispose = leftGroupState.init((_container$current = container.current) == null ? void 0 : _container$current.parentElement);
    return () => {
      dispose();
      responsive.leftGroupState = null;
    };
  }, [shouldMeasure]);
  const content = left ?? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, viewsToolbarItem && /*#__PURE__*/_react.default.createElement(_InitialLoadingConditional.InitialLoadingConditional, {
    state: state,
    loadingElement: /*#__PURE__*/_react.default.createElement(_CollectionToolbarSkeletonItem.CollectionToolbarSkeletonItem, {
      dataHook: "toolbar-views-skeleton",
      width: "100px",
      __self: this,
      __source: {
        fileName: _jsxFileName,
        lineNumber: 60,
        columnNumber: 13
      }
    }),
    __self: this,
    __source: {
      fileName: _jsxFileName,
      lineNumber: 57,
      columnNumber: 9
    }
  }, viewsToolbarItem), !viewsToolbarItem ? filtersElement : undefined);
  if (isLeftElementMode && !responsive.responsiveDisabled) {
    return /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
      ref: element => container.current = element,
      __self: this,
      __source: {
        fileName: _jsxFileName,
        lineNumber: 75,
        columnNumber: 7
      }
    }, content);
  }
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, content);
}
const CollectionToolbarLeftGroup = exports.CollectionToolbarLeftGroup = (0, _mobxReactLite.observer)(_CollectionToolbarLeftGroup);
//# sourceMappingURL=CollectionToolbarLeftGroup.js.map