@bigbinary/neeto-molecules 3.7.22 → 3.7.24
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 +29 -8
- package/dist/Builder.js.map +1 -1
- package/dist/DynamicVariables.js +1 -0
- package/dist/DynamicVariables.js.map +1 -1
- package/dist/EmailForm.js +27 -7
- package/dist/EmailForm.js.map +1 -1
- package/dist/SendToFields.js +11 -5
- package/dist/SendToFields.js.map +1 -1
- package/dist/cjs/Builder.js +29 -8
- package/dist/cjs/Builder.js.map +1 -1
- package/dist/cjs/DynamicVariables.js +1 -0
- package/dist/cjs/DynamicVariables.js.map +1 -1
- package/dist/cjs/EmailForm.js +27 -7
- package/dist/cjs/EmailForm.js.map +1 -1
- package/dist/cjs/SendToFields.js +11 -5
- package/dist/cjs/SendToFields.js.map +1 -1
- package/package.json +1 -1
- package/types/EmailFormProvider.d.ts +2 -0
- package/types/SendToFields.d.ts +3 -0
package/dist/cjs/Builder.js
CHANGED
|
@@ -87,7 +87,15 @@ var Element = function Element(_ref) {
|
|
|
87
87
|
isDragDisabled = _ref$isDragDisabled === void 0 ? false : _ref$isDragDisabled,
|
|
88
88
|
disabledElementTooltip = _ref.disabledElementTooltip,
|
|
89
89
|
isPlaceholder = _ref.isPlaceholder,
|
|
90
|
-
isDraggingOver = _ref.isDraggingOver
|
|
90
|
+
isDraggingOver = _ref.isDraggingOver,
|
|
91
|
+
isAddingNewElement = _ref.isAddingNewElement;
|
|
92
|
+
var handleClick = function handleClick(event) {
|
|
93
|
+
if (!isCreatable || isAddingNewElement) {
|
|
94
|
+
event.preventDefault();
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
onClick(event);
|
|
98
|
+
};
|
|
91
99
|
return /*#__PURE__*/jsxRuntime.jsx(Tooltip, {
|
|
92
100
|
content: disabledElementTooltip === null || disabledElementTooltip === void 0 ? void 0 : disabledElementTooltip(label),
|
|
93
101
|
disabled: !disabledElementTooltip || isCreatable || isDraggingOver,
|
|
@@ -100,7 +108,7 @@ var Element = function Element(_ref) {
|
|
|
100
108
|
"cursor-pointer": isCreatable,
|
|
101
109
|
"opacity-50": isPlaceholder
|
|
102
110
|
}),
|
|
103
|
-
onClick:
|
|
111
|
+
onClick: handleClick,
|
|
104
112
|
children: [!isDragDisabled && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
105
113
|
className: "absolute right-full top-1/2 flex-shrink-0 -translate-y-1/2 cursor-grab",
|
|
106
114
|
children: /*#__PURE__*/jsxRuntime.jsx(DragIcon, {
|
|
@@ -129,11 +137,13 @@ var ElementContainer = function ElementContainer(_ref) {
|
|
|
129
137
|
disabledElementTooltip = _ref.disabledElementTooltip,
|
|
130
138
|
isCreatable = _ref.isCreatable,
|
|
131
139
|
onSelect = _ref.onSelect,
|
|
132
|
-
isDraggingOver = _ref.isDraggingOver
|
|
140
|
+
isDraggingOver = _ref.isDraggingOver,
|
|
141
|
+
isAddingNewElement = _ref.isAddingNewElement;
|
|
133
142
|
var isCreatableElement = isCreatable(element.value);
|
|
134
143
|
if (isDragDisabled) {
|
|
135
144
|
return /*#__PURE__*/jsxRuntime.jsx(Element, _objectSpread$3(_objectSpread$3({}, _objectSpread$3(_objectSpread$3({}, element), {}, {
|
|
136
145
|
disabledElementTooltip: disabledElementTooltip,
|
|
146
|
+
isAddingNewElement: isAddingNewElement,
|
|
137
147
|
isDragDisabled: isDragDisabled
|
|
138
148
|
})), {}, {
|
|
139
149
|
isCreatable: isCreatableElement,
|
|
@@ -145,8 +155,8 @@ var ElementContainer = function ElementContainer(_ref) {
|
|
|
145
155
|
return /*#__PURE__*/React.createElement(dnd.Draggable, {
|
|
146
156
|
index: index,
|
|
147
157
|
draggableId: element.value,
|
|
148
|
-
|
|
149
|
-
|
|
158
|
+
key: element.label,
|
|
159
|
+
isDragDisabled: isDragDisabled || !isCreatableElement || isAddingNewElement
|
|
150
160
|
}, function (provided, snapshot) {
|
|
151
161
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
152
162
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$3(_objectSpread$3(_objectSpread$3({
|
|
@@ -157,6 +167,7 @@ var ElementContainer = function ElementContainer(_ref) {
|
|
|
157
167
|
}),
|
|
158
168
|
children: /*#__PURE__*/jsxRuntime.jsx(Element, _objectSpread$3(_objectSpread$3({}, _objectSpread$3(_objectSpread$3({}, element), {}, {
|
|
159
169
|
disabledElementTooltip: disabledElementTooltip,
|
|
170
|
+
isAddingNewElement: isAddingNewElement,
|
|
160
171
|
isDragDisabled: isDragDisabled,
|
|
161
172
|
isDraggingOver: isDraggingOver
|
|
162
173
|
})), {}, {
|
|
@@ -167,7 +178,9 @@ var ElementContainer = function ElementContainer(_ref) {
|
|
|
167
178
|
}))
|
|
168
179
|
})), snapshot.isDragging && /*#__PURE__*/jsxRuntime.jsx(Element, _objectSpread$3(_objectSpread$3({
|
|
169
180
|
disabledElementTooltip: null
|
|
170
|
-
}, _objectSpread$3({}, element)
|
|
181
|
+
}, _objectSpread$3(_objectSpread$3({}, element), {}, {
|
|
182
|
+
isAddingNewElement: isAddingNewElement
|
|
183
|
+
})), {}, {
|
|
171
184
|
isCreatable: false,
|
|
172
185
|
onClick: neetoCist.noop
|
|
173
186
|
}))]
|
|
@@ -182,7 +195,8 @@ var Section = function Section(_ref) {
|
|
|
182
195
|
isCreatable = _ref.isCreatable,
|
|
183
196
|
disabledElementTooltip = _ref.disabledElementTooltip,
|
|
184
197
|
isDragDisabled = _ref.isDragElementsDisabled,
|
|
185
|
-
isDraggingOver = _ref.isDraggingOver
|
|
198
|
+
isDraggingOver = _ref.isDraggingOver,
|
|
199
|
+
isAddingNewElement = _ref.isAddingNewElement;
|
|
186
200
|
if (ramda.isEmpty(elements)) {
|
|
187
201
|
return null;
|
|
188
202
|
}
|
|
@@ -196,6 +210,7 @@ var Section = function Section(_ref) {
|
|
|
196
210
|
return /*#__PURE__*/React.createElement(ElementContainer, {
|
|
197
211
|
disabledElementTooltip: disabledElementTooltip,
|
|
198
212
|
element: element,
|
|
213
|
+
isAddingNewElement: isAddingNewElement,
|
|
199
214
|
isCreatable: isCreatable,
|
|
200
215
|
isDragDisabled: isDragDisabled,
|
|
201
216
|
isDraggingOver: isDraggingOver,
|
|
@@ -212,11 +227,13 @@ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t
|
|
|
212
227
|
var SectionsContainer = function SectionsContainer(_ref) {
|
|
213
228
|
var isDragElementsDisabled = _ref.isDragElementsDisabled,
|
|
214
229
|
filteredSections = _ref.filteredSections,
|
|
230
|
+
isAddingNewElement = _ref.isAddingNewElement,
|
|
215
231
|
onSelect = _ref.onSelect;
|
|
216
232
|
if (isDragElementsDisabled) {
|
|
217
233
|
return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
218
234
|
children: filteredSections.map(function (section) {
|
|
219
235
|
return /*#__PURE__*/React.createElement(Section, _objectSpread$2(_objectSpread$2({}, _objectSpread$2({
|
|
236
|
+
isAddingNewElement: isAddingNewElement,
|
|
220
237
|
isDragElementsDisabled: isDragElementsDisabled,
|
|
221
238
|
onSelect: onSelect
|
|
222
239
|
}, section)), {}, {
|
|
@@ -233,6 +250,7 @@ var SectionsContainer = function SectionsContainer(_ref) {
|
|
|
233
250
|
ref: provided.innerRef,
|
|
234
251
|
children: filteredSections.map(function (section) {
|
|
235
252
|
return /*#__PURE__*/React.createElement(Section, _objectSpread$2(_objectSpread$2({}, _objectSpread$2({
|
|
253
|
+
isAddingNewElement: isAddingNewElement,
|
|
236
254
|
isDragElementsDisabled: isDragElementsDisabled,
|
|
237
255
|
onSelect: onSelect
|
|
238
256
|
}, section)), {}, {
|
|
@@ -280,7 +298,8 @@ var ElementList = function ElementList(_ref) {
|
|
|
280
298
|
onSelect = _ref.onSelect,
|
|
281
299
|
isSelectedElementsEmpty = _ref.isSelectedElementsEmpty,
|
|
282
300
|
isDragElementsDisabled = _ref.isDragElementsDisabled,
|
|
283
|
-
isPrimaryPanel = _ref.isPrimaryPanel
|
|
301
|
+
isPrimaryPanel = _ref.isPrimaryPanel,
|
|
302
|
+
isAddingNewElement = _ref.isAddingNewElement;
|
|
284
303
|
var _useTranslation = reactI18next.useTranslation(),
|
|
285
304
|
t = _useTranslation.t;
|
|
286
305
|
var _useState = React.useState(""),
|
|
@@ -321,6 +340,7 @@ var ElementList = function ElementList(_ref) {
|
|
|
321
340
|
size: "small",
|
|
322
341
|
children: /*#__PURE__*/jsxRuntime.jsx(SectionsContainer, {
|
|
323
342
|
filteredSections: filteredSections,
|
|
343
|
+
isAddingNewElement: isAddingNewElement,
|
|
324
344
|
isDragElementsDisabled: isDragElementsDisabled,
|
|
325
345
|
onSelect: onSelect
|
|
326
346
|
})
|
|
@@ -628,6 +648,7 @@ var ElementsPanel = function ElementsPanel(_ref) {
|
|
|
628
648
|
isPrimaryPanel: primaryPanel === PANEL_TYPES.SUMMARY
|
|
629
649
|
}) : /*#__PURE__*/jsxRuntime.jsx(ElementList, {
|
|
630
650
|
elementSections: elementSections,
|
|
651
|
+
isAddingNewElement: isAddingNewElement,
|
|
631
652
|
isDragElementsDisabled: isDragElementsDisabled,
|
|
632
653
|
setVisiblePanel: setVisiblePanel,
|
|
633
654
|
isPrimaryPanel: primaryPanel === PANEL_TYPES.ELEMENTS,
|
package/dist/cjs/Builder.js.map
CHANGED
|
@@ -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/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 PANEL_TYPES = { SUMMARY: \"summary\", ELEMENTS: \"elements\" };\n\nexport 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\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = withT(\n ({ t, setVisiblePanel, isSelectedElementsEmpty, isPrimaryPanel }) => (\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 size=\"small\"\n style=\"secondary\"\n label={\n isPrimaryPanel\n ? t(\"neetoMolecules.builderSidebar.summary\")\n : t(\"neetoMolecules.common.actions.cancel\")\n }\n onClick={() => setVisiblePanel(PANEL_TYPES.SUMMARY)}\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 setVisiblePanel,\n elementSections = [],\n onSelect,\n isSelectedElementsEmpty,\n isDragElementsDisabled,\n isPrimaryPanel,\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\n {...{ isPrimaryPanel, isSelectedElementsEmpty, setVisiblePanel }}\n />\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 onClick: e => e.stopPropagation(),\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\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = withT(\n ({\n t,\n setVisiblePanel,\n isLoading,\n showElementsFillButton,\n isAddingAllElements,\n addAllElements,\n isAddingNewElement,\n isPrimaryPanel,\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 loading={isAddingNewElement}\n size=\"small\"\n style=\"secondary\"\n label={\n isPrimaryPanel\n ? t(\"neetoMolecules.builderSidebar.addNewElement\")\n : t(\"neetoMolecules.common.actions.close\")\n }\n onClick={() => setVisiblePanel(PANEL_TYPES.ELEMENTS)}\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 setVisiblePanel,\n isPrimaryPanel,\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 isPrimaryPanel,\n setVisiblePanel,\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 { PANEL_TYPES } from \"../constants\";\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 primaryPanel = PANEL_TYPES.ELEMENTS,\n}) => {\n const [visiblePanel, setVisiblePanel] = useState(primaryPanel);\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 {visiblePanel === PANEL_TYPES.SUMMARY ? (\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 setVisiblePanel,\n showElementsFillButton,\n }}\n isPrimaryPanel={primaryPanel === PANEL_TYPES.SUMMARY}\n />\n ) : (\n <ElementList\n {...{\n elementSections,\n isDragElementsDisabled,\n setVisiblePanel,\n }}\n isPrimaryPanel={primaryPanel === PANEL_TYPES.ELEMENTS}\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 * Prop to set the summary panel or elements panel as the primary panel.\n * The primary panel will be the panel that's visible by default and\n * sets the button labels and title based on the set primary panel.\n * The default value is `elements`.\n */\n primaryPanel: PropTypes.oneOfType(Object.values(PANEL_TYPES)),\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":["PANEL_TYPES","SUMMARY","ELEMENTS","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","setVisiblePanel","isSelectedElementsEmpty","isPrimaryPanel","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","e","stopPropagation","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","_ref$primaryPanel","primaryPanel","visiblePanel","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState3","_useState4","isElementsPanelCollapsed","setIsElementsPanelCollapsed","event","Collapse","EmptyProperty","Skeleton","DownArrow","PropertiesPanel","onClose","window","largeDesktop","innerWidth","isPropertiesPanelCollapsed","setIsPropertiesPanelCollapsed","handleCollapsePanel","Close"],"mappings":"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"}
|
|
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 PANEL_TYPES = { SUMMARY: \"summary\", ELEMENTS: \"elements\" };\n\nexport 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 { 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 isAddingNewElement,\n}) => {\n const handleClick = event => {\n if (!isCreatable || isAddingNewElement) {\n event.preventDefault();\n\n return;\n }\n\n onClick(event);\n };\n\n return (\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={handleClick}\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};\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 isAddingNewElement,\n}) => {\n const isCreatableElement = isCreatable(element.value);\n\n if (isDragDisabled) {\n return (\n <Element\n {...{\n ...element,\n disabledElementTooltip,\n isAddingNewElement,\n isDragDisabled,\n }}\n isCreatable={isCreatableElement}\n onClick={() => onSelect(element)}\n />\n );\n }\n\n return (\n <Draggable\n {...{ index }}\n draggableId={element.value}\n key={element.label}\n isDragDisabled={\n isDragDisabled || !isCreatableElement || isAddingNewElement\n }\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 isAddingNewElement,\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, isAddingNewElement }}\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 isAddingNewElement,\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 isAddingNewElement,\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 isAddingNewElement,\n onSelect,\n}) => {\n if (isDragElementsDisabled) {\n return (\n <>\n {filteredSections.map(section => (\n <Section\n {...{\n isAddingNewElement,\n isDragElementsDisabled,\n onSelect,\n ...section,\n }}\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 {...{\n isAddingNewElement,\n isDragElementsDisabled,\n onSelect,\n ...section,\n }}\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\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = withT(\n ({ t, setVisiblePanel, isSelectedElementsEmpty, isPrimaryPanel }) => (\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 size=\"small\"\n style=\"secondary\"\n label={\n isPrimaryPanel\n ? t(\"neetoMolecules.builderSidebar.summary\")\n : t(\"neetoMolecules.common.actions.cancel\")\n }\n onClick={() => setVisiblePanel(PANEL_TYPES.SUMMARY)}\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 setVisiblePanel,\n elementSections = [],\n onSelect,\n isSelectedElementsEmpty,\n isDragElementsDisabled,\n isPrimaryPanel,\n isAddingNewElement,\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\n {...{ isPrimaryPanel, isSelectedElementsEmpty, setVisiblePanel }}\n />\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 {...{\n filteredSections,\n isAddingNewElement,\n isDragElementsDisabled,\n onSelect,\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 onClick: e => e.stopPropagation(),\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\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = withT(\n ({\n t,\n setVisiblePanel,\n isLoading,\n showElementsFillButton,\n isAddingAllElements,\n addAllElements,\n isAddingNewElement,\n isPrimaryPanel,\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 loading={isAddingNewElement}\n size=\"small\"\n style=\"secondary\"\n label={\n isPrimaryPanel\n ? t(\"neetoMolecules.builderSidebar.addNewElement\")\n : t(\"neetoMolecules.common.actions.close\")\n }\n onClick={() => setVisiblePanel(PANEL_TYPES.ELEMENTS)}\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 setVisiblePanel,\n isPrimaryPanel,\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 isPrimaryPanel,\n setVisiblePanel,\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 { PANEL_TYPES } from \"../constants\";\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 primaryPanel = PANEL_TYPES.ELEMENTS,\n}) => {\n const [visiblePanel, setVisiblePanel] = useState(primaryPanel);\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 {visiblePanel === PANEL_TYPES.SUMMARY ? (\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 setVisiblePanel,\n showElementsFillButton,\n }}\n isPrimaryPanel={primaryPanel === PANEL_TYPES.SUMMARY}\n />\n ) : (\n <ElementList\n {...{\n elementSections,\n isAddingNewElement,\n isDragElementsDisabled,\n setVisiblePanel,\n }}\n isPrimaryPanel={primaryPanel === PANEL_TYPES.ELEMENTS}\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 * Prop to set the summary panel or elements panel as the primary panel.\n * The primary panel will be the panel that's visible by default and\n * sets the button labels and title based on the set primary panel.\n * The default value is `elements`.\n */\n primaryPanel: PropTypes.oneOfType(Object.values(PANEL_TYPES)),\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":["PANEL_TYPES","SUMMARY","ELEMENTS","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","isAddingNewElement","handleClick","event","preventDefault","Tooltip","content","disabled","position","touch","_jsxs","concat","joinHyphenCase","Typography","style","ElementContainer","index","element","onSelect","isCreatableElement","value","_createElement","Draggable","draggableId","key","provided","snapshot","_Fragment","ref","innerRef","draggableProps","dragHandleProps","isDragging","transform","noop","Section","title","elements","isDragElementsDisabled","isEmpty","textTransform","map","elementIndex","SectionsContainer","filteredSections","section","Droppable","droppableId","type","TitleBar","withT","t","setVisiblePanel","isSelectedElementsEmpty","isPrimaryPanel","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","e","stopPropagation","loading","memo","isLoading","showElementsFillButton","isAddingAllElements","addAllElements","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","_ref$primaryPanel","primaryPanel","visiblePanel","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState3","_useState4","isElementsPanelCollapsed","setIsElementsPanelCollapsed","Collapse","EmptyProperty","Skeleton","DownArrow","PropertiesPanel","onClose","window","largeDesktop","innerWidth","isPropertiesPanelCollapsed","setIsPropertiesPanelCollapsed","handleCollapsePanel","Close"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicVariables.js","sources":["../../src/components/DynamicVariables/utils.js","../../src/components/DynamicVariables/index.jsx"],"sourcesContent":["import { findBy } from \"neetocist\";\nimport { prop, assoc, isEmpty, uniqBy } from \"ramda\";\n\nexport const parseVariables = (variableArr = []) => {\n const uncategorized = [];\n const groupedVariables = [];\n const categorySet = new Set();\n\n variableArr.forEach(variable => {\n const { category, label, variables } = variable;\n if (category && variables) {\n const parsedVariables = variables.map(assoc(\"category\", category));\n\n if (!categorySet.has(category)) {\n categorySet.add(category);\n groupedVariables.push({ label, variables: parsedVariables });\n } else {\n const existingGroup = findBy({ label }, groupedVariables);\n\n existingGroup.variables = uniqBy(\n prop(\"key\"),\n existingGroup.variables.concat(parsedVariables)\n );\n }\n } else {\n uncategorized.push(variable);\n }\n });\n\n if (!isEmpty(uncategorized)) {\n groupedVariables.push({\n label: !isEmpty(groupedVariables) ? \"Others\" : null,\n variables: uncategorized,\n });\n }\n\n return groupedVariables;\n};\n","import { Fragment } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Braces } from \"neetoicons\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport \"./dynamic-variables.scss\";\nimport { parseVariables } from \"./utils\";\n\nconst { Menu } = Dropdown;\n\nconst DynamicVariables = ({\n onVariableClick = noop,\n variables = [],\n buttonProps,\n ...dropdownProps\n}) => {\n if (isEmpty(variables)) {\n return null;\n }\n\n const parsedVariables = parseVariables(variables);\n\n return (\n <Dropdown\n appendTo={() => document.body}\n buttonStyle=\"secondary\"\n icon={Braces}\n strategy=\"fixed\"\n buttonProps={{\n \"data-testid\": \"variables-dropdown\",\n \"data-cy\": \"dynamic-variables-button\",\n ...buttonProps,\n }}\n {...dropdownProps}\n >\n <Menu>\n <div\n className=\"neeto-molecules-dynamic-variables\"\n data-testid=\"variables-list\"\n >\n {parsedVariables.map(({ label, variables }) => (\n <Fragment key={label}>\n {label && <Typography style=\"h6\">{label}</Typography>}\n <div\n className=\"neeto-molecules-dynamic-variables__list\"\n data-cy=\"dynamic-variables-list\"\n >\n {variables.map(item => (\n <button\n key={item.label}\n data-cy={joinHyphenCase(\n \"dynamic-variables-list-item\",\n item.label\n )}\n onClick={() => onVariableClick(item)}\n >\n {item.label}\n </button>\n ))}\n </div>\n </Fragment>\n ))}\n </div>\n </Menu>\n </Dropdown>\n );\n};\n\nDynamicVariables.propTypes = {\n /**\n * A function that is triggered when a dynamic variable button is clicked. It receives an object containing information about the clicked variable.\n */\n onVariableClick: PropTypes.func,\n /**\n * An array of objects, each representing a category or standalone variable, with the ability to define a label, key, and default value for each variable.\n */\n variables: PropTypes.arrayOf(\n PropTypes.shape({ label: PropTypes.string, key: PropTypes.string })\n ),\n};\n\nexport default DynamicVariables;\n"],"names":["parseVariables","variableArr","arguments","length","undefined","uncategorized","groupedVariables","categorySet","Set","forEach","variable","category","label","variables","parsedVariables","map","assoc","has","add","push","existingGroup","findBy","uniqBy","prop","concat","isEmpty","Menu","Dropdown","DynamicVariables","_ref","_ref$onVariableClick","onVariableClick","noop","_ref$variables","buttonProps","dropdownProps","_objectWithoutProperties","_excluded","_jsx","_objectSpread","appendTo","document","body","buttonStyle","icon","Braces","strategy","children","className","_ref2","_jsxs","Fragment","Typography","style","item","joinHyphenCase","onClick"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DynamicVariables.js","sources":["../../src/components/DynamicVariables/utils.js","../../src/components/DynamicVariables/index.jsx"],"sourcesContent":["import { findBy } from \"neetocist\";\nimport { prop, assoc, isEmpty, uniqBy } from \"ramda\";\n\nexport const parseVariables = (variableArr = []) => {\n const uncategorized = [];\n const groupedVariables = [];\n const categorySet = new Set();\n\n variableArr.forEach(variable => {\n const { category, label, variables } = variable;\n if (category && variables) {\n const parsedVariables = variables.map(assoc(\"category\", category));\n\n if (!categorySet.has(category)) {\n categorySet.add(category);\n groupedVariables.push({ label, variables: parsedVariables });\n } else {\n const existingGroup = findBy({ label }, groupedVariables);\n\n existingGroup.variables = uniqBy(\n prop(\"key\"),\n existingGroup.variables.concat(parsedVariables)\n );\n }\n } else {\n uncategorized.push(variable);\n }\n });\n\n if (!isEmpty(uncategorized)) {\n groupedVariables.push({\n label: !isEmpty(groupedVariables) ? \"Others\" : null,\n variables: uncategorized,\n });\n }\n\n return groupedVariables;\n};\n","import { Fragment } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Braces } from \"neetoicons\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport \"./dynamic-variables.scss\";\nimport { parseVariables } from \"./utils\";\n\nconst { Menu } = Dropdown;\n\nconst DynamicVariables = ({\n onVariableClick = noop,\n variables = [],\n buttonProps,\n ...dropdownProps\n}) => {\n if (isEmpty(variables)) {\n return null;\n }\n\n const parsedVariables = parseVariables(variables);\n\n return (\n <Dropdown\n appendTo={() => document.body}\n buttonStyle=\"secondary\"\n icon={Braces}\n strategy=\"fixed\"\n zIndex={99999}\n buttonProps={{\n \"data-testid\": \"variables-dropdown\",\n \"data-cy\": \"dynamic-variables-button\",\n ...buttonProps,\n }}\n {...dropdownProps}\n >\n <Menu>\n <div\n className=\"neeto-molecules-dynamic-variables\"\n data-testid=\"variables-list\"\n >\n {parsedVariables.map(({ label, variables }) => (\n <Fragment key={label}>\n {label && <Typography style=\"h6\">{label}</Typography>}\n <div\n className=\"neeto-molecules-dynamic-variables__list\"\n data-cy=\"dynamic-variables-list\"\n >\n {variables.map(item => (\n <button\n key={item.label}\n data-cy={joinHyphenCase(\n \"dynamic-variables-list-item\",\n item.label\n )}\n onClick={() => onVariableClick(item)}\n >\n {item.label}\n </button>\n ))}\n </div>\n </Fragment>\n ))}\n </div>\n </Menu>\n </Dropdown>\n );\n};\n\nDynamicVariables.propTypes = {\n /**\n * A function that is triggered when a dynamic variable button is clicked. It receives an object containing information about the clicked variable.\n */\n onVariableClick: PropTypes.func,\n /**\n * An array of objects, each representing a category or standalone variable, with the ability to define a label, key, and default value for each variable.\n */\n variables: PropTypes.arrayOf(\n PropTypes.shape({ label: PropTypes.string, key: PropTypes.string })\n ),\n};\n\nexport default DynamicVariables;\n"],"names":["parseVariables","variableArr","arguments","length","undefined","uncategorized","groupedVariables","categorySet","Set","forEach","variable","category","label","variables","parsedVariables","map","assoc","has","add","push","existingGroup","findBy","uniqBy","prop","concat","isEmpty","Menu","Dropdown","DynamicVariables","_ref","_ref$onVariableClick","onVariableClick","noop","_ref$variables","buttonProps","dropdownProps","_objectWithoutProperties","_excluded","_jsx","_objectSpread","appendTo","document","body","buttonStyle","icon","Braces","strategy","zIndex","children","className","_ref2","_jsxs","Fragment","Typography","style","item","joinHyphenCase","onClick"],"mappings":"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"}
|
package/dist/cjs/EmailForm.js
CHANGED
|
@@ -18,13 +18,13 @@ var yup = require('yup');
|
|
|
18
18
|
var Select = require('@bigbinary/neetoui/formik/Select');
|
|
19
19
|
var Input = require('@bigbinary/neetoui/formik/Input');
|
|
20
20
|
var jsxRuntime = require('react/jsx-runtime');
|
|
21
|
-
var withT = require('@bigbinary/neeto-commons-frontend/react-utils/withT');
|
|
22
21
|
var SendToFields = require('./SendToFields.js');
|
|
23
22
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
24
23
|
var general = require('@bigbinary/neeto-commons-frontend/utils/general');
|
|
25
24
|
var Input$1 = require('@bigbinary/neetoui/Input');
|
|
26
25
|
var DynamicVariables = require('./DynamicVariables.js');
|
|
27
26
|
var Form = require('@bigbinary/neetoui/formik/Form');
|
|
27
|
+
require('@bigbinary/neeto-commons-frontend/react-utils/withT');
|
|
28
28
|
require('@bigbinary/neeto-editor/EditorContent');
|
|
29
29
|
require('@bigbinary/neetoui/Button');
|
|
30
30
|
require('./index-JY2zVpnv.js');
|
|
@@ -185,10 +185,18 @@ var ReplyToField = function ReplyToField(_ref) {
|
|
|
185
185
|
});
|
|
186
186
|
};
|
|
187
187
|
|
|
188
|
-
var SendToField =
|
|
189
|
-
var
|
|
188
|
+
var SendToField = function SendToField(_ref) {
|
|
189
|
+
var showBccField = _ref.showBccField,
|
|
190
|
+
showCcField = _ref.showCcField,
|
|
191
|
+
showSendToTextField = _ref.showSendToTextField;
|
|
192
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
193
|
+
t = _useTranslation.t;
|
|
194
|
+
if (!showSendToTextField && !showBccField && !showCcField) return null;
|
|
190
195
|
return /*#__PURE__*/jsxRuntime.jsx(SendToFields, {
|
|
191
196
|
showCcBccButton: true,
|
|
197
|
+
showBccField: showSendToTextField ? false : showBccField,
|
|
198
|
+
showCcField: showSendToTextField ? false : showCcField,
|
|
199
|
+
showSendToField: showSendToTextField,
|
|
192
200
|
bccInputProps: {
|
|
193
201
|
label: t("neetoMolecules.emailForm.labels.bCc"),
|
|
194
202
|
name: "sendToBcc",
|
|
@@ -207,7 +215,7 @@ var SendToField = withT(function (_ref) {
|
|
|
207
215
|
required: true
|
|
208
216
|
}
|
|
209
217
|
});
|
|
210
|
-
}
|
|
218
|
+
};
|
|
211
219
|
|
|
212
220
|
var SubjectField = function SubjectField(_ref) {
|
|
213
221
|
var name = _ref.name,
|
|
@@ -295,7 +303,9 @@ var EmailForm = function EmailForm(_ref) {
|
|
|
295
303
|
var _useContext = React.useContext(EmailFormContext),
|
|
296
304
|
showSendToField = _useContext.showSendToField,
|
|
297
305
|
showSendToAsRadio = _useContext.showSendToAsRadio,
|
|
298
|
-
showReplyToField = _useContext.showReplyToField
|
|
306
|
+
showReplyToField = _useContext.showReplyToField,
|
|
307
|
+
showCcField = _useContext.showCcField,
|
|
308
|
+
showBccField = _useContext.showBccField;
|
|
299
309
|
var _useFormikContext = formik.useFormikContext(),
|
|
300
310
|
setFieldValue = _useFormikContext.setFieldValue;
|
|
301
311
|
var sendToFieldOptions = (sendToFieldProps === null || sendToFieldProps === void 0 ? void 0 : sendToFieldProps.options) || sendToOptions;
|
|
@@ -342,7 +352,11 @@ var EmailForm = function EmailForm(_ref) {
|
|
|
342
352
|
key: value
|
|
343
353
|
});
|
|
344
354
|
})
|
|
345
|
-
}),
|
|
355
|
+
}), /*#__PURE__*/jsxRuntime.jsx(SendToField, {
|
|
356
|
+
showBccField: showBccField,
|
|
357
|
+
showCcField: showCcField,
|
|
358
|
+
showSendToTextField: showSendToTextField
|
|
359
|
+
}), showReplyToField && /*#__PURE__*/jsxRuntime.jsx(ReplyToField, _objectSpread$1({
|
|
346
360
|
options: replyToOptions
|
|
347
361
|
}, replyToFieldProps)), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
348
362
|
className: "w-full",
|
|
@@ -399,6 +413,10 @@ var EmailFormProvider = function EmailFormProvider(_ref) {
|
|
|
399
413
|
showReplyToField = _ref$showReplyToField === void 0 ? false : _ref$showReplyToField,
|
|
400
414
|
_ref$showSendToAsRadi = _ref.showSendToAsRadio,
|
|
401
415
|
showSendToAsRadio = _ref$showSendToAsRadi === void 0 ? false : _ref$showSendToAsRadi,
|
|
416
|
+
_ref$showCcField = _ref.showCcField,
|
|
417
|
+
showCcField = _ref$showCcField === void 0 ? false : _ref$showCcField,
|
|
418
|
+
_ref$showBccField = _ref.showBccField,
|
|
419
|
+
showBccField = _ref$showBccField === void 0 ? false : _ref$showBccField,
|
|
402
420
|
_ref$maxEmails = _ref.maxEmails,
|
|
403
421
|
maxEmails = _ref$maxEmails === void 0 ? 10 : _ref$maxEmails;
|
|
404
422
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
@@ -407,7 +425,9 @@ var EmailFormProvider = function EmailFormProvider(_ref) {
|
|
|
407
425
|
value: {
|
|
408
426
|
showSendToField: showSendToField,
|
|
409
427
|
showSendToAsRadio: showSendToAsRadio,
|
|
410
|
-
showReplyToField: showReplyToField
|
|
428
|
+
showReplyToField: showReplyToField,
|
|
429
|
+
showCcField: showCcField,
|
|
430
|
+
showBccField: showBccField
|
|
411
431
|
},
|
|
412
432
|
children: /*#__PURE__*/jsxRuntime.jsx(Form, {
|
|
413
433
|
formikProps: _objectSpread({
|