@bigbinary/neeto-molecules 3.5.0 → 3.5.2-beta

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
@@ -2,10 +2,9 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
2
  import { createElement, useState, useMemo, memo, useRef, useEffect } from 'react';
3
3
  import classnames from 'classnames';
4
4
  import { noop, isPresent, isNotEmpty, findById, hyphenate } from '@bigbinary/neeto-cist';
5
- import { useBreakpoints } from '@bigbinary/neeto-commons-frontend/react-utils';
5
+ import { withT, useBreakpoints } from '@bigbinary/neeto-commons-frontend/react-utils';
6
6
  import Collapse from '@bigbinary/neeto-icons/Collapse';
7
7
  import Button from '@bigbinary/neetoui/Button';
8
- import { isEmpty, mergeRight } from 'ramda';
9
8
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
10
9
  import { joinHyphenCase, withEventTargetValue } from '@bigbinary/neeto-commons-frontend/utils/general';
11
10
  import Search from '@bigbinary/neeto-icons/Search';
@@ -15,18 +14,22 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
15
14
  import { n } from './inject-css-c86de496.js';
16
15
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
17
16
  import Typography from '@bigbinary/neetoui/Typography';
17
+ import { isEmpty, mergeRight } from 'ramda';
18
+ import { Draggable, Droppable } from '@hello-pangea/dnd';
18
19
  import Tooltip from '@bigbinary/neetoui/Tooltip';
19
- import { DragDropContext, Droppable, Draggable } from '@hello-pangea/dnd';
20
20
  import MoreDropdown from './MoreDropdown.js';
21
21
  import { PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
22
22
  import Flash from '@bigbinary/neeto-icons/Flash';
23
23
  import Close from '@bigbinary/neeto-icons/Close';
24
- import withT from '@bigbinary/neeto-commons-frontend/react-utils/withT';
24
+ import withT$1 from '@bigbinary/neeto-commons-frontend/react-utils/withT';
25
25
  import DownArrow from '@bigbinary/neeto-icons/DownArrow';
26
26
  import '@bigbinary/neeto-icons/MenuHorizontal';
27
27
  import '@bigbinary/neeto-icons/MenuVertical';
28
28
  import '@bigbinary/neetoui/Dropdown';
29
29
 
30
+ var SELECTED_ELEMENTS_LIST_DROPPABLE_ID = "droppable-selected-question-container";
31
+ var PREVIEW_CONTAINER_DROPPABLE_ID = "droppable-form-preview-container";
32
+
30
33
  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:109px}}@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{border-right:1px solid rgb(var(--neeto-ui-gray-200));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{border-left:1px solid rgb(var(--neeto-ui-gray-200));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}}";
31
34
  n(css,{});
32
35
 
@@ -43,26 +46,55 @@ var Body = function Body(_ref) {
43
46
  }));
44
47
  };
45
48
 
