@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.
@@ -9,7 +9,6 @@ var neetoCist = require('@bigbinary/neeto-cist');
9
9
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
10
10
  var Collapse = require('@bigbinary/neeto-icons/Collapse');
11
11
  var Button = require('@bigbinary/neetoui/Button');
12
- var ramda = require('ramda');
13
12
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
14
13
  var general = require('@bigbinary/neeto-commons-frontend/utils/general');
15
14
  var Search = require('@bigbinary/neeto-icons/Search');
@@ -19,8 +18,9 @@ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProp
19
18
  var injectCss = require('./inject-css-80a5faa3.js');
20
19
  var jsxRuntime = require('react/jsx-runtime');
21
20
  var Typography = require('@bigbinary/neetoui/Typography');
22
- var Tooltip = require('@bigbinary/neetoui/Tooltip');
21
+ var ramda = require('ramda');
23
22
  var dnd = require('@hello-pangea/dnd');
23
+ var Tooltip = require('@bigbinary/neetoui/Tooltip');
24
24
  var MoreDropdown = require('./MoreDropdown.js');
25
25
  var constants = require('@bigbinary/neeto-commons-frontend/constants');
26
26
  var Flash = require('@bigbinary/neeto-icons/Flash');
@@ -48,6 +48,9 @@ var Close__default = /*#__PURE__*/_interopDefaultLegacy(Close);
48
48
  var withT__default = /*#__PURE__*/_interopDefaultLegacy(withT);
49
49
  var DownArrow__default = /*#__PURE__*/_interopDefaultLegacy(DownArrow);
50
50
 
51
+ var SELECTED_ELEMENTS_LIST_DROPPABLE_ID = "droppable-selected-question-container";
52
+ var PREVIEW_CONTAINER_DROPPABLE_ID = "droppable-form-preview-container";
53
+
51
54
  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}}";
52
55
  injectCss.n(css,{});
53
56
 
@@ -64,26 +67,55 @@ var Body = function Body(_ref) {
64
67
  }));
65
68
  };
66
69
 
