@bigbinary/neeto-molecules 1.7.0-beta.0 → 1.7.0-beta.1

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/dist/Builder.js CHANGED
@@ -1,11 +1,12 @@
1
1
  import React, { useState, useMemo, memo, useRef, useEffect } from 'react';
2
+ import classnames from 'classnames';
2
3
  import { noop, isPresent, isNotEmpty, findById, hyphenate } from '@bigbinary/neeto-cist';
4
+ import { useBreakpoints } from '@bigbinary/neeto-commons-frontend/react-utils';
5
+ import { Search, MenuVertical, MenuHorizontal, Flash, Collapse, DownArrow, Close } from '@bigbinary/neeto-icons';
6
+ import { Typography, Button, Input, Dropdown, Tooltip } from '@bigbinary/neetoui';
3
7
  import { isEmpty, mergeRight } from 'ramda';
4
8
  import { joinHyphenCase, withEventTargetValue } from '@bigbinary/neeto-commons-frontend/utils/general';
5
- import { Search, MenuVertical, MenuHorizontal, Flash, DownArrow } from '@bigbinary/neeto-icons';
6
- import { Typography, Button, Input, Dropdown, Tooltip } from '@bigbinary/neetoui';
7
9
  import { useTranslation } from 'react-i18next';
8
- import classnames from 'classnames';
9
10
  import { DragDropContext, Droppable, Draggable } from '@hello-pangea/dnd';