49
+ var _excluded$1 = ["size"];
50
+ function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
51
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
52
+ var DragIcon = function DragIcon(_ref) {
53
+ var _ref$size = _ref.size,
54
+ size = _ref$size === void 0 ? 16 : _ref$size,
55
+ otherProps = _objectWithoutProperties(_ref, _excluded$1);
56
+ return /*#__PURE__*/jsx("svg", _objectSpread$3(_objectSpread$3({
57
+ fill: "currentColor",
58
+ height: size,
59
+ viewBox: "0 -960 960 960",
60
+ width: size,
61
+ xmlns: "http://www.w3.org/2000/svg"
62
+ }, otherProps), {}, {
63
+ children: /*#__PURE__*/jsx("path", {
64
+ d: "M360-160q-33 0-56.5-23.5T280-240q0-33 23.5-56.5T360-320q33 0 56.5 23.5T440-240q0 33-23.5 56.5T360-160zm240 0q-33 0-56.5-23.5T520-240q0-33 23.5-56.5T600-320q33 0 56.5 23.5T680-240q0 33-23.5 56.5T600-160zM360-400q-33 0-56.5-23.5T280-480q0-33 23.5-56.5T360-560q33 0 56.5 23.5T440-480q0 33-23.5 56.5T360-400zm240 0q-33 0-56.5-23.5T520-480q0-33 23.5-56.5T600-560q33 0 56.5 23.5T680-480q0 33-23.5 56.5T600-400zM360-640q-33 0-56.5-23.5T280-720q0-33 23.5-56.5T360-800q33 0 56.5 23.5T440-720q0 33-23.5 56.5T360-640zm240 0q-33 0-56.5-23.5T520-720q0-33 23.5-56.5T600-800q33 0 56.5 23.5T680-720q0 33-23.5 56.5T600-640z"
65
+ })
66
+ }));
67
+ };
68
+
46
69
  var Element = function Element(_ref) {
47
70
  var label = _ref.label,
48
71
  Icon = _ref.icon,
49
72
  _ref$isCreatable = _ref.isCreatable,
50
73
  isCreatable = _ref$isCreatable === void 0 ? true : _ref$isCreatable,
51
74
  onClick = _ref.onClick,
52
- disabledElementTooltip = _ref.disabledElementTooltip;
75
+ _ref$isDragDisabled = _ref.isDragDisabled,
76
+ isDragDisabled = _ref$isDragDisabled === void 0 ? false : _ref$isDragDisabled,
77
+ disabledElementTooltip = _ref.disabledElementTooltip,
78
+ isPlaceholder = _ref.isPlaceholder;
53
79
  return /*#__PURE__*/jsx(Tooltip, {
54
80
  content: disabledElementTooltip === null || disabledElementTooltip === void 0 ? void 0 : disabledElementTooltip(label),
55
81
  disabled: !disabledElementTooltip || isCreatable,
56
82
  position: "top",
57
83
  touch: ["hold", 500],
58
- children: /*#__PURE__*/jsx("div", {
84
+ children: /*#__PURE__*/jsxs("div", {
59
85
  "data-cy": "add-".concat(joinHyphenCase(label), "-element"),
60
- className: classnames("neeto-ui-border-gray-400 neeto-ui-bg-white hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg mb-2 flex h-10 items-center gap-2 border p-3 transition-all duration-300 ease-in-out", {
86
+ className: classnames("neeto-ui-border-gray-400 neeto-ui-bg-white hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg relative mb-2 flex h-10 items-center gap-2 border p-3 transition-all duration-300 ease-in-out", {
61
87
  "neeto-ui-bg-gray-300 cursor-not-allowed": !isCreatable,
62
- "cursor-pointer": isCreatable
88
+ "cursor-pointer": isCreatable,
89
+ "opacity-50": isPlaceholder
63
90
  }),
64
91
  onClick: isCreatable ? onClick : noop,
65
- children: /*#__PURE__*/jsxs("div", {
92
+ children: [!isDragDisabled && /*#__PURE__*/jsx("span", {
93
+ className: "absolute right-full top-1/2 flex-shrink-0 -translate-y-1/2 cursor-grab",
94
+ children: /*#__PURE__*/jsx(DragIcon, {
95
+ size: 16
96
+ })
97
+ }), /*#__PURE__*/jsxs("div", {
66
98
  className: "flex flex-grow items-center gap-2",
67
99
  children: [Icon && /*#__PURE__*/jsx(Icon, {
68
100
  "data-cy": "form-icon"
@@ -71,19 +103,79 @@ var Element = function Element(_ref) {
71
103
  style: "body2",
72
104
  children: label
73
105
  })]
74
- })
106
+ })]
75
107
  })
76
108
  });
77
109
  };
78
110
 
79
- function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
80
- function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
111
+ function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
112
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
113
+ var ElementContainer = function ElementContainer(_ref) {
114
+ var index = _ref.index,
115
+ isDragDisabled = _ref.isDragDisabled,
116
+ element = _ref.element,
117
+ disabledElementTooltip = _ref.disabledElementTooltip,
118
+ isCreatable = _ref.isCreatable,
119
+ onSelect = _ref.onSelect;
120
+ if (isDragDisabled) {
121
+ return /*#__PURE__*/jsx(Element, _objectSpread$2(_objectSpread$2({}, _objectSpread$2(_objectSpread$2({}, element), {}, {
122
+ disabledElementTooltip: disabledElementTooltip,
123
+ isDragDisabled: isDragDisabled
124
+ })), {}, {
125
+ isCreatable: isCreatable(element.value),
126
+ onClick: function onClick() {
127
+ return onSelect(element);
128
+ }
129
+ }));
130
+ }
131
+ return /*#__PURE__*/createElement(Draggable, {
132
+ index: index,
133
+ isDragDisabled: isDragDisabled,
134
+ draggableId: "".concat(element.value, "-").concat(index),
135
+ key: element.label
136
+ }, function (_ref2, _ref3) {
137
+ var innerRef = _ref2.innerRef,
138
+ draggableProps = _ref2.draggableProps,
139
+ dragHandleProps = _ref2.dragHandleProps;
140
+ var isDragging = _ref3.isDragging,
141
+ isDropAnimating = _ref3.isDropAnimating;
142
+ return /*#__PURE__*/jsxs(Fragment, {
143
+ children: [/*#__PURE__*/jsx("div", _objectSpread$2(_objectSpread$2(_objectSpread$2({
144
+ ref: innerRef
145
+ }, draggableProps), dragHandleProps), {}, {
146
+ style: _objectSpread$2(_objectSpread$2({}, draggableProps.style), isDropAnimating && {
147
+ opacity: 0,
148
+ transition: null
149
+ }),
150
+ children: /*#__PURE__*/jsx(Element, _objectSpread$2(_objectSpread$2({}, _objectSpread$2(_objectSpread$2({}, element), {}, {
151
+ disabledElementTooltip: disabledElementTooltip,
152
+ isDragDisabled: isDragDisabled
153
+ })), {}, {
154
+ isCreatable: isCreatable(element.value),
155
+ onClick: function onClick() {
156
+ return onSelect(element);
157
+ }
158
+ }))
159
+ })), isDragging && /*#__PURE__*/jsx(Element, _objectSpread$2(_objectSpread$2({
160
+ isPlaceholder: !isDropAnimating
161
+ }, _objectSpread$2(_objectSpread$2({}, element), {}, {
162
+ disabledElementTooltip: disabledElementTooltip
163
+ })), {}, {
164
+ isCreatable: false,
165
+ onClick: noop
166
+ }))]
167
+ });
168
+ });
169
+ };
170
+
81
171
  var Section = function Section(_ref) {
82
172
  var title = _ref.title,
83
173
  elements = _ref.elements,
84
174
  onSelect = _ref.onSelect,
85
175
  isCreatable = _ref.isCreatable,
86
- disabledElementTooltip = _ref.disabledElementTooltip;
176
+ disabledElementTooltip = _ref.disabledElementTooltip,
177
+ isDragElementsDisabled = _ref.isDragElementsDisabled,
178
+ sectionIndex = _ref.sectionIndex;
87
179
  if (isEmpty(elements)) {
88
180
  return null;
89
181
  }
@@ -93,28 +185,25 @@ var Section = function Section(_ref) {
93
185
  style: "h6",
94
186
  textTransform: "uppercase",
95
187
  children: title
96
- }), elements.map(function (element) {
97
- return /*#__PURE__*/createElement(Element, _objectSpread$3(_objectSpread$3({}, _objectSpread$3(_objectSpread$3({}, element), {}, {
98
- disabledElementTooltip: disabledElementTooltip
99
- })), {}, {
100
- isCreatable: isCreatable(element.value),
101
- key: element.label,
102
- onClick: function onClick() {
103
- return onSelect(element);
104
- }
105
- }));
188
+ }), elements.map(function (element, elementIndex) {
189
+ var index = elementIndex + sectionIndex;
190
+ return /*#__PURE__*/createElement(ElementContainer, {
191
+ disabledElementTooltip: disabledElementTooltip,
192
+ element: element,
193
+ index: index,
194
+ isCreatable: isCreatable,
195
+ onSelect: onSelect,
196
+ isDragDisabled: isDragElementsDisabled,
197
+ key: element.label
198
+ });
106
199
  })]
107
200
  });
108
201
  };
109
202
 
110
- var TitleBar$1 = function TitleBar(_ref) {
111
- var setIsElementsListVisible = _ref.setIsElementsListVisible,
203
+ var TitleBar$1 = withT(function (_ref) {
204
+ var t = _ref.t,
205
+ setIsSummaryPanelVisible = _ref.setIsSummaryPanelVisible,
112
206
  isSelectedElementsEmpty = _ref.isSelectedElementsEmpty;
113
- var _useTranslation = useTranslation(),
114
- t = _useTranslation.t;
115
- var onCancel = function onCancel() {
116
- return setIsElementsListVisible(false);
117
- };
118
207
  return /*#__PURE__*/jsxs("div", {
119
208
  className: "flex items-center justify-between p-6 pb-4",
120
209
  "data-testid": "elements-panel-title",
@@ -126,22 +215,25 @@ var TitleBar$1 = function TitleBar(_ref) {
126
215
  children: t("neetoMolecules.builderSidebar.addNewElement")
127
216
  }), !isSelectedElementsEmpty && /*#__PURE__*/jsx(Button, {
128
217
  "data-cy": "cancel-button",
129
- label: t("neetoMolecules.builderSidebar.cancel"),
218
+ label: t("neetoMolecules.builderSidebar.summary"),
130
219
  size: "small",
131
220
  style: "text",
132
- onClick: onCancel
221
+ onClick: function onClick() {
222
+ return setIsSummaryPanelVisible(true);
223
+ }
133
224
  })]
134
225
  });
135
- };
226
+ });
136
227
 
