@bigbinary/neeto-molecules 3.5.2-beta → 3.5.2-beta-2

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
@@ -9,13 +9,13 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
9
9
  import { joinHyphenCase, withEventTargetValue } from '@bigbinary/neeto-commons-frontend/utils/general';
10
10
  import Search from '@bigbinary/neeto-icons/Search';
11
11
  import Input from '@bigbinary/neetoui/Input';
12
+ import { isEmpty, assoc, mergeRight } from 'ramda';
12
13
  import { useTranslation } from 'react-i18next';
13
14
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
14
15
  import { n } from './inject-css-c86de496.js';
15
16
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
16
- import Typography from '@bigbinary/neetoui/Typography';
17
- import { isEmpty, mergeRight } from 'ramda';
18
17
  import { Draggable, Droppable } from '@hello-pangea/dnd';
18
+ import Typography from '@bigbinary/neetoui/Typography';
19
19
  import Tooltip from '@bigbinary/neetoui/Tooltip';
20
20
  import MoreDropdown from './MoreDropdown.js';
21
21
  import { PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
@@ -27,19 +27,24 @@ 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";
30
+ var SELECTED_ELEMENTS_LIST_DROPPABLE_ID = "droppable-selected-element-container";
31
+ var ELEMENTS_LIST_DROPPABLE_ID = "droppable-element-container";
31
32
  var PREVIEW_CONTAINER_DROPPABLE_ID = "droppable-form-preview-container";
33
+ var DROPPABLE_TYPES = {
34
+ ELEMENT: "element",
35
+ SELECTED_ELEMENT: "selected_element"
36
+ };
32
37
 
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}}";
38
+ 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{min-width:0;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
39
  n(css,{});
35
40
 
36
41
  var _excluded$2 = ["size"];
37
- function ownKeys$4(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; }
38
- function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
42
+ function ownKeys$5(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; }
43
+ function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
39
44
  var Body = function Body(_ref) {
40
45
  var size = _ref.size,
41
46
  props = _objectWithoutProperties(_ref, _excluded$2);
42
- return /*#__PURE__*/jsx("div", _objectSpread$4(_objectSpread$4({}, props), {}, {
47
+ return /*#__PURE__*/jsx("div", _objectSpread$5(_objectSpread$5({}, props), {}, {
43
48
  className: classnames("neeto-molecules-builder-questions-list-panel__scroll", {
44
49
  "neeto-molecules-builder-questions-list-panel__scroll--small": size === "small"
45
50
  })
@@ -47,13 +52,13 @@ var Body = function Body(_ref) {
47
52
  };
48
53
 
49
54
  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; }
55
+ function ownKeys$4(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; }
56
+ function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
52
57
  var DragIcon = function DragIcon(_ref) {
53
58
  var _ref$size = _ref.size,
54
59
  size = _ref$size === void 0 ? 16 : _ref$size,
55
60
  otherProps = _objectWithoutProperties(_ref, _excluded$1);
56
- return /*#__PURE__*/jsx("svg", _objectSpread$3(_objectSpread$3({
61
+ return /*#__PURE__*/jsx("svg", _objectSpread$4(_objectSpread$4({
57
62
  fill: "currentColor",
58
63
  height: size,
59
64
  viewBox: "0 -960 960 960",
@@ -75,10 +80,11 @@ var Element = function Element(_ref) {
75
80
  _ref$isDragDisabled = _ref.isDragDisabled,
76
81
  isDragDisabled = _ref$isDragDisabled === void 0 ? false : _ref$isDragDisabled,
77
82
  disabledElementTooltip = _ref.disabledElementTooltip,
78
- isPlaceholder = _ref.isPlaceholder;
83
+ isPlaceholder = _ref.isPlaceholder,
84
+ isDraggingOver = _ref.isDraggingOver;
79
85
  return /*#__PURE__*/jsx(Tooltip, {
80
86
  content: disabledElementTooltip === null || disabledElementTooltip === void 0 ? void 0 : disabledElementTooltip(label),
81
- disabled: !disabledElementTooltip || isCreatable,
87
+ disabled: !disabledElementTooltip || isCreatable || isDraggingOver,
82
88
  position: "top",
83
89
  touch: ["hold", 500],
84
90
  children: /*#__PURE__*/jsxs("div", {
@@ -108,21 +114,23 @@ var Element = function Element(_ref) {
108
114
  });
109
115
  };
110
116
 
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; }
117
+ 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; }
118
+ 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; }
113
119
  var ElementContainer = function ElementContainer(_ref) {
114
120
  var index = _ref.index,
115
121
  isDragDisabled = _ref.isDragDisabled,
116
122
  element = _ref.element,
117
123
  disabledElementTooltip = _ref.disabledElementTooltip,
118
124
  isCreatable = _ref.isCreatable,
119
- onSelect = _ref.onSelect;
125
+ onSelect = _ref.onSelect,
126
+ isDraggingOver = _ref.isDraggingOver;
127
+ var isCreatableElement = isCreatable(element.value);
120
128
  if (isDragDisabled) {
121
- return /*#__PURE__*/jsx(Element, _objectSpread$2(_objectSpread$2({}, _objectSpread$2(_objectSpread$2({}, element), {}, {
129
+ return /*#__PURE__*/jsx(Element, _objectSpread$3(_objectSpread$3({}, _objectSpread$3(_objectSpread$3({}, element), {}, {
122
130
  disabledElementTooltip: disabledElementTooltip,
123
131
  isDragDisabled: isDragDisabled
124
132
  })), {}, {
125
- isCreatable: isCreatable(element.value),
133
+ isCreatable: isCreatableElement,
126
134
  onClick: function onClick() {
127
135
  return onSelect(element);
128
136
  }
@@ -130,37 +138,30 @@ var ElementContainer = function ElementContainer(_ref) {
130
138
  }
131
139
  return /*#__PURE__*/createElement(Draggable, {
132
140
  index: index,
133
- isDragDisabled: isDragDisabled,
134
- draggableId: "".concat(element.value, "-").concat(index),
141
+ draggableId: element.value,
142
+ isDragDisabled: isDragDisabled || !isCreatableElement,
135
143
  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;
144
+ }, function (provided, snapshot) {
142
145
  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
146
+ children: [/*#__PURE__*/jsx("div", _objectSpread$3(_objectSpread$3(_objectSpread$3({
147
+ ref: provided.innerRef
148
+ }, provided.draggableProps), provided.dragHandleProps), {}, {
149
+ style: _objectSpread$3(_objectSpread$3({}, provided.draggableProps.style), !snapshot.isDragging && {
150
+ transform: "none"
149
151
  }),
150
- children: /*#__PURE__*/jsx(Element, _objectSpread$2(_objectSpread$2({}, _objectSpread$2(_objectSpread$2({}, element), {}, {
152
+ children: /*#__PURE__*/jsx(Element, _objectSpread$3(_objectSpread$3({}, _objectSpread$3(_objectSpread$3({}, element), {}, {
151
153
  disabledElementTooltip: disabledElementTooltip,
152
- isDragDisabled: isDragDisabled
154
+ isDragDisabled: isDragDisabled,
155
+ isDraggingOver: isDraggingOver
153
156
  })), {}, {
154
- isCreatable: isCreatable(element.value),
157
+ isCreatable: isCreatableElement,
155
158
  onClick: function onClick() {
156
159
  return onSelect(element);
157
160
  }
158
161
  }))
159
- })), isDragging && /*#__PURE__*/jsx(Element, _objectSpread$2(_objectSpread$2({
160
- isPlaceholder: !isDropAnimating
161
- }, _objectSpread$2(_objectSpread$2({}, element), {}, {
162
- disabledElementTooltip: disabledElementTooltip
163
- })), {}, {
162
+ })), snapshot.isDragging && /*#__PURE__*/jsx(Element, _objectSpread$3(_objectSpread$3({
163
+ disabledElementTooltip: null
164
+ }, _objectSpread$3({}, element)), {}, {
164
165
  isCreatable: false,
165
166
  onClick: noop
166
167
  }))]
@@ -174,8 +175,8 @@ var Section = function Section(_ref) {
174
175
  onSelect = _ref.onSelect,
175
176
  isCreatable = _ref.isCreatable,
176
177
  disabledElementTooltip = _ref.disabledElementTooltip,
177
- isDragElementsDisabled = _ref.isDragElementsDisabled,
178
- sectionIndex = _ref.sectionIndex;
178
+ isDragDisabled = _ref.isDragElementsDisabled,
179
+ isDraggingOver = _ref.isDraggingOver;
179
180
  if (isEmpty(elements)) {
180
181
  return null;
181
182
  }
@@ -185,21 +186,59 @@ var Section = function Section(_ref) {
185
186
  style: "h6",
186
187
  textTransform: "uppercase",
187
188
  children: title
188
- }), elements.map(function (element, elementIndex) {
189
- var index = elementIndex + sectionIndex;
189
+ }), elements.map(function (element) {
190
190
  return /*#__PURE__*/createElement(ElementContainer, {
191
191
  disabledElementTooltip: disabledElementTooltip,
192
192
  element: element,
193
- index: index,
194
193
  isCreatable: isCreatable,
194
+ isDragDisabled: isDragDisabled,
195
+ isDraggingOver: isDraggingOver,
195
196
  onSelect: onSelect,
196
- isDragDisabled: isDragElementsDisabled,
197
+ index: element.elementIndex,
197
198
  key: element.label
198
199
  });
199
200
  })]
200
201
  });
201
202
  };
202
203
 
204
+ 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; }
205
+ 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; }
206
+ var SectionsContainer = function SectionsContainer(_ref) {
207
+ var isDragElementsDisabled = _ref.isDragElementsDisabled,
208
+ filteredSections = _ref.filteredSections,
209
+ onSelect = _ref.onSelect;
210
+ if (isDragElementsDisabled) {
211
+ return /*#__PURE__*/jsx(Fragment, {
212
+ children: filteredSections.map(function (section) {
213
+ return /*#__PURE__*/createElement(Section, _objectSpread$2(_objectSpread$2({}, _objectSpread$2({
214
+ isDragElementsDisabled: isDragElementsDisabled,
215
+ onSelect: onSelect
216
+ }, section)), {}, {
217
+ key: section.key
218
+ }));
219
+ })
220
+ });
221
+ }
222
+ return /*#__PURE__*/jsx(Droppable, {
223
+ droppableId: ELEMENTS_LIST_DROPPABLE_ID,
224
+ type: DROPPABLE_TYPES.ELEMENT,
225
+ children: function children(provided, snapshot) {
226
+ return /*#__PURE__*/jsx("div", {
227
+ ref: provided.innerRef,
228
+ children: filteredSections.map(function (section) {
229
+ return /*#__PURE__*/createElement(Section, _objectSpread$2(_objectSpread$2({}, _objectSpread$2({
230
+ isDragElementsDisabled: isDragElementsDisabled,
231
+ onSelect: onSelect
232
+ }, section)), {}, {
233
+ isDraggingOver: snapshot.isDraggingOver,
234
+ key: section.key
235
+ }));
236
+ })
237
+ });
238
+ }
239
+ });
240
+ };
241
+
203
242
  var TitleBar$1 = withT(function (_ref) {
204
243
  var t = _ref.t,
205
244
  setIsSummaryPanelVisible = _ref.setIsSummaryPanelVisible,
@@ -217,7 +256,7 @@ var TitleBar$1 = withT(function (_ref) {
217
256
  "data-cy": "cancel-button",
218
257
  label: t("neetoMolecules.builderSidebar.summary"),
219
258
  size: "small",
220
- style: "text",
259
+ style: "secondary",
221
260
  onClick: function onClick() {
222
261
  return setIsSummaryPanelVisible(true);
223
262
  }
@@ -241,10 +280,13 @@ var ElementList = function ElementList(_ref) {
241
280
  searchString = _useState2[0],
242
281
  setSearchString = _useState2[1];
243
282
  var filteredSections = useMemo(function () {
283
+ var elementIndex = 0;
244
284
  return elementSections.map(function (section) {
245
285
  return _objectSpread$1(_objectSpread$1({}, section), {}, {
246
286
  elements: section.elements.filter(function (element) {
247
287
  return element.label.toLowerCase().includes(searchString.toLowerCase());
288
+ }).map(function (element) {
289
+ return assoc("elementIndex", elementIndex++, element);
248
290
  })
249
291
  });
250
292
  }).filter(function (section) {
@@ -268,17 +310,10 @@ var ElementList = function ElementList(_ref) {
268
310
  }), /*#__PURE__*/jsx(Body, {
269
311
  "data-testid": "elements-container",
270
312
  size: "small",
271
- children: filteredSections.map(function (section, sectionIndex) {
272
- return /*#__PURE__*/createElement(Section, {
273
- isDragElementsDisabled: isDragElementsDisabled,
274
- onSelect: onSelect,
275
- sectionIndex: sectionIndex,
276
- disabledElementTooltip: section.disabledElementTooltip,
277
- elements: section.elements,
278
- isCreatable: section.isCreatable,
279
- key: section.key,
280
- title: section.title
281
- });
313
+ children: /*#__PURE__*/jsx(SectionsContainer, {
314
+ filteredSections: filteredSections,
315
+ isDragElementsDisabled: isDragElementsDisabled,
316
+ onSelect: onSelect
282
317
  })
283
318
  })]
284
319
  });
@@ -450,6 +485,7 @@ var SelectedElementsList = function SelectedElementsList(_ref) {
450
485
  "data-testid": "selected-elements-container",
451
486
  children: [Array.isArray(fixedFirstElement) ? isNotEmpty(fixedFirstElement) && fixedFirstElement.map(renderSelectedElement) : isPresent(fixedFirstElement) && renderSelectedElement(fixedFirstElement), /*#__PURE__*/jsx(Droppable, {
452
487
  droppableId: SELECTED_ELEMENTS_LIST_DROPPABLE_ID,
488
+ type: DROPPABLE_TYPES.SELECTED_ELEMENT,
453
489
  children: function children(_ref2) {
454
490
  var innerRef = _ref2.innerRef,
455
491
  droppableProps = _ref2.droppableProps,
@@ -684,5 +720,5 @@ var PropertiesPanel = function PropertiesPanel(_ref) {
684
720
  };
685
721
  PropertiesPanel.EmptyProperty = EmptyProperty;
686
722
 
687
- export { ElementsPanel, PREVIEW_CONTAINER_DROPPABLE_ID, PropertiesPanel, SELECTED_ELEMENTS_LIST_DROPPABLE_ID };
723
+ export { DROPPABLE_TYPES, ELEMENTS_LIST_DROPPABLE_ID, ElementsPanel, PREVIEW_CONTAINER_DROPPABLE_ID, PropertiesPanel, SELECTED_ELEMENTS_LIST_DROPPABLE_ID };
688
724
  //# sourceMappingURL=Builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.js","sources":["../src/components/Builder/constants.js","../src/components/Builder/Body.jsx","../src/components/Builder/DragIcon.jsx","../src/components/Builder/ElementsPanel/ElementsList/Element.jsx","../src/components/Builder/ElementsPanel/ElementsList/ElementContainer.jsx","../src/components/Builder/ElementsPanel/ElementsList/Section.jsx","../src/components/Builder/ElementsPanel/ElementsList/TitleBar.jsx","../src/components/Builder/ElementsPanel/ElementsList/index.jsx","../src/components/Builder/ElementsPanel/SelectedElementsList/SelectedElement.jsx","../src/components/Builder/ElementsPanel/SelectedElementsList/TitleBar.jsx","../src/components/Builder/ElementsPanel/SelectedElementsList/index.jsx","../src/components/Builder/ElementsPanel/index.jsx","../src/components/Builder/PropertiesPanel/EmptyProperty.jsx","../src/components/Builder/PropertiesPanel/Skeleton.jsx","../src/components/Builder/PropertiesPanel/index.jsx"],"sourcesContent":["export const SELECTED_ELEMENTS_LIST_DROPPABLE_ID =\n \"droppable-selected-question-container\";\n\nexport const PREVIEW_CONTAINER_DROPPABLE_ID =\n \"droppable-form-preview-container\";\n","import classnames from \"classnames\";\n\nimport \"./styles.scss\";\n\nconst Body = ({ size, ...props }) => (\n <div\n {...props}\n className={classnames(\n \"neeto-molecules-builder-questions-list-panel__scroll\",\n {\n \"neeto-molecules-builder-questions-list-panel__scroll--small\":\n size === \"small\",\n }\n )}\n />\n);\n\nexport default Body;\n","const DragIcon = ({ size = 16, ...otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path 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\" />\n </svg>\n);\n\nexport default DragIcon;\n","import classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nimport DragIcon from \"components/Builder/DragIcon\";\n\nconst Element = ({\n label,\n icon: Icon,\n isCreatable = true,\n onClick,\n isDragDisabled = false,\n disabledElementTooltip,\n isPlaceholder,\n}) => (\n <Tooltip\n content={disabledElementTooltip?.(label)}\n disabled={!disabledElementTooltip || isCreatable}\n position=\"top\"\n touch={[\"hold\", 500]}\n >\n <div\n data-cy={`add-${joinHyphenCase(label)}-element`}\n className={classnames(\n \"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\",\n {\n \"neeto-ui-bg-gray-300 cursor-not-allowed\": !isCreatable,\n \"cursor-pointer\": isCreatable,\n \"opacity-50\": isPlaceholder,\n }\n )}\n onClick={isCreatable ? onClick : noop}\n >\n {!isDragDisabled && (\n <span className=\"absolute right-full top-1/2 flex-shrink-0 -translate-y-1/2 cursor-grab\">\n <DragIcon size={16} />\n </span>\n )}\n <div className=\"flex flex-grow items-center gap-2\">\n {Icon && <Icon data-cy=\"form-icon\" />}\n <Typography className=\"leading-4\" style=\"body2\">\n {label}\n </Typography>\n </div>\n </div>\n </Tooltip>\n);\n\nexport default Element;\n","import { Draggable } from \"@hello-pangea/dnd\";\nimport { noop } from \"neetocist\";\n\nimport Element from \"./Element\";\n\nconst ElementContainer = ({\n index,\n isDragDisabled,\n element,\n disabledElementTooltip,\n isCreatable,\n onSelect,\n}) => {\n if (isDragDisabled) {\n return (\n <Element\n {...{ ...element, disabledElementTooltip, isDragDisabled }}\n isCreatable={isCreatable(element.value)}\n onClick={() => onSelect(element)}\n />\n );\n }\n\n return (\n <Draggable\n {...{ index, isDragDisabled }}\n draggableId={`${element.value}-${index}`}\n key={element.label}\n >\n {(\n { innerRef, draggableProps, dragHandleProps },\n { isDragging, isDropAnimating }\n ) => (\n <>\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n style={{\n ...draggableProps.style,\n ...(isDropAnimating && {\n opacity: 0,\n transition: null,\n }),\n }}\n >\n <Element\n {...{\n ...element,\n disabledElementTooltip,\n isDragDisabled,\n }}\n isCreatable={isCreatable(element.value)}\n onClick={() => onSelect(element)}\n />\n </div>\n {isDragging && (\n <Element\n isPlaceholder={!isDropAnimating}\n {...{ ...element, disabledElementTooltip }}\n isCreatable={false}\n onClick={noop}\n />\n )}\n </>\n )}\n </Draggable>\n );\n};\n\nexport default ElementContainer;\n","import { Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport ElementContainer from \"./ElementContainer\";\n\nconst Section = ({\n title,\n elements,\n onSelect,\n isCreatable,\n disabledElementTooltip,\n isDragElementsDisabled,\n sectionIndex,\n}) => {\n if (isEmpty(elements)) {\n return null;\n }\n\n return (\n <>\n {title && (\n <Typography className=\"py-3\" style=\"h6\" textTransform=\"uppercase\">\n {title}\n </Typography>\n )}\n {elements.map((element, elementIndex) => {\n const index = elementIndex + sectionIndex;\n\n return (\n <ElementContainer\n {...{\n disabledElementTooltip,\n element,\n index,\n isCreatable,\n\n onSelect,\n }}\n isDragDisabled={isDragElementsDisabled}\n key={element.label}\n />\n );\n })}\n </>\n );\n};\n\nexport default Section;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Button, Typography } from \"neetoui\";\n\nconst TitleBar = withT(\n ({ t, setIsSummaryPanelVisible, isSelectedElementsEmpty }) => (\n <div\n className=\"flex items-center justify-between p-6 pb-4\"\n data-testid=\"elements-panel-title\"\n >\n <Typography\n data-cy=\"elements-list-title\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.builderSidebar.addNewElement\")}\n </Typography>\n {!isSelectedElementsEmpty && (\n <Button\n data-cy=\"cancel-button\"\n label={t(\"neetoMolecules.builderSidebar.summary\")}\n size=\"small\"\n style=\"text\"\n onClick={() => setIsSummaryPanelVisible(true)}\n />\n )}\n </div>\n )\n);\n\nexport default TitleBar;\n","import { useMemo, useState } from \"react\";\n\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Search } from \"neetoicons\";\nimport { Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Body from \"components/Builder/Body\";\n\nimport Section from \"./Section\";\nimport TitleBar from \"./TitleBar\";\n\nconst ElementList = ({\n setIsSummaryPanelVisible,\n elementSections = [],\n onSelect,\n isSelectedElementsEmpty,\n isDragElementsDisabled,\n}) => {\n const { t } = useTranslation();\n const [searchString, setSearchString] = useState(\"\");\n\n const filteredSections = useMemo(\n () =>\n elementSections\n .map(section => ({\n ...section,\n elements: section.elements.filter(element =>\n element.label.toLowerCase().includes(searchString.toLowerCase())\n ),\n }))\n .filter(section =>\n isPresent(searchString) ? isNotEmpty(section.elements) : true\n ),\n [searchString, elementSections]\n );\n\n return (\n <>\n <TitleBar {...{ isSelectedElementsEmpty, setIsSummaryPanelVisible }} />\n <div className=\"mb-2 px-6\">\n <Input\n autoFocus\n data-testid=\"elements-panel-search-field\"\n placeholder={t(\"neetoMolecules.builderSidebar.searchElements\")}\n prefix={<Search />}\n value={searchString}\n onChange={withEventTargetValue(setSearchString)}\n />\n </div>\n <Body data-testid=\"elements-container\" size=\"small\">\n {filteredSections.map((section, sectionIndex) => (\n <Section\n {...{ isDragElementsDisabled, onSelect, sectionIndex }}\n disabledElementTooltip={section.disabledElementTooltip}\n elements={section.elements}\n isCreatable={section.isCreatable}\n key={section.key}\n title={section.title}\n />\n ))}\n </Body>\n </>\n );\n};\n\nexport default ElementList;\n","import { memo, useEffect, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop, findById, isNotEmpty, hyphenate } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { mergeRight } from \"ramda\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nimport DragIcon from \"../../DragIcon\";\n\nconst SelectedElement = ({\n element,\n isActive,\n handleSelectElement,\n isSelectable = true,\n errors = [],\n actions = [],\n isDraggable = false,\n ...props\n}) => {\n const Icon = element.icon;\n const rootElementRef = useRef();\n\n const onClick = () => handleSelectElement(element);\n\n const shouldShowDropdown = isNotEmpty(actions);\n\n const menuItems =\n typeof actions === \"function\"\n ? actions(element)\n : actions.map(action =>\n mergeRight(action, {\n onClick: () => {\n action.onClick(element);\n },\n })\n );\n\n useEffect(() => {\n const rootElement = rootElementRef.current;\n\n if (\n !rootElement ||\n !isActive ||\n typeof rootElement?.scrollIntoView !== \"function\"\n ) {\n return;\n }\n rootElement.scrollIntoView({ behavior: \"smooth\", block: \"nearest\" });\n }, [isActive, rootElementRef]);\n\n const error = findById(element.id, errors);\n\n return (\n <div\n data-testid={props[\"data-testid\"]}\n ref={rootElementRef}\n className={classnames(\n \"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 cursor-pointer items-center gap-2 border py-3 pl-4 pr-3 transition-all duration-300 ease-in-out\",\n { \"neeto-molecules-builder-element--active\": isActive },\n { \"hover:neeto-ui-bg-error-100 neeto-ui-bg-error-100\": error }\n )}\n onClick={isSelectable ? onClick : noop}\n >\n {isDraggable && (\n <span className=\"absolute right-full top-1/2 flex-shrink-0 -translate-y-1/2 cursor-grab\">\n <DragIcon size={16} />\n </span>\n )}\n <div\n className=\"flex flex-grow items-center gap-2 overflow-hidden\"\n data-cy=\"new-element-field\"\n >\n {Icon && (\n <div className=\"flex-shrink-0\">\n <Icon />\n </div>\n )}\n <Typography\n className=\"truncate leading-snug\"\n data-cy={`${hyphenate(element.label, \"new-element\")}-label`}\n style=\"body2\"\n >\n {element.label}\n </Typography>\n </div>\n {shouldShowDropdown && (\n <MoreDropdown\n {...{ menuItems }}\n isDisabled={element.isPending}\n dropdownButtonProps={{\n className: \"min-h-0 flex-shrink-0\",\n \"data-testid\": `${hyphenate(element.label)}-more-dropdown`,\n \"data-cy\": `${hyphenate(\n element.label,\n \"new-element\"\n )}-more-dropdown`,\n loading: element.isPending,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default memo(SelectedElement);\n","import { PLURAL } from \"neetocommons/constants\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Flash } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nconst TitleBar = withT(\n ({\n t,\n setIsSummaryPanelVisible,\n isLoading,\n showElementsFillButton,\n isAddingAllElements,\n addAllElements,\n isAddingNewElement,\n }) => (\n <div\n className=\"flex items-center justify-between p-6 pb-4\"\n data-testid=\"selected-elements-title\"\n >\n <Typography\n data-cy=\"elements-title\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.builderSidebar.element\", PLURAL)}\n </Typography>\n <div className=\"flex items-center justify-between space-x-2\">\n <Button\n data-cy=\"add-element-button\"\n data-testid=\"add-element-button\"\n disabled={isLoading}\n label={t(\"neetoMolecules.common.actions.close\")}\n loading={isAddingNewElement}\n size=\"small\"\n style=\"secondary\"\n onClick={() => setIsSummaryPanelVisible(false)}\n />\n {showElementsFillButton && (\n <Button\n data-cy=\"add-all-elements-button\"\n disabled={isAddingAllElements}\n icon={Flash}\n loading={isAddingAllElements}\n size=\"small\"\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoMolecules.builderSidebar.addAllElements\"),\n touch: [\"hold\", 500],\n }}\n onClick={addAllElements}\n />\n )}\n </div>\n </div>\n )\n);\n\nexport default TitleBar;\n","import { Draggable, Droppable } from \"@hello-pangea/dnd\";\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\n\nimport Body from \"components/Builder/Body\";\n\nimport SelectedElement from \"./SelectedElement\";\nimport TitleBar from \"./TitleBar\";\n\nimport { SELECTED_ELEMENTS_LIST_DROPPABLE_ID } from \"../../constants\";\n\nconst SelectedElementsList = ({\n handleSelectElement,\n isReorderDisabled,\n isElementVisible,\n selectedElementId,\n selectedElements,\n setIsSummaryPanelVisible,\n fixedLastElement,\n fixedFirstElement,\n selectedElementActions,\n addAllElements,\n isAddingAllElements,\n showElementsFillButton,\n isAddingNewElement,\n}) => {\n const renderSelectedElement = (element, index = 0) => (\n <SelectedElement\n {...{ element, handleSelectElement, index }}\n isSelectable\n actions={element.actions}\n isActive={selectedElementId === element.id}\n key={element.id || index}\n data-cy={`welcome-element${\n Array.isArray(fixedFirstElement) ? `-${index + 1}` : \"\"\n }`}\n data-testid={`welcome-record${\n Array.isArray(fixedFirstElement) ? `-${index + 1}` : \"\"\n }`}\n />\n );\n\n return (\n <>\n <TitleBar\n {...{\n addAllElements,\n isAddingAllElements,\n isAddingNewElement,\n setIsSummaryPanelVisible,\n showElementsFillButton,\n }}\n />\n <Body data-testid=\"selected-elements-container\">\n {Array.isArray(fixedFirstElement)\n ? isNotEmpty(fixedFirstElement) &&\n fixedFirstElement.map(renderSelectedElement)\n : isPresent(fixedFirstElement) &&\n renderSelectedElement(fixedFirstElement)}\n <Droppable droppableId={SELECTED_ELEMENTS_LIST_DROPPABLE_ID}>\n {({ innerRef, droppableProps, placeholder }) => (\n <div\n ref={innerRef}\n {...droppableProps}\n data-testid=\"selected-elements-droppable-container\"\n >\n {selectedElements?.map((element, index) => {\n const isVisible = isElementVisible?.(element) ?? true;\n\n if (!isVisible) return null;\n\n const key =\n element.id ?? `element-${joinHyphenCase(element.label)}`;\n\n return (\n <Draggable\n {...{ index }}\n draggableId={element.id ?? `element-${index}`}\n isDragDisabled={isReorderDisabled}\n key={key}\n >\n {({ innerRef, draggableProps, dragHandleProps }) => (\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n >\n <SelectedElement\n {...{ element, handleSelectElement }}\n isSelectable\n actions={selectedElementActions}\n isActive={selectedElementId === element.id}\n isDraggable={!isReorderDisabled}\n key={element.id ?? index}\n />\n </div>\n )}\n </Draggable>\n );\n })}\n {placeholder}\n </div>\n )}\n </Droppable>\n {isPresent(fixedLastElement) && (\n <SelectedElement\n {...{ handleSelectElement }}\n isSelectable\n actions={fixedLastElement.actions}\n data-cy=\"submit-button-element\"\n data-testid=\"submit-button-record\"\n element={fixedLastElement}\n isActive={selectedElementId === fixedLastElement.id}\n />\n )}\n </Body>\n </>\n );\n};\n\nexport default SelectedElementsList;\n","import { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport { Collapse } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport ElementList from \"./ElementsList\";\nimport SelectedElementsList from \"./SelectedElementsList\";\n\nimport \"../styles.scss\";\n\nconst ElementsPanel = ({\n elementSections,\n selectedElements = [],\n handleAddElement,\n isElementVisible,\n fixedFirstElement = [],\n fixedLastElement,\n isReorderDisabled = true,\n isDragElementsDisabled = true,\n handleSelectElement,\n selectedElementId,\n selectedElementActions,\n addAllElements = noop,\n isAddingAllElements = false,\n showElementsFillButton = false,\n isAddingNewElement = false,\n}) => {\n const [isSummaryPanelVisible, setIsSummaryPanelVisible] = useState(false);\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] = useState(\n !isLargerScreen\n );\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"neeto-molecules-builder-panel__backdrop\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\n \"neeto-molecules-builder-elements-list-panel__wrapper\",\n {\n \"neeto-molecules-builder-elements-list-panel__wrapper--collapsed\":\n isElementsPanelCollapsed,\n }\n )}\n >\n <div className=\"neeto-molecules-builder-elements-list-panel__container\">\n <div\n className=\"neeto-molecules-builder-elements-list-panel neeto-ui-bg-white\"\n onClick={event => event.stopPropagation()}\n >\n {isSummaryPanelVisible ? (\n <SelectedElementsList\n {...{\n addAllElements,\n fixedFirstElement,\n fixedLastElement,\n handleSelectElement,\n isAddingAllElements,\n isAddingNewElement,\n isElementVisible,\n isReorderDisabled,\n selectedElementActions,\n selectedElementId,\n selectedElements,\n setIsSummaryPanelVisible,\n showElementsFillButton,\n }}\n />\n ) : (\n <ElementList\n {...{\n elementSections,\n isDragElementsDisabled,\n setIsSummaryPanelVisible,\n }}\n onSelect={handleAddElement}\n />\n )}\n </div>\n </div>\n <Button\n className=\"neeto-molecules-builder-elements-list-panel__toggler\"\n icon={Collapse}\n style=\"secondary\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n </div>\n </>\n );\n};\n\nElementsPanel.propTypes = {\n /**\n * List of supported elements to be rendered in the ElementsList panel.\n */\n elementSections: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n elements: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n icon: PropTypes.elementType,\n })\n ),\n key: PropTypes.string,\n isCreatable: PropTypes.func,\n disabledElementTooltip: PropTypes.func,\n })\n ),\n /**\n * List of selected elements.\n */\n selectedElements: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n isPending: PropTypes.bool,\n label: PropTypes.string,\n icon: PropTypes.elementType,\n })\n ),\n /**\n * Callback that will be triggered when an element is clicked from the elements list.\n */\n handleAddElement: PropTypes.func,\n /**\n * Function that will be used to check whether the element is visible.\n * The callback will be triggered with element info at the time of render.\n */\n isElementVisible: PropTypes.func,\n /**\n * The record that's to be rendered as first record.\n * This won't be draggable.\n */\n fixedFirstElement: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n label: PropTypes.string,\n icon: PropTypes.node,\n actions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n key: PropTypes.string,\n onClick: PropTypes.func,\n isVisible: PropTypes.bool,\n })\n ),\n PropTypes.func,\n ]),\n })\n ),\n PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n label: PropTypes.string,\n icon: PropTypes.node,\n actions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n key: PropTypes.string,\n onClick: PropTypes.func,\n isVisible: PropTypes.bool,\n })\n ),\n PropTypes.func,\n ]),\n }),\n ]),\n /**\n * The record that's to be rendered as the last record.\n * This won't be draggable.\n */\n fixedLastElement: PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n label: PropTypes.string,\n icon: PropTypes.node,\n }),\n /**\n * Boolean to mention that the drag and order selected elements feature should be disabled.\n */\n isReorderDisabled: PropTypes.bool,\n /**\n * Boolean to mention that the drag and drop elements to the preview container is enabled.\n */\n isDragElementsDisabled: PropTypes.bool,\n /**\n * The callback that will be triggered when an element is clicked from the elements list.\n */\n handleSelectElement: PropTypes.func,\n /**\n * Id of the current selected element.\n */\n selectedElementId: PropTypes.string,\n /**\n * Actions to be rendered on the selected elements.\n */\n selectedElementActions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n key: PropTypes.string,\n onClick: PropTypes.func,\n isVisible: PropTypes.bool,\n })\n ),\n PropTypes.func,\n ]),\n\n /**\n * Function that will be called when clicked on the add all elements button.\n */\n addAllElements: PropTypes.func,\n /**\n * Boolean to notate whether all elements are being added.\n */\n isAddingAllElements: PropTypes.bool,\n /**\n * Boolean to control the visibility of add all elements button.\n */\n showElementsFillButton: PropTypes.bool,\n /**\n * Boolean to notate whether an element is being added.\n */\n isAddingNewElement: PropTypes.bool,\n};\n\nexport default ElementsPanel;\n","import withT from \"neetocommons/react-utils/withT\";\nimport { Typography } from \"neetoui\";\n\nconst EmptyProperty = withT(({ t }) => (\n <div className=\"space-y-4 pb-6 pr-6\">\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-600 neeto-ui-rounded-lg flex w-full flex-col items-center justify-center space-y-2 px-16 py-8\">\n <Typography\n className=\"text-center\"\n data-cy=\"build-page-text-label\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.noQuestionProperties\")}\n </Typography>\n </div>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-40 w-full\" />\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-72 w-full\" />\n </div>\n));\n\nexport default EmptyProperty;\n","import withT from \"neetocommons/react-utils/withT\";\nimport { DownArrow } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nconst Skeleton = withT(({ t }) => (\n <div className=\"space-y-4 pb-6 pr-6\">\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-12 w-full\" />\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-600 neeto-ui-rounded-lg flex w-full flex-col items-center justify-center space-y-2 px-16 py-8\">\n <Typography\n className=\"text-center\"\n data-cy=\"build-page-text-label\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.emptyQuestionProperties\")}\n </Typography>\n <DownArrow />\n </div>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-40 w-full\" />\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-72 w-full\" />\n </div>\n));\n\nexport default Skeleton;\n","import { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport { Close } from \"neetoicons\";\nimport { Button } from \"neetoui\";\n\nimport EmptyProperty from \"./EmptyProperty\";\nimport Skeleton from \"./Skeleton\";\n\nimport \"../styles.scss\";\n\nconst PropertiesPanel = ({ id, children, onClose }) => {\n const { isSize } = useBreakpoints(window => ({\n largeDesktop: window.innerWidth >= 1280,\n }));\n const isLargerScreen = isSize(\"largeDesktop\");\n const [isPropertiesPanelCollapsed, setIsPropertiesPanelCollapsed] = useState(\n !isLargerScreen\n );\n\n useEffect(() => {\n setIsPropertiesPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n useEffect(() => {\n if (!id) return;\n setIsPropertiesPanelCollapsed(false);\n }, [id]);\n\n const handleCollapsePanel = () => {\n setIsPropertiesPanelCollapsed(!isPropertiesPanelCollapsed);\n onClose?.(id);\n };\n\n return (\n <>\n {!isPropertiesPanelCollapsed && (\n <div\n className=\"neeto-molecules-builder-panel__backdrop neeto-molecules-builder-panel__backdrop--extended\"\n onClick={handleCollapsePanel}\n />\n )}\n <div\n className={classnames(\n \"neeto-molecules-builder-element-properties-panel__wrapper\",\n {\n \"neeto-molecules-builder-element-properties-panel__wrapper--collapsed\":\n isPropertiesPanelCollapsed,\n }\n )}\n >\n <div\n className=\"neeto-molecules-builder-element-properties-panel neeto-ui-bg-white\"\n data-cy=\"properties-panel\"\n >\n {children ?? <Skeleton />}\n </div>\n {!isPropertiesPanelCollapsed && (\n <Button\n className=\"neeto-molecules-builder-properties-panel__close\"\n icon={Close}\n style=\"secondary\"\n onClick={handleCollapsePanel}\n />\n )}\n </div>\n </>\n );\n};\n\nPropertiesPanel.EmptyProperty = EmptyProperty;\n\nexport default PropertiesPanel;\n"],"names":["SELECTED_ELEMENTS_LIST_DROPPABLE_ID","PREVIEW_CONTAINER_DROPPABLE_ID","Body","_ref","size","props","_objectWithoutProperties","_excluded","_jsx","_objectSpread","className","classnames","DragIcon","_ref$size","otherProps","fill","height","viewBox","width","xmlns","children","d","Element","label","Icon","icon","_ref$isCreatable","isCreatable","onClick","_ref$isDragDisabled","isDragDisabled","disabledElementTooltip","isPlaceholder","Tooltip","content","disabled","position","touch","_jsxs","concat","joinHyphenCase","noop","Typography","style","ElementContainer","index","element","onSelect","value","_createElement","Draggable","draggableId","key","_ref2","_ref3","innerRef","draggableProps","dragHandleProps","isDragging","isDropAnimating","_Fragment","ref","opacity","transition","Section","title","elements","isDragElementsDisabled","sectionIndex","isEmpty","textTransform","map","elementIndex","TitleBar","withT","t","setIsSummaryPanelVisible","isSelectedElementsEmpty","lineHeight","weight","Button","ElementList","_ref$elementSections","elementSections","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","searchString","setSearchString","filteredSections","useMemo","section","filter","toLowerCase","includes","isPresent","isNotEmpty","Input","autoFocus","placeholder","prefix","Search","onChange","withEventTargetValue","SelectedElement","isActive","handleSelectElement","_ref$isSelectable","isSelectable","_ref$errors","errors","_ref$actions","actions","_ref$isDraggable","isDraggable","rootElementRef","useRef","shouldShowDropdown","menuItems","action","mergeRight","useEffect","rootElement","current","scrollIntoView","behavior","block","error","findById","id","hyphenate","MoreDropdown","isDisabled","isPending","dropdownButtonProps","loading","memo","isLoading","showElementsFillButton","isAddingAllElements","addAllElements","isAddingNewElement","PLURAL","Flash","tooltipProps","SelectedElementsList","isReorderDisabled","isElementVisible","selectedElementId","selectedElements","fixedLastElement","fixedFirstElement","selectedElementActions","renderSelectedElement","arguments","length","undefined","Array","isArray","Droppable","droppableId","droppableProps","_isElementVisible","_element$id","_element$id2","isVisible","_element$id3","ElementsPanel","_ref$selectedElements","handleAddElement","_ref$fixedFirstElemen","_ref$isReorderDisable","_ref$isDragElementsDi","_ref$addAllElements","_ref$isAddingAllEleme","_ref$showElementsFill","_ref$isAddingNewEleme","isSummaryPanelVisible","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState3","_useState4","isElementsPanelCollapsed","setIsElementsPanelCollapsed","event","stopPropagation","Collapse","EmptyProperty","Skeleton","DownArrow","PropertiesPanel","onClose","window","largeDesktop","innerWidth","isPropertiesPanelCollapsed","setIsPropertiesPanelCollapsed","handleCollapsePanel","Close"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAMA,mCAAmC,GAC9C,wCAAuC;AAElC,IAAMC,8BAA8B,GACzC;;;;;;;;ACAF,IAAMC,IAAI,GAAG,SAAPA,IAAIA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,IAAI,GAAAD,IAAA,CAAJC,IAAI;AAAKC,IAAAA,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,WAAA,CAAA,CAAA;AAAA,EAAA,oBAC5BC,GAAA,CAAAC,KAAAA,EAAAA,eAAA,CAAAA,eAAA,KACMJ,KAAK,CAAA,EAAA,EAAA,EAAA;AACTK,IAAAA,SAAS,EAAEC,UAAU,CACnB,sDAAsD,EACtD;MACE,6DAA6D,EAC3DP,IAAI,KAAK,OAAA;KAEf,CAAA;AAAE,GAAA,CACH,CAAC,CAAA;AAAA,CACH;;;;;ACfD,IAAMQ,QAAQ,GAAG,SAAXA,QAAQA,CAAAT,IAAA,EAAA;AAAA,EAAA,IAAAU,SAAA,GAAAV,IAAA,CAAMC,IAAI;AAAJA,IAAAA,IAAI,GAAAS,SAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,SAAA;AAAKC,IAAAA,UAAU,GAAAR,wBAAA,CAAAH,IAAA,EAAAI,WAAA,CAAA,CAAA;AAAA,EAAA,oBAC1CC,GAAA,CAAA,KAAA,EAAAC,eAAA,CAAAA,eAAA,CAAA;AACEM,IAAAA,IAAI,EAAC,cAAc;AACnBC,IAAAA,MAAM,EAAEZ,IAAK;AACba,IAAAA,OAAO,EAAC,gBAAgB;AACxBC,IAAAA,KAAK,EAAEd,IAAK;AACZe,IAAAA,KAAK,EAAC,4BAAA;AAA4B,GAAA,EAC9BL,UAAU,CAAA,EAAA,EAAA,EAAA;AAAAM,IAAAA,QAAA,eAEdZ,GAAA,CAAA,MAAA,EAAA;AAAMa,MAAAA,CAAC,EAAC,gmBAAA;KAAkmB,CAAA;AAAC,GAAA,CACxmB,CAAC,CAAA;AAAA,CACP;;ACJD,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAAnB,IAAA,EAAA;AAAA,EAAA,IACXoB,KAAK,GAAApB,IAAA,CAALoB,KAAK;IACCC,IAAI,GAAArB,IAAA,CAAVsB,IAAI;IAAAC,gBAAA,GAAAvB,IAAA,CACJwB,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,gBAAA;IAClBE,OAAO,GAAAzB,IAAA,CAAPyB,OAAO;IAAAC,mBAAA,GAAA1B,IAAA,CACP2B,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,mBAAA;IACtBE,sBAAsB,GAAA5B,IAAA,CAAtB4B,sBAAsB;IACtBC,aAAa,GAAA7B,IAAA,CAAb6B,aAAa,CAAA;EAAA,oBAEbxB,GAAA,CAACyB,OAAO,EAAA;IACNC,OAAO,EAAEH,sBAAsB,KAAtBA,IAAAA,IAAAA,sBAAsB,uBAAtBA,sBAAsB,CAAGR,KAAK,CAAE;AACzCY,IAAAA,QAAQ,EAAE,CAACJ,sBAAsB,IAAIJ,WAAY;AACjDS,IAAAA,QAAQ,EAAC,KAAK;AACdC,IAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAE;AAAAjB,IAAAA,QAAA,eAErBkB,IAAA,CAAA,KAAA,EAAA;AACE,MAAA,SAAA,EAAA,MAAA,CAAAC,MAAA,CAAgBC,cAAc,CAACjB,KAAK,CAAC,EAAW,UAAA,CAAA;AAChDb,MAAAA,SAAS,EAAEC,UAAU,CACnB,yLAAyL,EACzL;QACE,yCAAyC,EAAE,CAACgB,WAAW;AACvD,QAAA,gBAAgB,EAAEA,WAAW;AAC7B,QAAA,YAAY,EAAEK,aAAAA;AAChB,OACF,CAAE;AACFJ,MAAAA,OAAO,EAAED,WAAW,GAAGC,OAAO,GAAGa,IAAK;AAAArB,MAAAA,QAAA,EAErC,CAAA,CAACU,cAAc,iBACdtB,GAAA,CAAA,MAAA,EAAA;AAAME,QAAAA,SAAS,EAAC,wEAAwE;QAAAU,QAAA,eACtFZ,GAAA,CAACI,QAAQ,EAAA;AAACR,UAAAA,IAAI,EAAE,EAAA;SAAK,CAAA;OACjB,CACP,eACDkC,IAAA,CAAA,KAAA,EAAA;AAAK5B,QAAAA,SAAS,EAAC,mCAAmC;AAAAU,QAAAA,QAAA,EAC/CI,CAAAA,IAAI,iBAAIhB,GAAA,CAACgB,IAAI,EAAA;UAAC,SAAQ,EAAA,WAAA;AAAW,SAAE,CAAC,eACrChB,GAAA,CAACkC,UAAU,EAAA;AAAChC,UAAAA,SAAS,EAAC,WAAW;AAACiC,UAAAA,KAAK,EAAC,OAAO;AAAAvB,UAAAA,QAAA,EAC5CG,KAAAA;AAAK,SACI,CAAC,CAAA;AAAA,OACV,CAAC,CAAA;KACH,CAAA;AAAC,GACC,CAAC,CAAA;AAAA,CACX;;;;AC1CD,IAAMqB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAzC,IAAA,EAOhB;AAAA,EAAA,IANJ0C,KAAK,GAAA1C,IAAA,CAAL0C,KAAK;IACLf,cAAc,GAAA3B,IAAA,CAAd2B,cAAc;IACdgB,OAAO,GAAA3C,IAAA,CAAP2C,OAAO;IACPf,sBAAsB,GAAA5B,IAAA,CAAtB4B,sBAAsB;IACtBJ,WAAW,GAAAxB,IAAA,CAAXwB,WAAW;IACXoB,QAAQ,GAAA5C,IAAA,CAAR4C,QAAQ,CAAA;AAER,EAAA,IAAIjB,cAAc,EAAE;AAClB,IAAA,oBACEtB,GAAA,CAACc,OAAO,EAAAb,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACGqC,OAAO,CAAA,EAAA,EAAA,EAAA;AAAEf,MAAAA,sBAAsB,EAAtBA,sBAAsB;AAAED,MAAAA,cAAc,EAAdA,cAAAA;AAAc,KAAA,CAAA,CAAA,EAAA,EAAA,EAAA;AACxDH,MAAAA,WAAW,EAAEA,WAAW,CAACmB,OAAO,CAACE,KAAK,CAAE;MACxCpB,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAMmB,QAAQ,CAACD,OAAO,CAAC,CAAA;AAAA,OAAA;AAAC,KAAA,CAClC,CAAC,CAAA;AAEN,GAAA;EAEA,oBACEG,aAAA,CAACC,SAAS,EAAA;AACFL,IAAAA,KAAK,EAALA,KAAK;AAAEf,IAAAA,cAAc,EAAdA,cAAc;IAC3BqB,WAAW,EAAA,EAAA,CAAAZ,MAAA,CAAKO,OAAO,CAACE,KAAK,EAAAT,GAAAA,CAAAA,CAAAA,MAAA,CAAIM,KAAK,CAAG;IACzCO,GAAG,EAAEN,OAAO,CAACvB,KAAAA;GAEZ,EAAA,UAAA8B,KAAA,EAAAC,KAAA,EAAA;AAAA,IAAA,IACGC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;MAAEC,cAAc,GAAAH,KAAA,CAAdG,cAAc;MAAEC,eAAe,GAAAJ,KAAA,CAAfI,eAAe,CAAA;AAAA,IAAA,IACzCC,UAAU,GAAAJ,KAAA,CAAVI,UAAU;MAAEC,eAAe,GAAAL,KAAA,CAAfK,eAAe,CAAA;IAAA,oBAE7BrB,IAAA,CAAAsB,QAAA,EAAA;AAAAxC,MAAAA,QAAA,gBACEZ,GAAA,CAAA,KAAA,EAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA;AACEoD,QAAAA,GAAG,EAAEN,QAAAA;OACDC,EAAAA,cAAc,GACdC,eAAe,CAAA,EAAA,EAAA,EAAA;QACnBd,KAAK,EAAAlC,eAAA,CAAAA,eAAA,CAAA,EAAA,EACA+C,cAAc,CAACb,KAAK,CACnBgB,EAAAA,eAAe,IAAI;AACrBG,UAAAA,OAAO,EAAE,CAAC;AACVC,UAAAA,UAAU,EAAE,IAAA;AACd,SAAC,CACD;AAAA3C,QAAAA,QAAA,eAEFZ,GAAA,CAACc,OAAO,EAAAb,eAAA,CAAAA,eAAA,CAAAA,EAAAA,EAAAA,eAAA,CAAAA,eAAA,KAEDqC,OAAO,CAAA,EAAA,EAAA,EAAA;AACVf,UAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBD,UAAAA,cAAc,EAAdA,cAAAA;AAAc,SAAA,CAAA,CAAA,EAAA,EAAA,EAAA;AAEhBH,UAAAA,WAAW,EAAEA,WAAW,CAACmB,OAAO,CAACE,KAAK,CAAE;UACxCpB,OAAO,EAAE,SAAAA,OAAA,GAAA;YAAA,OAAMmB,QAAQ,CAACD,OAAO,CAAC,CAAA;AAAA,WAAA;SACjC,CAAA,CAAA;OACE,CAAA,CAAC,EACLY,UAAU,iBACTlD,GAAA,CAACc,OAAO,EAAAb,eAAA,CAAAA,eAAA,CAAA;AACNuB,QAAAA,aAAa,EAAE,CAAC2B,eAAAA;AAAgB,OAAA,EAAAlD,eAAA,CAAAA,eAAA,CAAA,EAAA,EACvBqC,OAAO,CAAA,EAAA,EAAA,EAAA;AAAEf,QAAAA,sBAAsB,EAAtBA,sBAAAA;AAAsB,OAAA,CAAA,CAAA,EAAA,EAAA,EAAA;AACxCJ,QAAAA,WAAW,EAAE,KAAM;AACnBC,QAAAA,OAAO,EAAEa,IAAAA;AAAK,OAAA,CACf,CACF,CAAA;AAAA,KACD,CAAC,CAAA;AAAA,GAEI,CAAC,CAAA;AAEhB,CAAC;;AC/DD,IAAMuB,OAAO,GAAG,SAAVA,OAAOA,CAAA7D,IAAA,EAQP;AAAA,EAAA,IAPJ8D,KAAK,GAAA9D,IAAA,CAAL8D,KAAK;IACLC,QAAQ,GAAA/D,IAAA,CAAR+D,QAAQ;IACRnB,QAAQ,GAAA5C,IAAA,CAAR4C,QAAQ;IACRpB,WAAW,GAAAxB,IAAA,CAAXwB,WAAW;IACXI,sBAAsB,GAAA5B,IAAA,CAAtB4B,sBAAsB;IACtBoC,sBAAsB,GAAAhE,IAAA,CAAtBgE,sBAAsB;IACtBC,YAAY,GAAAjE,IAAA,CAAZiE,YAAY,CAAA;AAEZ,EAAA,IAAIC,OAAO,CAACH,QAAQ,CAAC,EAAE;AACrB,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EAEA,oBACE5B,IAAA,CAAAsB,QAAA,EAAA;AAAAxC,IAAAA,QAAA,EACG6C,CAAAA,KAAK,iBACJzD,GAAA,CAACkC,UAAU,EAAA;AAAChC,MAAAA,SAAS,EAAC,MAAM;AAACiC,MAAAA,KAAK,EAAC,IAAI;AAAC2B,MAAAA,aAAa,EAAC,WAAW;AAAAlD,MAAAA,QAAA,EAC9D6C,KAAAA;KACS,CACb,EACAC,QAAQ,CAACK,GAAG,CAAC,UAACzB,OAAO,EAAE0B,YAAY,EAAK;AACvC,MAAA,IAAM3B,KAAK,GAAG2B,YAAY,GAAGJ,YAAY,CAAA;MAEzC,oBACEnB,aAAA,CAACL,gBAAgB,EAAA;AAEbb,QAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBe,QAAAA,OAAO,EAAPA,OAAO;AACPD,QAAAA,KAAK,EAALA,KAAK;AACLlB,QAAAA,WAAW,EAAXA,WAAW;AAEXoB,QAAAA,QAAQ,EAARA,QAAQ;AAEVjB,QAAAA,cAAc,EAAEqC,sBAAuB;QACvCf,GAAG,EAAEN,OAAO,CAACvB,KAAAA;AAAM,OACpB,CAAC,CAAA;AAEN,KAAC,CAAC,CAAA;AAAA,GACF,CAAC,CAAA;AAEP,CAAC;;AC1CD,IAAMkD,UAAQ,GAAGC,KAAK,CACpB,UAAAvE,IAAA,EAAA;AAAA,EAAA,IAAGwE,CAAC,GAAAxE,IAAA,CAADwE,CAAC;IAAEC,wBAAwB,GAAAzE,IAAA,CAAxByE,wBAAwB;IAAEC,uBAAuB,GAAA1E,IAAA,CAAvB0E,uBAAuB,CAAA;AAAA,EAAA,oBACrDvC,IAAA,CAAA,KAAA,EAAA;AACE5B,IAAAA,SAAS,EAAC,4CAA4C;AACtD,IAAA,aAAA,EAAY,sBAAsB;IAAAU,QAAA,EAAA,cAElCZ,GAAA,CAACkC,UAAU,EAAA;AACT,MAAA,SAAA,EAAQ,qBAAqB;AAC7BoC,MAAAA,UAAU,EAAC,QAAQ;AACnBnC,MAAAA,KAAK,EAAC,IAAI;AACVoC,MAAAA,MAAM,EAAC,UAAU;MAAA3D,QAAA,EAEhBuD,CAAC,CAAC,6CAA6C,CAAA;AAAC,KACvC,CAAC,EACZ,CAACE,uBAAuB,iBACvBrE,GAAA,CAACwE,MAAM,EAAA;AACL,MAAA,SAAA,EAAQ,eAAe;AACvBzD,MAAAA,KAAK,EAAEoD,CAAC,CAAC,uCAAuC,CAAE;AAClDvE,MAAAA,IAAI,EAAC,OAAO;AACZuC,MAAAA,KAAK,EAAC,MAAM;MACZf,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAMgD,wBAAwB,CAAC,IAAI,CAAC,CAAA;AAAA,OAAA;AAAC,KAC/C,CACF,CAAA;AAAA,GACE,CAAC,CAAA;AAAA,CAEV,CAAC;;;;ACfD,IAAMK,WAAW,GAAG,SAAdA,WAAWA,CAAA9E,IAAA,EAMX;AAAA,EAAA,IALJyE,wBAAwB,GAAAzE,IAAA,CAAxByE,wBAAwB;IAAAM,oBAAA,GAAA/E,IAAA,CACxBgF,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,oBAAA;IACpBnC,QAAQ,GAAA5C,IAAA,CAAR4C,QAAQ;IACR8B,uBAAuB,GAAA1E,IAAA,CAAvB0E,uBAAuB;IACvBV,sBAAsB,GAAAhE,IAAA,CAAtBgE,sBAAsB,CAAA;AAEtB,EAAA,IAAAiB,eAAA,GAAcC,cAAc,EAAE;IAAtBV,CAAC,GAAAS,eAAA,CAADT,CAAC,CAAA;AACT,EAAA,IAAAW,SAAA,GAAwCC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA7CI,IAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,eAAe,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;EAEpC,IAAMI,gBAAgB,GAAGC,OAAO,CAC9B,YAAA;AAAA,IAAA,OACEV,eAAe,CACZZ,GAAG,CAAC,UAAAuB,OAAO,EAAA;AAAA,MAAA,OAAArF,eAAA,CAAAA,eAAA,CAAA,EAAA,EACPqF,OAAO,CAAA,EAAA,EAAA,EAAA;QACV5B,QAAQ,EAAE4B,OAAO,CAAC5B,QAAQ,CAAC6B,MAAM,CAAC,UAAAjD,OAAO,EAAA;AAAA,UAAA,OACvCA,OAAO,CAACvB,KAAK,CAACyE,WAAW,EAAE,CAACC,QAAQ,CAACP,YAAY,CAACM,WAAW,EAAE,CAAC,CAAA;SAClE,CAAA;AAAC,OAAA,CAAA,CAAA;AAAA,KACD,CAAC,CACFD,MAAM,CAAC,UAAAD,OAAO,EAAA;AAAA,MAAA,OACbI,SAAS,CAACR,YAAY,CAAC,GAAGS,UAAU,CAACL,OAAO,CAAC5B,QAAQ,CAAC,GAAG,IAAI,CAAA;AAAA,KAC/D,CAAC,CAAA;AAAA,GAAA,EACL,CAACwB,YAAY,EAAEP,eAAe,CAChC,CAAC,CAAA;EAED,oBACE7C,IAAA,CAAAsB,QAAA,EAAA;IAAAxC,QAAA,EAAA,cACEZ,GAAA,CAACiE,UAAQ,EAAA;AAAOI,MAAAA,uBAAuB,EAAvBA,uBAAuB;AAAED,MAAAA,wBAAwB,EAAxBA,wBAAAA;KAA6B,CAAC,eACvEpE,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,WAAW;MAAAU,QAAA,eACxBZ,GAAA,CAAC4F,KAAK,EAAA;QACJC,SAAS,EAAA,IAAA;AACT,QAAA,aAAA,EAAY,6BAA6B;AACzCC,QAAAA,WAAW,EAAE3B,CAAC,CAAC,8CAA8C,CAAE;AAC/D4B,QAAAA,MAAM,eAAE/F,GAAA,CAACgG,MAAM,IAAE,CAAE;AACnBxD,QAAAA,KAAK,EAAE0C,YAAa;QACpBe,QAAQ,EAAEC,oBAAoB,CAACf,eAAe,CAAA;OAC/C,CAAA;AAAC,KACC,CAAC,eACNnF,GAAA,CAACN,IAAI,EAAA;AAAC,MAAA,aAAA,EAAY,oBAAoB;AAACE,MAAAA,IAAI,EAAC,OAAO;MAAAgB,QAAA,EAChDwE,gBAAgB,CAACrB,GAAG,CAAC,UAACuB,OAAO,EAAE1B,YAAY,EAAA;QAAA,oBAC1CnB,aAAA,CAACe,OAAO,EAAA;AACAG,UAAAA,sBAAsB,EAAtBA,sBAAsB;AAAEpB,UAAAA,QAAQ,EAARA,QAAQ;AAAEqB,UAAAA,YAAY,EAAZA,YAAY;UACpDrC,sBAAsB,EAAE+D,OAAO,CAAC/D,sBAAuB;UACvDmC,QAAQ,EAAE4B,OAAO,CAAC5B,QAAS;UAC3BvC,WAAW,EAAEmE,OAAO,CAACnE,WAAY;UACjCyB,GAAG,EAAE0C,OAAO,CAAC1C,GAAI;UACjBa,KAAK,EAAE6B,OAAO,CAAC7B,KAAAA;AAAM,SACtB,CAAC,CAAA;OACH,CAAA;AAAC,KACE,CAAC,CAAA;AAAA,GACP,CAAC,CAAA;AAEP,CAAC;;;ACtDD,IAAM0C,eAAe,GAAG,SAAlBA,eAAeA,CAAAxG,IAAA,EASf;AAAA,EAAA,IARJ2C,OAAO,GAAA3C,IAAA,CAAP2C,OAAO;IACP8D,QAAQ,GAAAzG,IAAA,CAARyG,QAAQ;IACRC,mBAAmB,GAAA1G,IAAA,CAAnB0G,mBAAmB;IAAAC,iBAAA,GAAA3G,IAAA,CACnB4G,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,iBAAA;IAAAE,WAAA,GAAA7G,IAAA,CACnB8G,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,WAAA;IAAAE,YAAA,GAAA/G,IAAA,CACXgH,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA;IAAAE,gBAAA,GAAAjH,IAAA,CACZkH,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,gBAAA;AAChB/G,IAAAA,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA,CAAA,CAAA;AAER,EAAA,IAAMiB,IAAI,GAAGsB,OAAO,CAACrB,IAAI,CAAA;AACzB,EAAA,IAAM6F,cAAc,GAAGC,MAAM,EAAE,CAAA;AAE/B,EAAA,IAAM3F,OAAO,GAAG,SAAVA,OAAOA,GAAA;IAAA,OAASiF,mBAAmB,CAAC/D,OAAO,CAAC,CAAA;AAAA,GAAA,CAAA;AAElD,EAAA,IAAM0E,kBAAkB,GAAGrB,UAAU,CAACgB,OAAO,CAAC,CAAA;AAE9C,EAAA,IAAMM,SAAS,GACb,OAAON,OAAO,KAAK,UAAU,GACzBA,OAAO,CAACrE,OAAO,CAAC,GAChBqE,OAAO,CAAC5C,GAAG,CAAC,UAAAmD,MAAM,EAAA;IAAA,OAChBC,UAAU,CAACD,MAAM,EAAE;MACjB9F,OAAO,EAAE,SAAAA,OAAAA,GAAM;AACb8F,QAAAA,MAAM,CAAC9F,OAAO,CAACkB,OAAO,CAAC,CAAA;AACzB,OAAA;AACF,KAAC,CAAC,CAAA;AAAA,GACJ,CAAC,CAAA;AAEP8E,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAMC,WAAW,GAAGP,cAAc,CAACQ,OAAO,CAAA;AAE1C,IAAA,IACE,CAACD,WAAW,IACZ,CAACjB,QAAQ,IACT,QAAOiB,WAAW,KAAXA,IAAAA,IAAAA,WAAW,uBAAXA,WAAW,CAAEE,cAAc,CAAA,KAAK,UAAU,EACjD;AACA,MAAA,OAAA;AACF,KAAA;IACAF,WAAW,CAACE,cAAc,CAAC;AAAEC,MAAAA,QAAQ,EAAE,QAAQ;AAAEC,MAAAA,KAAK,EAAE,SAAA;AAAU,KAAC,CAAC,CAAA;AACtE,GAAC,EAAE,CAACrB,QAAQ,EAAEU,cAAc,CAAC,CAAC,CAAA;EAE9B,IAAMY,KAAK,GAAGC,QAAQ,CAACrF,OAAO,CAACsF,EAAE,EAAEnB,MAAM,CAAC,CAAA;AAE1C,EAAA,oBACE3E,IAAA,CAAA,KAAA,EAAA;IACE,aAAajC,EAAAA,KAAK,CAAC,aAAa,CAAE;AAClCwD,IAAAA,GAAG,EAAEyD,cAAe;AACpB5G,IAAAA,SAAS,EAAEC,UAAU,CACnB,mNAAmN,EACnN;AAAE,MAAA,yCAAyC,EAAEiG,QAAAA;AAAS,KAAC,EACvD;AAAE,MAAA,mDAAmD,EAAEsB,KAAAA;AAAM,KAC/D,CAAE;AACFtG,IAAAA,OAAO,EAAEmF,YAAY,GAAGnF,OAAO,GAAGa,IAAK;IAAArB,QAAA,EAAA,CAEtCiG,WAAW,iBACV7G,GAAA,CAAA,MAAA,EAAA;AAAME,MAAAA,SAAS,EAAC,wEAAwE;MAAAU,QAAA,eACtFZ,GAAA,CAACI,QAAQ,EAAA;AAACR,QAAAA,IAAI,EAAE,EAAA;OAAK,CAAA;KACjB,CACP,eACDkC,IAAA,CAAA,KAAA,EAAA;AACE5B,MAAAA,SAAS,EAAC,mDAAmD;AAC7D,MAAA,SAAA,EAAQ,mBAAmB;MAAAU,QAAA,EAAA,CAE1BI,IAAI,iBACHhB,GAAA,CAAA,KAAA,EAAA;AAAKE,QAAAA,SAAS,EAAC,eAAe;AAAAU,QAAAA,QAAA,eAC5BZ,GAAA,CAACgB,IAAI,EAAE,EAAA,CAAA;AAAC,OACL,CACN,eACDhB,GAAA,CAACkC,UAAU,EAAA;AACThC,QAAAA,SAAS,EAAC,uBAAuB;QACjC,SAAA6B,EAAAA,EAAAA,CAAAA,MAAA,CAAY8F,SAAS,CAACvF,OAAO,CAACvB,KAAK,EAAE,aAAa,CAAC,EAAS,QAAA,CAAA;AAC5DoB,QAAAA,KAAK,EAAC,OAAO;QAAAvB,QAAA,EAEZ0B,OAAO,CAACvB,KAAAA;AAAK,OACJ,CAAC,CAAA;AAAA,KACV,CAAC,EACLiG,kBAAkB,iBACjBhH,GAAA,CAAC8H,YAAY,EAAA;AACLb,MAAAA,SAAS,EAATA,SAAS;MACfc,UAAU,EAAEzF,OAAO,CAAC0F,SAAU;AAC9BC,MAAAA,mBAAmB,EAAE;AACnB/H,QAAAA,SAAS,EAAE,uBAAuB;QAClC,aAAa,EAAA,EAAA,CAAA6B,MAAA,CAAK8F,SAAS,CAACvF,OAAO,CAACvB,KAAK,CAAC,EAAgB,gBAAA,CAAA;QAC1D,SAAS,EAAA,EAAA,CAAAgB,MAAA,CAAK8F,SAAS,CACrBvF,OAAO,CAACvB,KAAK,EACb,aACF,CAAC,EAAgB,gBAAA,CAAA;QACjBmH,OAAO,EAAE5F,OAAO,CAAC0F,SAAAA;AACnB,OAAA;AAAE,KACH,CACF,CAAA;AAAA,GACE,CAAC,CAAA;AAEV,CAAC,CAAA;AAED,wBAAeG,aAAAA,IAAI,CAAChC,eAAe,CAAC;;ACrGpC,IAAMlC,QAAQ,GAAGC,KAAK,CACpB,UAAAvE,IAAA,EAAA;AAAA,EAAA,IACEwE,CAAC,GAAAxE,IAAA,CAADwE,CAAC;IACDC,wBAAwB,GAAAzE,IAAA,CAAxByE,wBAAwB;IACxBgE,SAAS,GAAAzI,IAAA,CAATyI,SAAS;IACTC,sBAAsB,GAAA1I,IAAA,CAAtB0I,sBAAsB;IACtBC,mBAAmB,GAAA3I,IAAA,CAAnB2I,mBAAmB;IACnBC,cAAc,GAAA5I,IAAA,CAAd4I,cAAc;IACdC,kBAAkB,GAAA7I,IAAA,CAAlB6I,kBAAkB,CAAA;AAAA,EAAA,oBAElB1G,IAAA,CAAA,KAAA,EAAA;AACE5B,IAAAA,SAAS,EAAC,4CAA4C;AACtD,IAAA,aAAA,EAAY,yBAAyB;IAAAU,QAAA,EAAA,cAErCZ,GAAA,CAACkC,UAAU,EAAA;AACT,MAAA,SAAA,EAAQ,gBAAgB;AACxBoC,MAAAA,UAAU,EAAC,QAAQ;AACnBnC,MAAAA,KAAK,EAAC,IAAI;AACVoC,MAAAA,MAAM,EAAC,UAAU;AAAA3D,MAAAA,QAAA,EAEhBuD,CAAC,CAAC,uCAAuC,EAAEsE,MAAM,CAAA;KACxC,CAAC,eACb3G,IAAA,CAAA,KAAA,EAAA;AAAK5B,MAAAA,SAAS,EAAC,6CAA6C;MAAAU,QAAA,EAAA,cAC1DZ,GAAA,CAACwE,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,oBAAoB;AAC5B,QAAA,aAAA,EAAY,oBAAoB;AAChC7C,QAAAA,QAAQ,EAAEyG,SAAU;AACpBrH,QAAAA,KAAK,EAAEoD,CAAC,CAAC,qCAAqC,CAAE;AAChD+D,QAAAA,OAAO,EAAEM,kBAAmB;AAC5B5I,QAAAA,IAAI,EAAC,OAAO;AACZuC,QAAAA,KAAK,EAAC,WAAW;QACjBf,OAAO,EAAE,SAAAA,OAAA,GAAA;UAAA,OAAMgD,wBAAwB,CAAC,KAAK,CAAC,CAAA;AAAA,SAAA;AAAC,OAChD,CAAC,EACDiE,sBAAsB,iBACrBrI,GAAA,CAACwE,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,yBAAyB;AACjC7C,QAAAA,QAAQ,EAAE2G,mBAAoB;AAC9BrH,QAAAA,IAAI,EAAEyH,KAAM;AACZR,QAAAA,OAAO,EAAEI,mBAAoB;AAC7B1I,QAAAA,IAAI,EAAC,OAAO;AACZuC,QAAAA,KAAK,EAAC,WAAW;AACjBwG,QAAAA,YAAY,EAAE;AACZjH,UAAAA,OAAO,EAAEyC,CAAC,CAAC,8CAA8C,CAAC;AAC1DtC,UAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAA;SACnB;AACFT,QAAAA,OAAO,EAAEmH,cAAAA;AAAe,OACzB,CACF,CAAA;AAAA,KACE,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAAA,CAEV,CAAC;;;;AC7CD,IAAMK,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAjJ,IAAA,EAcpB;AAAA,EAAA,IAbJ0G,mBAAmB,GAAA1G,IAAA,CAAnB0G,mBAAmB;IACnBwC,iBAAiB,GAAAlJ,IAAA,CAAjBkJ,iBAAiB;IACjBC,gBAAgB,GAAAnJ,IAAA,CAAhBmJ,gBAAgB;IAChBC,iBAAiB,GAAApJ,IAAA,CAAjBoJ,iBAAiB;IACjBC,gBAAgB,GAAArJ,IAAA,CAAhBqJ,gBAAgB;IAChB5E,wBAAwB,GAAAzE,IAAA,CAAxByE,wBAAwB;IACxB6E,gBAAgB,GAAAtJ,IAAA,CAAhBsJ,gBAAgB;IAChBC,iBAAiB,GAAAvJ,IAAA,CAAjBuJ,iBAAiB;IACjBC,sBAAsB,GAAAxJ,IAAA,CAAtBwJ,sBAAsB;IACtBZ,cAAc,GAAA5I,IAAA,CAAd4I,cAAc;IACdD,mBAAmB,GAAA3I,IAAA,CAAnB2I,mBAAmB;IACnBD,sBAAsB,GAAA1I,IAAA,CAAtB0I,sBAAsB;IACtBG,kBAAkB,GAAA7I,IAAA,CAAlB6I,kBAAkB,CAAA;AAElB,EAAA,IAAMY,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAI9G,OAAO,EAAA;AAAA,IAAA,IAAED,KAAK,GAAAgH,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC,CAAA;IAAA,oBAC/C5G,aAAA,CAAC0D,iBAAe,EAAA;AACR7D,MAAAA,OAAO,EAAPA,OAAO;AAAE+D,MAAAA,mBAAmB,EAAnBA,mBAAmB;AAAEhE,MAAAA,KAAK,EAALA,KAAK;MACzCkE,YAAY,EAAA,IAAA;MACZI,OAAO,EAAErE,OAAO,CAACqE,OAAQ;AACzBP,MAAAA,QAAQ,EAAE2C,iBAAiB,KAAKzG,OAAO,CAACsF,EAAG;AAC3ChF,MAAAA,GAAG,EAAEN,OAAO,CAACsF,EAAE,IAAIvF,KAAM;AACzB,MAAA,SAAA,EAAA,iBAAA,CAAAN,MAAA,CACEyH,KAAK,CAACC,OAAO,CAACP,iBAAiB,CAAC,GAAAnH,GAAAA,CAAAA,MAAA,CAAOM,KAAK,GAAG,CAAC,CAAA,GAAK,EAAE,CACtD;AACH,MAAA,aAAA,EAAA,gBAAA,CAAAN,MAAA,CACEyH,KAAK,CAACC,OAAO,CAACP,iBAAiB,CAAC,GAAA,GAAA,CAAAnH,MAAA,CAAOM,KAAK,GAAG,CAAC,IAAK,EAAE,CAAA;AACtD,KACJ,CAAC,CAAA;GACH,CAAA;EAED,oBACEP,IAAA,CAAAsB,QAAA,EAAA;IAAAxC,QAAA,EAAA,cACEZ,GAAA,CAACiE,QAAQ,EAAA;AAELsE,MAAAA,cAAc,EAAdA,cAAc;AACdD,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBE,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBpE,MAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBiE,MAAAA,sBAAsB,EAAtBA,sBAAAA;AAAsB,KAEzB,CAAC,eACFvG,IAAA,CAACpC,IAAI,EAAA;AAAC,MAAA,aAAA,EAAY,6BAA6B;AAAAkB,MAAAA,QAAA,EAC5C4I,CAAAA,KAAK,CAACC,OAAO,CAACP,iBAAiB,CAAC,GAC7BvD,UAAU,CAACuD,iBAAiB,CAAC,IAC7BA,iBAAiB,CAACnF,GAAG,CAACqF,qBAAqB,CAAC,GAC5C1D,SAAS,CAACwD,iBAAiB,CAAC,IAC5BE,qBAAqB,CAACF,iBAAiB,CAAC,eAC5ClJ,GAAA,CAAC0J,SAAS,EAAA;AAACC,QAAAA,WAAW,EAAEnK,mCAAoC;QAAAoB,QAAA,EACzD,SAAAA,QAAAA,CAAAiC,KAAA,EAAA;AAAA,UAAA,IAAGE,QAAQ,GAAAF,KAAA,CAARE,QAAQ;YAAE6G,cAAc,GAAA/G,KAAA,CAAd+G,cAAc;YAAE9D,WAAW,GAAAjD,KAAA,CAAXiD,WAAW,CAAA;AAAA,UAAA,oBACvChE,IAAA,CAAA,KAAA,EAAA7B,aAAA,CAAAA,aAAA,CAAA;AACEoD,YAAAA,GAAG,EAAEN,QAAAA;AAAS,WAAA,EACV6G,cAAc,CAAA,EAAA,EAAA,EAAA;AAClB,YAAA,aAAA,EAAY,uCAAuC;AAAAhJ,YAAAA,QAAA,EAElDoI,CAAAA,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAgB,CAAEjF,GAAG,CAAC,UAACzB,OAAO,EAAED,KAAK,EAAK;AAAA,cAAA,IAAAwH,iBAAA,EAAAC,WAAA,EAAAC,YAAA,CAAA;AACzC,cAAA,IAAMC,SAAS,GAAAH,CAAAA,iBAAA,GAAGf,gBAAgB,aAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAGxG,OAAO,CAAC,MAAA,IAAA,IAAAuH,iBAAA,KAAAA,KAAAA,CAAAA,GAAAA,iBAAA,GAAI,IAAI,CAAA;AAErD,cAAA,IAAI,CAACG,SAAS,EAAE,OAAO,IAAI,CAAA;cAE3B,IAAMpH,GAAG,IAAAkH,WAAA,GACPxH,OAAO,CAACsF,EAAE,cAAAkC,WAAA,KAAA,KAAA,CAAA,GAAAA,WAAA,GAAA/H,UAAAA,CAAAA,MAAA,CAAeC,cAAc,CAACM,OAAO,CAACvB,KAAK,CAAC,CAAE,CAAA;cAE1D,oBACE0B,aAAA,CAACC,SAAS,EAAA;AACFL,gBAAAA,KAAK,EAALA,KAAK;AACXM,gBAAAA,WAAW,EAAAoH,CAAAA,YAAA,GAAEzH,OAAO,CAACsF,EAAE,MAAA,IAAA,IAAAmC,YAAA,KAAA,KAAA,CAAA,GAAAA,YAAA,GAAA,UAAA,CAAAhI,MAAA,CAAeM,KAAK,CAAG;AAC9Cf,gBAAAA,cAAc,EAAEuH,iBAAkB;AAClCjG,gBAAAA,GAAG,EAAEA,GAAAA;AAAI,eAAA,EAER,UAAAE,KAAA,EAAA;AAAA,gBAAA,IAAAmH,YAAA,CAAA;AAAA,gBAAA,IAAGlH,QAAQ,GAAAD,KAAA,CAARC,QAAQ;kBAAEC,cAAc,GAAAF,KAAA,CAAdE,cAAc;kBAAEC,eAAe,GAAAH,KAAA,CAAfG,eAAe,CAAA;AAAA,gBAAA,oBAC3CjD,GAAA,CAAAC,KAAAA,EAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AACEoD,kBAAAA,GAAG,EAAEN,QAAAA;iBACDC,EAAAA,cAAc,GACdC,eAAe,CAAA,EAAA,EAAA,EAAA;kBAAArC,QAAA,eAEnB6B,aAAA,CAAC0D,iBAAe,EAAA;AACR7D,oBAAAA,OAAO,EAAPA,OAAO;AAAE+D,oBAAAA,mBAAmB,EAAnBA,mBAAmB;oBAClCE,YAAY,EAAA,IAAA;AACZI,oBAAAA,OAAO,EAAEwC,sBAAuB;AAChC/C,oBAAAA,QAAQ,EAAE2C,iBAAiB,KAAKzG,OAAO,CAACsF,EAAG;oBAC3Cf,WAAW,EAAE,CAACgC,iBAAkB;oBAChCjG,GAAG,EAAA,CAAAqH,YAAA,GAAE3H,OAAO,CAACsF,EAAE,MAAAqC,IAAAA,IAAAA,YAAA,KAAAA,KAAAA,CAAAA,GAAAA,YAAA,GAAI5H,KAAAA;mBACpB,CAAA;AAAC,iBAAA,CACC,CAAC,CAAA;AAAA,eAEC,CAAC,CAAA;aAEf,CAAC,EACDyD,WAAW,CAAA;AAAA,WAAA,CACT,CAAC,CAAA;AAAA,SAAA;OAEC,CAAC,EACXJ,SAAS,CAACuD,gBAAgB,CAAC,iBAC1BjJ,GAAA,CAACmG,iBAAe,EAAA;AACRE,QAAAA,mBAAmB,EAAnBA,mBAAmB;QACzBE,YAAY,EAAA,IAAA;QACZI,OAAO,EAAEsC,gBAAgB,CAACtC,OAAQ;AAClC,QAAA,SAAA,EAAQ,uBAAuB;AAC/B,QAAA,aAAA,EAAY,sBAAsB;AAClCrE,QAAAA,OAAO,EAAE2G,gBAAiB;AAC1B7C,QAAAA,QAAQ,EAAE2C,iBAAiB,KAAKE,gBAAgB,CAACrB,EAAAA;AAAG,OACrD,CACF,CAAA;AAAA,KACG,CAAC,CAAA;AAAA,GACP,CAAC,CAAA;AAEP,CAAC;;ACxGD,IAAMsC,aAAa,GAAG,SAAhBA,aAAaA,CAAAvK,IAAA,EAgBb;AAAA,EAAA,IAfJgF,eAAe,GAAAhF,IAAA,CAAfgF,eAAe;IAAAwF,qBAAA,GAAAxK,IAAA,CACfqJ,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAmB,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IACrBC,gBAAgB,GAAAzK,IAAA,CAAhByK,gBAAgB;IAChBtB,gBAAgB,GAAAnJ,IAAA,CAAhBmJ,gBAAgB;IAAAuB,qBAAA,GAAA1K,IAAA,CAChBuJ,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAmB,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IACtBpB,gBAAgB,GAAAtJ,IAAA,CAAhBsJ,gBAAgB;IAAAqB,qBAAA,GAAA3K,IAAA,CAChBkJ,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAyB,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IAAAC,qBAAA,GAAA5K,IAAA,CACxBgE,sBAAsB;AAAtBA,IAAAA,sBAAsB,GAAA4G,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IAC7BlE,mBAAmB,GAAA1G,IAAA,CAAnB0G,mBAAmB;IACnB0C,iBAAiB,GAAApJ,IAAA,CAAjBoJ,iBAAiB;IACjBI,sBAAsB,GAAAxJ,IAAA,CAAtBwJ,sBAAsB;IAAAqB,mBAAA,GAAA7K,IAAA,CACtB4I,cAAc;AAAdA,IAAAA,cAAc,GAAAiC,mBAAA,KAAGvI,KAAAA,CAAAA,GAAAA,IAAI,GAAAuI,mBAAA;IAAAC,qBAAA,GAAA9K,IAAA,CACrB2I,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAmC,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAC,qBAAA,GAAA/K,IAAA,CAC3B0I,sBAAsB;AAAtBA,IAAAA,sBAAsB,GAAAqC,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAC,qBAAA,GAAAhL,IAAA,CAC9B6I,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAmC,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA,CAAA;AAE1B,EAAA,IAAA7F,SAAA,GAA0DC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlE8F,IAAAA,qBAAqB,GAAA5F,UAAA,CAAA,CAAA,CAAA;AAAEZ,IAAAA,wBAAwB,GAAAY,UAAA,CAAA,CAAA,CAAA,CAAA;AACtD,EAAA,IAAA6F,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM,CAAA;AACd,EAAA,IAAMC,cAAc,GAAG,CAACD,MAAM,CAAC,QAAQ,CAAC,CAAA;AAExC,EAAA,IAAAE,UAAA,GAAgElG,QAAQ,CACtE,CAACiG,cACH,CAAC;IAAAE,UAAA,GAAAjG,cAAA,CAAAgG,UAAA,EAAA,CAAA,CAAA;AAFME,IAAAA,wBAAwB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,2BAA2B,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAI5D9D,EAAAA,SAAS,CAAC,YAAM;IACdgE,2BAA2B,CAAC,CAACJ,cAAc,CAAC,CAAA;AAC9C,GAAC,EAAE,CAACA,cAAc,CAAC,CAAC,CAAA;EAEpB,oBACElJ,IAAA,CAAAsB,QAAA,EAAA;AAAAxC,IAAAA,QAAA,EACG,CAAA,CAACuK,wBAAwB,iBACxBnL,GAAA,CAAA,KAAA,EAAA;AACEE,MAAAA,SAAS,EAAC,yCAAyC;MACnDkB,OAAO,EAAE,SAAAA,OAAAA,GAAM;QACbgK,2BAA2B,CAAC,CAACD,wBAAwB,CAAC,CAAA;AACxD,OAAA;KACD,CACF,eACDrJ,IAAA,CAAA,KAAA,EAAA;AACE5B,MAAAA,SAAS,EAAEC,UAAU,CACnB,sDAAsD,EACtD;AACE,QAAA,iEAAiE,EAC/DgL,wBAAAA;AACJ,OACF,CAAE;AAAAvK,MAAAA,QAAA,gBAEFZ,GAAA,CAAA,KAAA,EAAA;AAAKE,QAAAA,SAAS,EAAC,wDAAwD;AAAAU,QAAAA,QAAA,eACrEZ,GAAA,CAAA,KAAA,EAAA;AACEE,UAAAA,SAAS,EAAC,+DAA+D;UACzEkB,OAAO,EAAE,SAAAA,OAAAA,CAAAiK,KAAK,EAAA;AAAA,YAAA,OAAIA,KAAK,CAACC,eAAe,EAAE,CAAA;WAAC;AAAA1K,UAAAA,QAAA,EAEzCgK,qBAAqB,gBACpB5K,GAAA,CAAC4I,oBAAoB,EAAA;AAEjBL,YAAAA,cAAc,EAAdA,cAAc;AACdW,YAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBD,YAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB5C,YAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBiC,YAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBE,YAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBM,YAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBD,YAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBM,YAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBJ,YAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,YAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB5E,YAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBiE,YAAAA,sBAAsB,EAAtBA,sBAAAA;AAAsB,WAEzB,CAAC,gBAEFrI,GAAA,CAACyE,WAAW,EAAA;AAERE,YAAAA,eAAe,EAAfA,eAAe;AACfhB,YAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBS,YAAAA,wBAAwB,EAAxBA,wBAAwB;AAE1B7B,YAAAA,QAAQ,EAAE6H,gBAAAA;WACX,CAAA;SAEA,CAAA;AAAC,OACH,CAAC,eACNpK,GAAA,CAACwE,MAAM,EAAA;AACLtE,QAAAA,SAAS,EAAC,sDAAsD;AAChEe,QAAAA,IAAI,EAAEsK,QAAS;AACfpJ,QAAAA,KAAK,EAAC,WAAW;QACjBf,OAAO,EAAE,SAAAA,OAAAA,GAAM;UACbgK,2BAA2B,CAAC,CAACD,wBAAwB,CAAC,CAAA;AACxD,SAAA;AAAE,OACH,CAAC,CAAA;AAAA,KACC,CAAC,CAAA;AAAA,GACN,CAAC,CAAA;AAEP;;ACzGA,IAAMK,aAAa,GAAGtH,OAAK,CAAC,UAAAvE,IAAA,EAAA;AAAA,EAAA,IAAGwE,CAAC,GAAAxE,IAAA,CAADwE,CAAC,CAAA;AAAA,EAAA,oBAC9BrC,IAAA,CAAA,KAAA,EAAA;AAAK5B,IAAAA,SAAS,EAAC,qBAAqB;AAAAU,IAAAA,QAAA,gBAClCZ,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,uIAAuI;MAAAU,QAAA,eACpJZ,GAAA,CAACkC,UAAU,EAAA;AACThC,QAAAA,SAAS,EAAC,aAAa;AACvB,QAAA,SAAA,EAAQ,uBAAuB;AAC/BoE,QAAAA,UAAU,EAAC,QAAQ;AACnBnC,QAAAA,KAAK,EAAC,OAAO;QAAAvB,QAAA,EAEZuD,CAAC,CAAC,oDAAoD,CAAA;OAC7C,CAAA;KACT,CAAC,eACNnE,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,sDAAA;KAAwD,CAAC,eACxEF,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,sDAAA;AAAsD,KAAE,CAAC,CAAA;AAAA,GACrE,CAAC,CAAA;AAAA,CACP,CAAC;;ACdF,IAAMuL,QAAQ,GAAGvH,OAAK,CAAC,UAAAvE,IAAA,EAAA;AAAA,EAAA,IAAGwE,CAAC,GAAAxE,IAAA,CAADwE,CAAC,CAAA;AAAA,EAAA,oBACzBrC,IAAA,CAAA,KAAA,EAAA;AAAK5B,IAAAA,SAAS,EAAC,qBAAqB;AAAAU,IAAAA,QAAA,gBAClCZ,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,sDAAA;KAAwD,CAAC,eACxE4B,IAAA,CAAA,KAAA,EAAA;AAAK5B,MAAAA,SAAS,EAAC,uIAAuI;MAAAU,QAAA,EAAA,cACpJZ,GAAA,CAACkC,UAAU,EAAA;AACThC,QAAAA,SAAS,EAAC,aAAa;AACvB,QAAA,SAAA,EAAQ,uBAAuB;AAC/BoE,QAAAA,UAAU,EAAC,QAAQ;AACnBnC,QAAAA,KAAK,EAAC,OAAO;QAAAvB,QAAA,EAEZuD,CAAC,CAAC,uDAAuD,CAAA;AAAC,OACjD,CAAC,eACbnE,GAAA,CAAC0L,SAAS,IAAE,CAAC,CAAA;KACV,CAAC,eACN1L,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,sDAAA;KAAwD,CAAC,eACxEF,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,sDAAA;AAAsD,KAAE,CAAC,CAAA;AAAA,GACrE,CAAC,CAAA;AAAA,CACP,CAAC;;ACTF,IAAMyL,eAAe,GAAG,SAAlBA,eAAeA,CAAAhM,IAAA,EAAkC;AAAA,EAAA,IAA5BiI,EAAE,GAAAjI,IAAA,CAAFiI,EAAE;IAAEhH,QAAQ,GAAAjB,IAAA,CAARiB,QAAQ;IAAEgL,OAAO,GAAAjM,IAAA,CAAPiM,OAAO,CAAA;AAC9C,EAAA,IAAAf,eAAA,GAAmBC,cAAc,CAAC,UAAAe,MAAM,EAAA;MAAA,OAAK;AAC3CC,QAAAA,YAAY,EAAED,MAAM,CAACE,UAAU,IAAI,IAAA;OACpC,CAAA;AAAA,KAAC,CAAC;IAFKhB,MAAM,GAAAF,eAAA,CAANE,MAAM,CAAA;AAGd,EAAA,IAAMC,cAAc,GAAGD,MAAM,CAAC,cAAc,CAAC,CAAA;AAC7C,EAAA,IAAAjG,SAAA,GAAoEC,QAAQ,CAC1E,CAACiG,cACH,CAAC;IAAAhG,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAFMkH,IAAAA,0BAA0B,GAAAhH,UAAA,CAAA,CAAA,CAAA;AAAEiH,IAAAA,6BAA6B,GAAAjH,UAAA,CAAA,CAAA,CAAA,CAAA;AAIhEoC,EAAAA,SAAS,CAAC,YAAM;IACd6E,6BAA6B,CAAC,CAACjB,cAAc,CAAC,CAAA;AAChD,GAAC,EAAE,CAACA,cAAc,CAAC,CAAC,CAAA;AAEpB5D,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI,CAACQ,EAAE,EAAE,OAAA;IACTqE,6BAA6B,CAAC,KAAK,CAAC,CAAA;AACtC,GAAC,EAAE,CAACrE,EAAE,CAAC,CAAC,CAAA;AAER,EAAA,IAAMsE,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAS;IAChCD,6BAA6B,CAAC,CAACD,0BAA0B,CAAC,CAAA;AAC1DJ,IAAAA,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAGhE,EAAE,CAAC,CAAA;GACd,CAAA;EAED,oBACE9F,IAAA,CAAAsB,QAAA,EAAA;AAAAxC,IAAAA,QAAA,EACG,CAAA,CAACoL,0BAA0B,iBAC1BhM,GAAA,CAAA,KAAA,EAAA;AACEE,MAAAA,SAAS,EAAC,2FAA2F;AACrGkB,MAAAA,OAAO,EAAE8K,mBAAAA;KACV,CACF,eACDpK,IAAA,CAAA,KAAA,EAAA;AACE5B,MAAAA,SAAS,EAAEC,UAAU,CACnB,2DAA2D,EAC3D;AACE,QAAA,sEAAsE,EACpE6L,0BAAAA;AACJ,OACF,CAAE;AAAApL,MAAAA,QAAA,gBAEFZ,GAAA,CAAA,KAAA,EAAA;AACEE,QAAAA,SAAS,EAAC,oEAAoE;AAC9E,QAAA,SAAA,EAAQ,kBAAkB;QAAAU,QAAA,EAEzBA,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,KAAA,CAAA,GAARA,QAAQ,gBAAIZ,GAAA,CAACyL,QAAQ,EAAE,EAAA,CAAA;AAAC,OACtB,CAAC,EACL,CAACO,0BAA0B,iBAC1BhM,GAAA,CAACwE,MAAM,EAAA;AACLtE,QAAAA,SAAS,EAAC,iDAAiD;AAC3De,QAAAA,IAAI,EAAEkL,KAAM;AACZhK,QAAAA,KAAK,EAAC,WAAW;AACjBf,QAAAA,OAAO,EAAE8K,mBAAAA;AAAoB,OAC9B,CACF,CAAA;AAAA,KACE,CAAC,CAAA;AAAA,GACN,CAAC,CAAA;AAEP,EAAC;AAEDP,eAAe,CAACH,aAAa,GAAGA,aAAa;;;;"}
1
+ {"version":3,"file":"Builder.js","sources":["../src/components/Builder/constants.js","../src/components/Builder/Body.jsx","../src/components/Builder/DragIcon.jsx","../src/components/Builder/ElementsPanel/ElementsList/Element.jsx","../src/components/Builder/ElementsPanel/ElementsList/ElementContainer.jsx","../src/components/Builder/ElementsPanel/ElementsList/Section.jsx","../src/components/Builder/ElementsPanel/ElementsList/SectionsContainer.jsx","../src/components/Builder/ElementsPanel/ElementsList/TitleBar.jsx","../src/components/Builder/ElementsPanel/ElementsList/index.jsx","../src/components/Builder/ElementsPanel/SelectedElementsList/SelectedElement.jsx","../src/components/Builder/ElementsPanel/SelectedElementsList/TitleBar.jsx","../src/components/Builder/ElementsPanel/SelectedElementsList/index.jsx","../src/components/Builder/ElementsPanel/index.jsx","../src/components/Builder/PropertiesPanel/EmptyProperty.jsx","../src/components/Builder/PropertiesPanel/Skeleton.jsx","../src/components/Builder/PropertiesPanel/index.jsx"],"sourcesContent":["export const SELECTED_ELEMENTS_LIST_DROPPABLE_ID =\n \"droppable-selected-element-container\";\n\nexport const ELEMENTS_LIST_DROPPABLE_ID = \"droppable-element-container\";\n\nexport const PREVIEW_CONTAINER_DROPPABLE_ID =\n \"droppable-form-preview-container\";\n\nexport const DROPPABLE_TYPES = {\n ELEMENT: \"element\",\n SELECTED_ELEMENT: \"selected_element\",\n};\n","import classnames from \"classnames\";\n\nimport \"./styles.scss\";\n\nconst Body = ({ size, ...props }) => (\n <div\n {...props}\n className={classnames(\n \"neeto-molecules-builder-questions-list-panel__scroll\",\n {\n \"neeto-molecules-builder-questions-list-panel__scroll--small\":\n size === \"small\",\n }\n )}\n />\n);\n\nexport default Body;\n","const DragIcon = ({ size = 16, ...otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path 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\" />\n </svg>\n);\n\nexport default DragIcon;\n","import classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nimport DragIcon from \"components/Builder/DragIcon\";\n\nconst Element = ({\n label,\n icon: Icon,\n isCreatable = true,\n onClick,\n isDragDisabled = false,\n disabledElementTooltip,\n isPlaceholder,\n isDraggingOver,\n}) => (\n <Tooltip\n content={disabledElementTooltip?.(label)}\n disabled={!disabledElementTooltip || isCreatable || isDraggingOver}\n position=\"top\"\n touch={[\"hold\", 500]}\n >\n <div\n data-cy={`add-${joinHyphenCase(label)}-element`}\n className={classnames(\n \"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\",\n {\n \"neeto-ui-bg-gray-300 cursor-not-allowed\": !isCreatable,\n \"cursor-pointer\": isCreatable,\n \"opacity-50\": isPlaceholder,\n }\n )}\n onClick={isCreatable ? onClick : noop}\n >\n {!isDragDisabled && (\n <span className=\"absolute right-full top-1/2 flex-shrink-0 -translate-y-1/2 cursor-grab\">\n <DragIcon size={16} />\n </span>\n )}\n <div className=\"flex flex-grow items-center gap-2\">\n {Icon && <Icon data-cy=\"form-icon\" />}\n <Typography className=\"leading-4\" style=\"body2\">\n {label}\n </Typography>\n </div>\n </div>\n </Tooltip>\n);\n\nexport default Element;\n","import { Draggable } from \"@hello-pangea/dnd\";\nimport { noop } from \"neetocist\";\n\nimport Element from \"./Element\";\n\nconst ElementContainer = ({\n index,\n isDragDisabled,\n element,\n disabledElementTooltip,\n isCreatable,\n onSelect,\n isDraggingOver,\n}) => {\n const isCreatableElement = isCreatable(element.value);\n\n if (isDragDisabled) {\n return (\n <Element\n {...{ ...element, disabledElementTooltip, isDragDisabled }}\n isCreatable={isCreatableElement}\n onClick={() => onSelect(element)}\n />\n );\n }\n\n return (\n <Draggable\n {...{ index }}\n draggableId={element.value}\n isDragDisabled={isDragDisabled || !isCreatableElement}\n key={element.label}\n >\n {(provided, snapshot) => (\n <>\n <div\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={{\n ...provided.draggableProps.style,\n ...(!snapshot.isDragging && { transform: \"none\" }),\n }}\n >\n <Element\n {...{\n ...element,\n disabledElementTooltip,\n isDragDisabled,\n isDraggingOver,\n }}\n isCreatable={isCreatableElement}\n onClick={() => onSelect(element)}\n />\n </div>\n {snapshot.isDragging && (\n <Element\n disabledElementTooltip={null}\n {...{ ...element }}\n isCreatable={false}\n onClick={noop}\n />\n )}\n </>\n )}\n </Draggable>\n );\n};\n\nexport default ElementContainer;\n","import { Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport ElementContainer from \"./ElementContainer\";\n\nconst Section = ({\n title,\n elements,\n onSelect,\n isCreatable,\n disabledElementTooltip,\n isDragElementsDisabled: isDragDisabled,\n isDraggingOver,\n}) => {\n if (isEmpty(elements)) {\n return null;\n }\n\n return (\n <>\n {title && (\n <Typography className=\"py-3\" style=\"h6\" textTransform=\"uppercase\">\n {title}\n </Typography>\n )}\n {elements.map(element => (\n <ElementContainer\n {...{\n disabledElementTooltip,\n element,\n isCreatable,\n isDragDisabled,\n isDraggingOver,\n onSelect,\n }}\n index={element.elementIndex}\n key={element.label}\n />\n ))}\n </>\n );\n};\n\nexport default Section;\n","import { Droppable } from \"@hello-pangea/dnd\";\n\nimport Section from \"./Section\";\n\nimport { DROPPABLE_TYPES, ELEMENTS_LIST_DROPPABLE_ID } from \"../../constants\";\n\nconst SectionsContainer = ({\n isDragElementsDisabled,\n filteredSections,\n onSelect,\n}) => {\n if (isDragElementsDisabled) {\n return (\n <>\n {filteredSections.map(section => (\n <Section\n {...{ isDragElementsDisabled, onSelect, ...section }}\n key={section.key}\n />\n ))}\n </>\n );\n }\n\n return (\n <Droppable\n droppableId={ELEMENTS_LIST_DROPPABLE_ID}\n type={DROPPABLE_TYPES.ELEMENT}\n >\n {(provided, snapshot) => (\n <div ref={provided.innerRef}>\n {filteredSections.map(section => (\n <Section\n {...{ isDragElementsDisabled, onSelect, ...section }}\n isDraggingOver={snapshot.isDraggingOver}\n key={section.key}\n />\n ))}\n </div>\n )}\n </Droppable>\n );\n};\n\nexport default SectionsContainer;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Button, Typography } from \"neetoui\";\n\nconst TitleBar = withT(\n ({ t, setIsSummaryPanelVisible, isSelectedElementsEmpty }) => (\n <div\n className=\"flex items-center justify-between p-6 pb-4\"\n data-testid=\"elements-panel-title\"\n >\n <Typography\n data-cy=\"elements-list-title\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.builderSidebar.addNewElement\")}\n </Typography>\n {!isSelectedElementsEmpty && (\n <Button\n data-cy=\"cancel-button\"\n label={t(\"neetoMolecules.builderSidebar.summary\")}\n size=\"small\"\n style=\"secondary\"\n onClick={() => setIsSummaryPanelVisible(true)}\n />\n )}\n </div>\n )\n);\n\nexport default TitleBar;\n","import { useMemo, useState } from \"react\";\n\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Search } from \"neetoicons\";\nimport { Input } from \"neetoui\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Body from \"components/Builder/Body\";\n\nimport SectionsContainer from \"./SectionsContainer\";\nimport TitleBar from \"./TitleBar\";\n\nconst ElementList = ({\n setIsSummaryPanelVisible,\n elementSections = [],\n onSelect,\n isSelectedElementsEmpty,\n isDragElementsDisabled,\n}) => {\n const { t } = useTranslation();\n const [searchString, setSearchString] = useState(\"\");\n\n const filteredSections = useMemo(() => {\n let elementIndex = 0;\n\n return elementSections\n .map(section => ({\n ...section,\n elements: section.elements\n .filter(element =>\n element.label.toLowerCase().includes(searchString.toLowerCase())\n )\n .map(element => assoc(\"elementIndex\", elementIndex++, element)),\n }))\n .filter(section =>\n isPresent(searchString) ? isNotEmpty(section.elements) : true\n );\n }, [searchString, elementSections]);\n\n return (\n <>\n <TitleBar {...{ isSelectedElementsEmpty, setIsSummaryPanelVisible }} />\n <div className=\"mb-2 px-6\">\n <Input\n autoFocus\n data-testid=\"elements-panel-search-field\"\n placeholder={t(\"neetoMolecules.builderSidebar.searchElements\")}\n prefix={<Search />}\n value={searchString}\n onChange={withEventTargetValue(setSearchString)}\n />\n </div>\n <Body data-testid=\"elements-container\" size=\"small\">\n <SectionsContainer\n {...{ filteredSections, isDragElementsDisabled, onSelect }}\n />\n </Body>\n </>\n );\n};\n\nexport default ElementList;\n","import { memo, useEffect, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop, findById, isNotEmpty, hyphenate } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { mergeRight } from \"ramda\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nimport DragIcon from \"../../DragIcon\";\n\nconst SelectedElement = ({\n element,\n isActive,\n handleSelectElement,\n isSelectable = true,\n errors = [],\n actions = [],\n isDraggable = false,\n ...props\n}) => {\n const Icon = element.icon;\n const rootElementRef = useRef();\n\n const onClick = () => handleSelectElement(element);\n\n const shouldShowDropdown = isNotEmpty(actions);\n\n const menuItems =\n typeof actions === \"function\"\n ? actions(element)\n : actions.map(action =>\n mergeRight(action, {\n onClick: () => {\n action.onClick(element);\n },\n })\n );\n\n useEffect(() => {\n const rootElement = rootElementRef.current;\n\n if (\n !rootElement ||\n !isActive ||\n typeof rootElement?.scrollIntoView !== \"function\"\n ) {\n return;\n }\n rootElement.scrollIntoView({ behavior: \"smooth\", block: \"nearest\" });\n }, [isActive, rootElementRef]);\n\n const error = findById(element.id, errors);\n\n return (\n <div\n data-testid={props[\"data-testid\"]}\n ref={rootElementRef}\n className={classnames(\n \"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 cursor-pointer items-center gap-2 border py-3 pl-4 pr-3 transition-all duration-300 ease-in-out\",\n { \"neeto-molecules-builder-element--active\": isActive },\n { \"hover:neeto-ui-bg-error-100 neeto-ui-bg-error-100\": error }\n )}\n onClick={isSelectable ? onClick : noop}\n >\n {isDraggable && (\n <span className=\"absolute right-full top-1/2 flex-shrink-0 -translate-y-1/2 cursor-grab\">\n <DragIcon size={16} />\n </span>\n )}\n <div\n className=\"flex flex-grow items-center gap-2 overflow-hidden\"\n data-cy=\"new-element-field\"\n >\n {Icon && (\n <div className=\"flex-shrink-0\">\n <Icon />\n </div>\n )}\n <Typography\n className=\"truncate leading-snug\"\n data-cy={`${hyphenate(element.label, \"new-element\")}-label`}\n style=\"body2\"\n >\n {element.label}\n </Typography>\n </div>\n {shouldShowDropdown && (\n <MoreDropdown\n {...{ menuItems }}\n isDisabled={element.isPending}\n dropdownButtonProps={{\n className: \"min-h-0 flex-shrink-0\",\n \"data-testid\": `${hyphenate(element.label)}-more-dropdown`,\n \"data-cy\": `${hyphenate(\n element.label,\n \"new-element\"\n )}-more-dropdown`,\n loading: element.isPending,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default memo(SelectedElement);\n","import { PLURAL } from \"neetocommons/constants\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Flash } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nconst TitleBar = withT(\n ({\n t,\n setIsSummaryPanelVisible,\n isLoading,\n showElementsFillButton,\n isAddingAllElements,\n addAllElements,\n isAddingNewElement,\n }) => (\n <div\n className=\"flex items-center justify-between p-6 pb-4\"\n data-testid=\"selected-elements-title\"\n >\n <Typography\n data-cy=\"elements-title\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.builderSidebar.element\", PLURAL)}\n </Typography>\n <div className=\"flex items-center justify-between space-x-2\">\n <Button\n data-cy=\"add-element-button\"\n data-testid=\"add-element-button\"\n disabled={isLoading}\n label={t(\"neetoMolecules.common.actions.close\")}\n loading={isAddingNewElement}\n size=\"small\"\n style=\"secondary\"\n onClick={() => setIsSummaryPanelVisible(false)}\n />\n {showElementsFillButton && (\n <Button\n data-cy=\"add-all-elements-button\"\n disabled={isAddingAllElements}\n icon={Flash}\n loading={isAddingAllElements}\n size=\"small\"\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoMolecules.builderSidebar.addAllElements\"),\n touch: [\"hold\", 500],\n }}\n onClick={addAllElements}\n />\n )}\n </div>\n </div>\n )\n);\n\nexport default TitleBar;\n","import { Draggable, Droppable } from \"@hello-pangea/dnd\";\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\n\nimport Body from \"components/Builder/Body\";\n\nimport SelectedElement from \"./SelectedElement\";\nimport TitleBar from \"./TitleBar\";\n\nimport {\n DROPPABLE_TYPES,\n SELECTED_ELEMENTS_LIST_DROPPABLE_ID,\n} from \"../../constants\";\n\nconst SelectedElementsList = ({\n handleSelectElement,\n isReorderDisabled,\n isElementVisible,\n selectedElementId,\n selectedElements,\n setIsSummaryPanelVisible,\n fixedLastElement,\n fixedFirstElement,\n selectedElementActions,\n addAllElements,\n isAddingAllElements,\n showElementsFillButton,\n isAddingNewElement,\n}) => {\n const renderSelectedElement = (element, index = 0) => (\n <SelectedElement\n {...{ element, handleSelectElement, index }}\n isSelectable\n actions={element.actions}\n isActive={selectedElementId === element.id}\n key={element.id || index}\n data-cy={`welcome-element${\n Array.isArray(fixedFirstElement) ? `-${index + 1}` : \"\"\n }`}\n data-testid={`welcome-record${\n Array.isArray(fixedFirstElement) ? `-${index + 1}` : \"\"\n }`}\n />\n );\n\n return (\n <>\n <TitleBar\n {...{\n addAllElements,\n isAddingAllElements,\n isAddingNewElement,\n setIsSummaryPanelVisible,\n showElementsFillButton,\n }}\n />\n <Body data-testid=\"selected-elements-container\">\n {Array.isArray(fixedFirstElement)\n ? isNotEmpty(fixedFirstElement) &&\n fixedFirstElement.map(renderSelectedElement)\n : isPresent(fixedFirstElement) &&\n renderSelectedElement(fixedFirstElement)}\n <Droppable\n droppableId={SELECTED_ELEMENTS_LIST_DROPPABLE_ID}\n type={DROPPABLE_TYPES.SELECTED_ELEMENT}\n >\n {({ innerRef, droppableProps, placeholder }) => (\n <div\n ref={innerRef}\n {...droppableProps}\n data-testid=\"selected-elements-droppable-container\"\n >\n {selectedElements?.map((element, index) => {\n const isVisible = isElementVisible?.(element) ?? true;\n\n if (!isVisible) return null;\n\n const key =\n element.id ?? `element-${joinHyphenCase(element.label)}`;\n\n return (\n <Draggable\n {...{ index }}\n draggableId={element.id ?? `element-${index}`}\n isDragDisabled={isReorderDisabled}\n key={key}\n >\n {({ innerRef, draggableProps, dragHandleProps }) => (\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n >\n <SelectedElement\n {...{ element, handleSelectElement }}\n isSelectable\n actions={selectedElementActions}\n isActive={selectedElementId === element.id}\n isDraggable={!isReorderDisabled}\n key={element.id ?? index}\n />\n </div>\n )}\n </Draggable>\n );\n })}\n {placeholder}\n </div>\n )}\n </Droppable>\n {isPresent(fixedLastElement) && (\n <SelectedElement\n {...{ handleSelectElement }}\n isSelectable\n actions={fixedLastElement.actions}\n data-cy=\"submit-button-element\"\n data-testid=\"submit-button-record\"\n element={fixedLastElement}\n isActive={selectedElementId === fixedLastElement.id}\n />\n )}\n </Body>\n </>\n );\n};\n\nexport default SelectedElementsList;\n","import { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport { Collapse } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport ElementList from \"./ElementsList\";\nimport SelectedElementsList from \"./SelectedElementsList\";\n\nimport \"../styles.scss\";\n\nconst ElementsPanel = ({\n elementSections,\n selectedElements = [],\n handleAddElement,\n isElementVisible,\n fixedFirstElement = [],\n fixedLastElement,\n isReorderDisabled = true,\n isDragElementsDisabled = true,\n handleSelectElement,\n selectedElementId,\n selectedElementActions,\n addAllElements = noop,\n isAddingAllElements = false,\n showElementsFillButton = false,\n isAddingNewElement = false,\n}) => {\n const [isSummaryPanelVisible, setIsSummaryPanelVisible] = useState(false);\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] = useState(\n !isLargerScreen\n );\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"neeto-molecules-builder-panel__backdrop\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\n \"neeto-molecules-builder-elements-list-panel__wrapper\",\n {\n \"neeto-molecules-builder-elements-list-panel__wrapper--collapsed\":\n isElementsPanelCollapsed,\n }\n )}\n >\n <div className=\"neeto-molecules-builder-elements-list-panel__container\">\n <div\n className=\"neeto-molecules-builder-elements-list-panel neeto-ui-bg-white\"\n onClick={event => event.stopPropagation()}\n >\n {isSummaryPanelVisible ? (\n <SelectedElementsList\n {...{\n addAllElements,\n fixedFirstElement,\n fixedLastElement,\n handleSelectElement,\n isAddingAllElements,\n isAddingNewElement,\n isElementVisible,\n isReorderDisabled,\n selectedElementActions,\n selectedElementId,\n selectedElements,\n setIsSummaryPanelVisible,\n showElementsFillButton,\n }}\n />\n ) : (\n <ElementList\n {...{\n elementSections,\n isDragElementsDisabled,\n setIsSummaryPanelVisible,\n }}\n onSelect={handleAddElement}\n />\n )}\n </div>\n </div>\n <Button\n className=\"neeto-molecules-builder-elements-list-panel__toggler\"\n icon={Collapse}\n style=\"secondary\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n </div>\n </>\n );\n};\n\nElementsPanel.propTypes = {\n /**\n * List of supported elements to be rendered in the ElementsList panel.\n */\n elementSections: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n elements: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n icon: PropTypes.elementType,\n })\n ),\n key: PropTypes.string,\n isCreatable: PropTypes.func,\n disabledElementTooltip: PropTypes.func,\n })\n ),\n /**\n * List of selected elements.\n */\n selectedElements: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n isPending: PropTypes.bool,\n label: PropTypes.string,\n icon: PropTypes.elementType,\n })\n ),\n /**\n * Callback that will be triggered when an element is clicked from the elements list.\n */\n handleAddElement: PropTypes.func,\n /**\n * Function that will be used to check whether the element is visible.\n * The callback will be triggered with element info at the time of render.\n */\n isElementVisible: PropTypes.func,\n /**\n * The record that's to be rendered as first record.\n * This won't be draggable.\n */\n fixedFirstElement: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n label: PropTypes.string,\n icon: PropTypes.node,\n actions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n key: PropTypes.string,\n onClick: PropTypes.func,\n isVisible: PropTypes.bool,\n })\n ),\n PropTypes.func,\n ]),\n })\n ),\n PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n label: PropTypes.string,\n icon: PropTypes.node,\n actions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n key: PropTypes.string,\n onClick: PropTypes.func,\n isVisible: PropTypes.bool,\n })\n ),\n PropTypes.func,\n ]),\n }),\n ]),\n /**\n * The record that's to be rendered as the last record.\n * This won't be draggable.\n */\n fixedLastElement: PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n label: PropTypes.string,\n icon: PropTypes.node,\n }),\n /**\n * Boolean to mention that the drag and order selected elements feature should be disabled.\n */\n isReorderDisabled: PropTypes.bool,\n /**\n * Boolean to mention that the drag and drop elements to the preview container is enabled.\n */\n isDragElementsDisabled: PropTypes.bool,\n /**\n * The callback that will be triggered when an element is clicked from the elements list.\n */\n handleSelectElement: PropTypes.func,\n /**\n * Id of the current selected element.\n */\n selectedElementId: PropTypes.string,\n /**\n * Actions to be rendered on the selected elements.\n */\n selectedElementActions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n key: PropTypes.string,\n onClick: PropTypes.func,\n isVisible: PropTypes.bool,\n })\n ),\n PropTypes.func,\n ]),\n\n /**\n * Function that will be called when clicked on the add all elements button.\n */\n addAllElements: PropTypes.func,\n /**\n * Boolean to notate whether all elements are being added.\n */\n isAddingAllElements: PropTypes.bool,\n /**\n * Boolean to control the visibility of add all elements button.\n */\n showElementsFillButton: PropTypes.bool,\n /**\n * Boolean to notate whether an element is being added.\n */\n isAddingNewElement: PropTypes.bool,\n};\n\nexport default ElementsPanel;\n","import withT from \"neetocommons/react-utils/withT\";\nimport { Typography } from \"neetoui\";\n\nconst EmptyProperty = withT(({ t }) => (\n <div className=\"space-y-4 pb-6 pr-6\">\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-600 neeto-ui-rounded-lg flex w-full flex-col items-center justify-center space-y-2 px-16 py-8\">\n <Typography\n className=\"text-center\"\n data-cy=\"build-page-text-label\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.noQuestionProperties\")}\n </Typography>\n </div>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-40 w-full\" />\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-72 w-full\" />\n </div>\n));\n\nexport default EmptyProperty;\n","import withT from \"neetocommons/react-utils/withT\";\nimport { DownArrow } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nconst Skeleton = withT(({ t }) => (\n <div className=\"space-y-4 pb-6 pr-6\">\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-12 w-full\" />\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-600 neeto-ui-rounded-lg flex w-full flex-col items-center justify-center space-y-2 px-16 py-8\">\n <Typography\n className=\"text-center\"\n data-cy=\"build-page-text-label\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.emptyQuestionProperties\")}\n </Typography>\n <DownArrow />\n </div>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-40 w-full\" />\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-72 w-full\" />\n </div>\n));\n\nexport default Skeleton;\n","import { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport { Close } from \"neetoicons\";\nimport { Button } from \"neetoui\";\n\nimport EmptyProperty from \"./EmptyProperty\";\nimport Skeleton from \"./Skeleton\";\n\nimport \"../styles.scss\";\n\nconst PropertiesPanel = ({ id, children, onClose }) => {\n const { isSize } = useBreakpoints(window => ({\n largeDesktop: window.innerWidth >= 1280,\n }));\n const isLargerScreen = isSize(\"largeDesktop\");\n const [isPropertiesPanelCollapsed, setIsPropertiesPanelCollapsed] = useState(\n !isLargerScreen\n );\n\n useEffect(() => {\n setIsPropertiesPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n useEffect(() => {\n if (!id) return;\n setIsPropertiesPanelCollapsed(false);\n }, [id]);\n\n const handleCollapsePanel = () => {\n setIsPropertiesPanelCollapsed(!isPropertiesPanelCollapsed);\n onClose?.(id);\n };\n\n return (\n <>\n {!isPropertiesPanelCollapsed && (\n <div\n className=\"neeto-molecules-builder-panel__backdrop neeto-molecules-builder-panel__backdrop--extended\"\n onClick={handleCollapsePanel}\n />\n )}\n <div\n className={classnames(\n \"neeto-molecules-builder-element-properties-panel__wrapper\",\n {\n \"neeto-molecules-builder-element-properties-panel__wrapper--collapsed\":\n isPropertiesPanelCollapsed,\n }\n )}\n >\n <div\n className=\"neeto-molecules-builder-element-properties-panel neeto-ui-bg-white\"\n data-cy=\"properties-panel\"\n >\n {children ?? <Skeleton />}\n </div>\n {!isPropertiesPanelCollapsed && (\n <Button\n className=\"neeto-molecules-builder-properties-panel__close\"\n icon={Close}\n style=\"secondary\"\n onClick={handleCollapsePanel}\n />\n )}\n </div>\n </>\n );\n};\n\nPropertiesPanel.EmptyProperty = EmptyProperty;\n\nexport default PropertiesPanel;\n"],"names":["SELECTED_ELEMENTS_LIST_DROPPABLE_ID","ELEMENTS_LIST_DROPPABLE_ID","PREVIEW_CONTAINER_DROPPABLE_ID","DROPPABLE_TYPES","ELEMENT","SELECTED_ELEMENT","Body","_ref","size","props","_objectWithoutProperties","_excluded","_jsx","_objectSpread","className","classnames","DragIcon","_ref$size","otherProps","fill","height","viewBox","width","xmlns","children","d","Element","label","Icon","icon","_ref$isCreatable","isCreatable","onClick","_ref$isDragDisabled","isDragDisabled","disabledElementTooltip","isPlaceholder","isDraggingOver","Tooltip","content","disabled","position","touch","_jsxs","concat","joinHyphenCase","noop","Typography","style","ElementContainer","index","element","onSelect","isCreatableElement","value","_createElement","Draggable","draggableId","key","provided","snapshot","_Fragment","ref","innerRef","draggableProps","dragHandleProps","isDragging","transform","Section","title","elements","isDragElementsDisabled","isEmpty","textTransform","map","elementIndex","SectionsContainer","filteredSections","section","Droppable","droppableId","type","TitleBar","withT","t","setIsSummaryPanelVisible","isSelectedElementsEmpty","lineHeight","weight","Button","ElementList","_ref$elementSections","elementSections","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","searchString","setSearchString","useMemo","filter","toLowerCase","includes","assoc","isPresent","isNotEmpty","Input","autoFocus","placeholder","prefix","Search","onChange","withEventTargetValue","SelectedElement","isActive","handleSelectElement","_ref$isSelectable","isSelectable","_ref$errors","errors","_ref$actions","actions","_ref$isDraggable","isDraggable","rootElementRef","useRef","shouldShowDropdown","menuItems","action","mergeRight","useEffect","rootElement","current","scrollIntoView","behavior","block","error","findById","id","hyphenate","MoreDropdown","isDisabled","isPending","dropdownButtonProps","loading","memo","isLoading","showElementsFillButton","isAddingAllElements","addAllElements","isAddingNewElement","PLURAL","Flash","tooltipProps","SelectedElementsList","isReorderDisabled","isElementVisible","selectedElementId","selectedElements","fixedLastElement","fixedFirstElement","selectedElementActions","renderSelectedElement","arguments","length","undefined","Array","isArray","_ref2","droppableProps","_isElementVisible","_element$id","_element$id2","isVisible","_ref3","_element$id3","ElementsPanel","_ref$selectedElements","handleAddElement","_ref$fixedFirstElemen","_ref$isReorderDisable","_ref$isDragElementsDi","_ref$addAllElements","_ref$isAddingAllEleme","_ref$showElementsFill","_ref$isAddingNewEleme","isSummaryPanelVisible","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState3","_useState4","isElementsPanelCollapsed","setIsElementsPanelCollapsed","event","stopPropagation","Collapse","EmptyProperty","Skeleton","DownArrow","PropertiesPanel","onClose","window","largeDesktop","innerWidth","isPropertiesPanelCollapsed","setIsPropertiesPanelCollapsed","handleCollapsePanel","Close"],"mappings":"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"}