10
11
  import { PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
11
12
  import withT from '@bigbinary/neeto-commons-frontend/react-utils/withT';
@@ -106,18 +107,6 @@ function _defineProperty(obj, key, value) {
106
107
  return obj;
107
108
  }
108
109
 
109
- var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
110
-
111
- var css = ":root{--neeto-molecule-builder-left-sidebar-width:360px;--neeto-molecule-builder-left-sidebar-header-height:70px;--neeto-molecule-builder-left-sidebar-search-height:40px;--neeto-molecule-builder-right-sidebar-width:420px}.neeto-molecules-builder-elements-list-panel{height:100%;min-width:360px;min-width:var(--neeto-molecule-builder-left-sidebar-width);width:360px;width:var(--neeto-molecule-builder-left-sidebar-width)}.neeto-molecules-builder-questions-list-panel__scroll{height:calc(100% - 70px);height:calc(100% - var(--neeto-molecule-builder-left-sidebar-header-height));overflow-y:auto;padding:8px 24px}.neeto-molecules-builder-questions-list-panel__scroll.neeto-molecules-builder-questions-list-panel__scroll--small{height:calc(100% - 110px);height:calc(100% - var(--neeto-molecule-builder-left-sidebar-header-height) - var(--neeto-molecule-builder-left-sidebar-search-height))}.neeto-molecules-builder-elements-list{margin-bottom:24px}.neeto-molecules-builder-elements-list .neeto-ui-accordion__wrapper{border-bottom:none}.neeto-molecules-builder-elements-list .neeto-ui-accordion__wrapper .neeto-ui-accordion__item{padding:12px 0}.neeto-molecules-builder-elements-list .neeto-ui-accordion__wrapper .neeto-ui-accordion__item .neeto-ui-accordion__item-handle{color:rgb(var(--neeto-ui-gray-600));font-size:var(--neeto-ui-text-xs);font-weight:var(--neeto-ui-font-semibold);text-transform:uppercase;transition:var(--neeto-ui-transition)}.neeto-molecules-builder-elements-list .neeto-ui-accordion__wrapper .neeto-ui-accordion__item .neeto-ui-accordion__item-toggle-icon{transform:rotate(90deg)!important}.neeto-molecules-builder-elements-list .neeto-ui-accordion__wrapper .neeto-ui-accordion__item:hover{background-color:transparent}.neeto-molecules-builder-elements-list .neeto-ui-accordion__wrapper .neeto-ui-accordion__item.neeto-ui-accordion__item--open .neeto-ui-accordion__item-handle,.neeto-molecules-builder-elements-list .neeto-ui-accordion__wrapper .neeto-ui-accordion__item:hover .neeto-ui-accordion__item-handle{color:rgb(var(--neeto-ui-gray-800))}.neeto-molecules-builder-elements-list .neeto-ui-accordion__wrapper .neeto-ui-accordion__item.neeto-ui-accordion__item--open .neeto-ui-accordion__item-toggle-icon{transform:rotate(270deg)!important}.neeto-molecules-builder-elements-list .neeto-ui-accordion__wrapper .neeto-ui-accordion__drop{padding:0}.neeto-molecules-builder-element-properties-panel{height:100%;min-width:420px;min-width:var(--neeto-molecule-builder-right-sidebar-width);padding-left:24px;padding-top:24px;width:420px;width:var(--neeto-molecule-builder-right-sidebar-width)}.neeto-molecules-builder-element--active{border-color:rgb(var(--neeto-ui-primary-500))!important;box-shadow:0 0 0 1px rgb(var(--neeto-ui-primary-500))!important}";
112
- n(css,{});
113
-
114
- var Body = function Body(props) {
115
- return /*#__PURE__*/React.createElement("div", {
116
- className: "neeto-molecules-builder-questions-list-panel__scroll neeto-molecules-builder-questions-list-panel__scroll--small",
117
- "data-testid": props["data-testid"]
118
- }, props.children);
119
- };
120
-
121
110
  function _extends() {
122
111
  _extends = Object.assign ? Object.assign.bind() : function (target) {
123
112
  for (var i = 1; i < arguments.length; i++) {
@@ -133,6 +122,51 @@ function _extends() {
133
122
  return _extends.apply(this, arguments);
134
123
  }
135
124
 
125
+ function _objectWithoutPropertiesLoose(source, excluded) {
126
+ if (source == null) return {};
127
+ var target = {};
128
+ var sourceKeys = Object.keys(source);
129
+ var key, i;
130
+ for (i = 0; i < sourceKeys.length; i++) {
131
+ key = sourceKeys[i];
132
+ if (excluded.indexOf(key) >= 0) continue;
133
+ target[key] = source[key];
134
+ }
135
+ return target;
136
+ }
137
+
138
+ function _objectWithoutProperties(source, excluded) {
139
+ if (source == null) return {};
140
+ var target = _objectWithoutPropertiesLoose(source, excluded);
141
+ var key, i;
142
+ if (Object.getOwnPropertySymbols) {
143
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
144
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
145
+ key = sourceSymbolKeys[i];
146
+ if (excluded.indexOf(key) >= 0) continue;
147
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
148
+ target[key] = source[key];
149
+ }
150
+ }
151
+ return target;
152
+ }
153
+
154
+ var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
155
+
156
+ var css = ":root{--neeto-molecule-builder-left-sidebar-width:288px;--neeto-molecule-builder-left-sidebar-width-lg:360px;--neeto-molecule-builder-left-sidebar-header-height:70px;--neeto-molecule-builder-left-sidebar-search-height:40px;--neeto-molecule-builder-right-sidebar-width:420px}.neeto-molecules-builder-elements-list-panel__wrapper{height:100%;min-width:360px;min-width:var(--neeto-molecule-builder-left-sidebar-width-lg);position:relative;transition:all .15s;width:360px;width:var(--neeto-molecule-builder-left-sidebar-width-lg);z-index:101}@media screen and (min-width:768px) and (max-width:1279px){.neeto-molecules-builder-elements-list-panel__wrapper{min-width:288px;min-width:var(--neeto-molecule-builder-left-sidebar-width);width:288px;width:var(--neeto-molecule-builder-left-sidebar-width)}}@media screen and (max-width:767px){.neeto-molecules-builder-elements-list-panel__wrapper{left:0;position:fixed;top:0;transition:none}}@media screen and (max-width:576px){.neeto-molecules-builder-elements-list-panel__wrapper{height:100%;max-width:100%;min-width:0;width:100%}}.neeto-molecules-builder-elements-list-panel__wrapper--collapsed{max-width:0;min-width:0;width:0}.neeto-molecules-builder-elements-list-panel__wrapper--collapsed .neeto-molecules-builder-elements-list-panel__toggler{transform:scale(-1)}@media screen and (max-width:767px){.neeto-molecules-builder-elements-list-panel__wrapper--collapsed .neeto-molecules-builder-elements-list-panel__toggler{top:72px}}@media screen and (max-width:576px){.neeto-molecules-builder-elements-list-panel__wrapper--collapsed .neeto-molecules-builder-elements-list-panel__toggler{left:8px;right:auto}}.neeto-molecules-builder-elements-list-panel__container{height:100%;overflow:hidden;width:100%}.neeto-molecules-builder-elements-list-panel{height:100%;min-width:360px;min-width:var(--neeto-molecule-builder-left-sidebar-width-lg);width:360px;width:var(--neeto-molecule-builder-left-sidebar-width-lg)}@media screen and (min-width:768px) and (max-width:1279px){.neeto-molecules-builder-elements-list-panel{min-width:288px;min-width:var(--neeto-molecule-builder-left-sidebar-width);width:288px;width:var(--neeto-molecule-builder-left-sidebar-width)}}@media screen and (max-width:576px){.neeto-molecules-builder-elements-list-panel{padding-top:24px;width:100%}}.neeto-molecules-builder-elements-list-panel__toggler{flex-shrink:0;left:calc(100% + 8px);position:absolute;top:8px;transition:color .3s ease-in-out}@media screen and (min-width:1024px){.neeto-molecules-builder-elements-list-panel__toggler{opacity:0;pointer-events:none}}@media screen and (max-width:576px){.neeto-molecules-builder-elements-list-panel__toggler{left:24px}}.neeto-molecules-builder-questions-list-panel__scroll{height:calc(100% - 70px);height:calc(100% - var(--neeto-molecule-builder-left-sidebar-header-height));overflow-y:auto;padding:8px 24px;width:100%}.neeto-molecules-builder-questions-list-panel__scroll.neeto-molecules-builder-questions-list-panel__scroll--small{height:calc(100% - 110px);height:calc(100% - var(--neeto-molecule-builder-left-sidebar-header-height) - var(--neeto-molecule-builder-left-sidebar-search-height))}.neeto-molecules-builder-element-properties-panel__wrapper{height:100%;min-width:420px;min-width:var(--neeto-molecule-builder-right-sidebar-width);position:relative;transition:all .15s;width:420px;width:var(--neeto-molecule-builder-right-sidebar-width);z-index:101}.neeto-molecules-builder-element-properties-panel__wrapper .neeto-molecules-builder-properties-panel__close{opacity:0;pointer-events:none;position:absolute;right:8px;top:8px}@media screen and (max-width:1279px){.neeto-molecules-builder-element-properties-panel__wrapper .neeto-molecules-builder-properties-panel__close{opacity:1;pointer-events:all}.neeto-molecules-builder-element-properties-panel__wrapper{position:fixed;right:0;top:0;transition:none}}@media screen and (max-width:576px){.neeto-molecules-builder-element-properties-panel__wrapper{height:100%;max-width:100%;min-width:0;width:100%}}.neeto-molecules-builder-element-properties-panel__wrapper--collapsed{max-width:0;min-width:0;width:0}.neeto-molecules-builder-element-properties-panel{display:flex;flex-direction:column;height:100%;min-width:0;overflow-y:auto;padding-left:24px;padding-top:24px;width:100%}.neeto-molecules-builder-element-properties-panel--collapsed{max-width:0;min-width:0;padding:0;width:0}@media screen and (max-width:1279px){.neeto-molecules-builder-element-properties-panel{padding-top:48px}}.neeto-molecules-builder-element--active{border-color:rgb(var(--neeto-ui-primary-500))!important;box-shadow:0 0 0 1px rgb(var(--neeto-ui-primary-500))!important}.neeto-molecules-builder-panel__backdrop{background-color:rgba(var(--neeto-ui-black),.4);display:none;height:100%;left:0;position:fixed;top:0;visibility:hidden;width:100%;z-index:101}@media screen and (max-width:767px){.neeto-molecules-builder-panel__backdrop{display:block;visibility:visible}}@media screen and (max-width:1279px){.neeto-molecules-builder-panel__backdrop--extended{display:block;visibility:visible}}";
157
+ n(css,{});
158
+
159
+ var _excluded$4 = ["size"];
160
+ var Body = function Body(_ref) {
161
+ var size = _ref.size,
162
+ props = _objectWithoutProperties(_ref, _excluded$4);
163
+ return /*#__PURE__*/React.createElement("div", _extends({}, props, {
164
+ className: classnames("neeto-molecules-builder-questions-list-panel__scroll", {
165
+ "neeto-molecules-builder-questions-list-panel__scroll--small": size === "small"
166
+ })
167
+ }));
168
+ };
169
+
136
170
  var Element = function Element(_ref) {
137
171
  var label = _ref.label,
138
172
  Icon = _ref.icon,
@@ -241,9 +275,8 @@ var ElementList = function ElementList(_ref) {
241
275
  value: searchString,
242
276
  onChange: withEventTargetValue(setSearchString)
243
277
  })), /*#__PURE__*/React.createElement(Body, {
244
- "data-testid": "elements-container"
245
- }, /*#__PURE__*/React.createElement("div", {
246
- className: "neeto-molecules-builder-questions-list-panel__scroll--small"
278
+ "data-testid": "elements-container",
279
+ size: "small"
247
280
  }, filteredSections.map(function (section) {
248
281
  return /*#__PURE__*/React.createElement(Section, {
249
282
  onSelect: onSelect,
@@ -252,38 +285,9 @@ var ElementList = function ElementList(_ref) {
252
285
  key: section.key,
253
286
  title: section.title
254
287
  });
255
- }))));
288
+ })));
256
289
  };