70
+ var _excluded$1 = ["size"];
71
+ 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; }
72
+ 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__default["default"](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; }
73
+ var DragIcon = function DragIcon(_ref) {
74
+ var _ref$size = _ref.size,
75
+ size = _ref$size === void 0 ? 16 : _ref$size,
76
+ otherProps = _objectWithoutProperties__default["default"](_ref, _excluded$1);
77
+ return /*#__PURE__*/jsxRuntime.jsx("svg", _objectSpread$3(_objectSpread$3({
78
+ fill: "currentColor",
79
+ height: size,
80
+ viewBox: "0 -960 960 960",
81
+ width: size,
82
+ xmlns: "http://www.w3.org/2000/svg"
83
+ }, otherProps), {}, {
84
+ children: /*#__PURE__*/jsxRuntime.jsx("path", {
85
+ 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"
86
+ })
87
+ }));
88
+ };
89
+
67
90
  var Element = function Element(_ref) {
68
91
  var label = _ref.label,
69
92
  Icon = _ref.icon,
70
93
  _ref$isCreatable = _ref.isCreatable,
71
94
  isCreatable = _ref$isCreatable === void 0 ? true : _ref$isCreatable,
72
95
  onClick = _ref.onClick,
73
- disabledElementTooltip = _ref.disabledElementTooltip;
96
+ _ref$isDragDisabled = _ref.isDragDisabled,
97
+ isDragDisabled = _ref$isDragDisabled === void 0 ? false : _ref$isDragDisabled,
98
+ disabledElementTooltip = _ref.disabledElementTooltip,
99
+ isPlaceholder = _ref.isPlaceholder;
74
100
  return /*#__PURE__*/jsxRuntime.jsx(Tooltip__default["default"], {
75
101
  content: disabledElementTooltip === null || disabledElementTooltip === void 0 ? void 0 : disabledElementTooltip(label),
76
102
  disabled: !disabledElementTooltip || isCreatable,
77
103
  position: "top",
78
104
  touch: ["hold", 500],
79
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
105
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
80
106
  "data-cy": "add-".concat(general.joinHyphenCase(label), "-element"),
81
- className: classnames__default["default"]("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", {
107
+ className: classnames__default["default"]("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", {
82
108
  "neeto-ui-bg-gray-300 cursor-not-allowed": !isCreatable,
83
- "cursor-pointer": isCreatable
109
+ "cursor-pointer": isCreatable,
110
+ "opacity-50": isPlaceholder
84
111
  }),
85
112
  onClick: isCreatable ? onClick : neetoCist.noop,
86
- children: /*#__PURE__*/jsxRuntime.jsxs("div", {
113
+ children: [!isDragDisabled && /*#__PURE__*/jsxRuntime.jsx("span", {
114
+ className: "absolute right-full top-1/2 flex-shrink-0 -translate-y-1/2 cursor-grab",
115
+ children: /*#__PURE__*/jsxRuntime.jsx(DragIcon, {
116
+ size: 16
117
+ })
118
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
87
119
  className: "flex flex-grow items-center gap-2",
88
120
  children: [Icon && /*#__PURE__*/jsxRuntime.jsx(Icon, {
89
121
  "data-cy": "form-icon"
@@ -92,19 +124,79 @@ var Element = function Element(_ref) {
92
124
  style: "body2",
93
125
  children: label
94
126
  })]
95
- })
127
+ })]
96
128
  })
97
129
  });
98
130
  };
99
131
 
100
- 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; }
101
- 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__default["default"](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; }
132
+ 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; }
133
+ 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__default["default"](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; }
134
+ var ElementContainer = function ElementContainer(_ref) {
135
+ var index = _ref.index,
136
+ isDragDisabled = _ref.isDragDisabled,
137
+ element = _ref.element,
138
+ disabledElementTooltip = _ref.disabledElementTooltip,
139
+ isCreatable = _ref.isCreatable,
140
+ onSelect = _ref.onSelect;
141
+ if (isDragDisabled) {
142
+ return /*#__PURE__*/jsxRuntime.jsx(Element, _objectSpread$2(_objectSpread$2({}, _objectSpread$2(_objectSpread$2({}, element), {}, {
143
+ disabledElementTooltip: disabledElementTooltip,
144
+ isDragDisabled: isDragDisabled
145
+ })), {}, {
146
+ isCreatable: isCreatable(element.value),
147
+ onClick: function onClick() {
148
+ return onSelect(element);
149
+ }
150
+ }));
151
+ }
152
+ return /*#__PURE__*/React.createElement(dnd.Draggable, {
153
+ index: index,
154
+ isDragDisabled: isDragDisabled,
155
+ draggableId: "".concat(element.value, "-").concat(index),
156
+ key: element.label
157
+ }, function (_ref2, _ref3) {
158
+ var innerRef = _ref2.innerRef,
159
+ draggableProps = _ref2.draggableProps,
160
+ dragHandleProps = _ref2.dragHandleProps;
161
+ var isDragging = _ref3.isDragging,
162
+ isDropAnimating = _ref3.isDropAnimating;
163
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
164
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$2(_objectSpread$2(_objectSpread$2({
165
+ ref: innerRef
166
+ }, draggableProps), dragHandleProps), {}, {
167
+ style: _objectSpread$2(_objectSpread$2({}, draggableProps.style), isDropAnimating && {
168
+ opacity: 0,
169
+ transition: null
170
+ }),
171
+ children: /*#__PURE__*/jsxRuntime.jsx(Element, _objectSpread$2(_objectSpread$2({}, _objectSpread$2(_objectSpread$2({}, element), {}, {
172
+ disabledElementTooltip: disabledElementTooltip,
173
+ isDragDisabled: isDragDisabled
174
+ })), {}, {
175
+ isCreatable: isCreatable(element.value),
176
+ onClick: function onClick() {
177
+ return onSelect(element);
178
+ }
179
+ }))
180
+ })), isDragging && /*#__PURE__*/jsxRuntime.jsx(Element, _objectSpread$2(_objectSpread$2({
181
+ isPlaceholder: !isDropAnimating
182
+ }, _objectSpread$2(_objectSpread$2({}, element), {}, {
183
+ disabledElementTooltip: disabledElementTooltip
184
+ })), {}, {
185
+ isCreatable: false,
186
+ onClick: neetoCist.noop
187
+ }))]
188
+ });
189
+ });
190
+ };
191
+
102
192
  var Section = function Section(_ref) {
103
193
  var title = _ref.title,
104
194
  elements = _ref.elements,
105
195
  onSelect = _ref.onSelect,
106
196
  isCreatable = _ref.isCreatable,
107
- disabledElementTooltip = _ref.disabledElementTooltip;
197
+ disabledElementTooltip = _ref.disabledElementTooltip,
198
+ isDragElementsDisabled = _ref.isDragElementsDisabled,
199
+ sectionIndex = _ref.sectionIndex;
108
200
  if (ramda.isEmpty(elements)) {
109
201
  return null;
110
202
  }
@@ -114,28 +206,25 @@ var Section = function Section(_ref) {
114
206
  style: "h6",
115
207
  textTransform: "uppercase",
116
208
  children: title
117
- }), elements.map(function (element) {
118
- return /*#__PURE__*/React.createElement(Element, _objectSpread$3(_objectSpread$3({}, _objectSpread$3(_objectSpread$3({}, element), {}, {
119
- disabledElementTooltip: disabledElementTooltip
120
- })), {}, {
121
- isCreatable: isCreatable(element.value),
122
- key: element.label,
123
- onClick: function onClick() {
124
- return onSelect(element);
125
- }
126
- }));
209
+ }), elements.map(function (element, elementIndex) {
210
+ var index = elementIndex + sectionIndex;
211
+ return /*#__PURE__*/React.createElement(ElementContainer, {
212
+ disabledElementTooltip: disabledElementTooltip,
213
+ element: element,
214
+ index: index,
215
+ isCreatable: isCreatable,
216
+ onSelect: onSelect,
217
+ isDragDisabled: isDragElementsDisabled,
218
+ key: element.label
219
+ });
127
220
  })]
