@bigbinary/neeto-molecules 3.5.2-beta → 3.5.3

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,9 +2,10 @@ 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 { withT, useBreakpoints } from '@bigbinary/neeto-commons-frontend/react-utils';
5
+ import { 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';
8
9
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
9
10
  import { joinHyphenCase, withEventTargetValue } from '@bigbinary/neeto-commons-frontend/utils/general';
10
11
  import Search from '@bigbinary/neeto-icons/Search';
@@ -14,22 +15,18 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
14
15
  import { n } from './inject-css-c86de496.js';
15
16
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
16
17
  import Typography from '@bigbinary/neetoui/Typography';
17
- import { isEmpty, mergeRight } from 'ramda';
18
- import { Draggable, Droppable } from '@hello-pangea/dnd';
19
18
  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$1 from '@bigbinary/neeto-commons-frontend/react-utils/withT';
24
+ import withT 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
-
33
30
  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}}";
34
31
  n(css,{});
35
32
 
@@ -46,55 +43,26 @@ var Body = function Body(_ref) {
46
43
  }));
47
44
  };
48
45
 
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
-
69
46
  var Element = function Element(_ref) {
70
47
  var label = _ref.label,
71
48
  Icon = _ref.icon,
72
49
  _ref$isCreatable = _ref.isCreatable,
73
50
  isCreatable = _ref$isCreatable === void 0 ? true : _ref$isCreatable,
74
51
  onClick = _ref.onClick,
75
- _ref$isDragDisabled = _ref.isDragDisabled,
76
- isDragDisabled = _ref$isDragDisabled === void 0 ? false : _ref$isDragDisabled,
77
- disabledElementTooltip = _ref.disabledElementTooltip,
78
- isPlaceholder = _ref.isPlaceholder;
52
+ disabledElementTooltip = _ref.disabledElementTooltip;
79
53
  return /*#__PURE__*/jsx(Tooltip, {
80
54
  content: disabledElementTooltip === null || disabledElementTooltip === void 0 ? void 0 : disabledElementTooltip(label),
81
55
  disabled: !disabledElementTooltip || isCreatable,
82
56
  position: "top",
83
57
  touch: ["hold", 500],
84
- children: /*#__PURE__*/jsxs("div", {
58
+ children: /*#__PURE__*/jsx("div", {
85
59
  "data-cy": "add-".concat(joinHyphenCase(label), "-element"),
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", {
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", {
87
61
  "neeto-ui-bg-gray-300 cursor-not-allowed": !isCreatable,
88
- "cursor-pointer": isCreatable,
89
- "opacity-50": isPlaceholder
62
+ "cursor-pointer": isCreatable
90
63
  }),
91
64
  onClick: isCreatable ? onClick : noop,
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", {
65
+ children: /*#__PURE__*/jsxs("div", {
98
66
  className: "flex flex-grow items-center gap-2",
99
67
  children: [Icon && /*#__PURE__*/jsx(Icon, {
100
68
  "data-cy": "form-icon"
@@ -103,79 +71,19 @@ var Element = function Element(_ref) {
103
71
  style: "body2",
104
72
  children: label
105
73
  })]
106
- })]
74
+ })
107
75
  })
108
76
  });
109
77
  };
110
78
 
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
-
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; }
171
81
  var Section = function Section(_ref) {
172
82
  var title = _ref.title,
173
83
  elements = _ref.elements,
174
84
  onSelect = _ref.onSelect,
175
85
  isCreatable = _ref.isCreatable,
176
- disabledElementTooltip = _ref.disabledElementTooltip,
177
- isDragElementsDisabled = _ref.isDragElementsDisabled,
178
- sectionIndex = _ref.sectionIndex;
86
+ disabledElementTooltip = _ref.disabledElementTooltip;
179
87
  if (isEmpty(elements)) {
180
88
  return null;
181
89
  }
@@ -185,25 +93,28 @@ var Section = function Section(_ref) {
185
93
  style: "h6",
186
94
  textTransform: "uppercase",
187
95
  children: title
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
- });
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
+ }));
199
106
  })]
200
107
  });
201
108
  };
202
109
 