257
290
 
258
- function _objectWithoutPropertiesLoose(source, excluded) {
259
- if (source == null) return {};
260
- var target = {};
261
- var sourceKeys = Object.keys(source);
262
- var key, i;
263
- for (i = 0; i < sourceKeys.length; i++) {
264
- key = sourceKeys[i];
265
- if (excluded.indexOf(key) >= 0) continue;
266
- target[key] = source[key];
267
- }
268
- return target;
269
- }
270
-
271
- function _objectWithoutProperties(source, excluded) {
272
- if (source == null) return {};
273
- var target = _objectWithoutPropertiesLoose(source, excluded);
274
- var key, i;
275
- if (Object.getOwnPropertySymbols) {
276
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
277
- for (i = 0; i < sourceSymbolKeys.length; i++) {
278
- key = sourceSymbolKeys[i];
279
- if (excluded.indexOf(key) >= 0) continue;
280
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
281
- target[key] = source[key];
282
- }
283
- }
284
- return target;
285
- }
286
-
287
291
  var MENU_ITEM_TYPES = {
288
292
  menuItem: "menuItem",
289
293
  divider: "divider"
@@ -402,13 +406,15 @@ var MoreDropdown = function MoreDropdown(_ref) {
402
406
  }), menuBottomChildren));
403
407
  };