128
221
  });
129
222
  };
130
223
 
131
- var TitleBar$1 = function TitleBar(_ref) {
132
- var setIsElementsListVisible = _ref.setIsElementsListVisible,
224
+ var TitleBar$1 = reactUtils.withT(function (_ref) {
225
+ var t = _ref.t,
226
+ setIsSummaryPanelVisible = _ref.setIsSummaryPanelVisible,
133
227
  isSelectedElementsEmpty = _ref.isSelectedElementsEmpty;
134
- var _useTranslation = reactI18next.useTranslation(),
135
- t = _useTranslation.t;
136
- var onCancel = function onCancel() {
137
- return setIsElementsListVisible(false);
138
- };
139
228
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
140
229
  className: "flex items-center justify-between p-6 pb-4",
141
230
  "data-testid": "elements-panel-title",
@@ -147,22 +236,25 @@ var TitleBar$1 = function TitleBar(_ref) {
147
236
  children: t("neetoMolecules.builderSidebar.addNewElement")
148
237
  }), !isSelectedElementsEmpty && /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
149
238
  "data-cy": "cancel-button",
150
- label: t("neetoMolecules.builderSidebar.cancel"),
239
+ label: t("neetoMolecules.builderSidebar.summary"),
151
240
  size: "small",
152
241
  style: "text",
153
- onClick: onCancel
242
+ onClick: function onClick() {
243
+ return setIsSummaryPanelVisible(true);
244
+ }
154
245
  })]
155
246
  });
156
- };
247
+ });
157
248
 