203
- var TitleBar$1 = withT(function (_ref) {
204
- var t = _ref.t,
205
- setIsSummaryPanelVisible = _ref.setIsSummaryPanelVisible,
110
+ var TitleBar$1 = function TitleBar(_ref) {
111
+ var setIsElementsListVisible = _ref.setIsElementsListVisible,
206
112
  isSelectedElementsEmpty = _ref.isSelectedElementsEmpty;
113
+ var _useTranslation = useTranslation(),
114
+ t = _useTranslation.t;
115
+ var onCancel = function onCancel() {
116
+ return setIsElementsListVisible(false);
117
+ };
207
118
  return /*#__PURE__*/jsxs("div", {
208
119
  className: "flex items-center justify-between p-6 pb-4",
209
120
  "data-testid": "elements-panel-title",
@@ -215,25 +126,22 @@ var TitleBar$1 = withT(function (_ref) {
215
126
  children: t("neetoMolecules.builderSidebar.addNewElement")
216
127
  }), !isSelectedElementsEmpty && /*#__PURE__*/jsx(Button, {
217
128
  "data-cy": "cancel-button",
218
- label: t("neetoMolecules.builderSidebar.summary"),
129
+ label: t("neetoMolecules.builderSidebar.cancel"),
219
130
  size: "small",
220
131
  style: "text",
221
- onClick: function onClick() {
222
- return setIsSummaryPanelVisible(true);
223
- }
132
+ onClick: onCancel
224
133
  })]
225
134
  });
226
- });
135
+ };
227
136
 
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; }
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; }
230
139
  var ElementList = function ElementList(_ref) {
231
- var setIsSummaryPanelVisible = _ref.setIsSummaryPanelVisible,
140
+ var setIsElementsListVisible = _ref.setIsElementsListVisible,
232
141
  _ref$elementSections = _ref.elementSections,
233
142
  elementSections = _ref$elementSections === void 0 ? [] : _ref$elementSections,
234
143
  onSelect = _ref.onSelect,
235
- isSelectedElementsEmpty = _ref.isSelectedElementsEmpty,
236
- isDragElementsDisabled = _ref.isDragElementsDisabled;
144
+ isSelectedElementsEmpty = _ref.isSelectedElementsEmpty;
237
145
  var _useTranslation = useTranslation(),
238
146
  t = _useTranslation.t;
239
147
  var _useState = useState(""),
@@ -242,7 +150,7 @@ var ElementList = function ElementList(_ref) {
242
150
  setSearchString = _useState2[1];
243
151
  var filteredSections = useMemo(function () {
244
152
  return elementSections.map(function (section) {
245
- return _objectSpread$1(_objectSpread$1({}, section), {}, {
153
+ return _objectSpread$2(_objectSpread$2({}, section), {}, {
246
154
  elements: section.elements.filter(function (element) {
247
155
  return element.label.toLowerCase().includes(searchString.toLowerCase());
248
156
  })
@@ -254,7 +162,7 @@ var ElementList = function ElementList(_ref) {
254
162
  return /*#__PURE__*/jsxs(Fragment, {
255
163
  children: [/*#__PURE__*/jsx(TitleBar$1, {
256
164
  isSelectedElementsEmpty: isSelectedElementsEmpty,
257
- setIsSummaryPanelVisible: setIsSummaryPanelVisible
165
+ setIsElementsListVisible: setIsElementsListVisible
258
166
  }), /*#__PURE__*/jsx("div", {
259
167
  className: "mb-2 px-6",
260
168
  children: /*#__PURE__*/jsx(Input, {
@@ -268,11 +176,9 @@ var ElementList = function ElementList(_ref) {
268
176
  }), /*#__PURE__*/jsx(Body, {
269
177
  "data-testid": "elements-container",
270
178
  size: "small",
271
- children: filteredSections.map(function (section, sectionIndex) {
179
+ children: filteredSections.map(function (section) {
272
180
  return /*#__PURE__*/createElement(Section, {
273
- isDragElementsDisabled: isDragElementsDisabled,
274
181
  onSelect: onSelect,
275
- sectionIndex: sectionIndex,
276
182
  disabledElementTooltip: section.disabledElementTooltip,
277
183
  elements: section.elements,
278
184
  isCreatable: section.isCreatable,
@@ -284,6 +190,26 @@ var ElementList = function ElementList(_ref) {
284
190
  });
285
191
  };
286
192
 
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
+
287
213
  var _excluded = ["element", "isActive", "handleSelectElement", "isSelectable", "errors", "actions", "isDraggable"];
288
214
  var SelectedElement = function SelectedElement(_ref) {
289
215
  var element = _ref.element,
@@ -362,14 +288,18 @@ var SelectedElement = function SelectedElement(_ref) {
362
288
  };
363
289
  var SelectedElement$1 = /*#__PURE__*/memo(SelectedElement);
364
290
 
365
- var TitleBar = withT(function (_ref) {
366
- var t = _ref.t,
367
- setIsSummaryPanelVisible = _ref.setIsSummaryPanelVisible,
291
+ var TitleBar = function TitleBar(_ref) {
292
+ var setIsElementsListVisible = _ref.setIsElementsListVisible,
368
293
  isLoading = _ref.isLoading,
369
294
  showElementsFillButton = _ref.showElementsFillButton,
370
295
  isAddingAllElements = _ref.isAddingAllElements,
371
296
  addAllElements = _ref.addAllElements,
372
297
  isAddingNewElement = _ref.isAddingNewElement;
298
+ var _useTranslation = useTranslation(),
299
+ t = _useTranslation.t;
300
+ var handleAddElement = function handleAddElement() {
301
+ return setIsElementsListVisible(true);
302
+ };
373
303
  return /*#__PURE__*/jsxs("div", {
374
304
  className: "flex items-center justify-between p-6 pb-4",
375
305
  "data-testid": "selected-elements-title",
@@ -385,13 +315,11 @@ var TitleBar = withT(function (_ref) {
385
315
  "data-cy": "add-element-button",
386
316
  "data-testid": "add-element-button",
387
317
  disabled: isLoading,
388
- label: t("neetoMolecules.common.actions.close"),
318
+ label: t("neetoMolecules.builderSidebar.addNewElement"),
389
319
  loading: isAddingNewElement,
390
320
  size: "small",
391
321
  style: "secondary",
392
- onClick: function onClick() {
393
- return setIsSummaryPanelVisible(false);
394
- }
322
+ onClick: handleAddElement
395
323
  }), showElementsFillButton && /*#__PURE__*/jsx(Button, {
396
324
  "data-cy": "add-all-elements-button",
397
325
  disabled: isAddingAllElements,
@@ -407,17 +335,18 @@ var TitleBar = withT(function (_ref) {
407
335
  })]
408
336
  })]
409
337
  });
410
- });
338
+ };
411
339
 
412
340
  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; }
413
341
  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; }
414
342
  var SelectedElementsList = function SelectedElementsList(_ref) {
415
- var handleSelectElement = _ref.handleSelectElement,
416
- isReorderDisabled = _ref.isReorderDisabled,
343
+ var handleDragEnd = _ref.handleDragEnd,
344
+ handleSelectElement = _ref.handleSelectElement,
345
+ isDragDisabled = _ref.isDragDisabled,
417
346
  isElementVisible = _ref.isElementVisible,
418
347
  selectedElementId = _ref.selectedElementId,
419
348
  selectedElements = _ref.selectedElements,
420
- setIsSummaryPanelVisible = _ref.setIsSummaryPanelVisible,
349
+ setIsElementsListVisible = _ref.setIsElementsListVisible,
421
350
  fixedLastElement = _ref.fixedLastElement,
422
351
  fixedFirstElement = _ref.fixedFirstElement,
423
352
  selectedElementActions = _ref.selectedElementActions,
@@ -444,52 +373,55 @@ var SelectedElementsList = function SelectedElementsList(_ref) {
444
373
  addAllElements: addAllElements,
445
374
  isAddingAllElements: isAddingAllElements,
446
375
  isAddingNewElement: isAddingNewElement,
447
- setIsSummaryPanelVisible: setIsSummaryPanelVisible,
376
+ setIsElementsListVisible: setIsElementsListVisible,
448
377
  showElementsFillButton: showElementsFillButton
449
378
  }), /*#__PURE__*/jsxs(Body, {
450
379
  "data-testid": "selected-elements-container",
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
- }
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
+ })
493
425
  }), isPresent(fixedLastElement) && /*#__PURE__*/jsx(SelectedElement$1, {
494
426
  handleSelectElement: handleSelectElement,
495
427
  isSelectable: true,
@@ -512,10 +444,10 @@ var ElementsPanel = function ElementsPanel(_ref) {
512
444
  _ref$fixedFirstElemen = _ref.fixedFirstElement,
513
445
  fixedFirstElement = _ref$fixedFirstElemen === void 0 ? [] : _ref$fixedFirstElemen,
514
446
  fixedLastElement = _ref.fixedLastElement,
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,
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,
519
451
  handleSelectElement = _ref.handleSelectElement,
520
452
  selectedElementId = _ref.selectedElementId,
521
453
  selectedElementActions = _ref.selectedElementActions,
@@ -529,8 +461,8 @@ var ElementsPanel = function ElementsPanel(_ref) {
529
461
  isAddingNewElement = _ref$isAddingNewEleme === void 0 ? false : _ref$isAddingNewEleme;
530
462
  var _useState = useState(false),
531
463
  _useState2 = _slicedToArray(_useState, 2),
532
- isSummaryPanelVisible = _useState2[0],
533
- setIsSummaryPanelVisible = _useState2[1];
464
+ isElementsListVisible = _useState2[0],
465
+ setIsElementsListVisible = _useState2[1];
534
466
  var _useBreakpoints = useBreakpoints(),
535
467
  isSize = _useBreakpoints.isSize;
536
468
  var isLargerScreen = !isSize("mobile");
@@ -538,6 +470,12 @@ var ElementsPanel = function ElementsPanel(_ref) {
538
470
  _useState4 = _slicedToArray(_useState3, 2),
539
471
  isElementsPanelCollapsed = _useState4[0],
540
472
  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
+ };
541
479
  useEffect(function () {
542
480
  setIsElementsPanelCollapsed(!isLargerScreen);
543
481
  }, [isLargerScreen]);
@@ -558,25 +496,26 @@ var ElementsPanel = function ElementsPanel(_ref) {
558
496
  onClick: function onClick(event) {
559
497
  return event.stopPropagation();
560
498
  },
561
- children: isSummaryPanelVisible ? /*#__PURE__*/jsx(SelectedElementsList, {
499
+ children: shouldShowElementsList ? /*#__PURE__*/jsx(ElementList, {
500
+ elementSections: elementSections,
501
+ isSelectedElementsEmpty: isSelectedElementsEmpty,
502
+ setIsElementsListVisible: setIsElementsListVisible,
503
+ onSelect: handleElementSelect
504
+ }) : /*#__PURE__*/jsx(SelectedElementsList, {
562
505
  addAllElements: addAllElements,
563
506
  fixedFirstElement: fixedFirstElement,
564
507
  fixedLastElement: fixedLastElement,
508
+ handleDragEnd: handleDragEnd,
565
509
  handleSelectElement: handleSelectElement,
566
510
  isAddingAllElements: isAddingAllElements,
567
511
  isAddingNewElement: isAddingNewElement,
512
+ isDragDisabled: isDragDisabled,
568
513
  isElementVisible: isElementVisible,
569
- isReorderDisabled: isReorderDisabled,
570
514
  selectedElementActions: selectedElementActions,
571
515
  selectedElementId: selectedElementId,
572
516
  selectedElements: selectedElements,
573
- setIsSummaryPanelVisible: setIsSummaryPanelVisible,
517
+ setIsElementsListVisible: setIsElementsListVisible,
574
518
  showElementsFillButton: showElementsFillButton
575
- }) : /*#__PURE__*/jsx(ElementList, {
576
- elementSections: elementSections,
577
- isDragElementsDisabled: isDragElementsDisabled,
578
- setIsSummaryPanelVisible: setIsSummaryPanelVisible,
579
- onSelect: handleAddElement
580
519
  })
581
520
  })
582
521
  }), /*#__PURE__*/jsx(Button, {
@@ -591,7 +530,7 @@ var ElementsPanel = function ElementsPanel(_ref) {
591
530
  });
592
531
  };
593
532
 
594
- var EmptyProperty = withT$1(function (_ref) {
533
+ var EmptyProperty = withT(function (_ref) {
595
534
  var t = _ref.t;
596
535
  return /*#__PURE__*/jsxs("div", {
597
536
  className: "space-y-4 pb-6 pr-6",
@@ -612,7 +551,7 @@ var EmptyProperty = withT$1(function (_ref) {
612
551
  });
613
552
  });
614
553
 
615
- var Skeleton = withT$1(function (_ref) {
554
+ var Skeleton = withT(function (_ref) {
616
555
  var t = _ref.t;
617
556
  return /*#__PURE__*/jsxs("div", {
618
557
  className: "space-y-4 pb-6 pr-6",
@@ -684,5 +623,5 @@ var PropertiesPanel = function PropertiesPanel(_ref) {
684
623
  };
685
624
  PropertiesPanel.EmptyProperty = EmptyProperty;
686
625
 
687
- export { ElementsPanel, PREVIEW_CONTAINER_DROPPABLE_ID, PropertiesPanel, SELECTED_ELEMENTS_LIST_DROPPABLE_ID };
626
+ export { ElementsPanel, PropertiesPanel };
688
627
  //# sourceMappingURL=Builder.js.map