404
408
 
405
- var _excluded = ["element", "isActive", "handleSelectElement", "isSelectable", "errors", "actions"];
409
+ var _excluded = ["element", "isActive", "handleSelectElement", "isSelectable", "index", "returnElementOnSelect", "errors", "actions"];
406
410
  var SelectedElement = function SelectedElement(_ref) {
407
411
  var element = _ref.element,
408
412
  isActive = _ref.isActive,
409
413
  handleSelectElement = _ref.handleSelectElement,
410
414
  _ref$isSelectable = _ref.isSelectable,
411
415
  isSelectable = _ref$isSelectable === void 0 ? true : _ref$isSelectable,
416
+ index = _ref.index,
417
+ returnElementOnSelect = _ref.returnElementOnSelect,
412
418
  _ref$errors = _ref.errors,
413
419
  errors = _ref$errors === void 0 ? [] : _ref$errors,
414
420
  _ref$actions = _ref.actions,
@@ -417,7 +423,7 @@ var SelectedElement = function SelectedElement(_ref) {
417
423
  var Icon = element.icon;
418
424
  var rootElementRef = useRef();
419
425
  var onClick = function onClick() {
420
- return handleSelectElement(element);
426
+ return returnElementOnSelect ? handleSelectElement(element) : handleSelectElement(index);
421
427
  };
422
428
  var shouldShowDropdown = isNotEmpty(actions);
423
429
  var menuItems = typeof actions === "function" ? actions(element) : actions.map(function (action) {
@@ -517,16 +523,18 @@ var SelectedElementsList = function SelectedElementsList(_ref) {
517
523
  handleSelectElement = _ref.handleSelectElement,
518
524
  isDragDisabled = _ref.isDragDisabled,
519
525
  isElementVisible = _ref.isElementVisible,
520
- selectedElementId = _ref.selectedElementId,
526
+ selectedElementIndex = _ref.selectedElementIndex,
521
527
  selectedElements = _ref.selectedElements,
522
528
  setIsElementsListVisible = _ref.setIsElementsListVisible,
529
+ fixedLastElementIndex = _ref.fixedLastElementIndex,
523
530
  fixedLastElement = _ref.fixedLastElement,
524
531
  fixedFirstElement = _ref.fixedFirstElement,
525
532
  selectedElementActions = _ref.selectedElementActions,
526
533
  addAllElements = _ref.addAllElements,
527
534
  isAddingAllElements = _ref.isAddingAllElements,
528
535
  showElementsFillButton = _ref.showElementsFillButton,
529
- isAddingNewElement = _ref.isAddingNewElement;
536
+ isAddingNewElement = _ref.isAddingNewElement,
537
+ returnElementOnSelect = _ref.returnElementOnSelect;
530
538
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TitleBar, {
531
539
  addAllElements: addAllElements,
532
540
  isAddingAllElements: isAddingAllElements,
@@ -537,13 +545,14 @@ var SelectedElementsList = function SelectedElementsList(_ref) {
537
545
  "data-testid": "selected-elements-container"
538
546
  }, isPresent(fixedFirstElement) && /*#__PURE__*/React.createElement(SelectedElement$1, {
539
547
  handleSelectElement: handleSelectElement,
548
+ returnElementOnSelect: returnElementOnSelect,
540
549
  isSelectable: true,
541
550
  actions: fixedFirstElement.actions,
542
551
  "data-cy": "welcome-element",
543
552
  "data-testid": "welcome-record",
544
553
  element: fixedFirstElement,
545
554
  index: 0,
546
- isActive: selectedElementId === fixedFirstElement.id
555
+ isActive: selectedElementIndex === 0
547
556
  }), /*#__PURE__*/React.createElement(DragDropContext, {
548
557
  onDragEnd: handleDragEnd
549
558
  }, /*#__PURE__*/React.createElement(Droppable, {
@@ -576,21 +585,25 @@ var SelectedElementsList = function SelectedElementsList(_ref) {
576
585
  }, draggableProps, dragHandleProps), /*#__PURE__*/React.createElement(SelectedElement$1, {
577
586
  element: element,
578
587
  handleSelectElement: handleSelectElement,
588
+ index: index,
589
+ returnElementOnSelect: returnElementOnSelect,
579
590
  isSelectable: true,
580
591
  actions: selectedElementActions,
581
- isActive: selectedElementId === element.id,
592
+ isActive: index === selectedElementIndex,
582
593
  key: (_element$id3 = element.id) !== null && _element$id3 !== void 0 ? _element$id3 : index
583
594
  }));
584
595
  });
585
596
  }), placeholder);
586
597
  })), isPresent(fixedLastElement) && /*#__PURE__*/React.createElement(SelectedElement$1, {
587
598
  handleSelectElement: handleSelectElement,
599
+ returnElementOnSelect: returnElementOnSelect,
588
600
  isSelectable: true,
589
601
  actions: fixedLastElement.actions,
590
602
  "data-cy": "submit-button-element",
591
603
  "data-testid": "submit-button-record",
592
604
  element: fixedLastElement,
593
- isActive: selectedElementId === fixedLastElement.id
605
+ index: fixedLastElementIndex,
606
+ isActive: selectedElementIndex === fixedLastElementIndex
594
607
  })));