137
- function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
138
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
228
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
229
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
139
230
  var ElementList = function ElementList(_ref) {
140
- var setIsElementsListVisible = _ref.setIsElementsListVisible,
231
+ var setIsSummaryPanelVisible = _ref.setIsSummaryPanelVisible,
141
232
  _ref$elementSections = _ref.elementSections,
142
233
  elementSections = _ref$elementSections === void 0 ? [] : _ref$elementSections,
143
234
  onSelect = _ref.onSelect,
144
- isSelectedElementsEmpty = _ref.isSelectedElementsEmpty;
235
+ isSelectedElementsEmpty = _ref.isSelectedElementsEmpty,
236
+ isDragElementsDisabled = _ref.isDragElementsDisabled;
145
237
  var _useTranslation = useTranslation(),
146
238
  t = _useTranslation.t;
147
239
  var _useState = useState(""),
@@ -150,7 +242,7 @@ var ElementList = function ElementList(_ref) {
150
242
  setSearchString = _useState2[1];
151
243
  var filteredSections = useMemo(function () {
152
244
  return elementSections.map(function (section) {
153
- return _objectSpread$2(_objectSpread$2({}, section), {}, {
245
+ return _objectSpread$1(_objectSpread$1({}, section), {}, {
154
246
  elements: section.elements.filter(function (element) {
155
247
  return element.label.toLowerCase().includes(searchString.toLowerCase());
156
248
  })
@@ -162,7 +254,7 @@ var ElementList = function ElementList(_ref) {
162
254
  return /*#__PURE__*/jsxs(Fragment, {
163
255
  children: [/*#__PURE__*/jsx(TitleBar$1, {
164
256
  isSelectedElementsEmpty: isSelectedElementsEmpty,
165
- setIsElementsListVisible: setIsElementsListVisible
257
+ setIsSummaryPanelVisible: setIsSummaryPanelVisible
166
258
  }), /*#__PURE__*/jsx("div", {
167
259
  className: "mb-2 px-6",
168
260
  children: /*#__PURE__*/jsx(Input, {
@@ -176,9 +268,11 @@ var ElementList = function ElementList(_ref) {
176
268
  }), /*#__PURE__*/jsx(Body, {
177
269
  "data-testid": "elements-container",
178
270
  size: "small",
179
- children: filteredSections.map(function (section) {
271
+ children: filteredSections.map(function (section, sectionIndex) {
180
272
  return /*#__PURE__*/createElement(Section, {
273
+ isDragElementsDisabled: isDragElementsDisabled,
181
274
  onSelect: onSelect,
275
+ sectionIndex: sectionIndex,
182
276
  disabledElementTooltip: section.disabledElementTooltip,
183
277
  elements: section.elements,
184
278
  isCreatable: section.isCreatable,
@@ -190,26 +284,6 @@ var ElementList = function ElementList(_ref) {
190
284
  });
191
285
  };
192
286
 
193
- var _excluded$1 = ["size"];
194
- function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
195
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
196
- var DragIcon = function DragIcon(_ref) {
197
- var _ref$size = _ref.size,
198
- size = _ref$size === void 0 ? 16 : _ref$size,
199
- otherProps = _objectWithoutProperties(_ref, _excluded$1);
200
- return /*#__PURE__*/jsx("svg", _objectSpread$1(_objectSpread$1({
201
- fill: "currentColor",
202
- height: size,
203
- viewBox: "0 -960 960 960",
204
- width: size,
205
- xmlns: "http://www.w3.org/2000/svg"
206
- }, otherProps), {}, {
207
- children: /*#__PURE__*/jsx("path", {
208
- d: "M360-160q-33 0-56.5-23.5T280-240q0-33 23.5-56.5T360-320q33 0 56.5 23.5T440-240q0 33-23.5 56.5T360-160zm240 0q-33 0-56.5-23.5T520-240q0-33 23.5-56.5T600-320q33 0 56.5 23.5T680-240q0 33-23.5 56.5T600-160zM360-400q-33 0-56.5-23.5T280-480q0-33 23.5-56.5T360-560q33 0 56.5 23.5T440-480q0 33-23.5 56.5T360-400zm240 0q-33 0-56.5-23.5T520-480q0-33 23.5-56.5T600-560q33 0 56.5 23.5T680-480q0 33-23.5 56.5T600-400zM360-640q-33 0-56.5-23.5T280-720q0-33 23.5-56.5T360-800q33 0 56.5 23.5T440-720q0 33-23.5 56.5T360-640zm240 0q-33 0-56.5-23.5T520-720q0-33 23.5-56.5T600-800q33 0 56.5 23.5T680-720q0 33-23.5 56.5T600-640z"
209
- })
210
- }));
211
- };
212
-
213
287
  var _excluded = ["element", "isActive", "handleSelectElement", "isSelectable", "errors", "actions", "isDraggable"];
214
288
  var SelectedElement = function SelectedElement(_ref) {
215
289
  var element = _ref.element,
@@ -288,18 +362,14 @@ var SelectedElement = function SelectedElement(_ref) {
288
362
  };
289
363
  var SelectedElement$1 = /*#__PURE__*/memo(SelectedElement);
290
364
 
291
- var TitleBar = function TitleBar(_ref) {
292
- var setIsElementsListVisible = _ref.setIsElementsListVisible,
365
+ var TitleBar = withT(function (_ref) {
366
+ var t = _ref.t,
367
+ setIsSummaryPanelVisible = _ref.setIsSummaryPanelVisible,
293
368
  isLoading = _ref.isLoading,
294
369
  showElementsFillButton = _ref.showElementsFillButton,
295
370
  isAddingAllElements = _ref.isAddingAllElements,
296
371
  addAllElements = _ref.addAllElements,
297
372
  isAddingNewElement = _ref.isAddingNewElement;
298
- var _useTranslation = useTranslation(),
299
- t = _useTranslation.t;
300
- var handleAddElement = function handleAddElement() {
301
- return setIsElementsListVisible(true);
302
- };
303
373
  return /*#__PURE__*/jsxs("div", {
304
374
  className: "flex items-center justify-between p-6 pb-4",
305
375
  "data-testid": "selected-elements-title",
@@ -315,11 +385,13 @@ var TitleBar = function TitleBar(_ref) {
315
385
  "data-cy": "add-element-button",
316
386
  "data-testid": "add-element-button",
317
387
  disabled: isLoading,
318
- label: t("neetoMolecules.builderSidebar.addNewElement"),
388
+ label: t("neetoMolecules.common.actions.close"),
319
389
  loading: isAddingNewElement,
320
390
  size: "small",
321
391
  style: "secondary",
322
- onClick: handleAddElement
392
+ onClick: function onClick() {
393
+ return setIsSummaryPanelVisible(false);
394
+ }
323
395
  }), showElementsFillButton && /*#__PURE__*/jsx(Button, {
324
396
  "data-cy": "add-all-elements-button",
325
397
  disabled: isAddingAllElements,
@@ -335,18 +407,17 @@ var TitleBar = function TitleBar(_ref) {
335
407
  })]
336
408
  })]
337
409
  });
338
- };
410
+ });
339
411
 
340
412
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
341
413
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
342
414
  var SelectedElementsList = function SelectedElementsList(_ref) {
343
- var handleDragEnd = _ref.handleDragEnd,
344
- handleSelectElement = _ref.handleSelectElement,
345
- isDragDisabled = _ref.isDragDisabled,
415
+ var handleSelectElement = _ref.handleSelectElement,
416
+ isReorderDisabled = _ref.isReorderDisabled,
346
417
  isElementVisible = _ref.isElementVisible,
347
418
  selectedElementId = _ref.selectedElementId,
348
419
  selectedElements = _ref.selectedElements,
349
- setIsElementsListVisible = _ref.setIsElementsListVisible,
420
+ setIsSummaryPanelVisible = _ref.setIsSummaryPanelVisible,
350
421
  fixedLastElement = _ref.fixedLastElement,
351
422
  fixedFirstElement = _ref.fixedFirstElement,
352
423
  selectedElementActions = _ref.selectedElementActions,
@@ -373,55 +444,52 @@ var SelectedElementsList = function SelectedElementsList(_ref) {
373
444
  addAllElements: addAllElements,
374
445
  isAddingAllElements: isAddingAllElements,
375
446
  isAddingNewElement: isAddingNewElement,
376
- setIsElementsListVisible: setIsElementsListVisible,
447
+ setIsSummaryPanelVisible: setIsSummaryPanelVisible,
377
448
  showElementsFillButton: showElementsFillButton
378
449
  }), /*#__PURE__*/jsxs(Body, {
379
450
  "data-testid": "selected-elements-container",
380
- children: [Array.isArray(fixedFirstElement) ? isNotEmpty(fixedFirstElement) && fixedFirstElement.map(renderSelectedElement) : isPresent(fixedFirstElement) && renderSelectedElement(fixedFirstElement), /*#__PURE__*/jsx(DragDropContext, {
381
- onDragEnd: handleDragEnd,
382
- children: /*#__PURE__*/jsx(Droppable, {
383
- droppableId: "droppable-question-list",
384
- children: function children(_ref2) {
385
- var innerRef = _ref2.innerRef,
386
- droppableProps = _ref2.droppableProps,
387
- placeholder = _ref2.placeholder;
388
- return /*#__PURE__*/jsxs("div", _objectSpread(_objectSpread({
389
- ref: innerRef
390
- }, droppableProps), {}, {
391
- "data-testid": "selected-elements-droppable-container",
392
- children: [selectedElements === null || selectedElements === void 0 ? void 0 : selectedElements.map(function (element, index) {
393
- var _isElementVisible, _element$id, _element$id2;
394
- var isVisible = (_isElementVisible = isElementVisible === null || isElementVisible === void 0 ? void 0 : isElementVisible(element)) !== null && _isElementVisible !== void 0 ? _isElementVisible : true;
395
- if (!isVisible) return null;
396
- var key = (_element$id = element.id) !== null && _element$id !== void 0 ? _element$id : "element-".concat(joinHyphenCase(element.label));
397
- return /*#__PURE__*/createElement(Draggable, {
398
- index: index,
399
- isDragDisabled: isDragDisabled,
400
- draggableId: (_element$id2 = element.id) !== null && _element$id2 !== void 0 ? _element$id2 : "element-".concat(index),
401
- key: key
402
- }, function (_ref3) {
403
- var _element$id3;
404
- var innerRef = _ref3.innerRef,
405
- draggableProps = _ref3.draggableProps,
406
- dragHandleProps = _ref3.dragHandleProps;
407
- return /*#__PURE__*/jsx("div", _objectSpread(_objectSpread(_objectSpread({
408
- ref: innerRef
409
- }, draggableProps), dragHandleProps), {}, {
410
- children: /*#__PURE__*/createElement(SelectedElement$1, {
411
- element: element,
412
- handleSelectElement: handleSelectElement,
413
- isSelectable: true,
414
- actions: selectedElementActions,
415
- isActive: selectedElementId === element.id,
416
- isDraggable: !isDragDisabled,
417
- key: (_element$id3 = element.id) !== null && _element$id3 !== void 0 ? _element$id3 : index
418
- })
419
- }));
420
- });
421
- }), placeholder]
422
- }));
423
- }
424
- })
451
+ children: [Array.isArray(fixedFirstElement) ? isNotEmpty(fixedFirstElement) && fixedFirstElement.map(renderSelectedElement) : isPresent(fixedFirstElement) && renderSelectedElement(fixedFirstElement), /*#__PURE__*/jsx(Droppable, {
452
+ droppableId: SELECTED_ELEMENTS_LIST_DROPPABLE_ID,
453
+ children: function children(_ref2) {
454
+ var innerRef = _ref2.innerRef,
455
+ droppableProps = _ref2.droppableProps,
456
+ placeholder = _ref2.placeholder;
457
+ return /*#__PURE__*/jsxs("div", _objectSpread(_objectSpread({
458
+ ref: innerRef
459
+ }, droppableProps), {}, {
460
+ "data-testid": "selected-elements-droppable-container",
461
+ children: [selectedElements === null || selectedElements === void 0 ? void 0 : selectedElements.map(function (element, index) {
462
+ var _isElementVisible, _element$id, _element$id2;
463
+ var isVisible = (_isElementVisible = isElementVisible === null || isElementVisible === void 0 ? void 0 : isElementVisible(element)) !== null && _isElementVisible !== void 0 ? _isElementVisible : true;
464
+ if (!isVisible) return null;
465
+ var key = (_element$id = element.id) !== null && _element$id !== void 0 ? _element$id : "element-".concat(joinHyphenCase(element.label));
466
+ return /*#__PURE__*/createElement(Draggable, {
467
+ index: index,
468
+ draggableId: (_element$id2 = element.id) !== null && _element$id2 !== void 0 ? _element$id2 : "element-".concat(index),
469
+ isDragDisabled: isReorderDisabled,
470
+ key: key
471
+ }, function (_ref3) {
472
+ var _element$id3;
473
+ var innerRef = _ref3.innerRef,
474
+ draggableProps = _ref3.draggableProps,
475
+ dragHandleProps = _ref3.dragHandleProps;
476
+ return /*#__PURE__*/jsx("div", _objectSpread(_objectSpread(_objectSpread({
477
+ ref: innerRef
478
+ }, draggableProps), dragHandleProps), {}, {
479
+ children: /*#__PURE__*/createElement(SelectedElement$1, {
480
+ element: element,
481
+ handleSelectElement: handleSelectElement,
482
+ isSelectable: true,
483
+ actions: selectedElementActions,
484
+ isActive: selectedElementId === element.id,
485
+ isDraggable: !isReorderDisabled,
486
+ key: (_element$id3 = element.id) !== null && _element$id3 !== void 0 ? _element$id3 : index
487
+ })
488
+ }));
489
+ });
490
+ }), placeholder]
491
+ }));
492
+ }
425
493
  }), isPresent(fixedLastElement) && /*#__PURE__*/jsx(SelectedElement$1, {
426
494
  handleSelectElement: handleSelectElement,
427
495
  isSelectable: true,
@@ -444,10 +512,10 @@ var ElementsPanel = function ElementsPanel(_ref) {
444
512
  _ref$fixedFirstElemen = _ref.fixedFirstElement,
445
513
  fixedFirstElement = _ref$fixedFirstElemen === void 0 ? [] : _ref$fixedFirstElemen,
446
514
  fixedLastElement = _ref.fixedLastElement,
447
- _ref$handleDragEnd = _ref.handleDragEnd,
448
- handleDragEnd = _ref$handleDragEnd === void 0 ? noop : _ref$handleDragEnd,
449
- _ref$isDragDisabled = _ref.isDragDisabled,
450
- isDragDisabled = _ref$isDragDisabled === void 0 ? true : _ref$isDragDisabled,
515
+ _ref$isReorderDisable = _ref.isReorderDisabled,
516
+ isReorderDisabled = _ref$isReorderDisable === void 0 ? true : _ref$isReorderDisable,
517
+ _ref$isDragElementsDi = _ref.isDragElementsDisabled,
518
+ isDragElementsDisabled = _ref$isDragElementsDi === void 0 ? true : _ref$isDragElementsDi,
451
519
  handleSelectElement = _ref.handleSelectElement,
452
520
  selectedElementId = _ref.selectedElementId,
453
521
  selectedElementActions = _ref.selectedElementActions,
@@ -461,8 +529,8 @@ var ElementsPanel = function ElementsPanel(_ref) {
461
529
  isAddingNewElement = _ref$isAddingNewEleme === void 0 ? false : _ref$isAddingNewEleme;
462
530
  var _useState = useState(false),
463
531
  _useState2 = _slicedToArray(_useState, 2),
464
- isElementsListVisible = _useState2[0],
465
- setIsElementsListVisible = _useState2[1];
532
+ isSummaryPanelVisible = _useState2[0],
533
+ setIsSummaryPanelVisible = _useState2[1];
466
534
  var _useBreakpoints = useBreakpoints(),
467
535
  isSize = _useBreakpoints.isSize;
468
536
  var isLargerScreen = !isSize("mobile");
@@ -470,12 +538,6 @@ var ElementsPanel = function ElementsPanel(_ref) {
470
538
  _useState4 = _slicedToArray(_useState3, 2),
471
539
  isElementsPanelCollapsed = _useState4[0],
472
540
  setIsElementsPanelCollapsed = _useState4[1];
473
- var isSelectedElementsEmpty = isEmpty(selectedElements);
474
- var shouldShowElementsList = isSelectedElementsEmpty || isElementsListVisible;
475
- var handleElementSelect = function handleElementSelect(element) {
476
- setIsElementsListVisible(false);
477
- handleAddElement(element);
478
- };
479
541
  useEffect(function () {
480
542
  setIsElementsPanelCollapsed(!isLargerScreen);
481
543
  }, [isLargerScreen]);
@@ -496,26 +558,25 @@ var ElementsPanel = function ElementsPanel(_ref) {
496
558
  onClick: function onClick(event) {
497
559
  return event.stopPropagation();
498
560
  },
499
- children: shouldShowElementsList ? /*#__PURE__*/jsx(ElementList, {
500
- elementSections: elementSections,
501
- isSelectedElementsEmpty: isSelectedElementsEmpty,
502
- setIsElementsListVisible: setIsElementsListVisible,
503
- onSelect: handleElementSelect
504
- }) : /*#__PURE__*/jsx(SelectedElementsList, {
561
+ children: isSummaryPanelVisible ? /*#__PURE__*/jsx(SelectedElementsList, {
505
562
  addAllElements: addAllElements,
506
563
  fixedFirstElement: fixedFirstElement,
507
564
  fixedLastElement: fixedLastElement,
508
- handleDragEnd: handleDragEnd,
509
565
  handleSelectElement: handleSelectElement,
510
566
  isAddingAllElements: isAddingAllElements,
511
567
  isAddingNewElement: isAddingNewElement,
512
- isDragDisabled: isDragDisabled,
513
568
  isElementVisible: isElementVisible,
569
+ isReorderDisabled: isReorderDisabled,
514
570
  selectedElementActions: selectedElementActions,
515
571
  selectedElementId: selectedElementId,
516
572
  selectedElements: selectedElements,
517
- setIsElementsListVisible: setIsElementsListVisible,
573
+ setIsSummaryPanelVisible: setIsSummaryPanelVisible,
518
574
  showElementsFillButton: showElementsFillButton
575
+ }) : /*#__PURE__*/jsx(ElementList, {
576
+ elementSections: elementSections,
577
+ isDragElementsDisabled: isDragElementsDisabled,
578
+ setIsSummaryPanelVisible: setIsSummaryPanelVisible,
579
+ onSelect: handleAddElement
519
580
  })
520
581
  })
521
582
  }), /*#__PURE__*/jsx(Button, {
@@ -530,7 +591,7 @@ var ElementsPanel = function ElementsPanel(_ref) {
530
591
  });
531
592
  };
532
593
 
533
- var EmptyProperty = withT(function (_ref) {
594
+ var EmptyProperty = withT$1(function (_ref) {
534
595
  var t = _ref.t;
535
596
  return /*#__PURE__*/jsxs("div", {
536
597
  className: "space-y-4 pb-6 pr-6",
@@ -551,7 +612,7 @@ var EmptyProperty = withT(function (_ref) {
551
612
  });
552
613
  });
553
614
 
554
- var Skeleton = withT(function (_ref) {
615
+ var Skeleton = withT$1(function (_ref) {
555
616
  var t = _ref.t;
556
617
  return /*#__PURE__*/jsxs("div", {
557
618
  className: "space-y-4 pb-6 pr-6",
@@ -623,5 +684,5 @@ var PropertiesPanel = function PropertiesPanel(_ref) {
623
684
  };
624
685
  PropertiesPanel.EmptyProperty = EmptyProperty;
625
686
 
626
- export { ElementsPanel, PropertiesPanel };
687
+ export { ElementsPanel, PREVIEW_CONTAINER_DROPPABLE_ID, PropertiesPanel, SELECTED_ELEMENTS_LIST_DROPPABLE_ID };
627
688
  //# sourceMappingURL=Builder.js.map