158
- 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; }
159
- 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__default["default"](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; }
249
+ 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; }
250
+ 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__default["default"](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; }
160
251
  var ElementList = function ElementList(_ref) {
161
- var setIsElementsListVisible = _ref.setIsElementsListVisible,
252
+ var setIsSummaryPanelVisible = _ref.setIsSummaryPanelVisible,
162
253
  _ref$elementSections = _ref.elementSections,
163
254
  elementSections = _ref$elementSections === void 0 ? [] : _ref$elementSections,
164
255
  onSelect = _ref.onSelect,
165
- isSelectedElementsEmpty = _ref.isSelectedElementsEmpty;
256
+ isSelectedElementsEmpty = _ref.isSelectedElementsEmpty,
257
+ isDragElementsDisabled = _ref.isDragElementsDisabled;
166
258
  var _useTranslation = reactI18next.useTranslation(),
167
259
  t = _useTranslation.t;
168
260
  var _useState = React.useState(""),
@@ -171,7 +263,7 @@ var ElementList = function ElementList(_ref) {
171
263
  setSearchString = _useState2[1];
172
264
  var filteredSections = React.useMemo(function () {
173
265
  return elementSections.map(function (section) {
174
- return _objectSpread$2(_objectSpread$2({}, section), {}, {
266
+ return _objectSpread$1(_objectSpread$1({}, section), {}, {
175
267
  elements: section.elements.filter(function (element) {
176
268
  return element.label.toLowerCase().includes(searchString.toLowerCase());
177
269
  })
@@ -183,7 +275,7 @@ var ElementList = function ElementList(_ref) {
183
275
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
184
276
  children: [/*#__PURE__*/jsxRuntime.jsx(TitleBar$1, {
185
277
  isSelectedElementsEmpty: isSelectedElementsEmpty,
186
- setIsElementsListVisible: setIsElementsListVisible
278
+ setIsSummaryPanelVisible: setIsSummaryPanelVisible
187
279
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
188
280
  className: "mb-2 px-6",
189
281
  children: /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
@@ -197,9 +289,11 @@ var ElementList = function ElementList(_ref) {
197
289
  }), /*#__PURE__*/jsxRuntime.jsx(Body, {
198
290
  "data-testid": "elements-container",
199
291
  size: "small",
200
- children: filteredSections.map(function (section) {
292
+ children: filteredSections.map(function (section, sectionIndex) {
201
293
  return /*#__PURE__*/React.createElement(Section, {
294
+ isDragElementsDisabled: isDragElementsDisabled,
202
295
  onSelect: onSelect,
296
+ sectionIndex: sectionIndex,
203
297
  disabledElementTooltip: section.disabledElementTooltip,
204
298
  elements: section.elements,
205
299
  isCreatable: section.isCreatable,
@@ -211,26 +305,6 @@ var ElementList = function ElementList(_ref) {
211
305
  });
212
306
  };
213
307
 
214
- var _excluded$1 = ["size"];
215
- 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; }
216
- 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__default["default"](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; }
217
- var DragIcon = function DragIcon(_ref) {
218
- var _ref$size = _ref.size,
219
- size = _ref$size === void 0 ? 16 : _ref$size,
220
- otherProps = _objectWithoutProperties__default["default"](_ref, _excluded$1);
221
- return /*#__PURE__*/jsxRuntime.jsx("svg", _objectSpread$1(_objectSpread$1({
222
- fill: "currentColor",
223
- height: size,
224
- viewBox: "0 -960 960 960",
225
- width: size,
226
- xmlns: "http://www.w3.org/2000/svg"
227
- }, otherProps), {}, {
228
- children: /*#__PURE__*/jsxRuntime.jsx("path", {
229
- 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"
230
- })
231
- }));
232
- };
233
-
234
308
  var _excluded = ["element", "isActive", "handleSelectElement", "isSelectable", "errors", "actions", "isDraggable"];
235
309
  var SelectedElement = function SelectedElement(_ref) {
236
310
  var element = _ref.element,
@@ -309,18 +383,14 @@ var SelectedElement = function SelectedElement(_ref) {
309
383
  };
310
384
  var SelectedElement$1 = /*#__PURE__*/React.memo(SelectedElement);
311
385
 
312
- var TitleBar = function TitleBar(_ref) {
313
- var setIsElementsListVisible = _ref.setIsElementsListVisible,
386
+ var TitleBar = reactUtils.withT(function (_ref) {
387
+ var t = _ref.t,
388
+ setIsSummaryPanelVisible = _ref.setIsSummaryPanelVisible,
314
389
  isLoading = _ref.isLoading,
315
390
  showElementsFillButton = _ref.showElementsFillButton,
316
391
  isAddingAllElements = _ref.isAddingAllElements,
317
392
  addAllElements = _ref.addAllElements,
318
393
  isAddingNewElement = _ref.isAddingNewElement;
319
- var _useTranslation = reactI18next.useTranslation(),
320
- t = _useTranslation.t;
321
- var handleAddElement = function handleAddElement() {
322
- return setIsElementsListVisible(true);
323
- };
324
394
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
325
395
  className: "flex items-center justify-between p-6 pb-4",
326
396
  "data-testid": "selected-elements-title",
@@ -336,11 +406,13 @@ var TitleBar = function TitleBar(_ref) {
336
406
  "data-cy": "add-element-button",
337
407
  "data-testid": "add-element-button",
338
408
  disabled: isLoading,
339
- label: t("neetoMolecules.builderSidebar.addNewElement"),
409
+ label: t("neetoMolecules.common.actions.close"),
340
410
  loading: isAddingNewElement,
341
411
  size: "small",
342
412
  style: "secondary",
343
- onClick: handleAddElement
413
+ onClick: function onClick() {
414
+ return setIsSummaryPanelVisible(false);
415
+ }
344
416
  }), showElementsFillButton && /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
345
417
  "data-cy": "add-all-elements-button",
346
418
  disabled: isAddingAllElements,
@@ -356,18 +428,17 @@ var TitleBar = function TitleBar(_ref) {
356
428
  })]
357
429
  })]
358
430
  });
359
- };
431
+ });
360
432
 
361
433
  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; }
362
434
  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__default["default"](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; }
363
435
  var SelectedElementsList = function SelectedElementsList(_ref) {
364
- var handleDragEnd = _ref.handleDragEnd,
365
- handleSelectElement = _ref.handleSelectElement,
366
- isDragDisabled = _ref.isDragDisabled,
436
+ var handleSelectElement = _ref.handleSelectElement,
437
+ isReorderDisabled = _ref.isReorderDisabled,
367
438
  isElementVisible = _ref.isElementVisible,
368
439
  selectedElementId = _ref.selectedElementId,
369
440
  selectedElements = _ref.selectedElements,
370
- setIsElementsListVisible = _ref.setIsElementsListVisible,
441
+ setIsSummaryPanelVisible = _ref.setIsSummaryPanelVisible,
371
442
  fixedLastElement = _ref.fixedLastElement,
372
443
  fixedFirstElement = _ref.fixedFirstElement,
373
444
  selectedElementActions = _ref.selectedElementActions,
@@ -394,55 +465,52 @@ var SelectedElementsList = function SelectedElementsList(_ref) {
394
465
  addAllElements: addAllElements,
395
466
  isAddingAllElements: isAddingAllElements,
396
467
  isAddingNewElement: isAddingNewElement,
397
- setIsElementsListVisible: setIsElementsListVisible,
468
+ setIsSummaryPanelVisible: setIsSummaryPanelVisible,
398
469
  showElementsFillButton: showElementsFillButton
399
470
  }), /*#__PURE__*/jsxRuntime.jsxs(Body, {
400
471
  "data-testid": "selected-elements-container",
401
- children: [Array.isArray(fixedFirstElement) ? neetoCist.isNotEmpty(fixedFirstElement) && fixedFirstElement.map(renderSelectedElement) : neetoCist.isPresent(fixedFirstElement) && renderSelectedElement(fixedFirstElement), /*#__PURE__*/jsxRuntime.jsx(dnd.DragDropContext, {
402
- onDragEnd: handleDragEnd,
403
- children: /*#__PURE__*/jsxRuntime.jsx(dnd.Droppable, {
404
- droppableId: "droppable-question-list",
405
- children: function children(_ref2) {
406
- var innerRef = _ref2.innerRef,
407
- droppableProps = _ref2.droppableProps,
408
- placeholder = _ref2.placeholder;
409
- return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({
410
- ref: innerRef
411
- }, droppableProps), {}, {
412
- "data-testid": "selected-elements-droppable-container",
413
- children: [selectedElements === null || selectedElements === void 0 ? void 0 : selectedElements.map(function (element, index) {
414
- var _isElementVisible, _element$id, _element$id2;
415
- var isVisible = (_isElementVisible = isElementVisible === null || isElementVisible === void 0 ? void 0 : isElementVisible(element)) !== null && _isElementVisible !== void 0 ? _isElementVisible : true;
416
- if (!isVisible) return null;
417
- var key = (_element$id = element.id) !== null && _element$id !== void 0 ? _element$id : "element-".concat(general.joinHyphenCase(element.label));
418
- return /*#__PURE__*/React.createElement(dnd.Draggable, {
419
- index: index,
420
- isDragDisabled: isDragDisabled,
421
- draggableId: (_element$id2 = element.id) !== null && _element$id2 !== void 0 ? _element$id2 : "element-".concat(index),
422
- key: key
423
- }, function (_ref3) {
424
- var _element$id3;
425
- var innerRef = _ref3.innerRef,
426
- draggableProps = _ref3.draggableProps,
427
- dragHandleProps = _ref3.dragHandleProps;
428
- return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread(_objectSpread({
429
- ref: innerRef
430
- }, draggableProps), dragHandleProps), {}, {
431
- children: /*#__PURE__*/React.createElement(SelectedElement$1, {
432
- element: element,
433
- handleSelectElement: handleSelectElement,
434
- isSelectable: true,
435
- actions: selectedElementActions,
436
- isActive: selectedElementId === element.id,
437
- isDraggable: !isDragDisabled,
438
- key: (_element$id3 = element.id) !== null && _element$id3 !== void 0 ? _element$id3 : index
439
- })
440
- }));
441
- });
442
- }), placeholder]
443
- }));
444
- }
445
- })
472
+ children: [Array.isArray(fixedFirstElement) ? neetoCist.isNotEmpty(fixedFirstElement) && fixedFirstElement.map(renderSelectedElement) : neetoCist.isPresent(fixedFirstElement) && renderSelectedElement(fixedFirstElement), /*#__PURE__*/jsxRuntime.jsx(dnd.Droppable, {
473
+ droppableId: SELECTED_ELEMENTS_LIST_DROPPABLE_ID,
474
+ children: function children(_ref2) {
475
+ var innerRef = _ref2.innerRef,
476
+ droppableProps = _ref2.droppableProps,
477
+ placeholder = _ref2.placeholder;
478
+ return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({
479
+ ref: innerRef
480
+ }, droppableProps), {}, {
481
+ "data-testid": "selected-elements-droppable-container",
482
+ children: [selectedElements === null || selectedElements === void 0 ? void 0 : selectedElements.map(function (element, index) {
483
+ var _isElementVisible, _element$id, _element$id2;
484
+ var isVisible = (_isElementVisible = isElementVisible === null || isElementVisible === void 0 ? void 0 : isElementVisible(element)) !== null && _isElementVisible !== void 0 ? _isElementVisible : true;
485
+ if (!isVisible) return null;
486
+ var key = (_element$id = element.id) !== null && _element$id !== void 0 ? _element$id : "element-".concat(general.joinHyphenCase(element.label));
487
+ return /*#__PURE__*/React.createElement(dnd.Draggable, {
488
+ index: index,
489
+ draggableId: (_element$id2 = element.id) !== null && _element$id2 !== void 0 ? _element$id2 : "element-".concat(index),
490
+ isDragDisabled: isReorderDisabled,
491
+ key: key
492
+ }, function (_ref3) {
493
+ var _element$id3;
494
+ var innerRef = _ref3.innerRef,
495
+ draggableProps = _ref3.draggableProps,
496
+ dragHandleProps = _ref3.dragHandleProps;
497
+ return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread(_objectSpread({
498
+ ref: innerRef
499
+ }, draggableProps), dragHandleProps), {}, {
500
+ children: /*#__PURE__*/React.createElement(SelectedElement$1, {
501
+ element: element,
502
+ handleSelectElement: handleSelectElement,
503
+ isSelectable: true,
504
+ actions: selectedElementActions,
505
+ isActive: selectedElementId === element.id,
506
+ isDraggable: !isReorderDisabled,
507
+ key: (_element$id3 = element.id) !== null && _element$id3 !== void 0 ? _element$id3 : index
508
+ })
509
+ }));
510
+ });
511
+ }), placeholder]
512
+ }));
513
+ }
446
514
  }), neetoCist.isPresent(fixedLastElement) && /*#__PURE__*/jsxRuntime.jsx(SelectedElement$1, {
447
515
  handleSelectElement: handleSelectElement,
448
516
  isSelectable: true,
@@ -465,10 +533,10 @@ var ElementsPanel = function ElementsPanel(_ref) {
465
533
  _ref$fixedFirstElemen = _ref.fixedFirstElement,
466
534
  fixedFirstElement = _ref$fixedFirstElemen === void 0 ? [] : _ref$fixedFirstElemen,
467
535
  fixedLastElement = _ref.fixedLastElement,
468
- _ref$handleDragEnd = _ref.handleDragEnd,
469
- handleDragEnd = _ref$handleDragEnd === void 0 ? neetoCist.noop : _ref$handleDragEnd,
470
- _ref$isDragDisabled = _ref.isDragDisabled,
471
- isDragDisabled = _ref$isDragDisabled === void 0 ? true : _ref$isDragDisabled,
536
+ _ref$isReorderDisable = _ref.isReorderDisabled,
537
+ isReorderDisabled = _ref$isReorderDisable === void 0 ? true : _ref$isReorderDisable,
538
+ _ref$isDragElementsDi = _ref.isDragElementsDisabled,
539
+ isDragElementsDisabled = _ref$isDragElementsDi === void 0 ? true : _ref$isDragElementsDi,
472
540
  handleSelectElement = _ref.handleSelectElement,
473
541
  selectedElementId = _ref.selectedElementId,
474
542
  selectedElementActions = _ref.selectedElementActions,
@@ -482,8 +550,8 @@ var ElementsPanel = function ElementsPanel(_ref) {
482
550
  isAddingNewElement = _ref$isAddingNewEleme === void 0 ? false : _ref$isAddingNewEleme;
483
551
  var _useState = React.useState(false),
484
552
  _useState2 = _slicedToArray__default["default"](_useState, 2),
485
- isElementsListVisible = _useState2[0],
486
- setIsElementsListVisible = _useState2[1];
553
+ isSummaryPanelVisible = _useState2[0],
554
+ setIsSummaryPanelVisible = _useState2[1];
487
555
  var _useBreakpoints = reactUtils.useBreakpoints(),
488
556
  isSize = _useBreakpoints.isSize;
489
557
  var isLargerScreen = !isSize("mobile");
@@ -491,12 +559,6 @@ var ElementsPanel = function ElementsPanel(_ref) {
491
559
  _useState4 = _slicedToArray__default["default"](_useState3, 2),
492
560
  isElementsPanelCollapsed = _useState4[0],
493
561
  setIsElementsPanelCollapsed = _useState4[1];
494
- var isSelectedElementsEmpty = ramda.isEmpty(selectedElements);
495
- var shouldShowElementsList = isSelectedElementsEmpty || isElementsListVisible;
496
- var handleElementSelect = function handleElementSelect(element) {
497
- setIsElementsListVisible(false);
498
- handleAddElement(element);
499
- };
500
562
  React.useEffect(function () {
501
563
  setIsElementsPanelCollapsed(!isLargerScreen);
502
564
  }, [isLargerScreen]);
@@ -517,26 +579,25 @@ var ElementsPanel = function ElementsPanel(_ref) {
517
579
  onClick: function onClick(event) {
518
580
  return event.stopPropagation();
519
581
  },
520
- children: shouldShowElementsList ? /*#__PURE__*/jsxRuntime.jsx(ElementList, {
521
- elementSections: elementSections,
522
- isSelectedElementsEmpty: isSelectedElementsEmpty,
523
- setIsElementsListVisible: setIsElementsListVisible,
524
- onSelect: handleElementSelect
525
- }) : /*#__PURE__*/jsxRuntime.jsx(SelectedElementsList, {
582
+ children: isSummaryPanelVisible ? /*#__PURE__*/jsxRuntime.jsx(SelectedElementsList, {
526
583
  addAllElements: addAllElements,
527
584
  fixedFirstElement: fixedFirstElement,
528
585
  fixedLastElement: fixedLastElement,
529
- handleDragEnd: handleDragEnd,
530
586
  handleSelectElement: handleSelectElement,
531
587
  isAddingAllElements: isAddingAllElements,
532
588
  isAddingNewElement: isAddingNewElement,
533
- isDragDisabled: isDragDisabled,
534
589
  isElementVisible: isElementVisible,
590
+ isReorderDisabled: isReorderDisabled,
535
591
  selectedElementActions: selectedElementActions,
536
592
  selectedElementId: selectedElementId,
537
593
  selectedElements: selectedElements,
538
- setIsElementsListVisible: setIsElementsListVisible,
594
+ setIsSummaryPanelVisible: setIsSummaryPanelVisible,
539
595
  showElementsFillButton: showElementsFillButton
596
+ }) : /*#__PURE__*/jsxRuntime.jsx(ElementList, {
597
+ elementSections: elementSections,
598
+ isDragElementsDisabled: isDragElementsDisabled,
599
+ setIsSummaryPanelVisible: setIsSummaryPanelVisible,
600
+ onSelect: handleAddElement
540
601
  })
541
602
  })
542
603
  }), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
@@ -645,5 +706,7 @@ var PropertiesPanel = function PropertiesPanel(_ref) {
645
706
  PropertiesPanel.EmptyProperty = EmptyProperty;
646
707
 
647
708
  exports.ElementsPanel = ElementsPanel;
709
+ exports.PREVIEW_CONTAINER_DROPPABLE_ID = PREVIEW_CONTAINER_DROPPABLE_ID;
648
710
  exports.PropertiesPanel = PropertiesPanel;
711
+ exports.SELECTED_ELEMENTS_LIST_DROPPABLE_ID = SELECTED_ELEMENTS_LIST_DROPPABLE_ID;
649
712
  //# sourceMappingURL=Builder.js.map