595
608
  };
596
609
 
@@ -607,7 +620,8 @@ var ElementsPanel = function ElementsPanel(_ref) {
607
620
  _ref$isDragDisabled = _ref.isDragDisabled,
608
621
  isDragDisabled = _ref$isDragDisabled === void 0 ? true : _ref$isDragDisabled,
609
622
  handleSelectElement = _ref.handleSelectElement,
610
- selectedElementId = _ref.selectedElementId,
623
+ selectedElementIndex = _ref.selectedElementIndex,
624
+ fixedLastElementIndex = _ref.fixedLastElementIndex,
611
625
  selectedElementActions = _ref.selectedElementActions,
612
626
  _ref$addAllElements = _ref.addAllElements,
613
627
  addAllElements = _ref$addAllElements === void 0 ? noop : _ref$addAllElements,
@@ -616,18 +630,41 @@ var ElementsPanel = function ElementsPanel(_ref) {
616
630
  _ref$showElementsFill = _ref.showElementsFillButton,
617
631
  showElementsFillButton = _ref$showElementsFill === void 0 ? false : _ref$showElementsFill,
618
632
  _ref$isAddingNewEleme = _ref.isAddingNewElement,
619
- isAddingNewElement = _ref$isAddingNewEleme === void 0 ? false : _ref$isAddingNewEleme;
633
+ isAddingNewElement = _ref$isAddingNewEleme === void 0 ? false : _ref$isAddingNewEleme,
634
+ _ref$returnElementOnS = _ref.returnElementOnSelect,
635
+ returnElementOnSelect = _ref$returnElementOnS === void 0 ? false : _ref$returnElementOnS;
620
636
  var _useState = useState(false),
621
637
  _useState2 = _slicedToArray(_useState, 2),
622
638
  isElementsListVisible = _useState2[0],
623
639
  setIsElementsListVisible = _useState2[1];
640
+ var _useBreakpoints = useBreakpoints(),
641
+ isSize = _useBreakpoints.isSize;
642
+ var isLargerScreen = !isSize("mobile");
643
+ var _useState3 = useState(!isLargerScreen),
644
+ _useState4 = _slicedToArray(_useState3, 2),
645
+ isElementsPanelCollapsed = _useState4[0],
646
+ setIsElementsPanelCollapsed = _useState4[1];
624
647
  var isSelectedElementsEmpty = isEmpty(selectedElements);
625
648
  var shouldShowElementsList = isSelectedElementsEmpty || isElementsListVisible;
626
649
  var handleElementSelect = function handleElementSelect(element) {
627
650
  setIsElementsListVisible(false);
628
651
  handleAddElement(element);
629
652
  };
630
- return /*#__PURE__*/React.createElement("div", {
653
+ useEffect(function () {
654
+ setIsElementsPanelCollapsed(!isLargerScreen);
655
+ }, [isLargerScreen]);
656
+ return /*#__PURE__*/React.createElement(React.Fragment, null, !isElementsPanelCollapsed && /*#__PURE__*/React.createElement("div", {
657
+ className: "neeto-molecules-builder-panel__backdrop",
658
+ onClick: function onClick() {
659
+ setIsElementsPanelCollapsed(!isElementsPanelCollapsed);
660
+ }
661
+ }), /*#__PURE__*/React.createElement("div", {
662
+ className: classnames("neeto-molecules-builder-elements-list-panel__wrapper", {
663
+ "neeto-molecules-builder-elements-list-panel__wrapper--collapsed": isElementsPanelCollapsed
664
+ })
665
+ }, /*#__PURE__*/React.createElement("div", {
666
+ className: "neeto-molecules-builder-elements-list-panel__container"
667
+ }, /*#__PURE__*/React.createElement("div", {
631
668
  className: "neeto-molecules-builder-elements-list-panel neeto-ui-bg-gray-100",
632
669
  onClick: function onClick(event) {
633
670
  return event.stopPropagation();
@@ -641,24 +678,33 @@ var ElementsPanel = function ElementsPanel(_ref) {
641
678
  addAllElements: addAllElements,
642
679
  fixedFirstElement: fixedFirstElement,
643
680
  fixedLastElement: fixedLastElement,
681
+ fixedLastElementIndex: fixedLastElementIndex,
644
682
  handleDragEnd: handleDragEnd,
645
683
  handleSelectElement: handleSelectElement,
646
684
  isAddingAllElements: isAddingAllElements,
647
685
  isAddingNewElement: isAddingNewElement,
648
686
  isDragDisabled: isDragDisabled,
649
687
  isElementVisible: isElementVisible,
688
+ returnElementOnSelect: returnElementOnSelect,
650
689
  selectedElementActions: selectedElementActions,
651
- selectedElementId: selectedElementId,
690
+ selectedElementIndex: selectedElementIndex,
652
691
  selectedElements: selectedElements,
653
692
  setIsElementsListVisible: setIsElementsListVisible,
654
693
  showElementsFillButton: showElementsFillButton
655
- }));
694
+ }))), /*#__PURE__*/React.createElement(Button, {
695
+ className: "neeto-molecules-builder-elements-list-panel__toggler",
696
+ icon: Collapse,
697
+ style: "secondary",
698
+ onClick: function onClick() {
699
+ setIsElementsPanelCollapsed(!isElementsPanelCollapsed);
700
+ }
701
+ })));
656
702
  };
657
703
 
658
704
  var EmptyProperty = withT(function (_ref) {
659
705
  var t = _ref.t;
660
706
  return /*#__PURE__*/React.createElement("div", {
661
- className: "space-y-4 "
707
+ className: "space-y-4 pr-6 pb-6"
662
708
  }, /*#__PURE__*/React.createElement("div", {
663
709
  className: "neeto-ui-bg-gray-200 neeto-ui-text-gray-600 neeto-ui-rounded-lg flex w-full flex-col items-center justify-center space-y-2 px-16 py-8"
664
710
  }, /*#__PURE__*/React.createElement(Typography, {
@@ -676,7 +722,7 @@ var EmptyProperty = withT(function (_ref) {
676
722
  var Skeleton = withT(function (_ref) {
677
723
  var t = _ref.t;
678
724
  return /*#__PURE__*/React.createElement("div", {
679
- className: "space-y-4 pr-6"
725
+ className: "space-y-4 pr-6 pb-6"
680
726
  }, /*#__PURE__*/React.createElement("div", {
681
727
  className: "neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-12 w-full"
682
728
  }), /*#__PURE__*/React.createElement("div", {
@@ -694,10 +740,46 @@ var Skeleton = withT(function (_ref) {
694
740
  });
695
741
 
696
742
  var PropertiesPanel = function PropertiesPanel(_ref) {
697
- var children = _ref.children;
698
- return /*#__PURE__*/React.createElement("div", {
743
+ var id = _ref.id,
744
+ children = _ref.children,
745
+ onClose = _ref.onClose;
746
+ var _useBreakpoints = useBreakpoints(function (window) {
747
+ return {
748
+ largeDesktop: window.innerWidth >= 1280
749
+ };
750
+ }),
751
+ isSize = _useBreakpoints.isSize;
752
+ var isLargerScreen = isSize("largeDesktop");
753
+ var _useState = useState(!isLargerScreen),
754
+ _useState2 = _slicedToArray(_useState, 2),
755
+ isPropertiesPanelCollapsed = _useState2[0],
756
+ setIsPropertiesPanelCollapsed = _useState2[1];
757
+ useEffect(function () {
758
+ setIsPropertiesPanelCollapsed(!isLargerScreen);
759
+ }, [isLargerScreen]);
760
+ useEffect(function () {
761
+ if (!id) return;
762
+ setIsPropertiesPanelCollapsed(false);
763
+ }, [id]);
764
+ var handleCollapsePanel = function handleCollapsePanel() {
765
+ setIsPropertiesPanelCollapsed(!isPropertiesPanelCollapsed);
766
+ onClose === null || onClose === void 0 ? void 0 : onClose(id);
767
+ };
768
+ return /*#__PURE__*/React.createElement(React.Fragment, null, !isPropertiesPanelCollapsed && /*#__PURE__*/React.createElement("div", {
769
+ className: "neeto-molecules-builder-panel__backdrop neeto-molecules-builder-panel__backdrop--extended",
770
+ onClick: handleCollapsePanel
771
+ }), /*#__PURE__*/React.createElement("div", {
772
+ className: classnames("neeto-molecules-builder-element-properties-panel__wrapper", {
773
+ "neeto-molecules-builder-element-properties-panel__wrapper--collapsed": isPropertiesPanelCollapsed
774
+ })
775
+ }, /*#__PURE__*/React.createElement("div", {
699
776
  className: "neeto-molecules-builder-element-properties-panel neeto-ui-bg-gray-100"
700
- }, children !== null && children !== void 0 ? children : /*#__PURE__*/React.createElement(Skeleton, null));
777
+ }, children !== null && children !== void 0 ? children : /*#__PURE__*/React.createElement(Skeleton, null)), !isPropertiesPanelCollapsed && /*#__PURE__*/React.createElement(Button, {
778
+ className: "neeto-molecules-builder-properties-panel__close",
779
+ icon: Close,
780
+ style: "secondary",
781
+ onClick: handleCollapsePanel
782
+ })));
701
783
  };
702
784
  PropertiesPanel.EmptyProperty = EmptyProperty;
703
785