@bigbinary/neeto-molecules 5.3.12 → 5.3.14

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.
Files changed (56) hide show
  1. package/dist/FloatingActionMenu.js +94 -97
  2. package/dist/FloatingActionMenu.js.map +1 -1
  3. package/dist/cjs/FloatingActionMenu.js +93 -96
  4. package/dist/cjs/FloatingActionMenu.js.map +1 -1
  5. package/dist/cjs/urls-CC4qs7hW.js +11 -0
  6. package/dist/cjs/urls-CC4qs7hW.js.map +1 -0
  7. package/dist/cjs/v2/Builder.js +17 -13
  8. package/dist/cjs/v2/Builder.js.map +1 -1
  9. package/dist/cjs/v2/Engagements.js +1 -1
  10. package/dist/cjs/v2/Engagements.js.map +1 -1
  11. package/dist/cjs/v2/FloatingActionMenu.js +69 -73
  12. package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
  13. package/dist/urls-CN1MpSwF.js +9 -0
  14. package/dist/urls-CN1MpSwF.js.map +1 -0
  15. package/dist/v2/Builder.js +17 -13
  16. package/dist/v2/Builder.js.map +1 -1
  17. package/dist/v2/Engagements.js +1 -1
  18. package/dist/v2/Engagements.js.map +1 -1
  19. package/dist/v2/FloatingActionMenu.js +70 -74
  20. package/dist/v2/FloatingActionMenu.js.map +1 -1
  21. package/package.json +1 -1
  22. package/src/translations/ar.json +3 -1
  23. package/src/translations/bg.json +3 -1
  24. package/src/translations/ca.json +3 -1
  25. package/src/translations/cs.json +3 -1
  26. package/src/translations/da.json +3 -1
  27. package/src/translations/de.json +3 -1
  28. package/src/translations/es-MX.json +3 -1
  29. package/src/translations/es.json +3 -1
  30. package/src/translations/et.json +3 -1
  31. package/src/translations/fi.json +3 -1
  32. package/src/translations/fil.json +3 -1
  33. package/src/translations/fr.json +3 -1
  34. package/src/translations/he.json +3 -1
  35. package/src/translations/hi.json +3 -1
  36. package/src/translations/hr.json +3 -1
  37. package/src/translations/hu.json +3 -1
  38. package/src/translations/id.json +3 -1
  39. package/src/translations/it.json +3 -1
  40. package/src/translations/ja.json +3 -1
  41. package/src/translations/ko.json +3 -1
  42. package/src/translations/nl.json +3 -1
  43. package/src/translations/pl.json +3 -1
  44. package/src/translations/pt-BR.json +3 -1
  45. package/src/translations/pt.json +3 -1
  46. package/src/translations/ro.json +3 -1
  47. package/src/translations/ru.json +3 -1
  48. package/src/translations/sk.json +3 -1
  49. package/src/translations/sl.json +3 -1
  50. package/src/translations/sv.json +3 -1
  51. package/src/translations/th.json +3 -1
  52. package/src/translations/tr.json +3 -1
  53. package/src/translations/uk.json +3 -1
  54. package/src/translations/vi.json +3 -1
  55. package/src/translations/zh-CN.json +3 -1
  56. package/src/translations/zh-TW.json +3 -1
@@ -710,17 +710,19 @@ var ElementsPanel = function ElementsPanel(_ref) {
710
710
  }, [isLargerScreen]);
711
711
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
712
712
  children: [!isElementsPanelCollapsed && /*#__PURE__*/jsxRuntime.jsx("div", {
713
- className: "fixed inset-0 z-[101] hidden bg-black/40 max-[767px]:block",
713
+ className: "fixed inset-0 z-50 hidden bg-black/40 max-[767px]:block",
714
714
  onClick: function onClick() {
715
715
  setIsElementsPanelCollapsed(!isElementsPanelCollapsed);
716
716
  }
717
717
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
718
718
  className: classnames(
719
- // z-[101] only where the panel is a fixed slide-in over a backdrop
720
- // (mobile). At larger widths it's an in-flow column; keeping z-[101]
721
- // there creates a stacking context that traps portaled overlays
722
- // (dropdowns/popovers, which sit at z-50) behind the panel.
723
- "relative h-full transition-all duration-150 motion-reduce:transition-none max-[767px]:fixed max-[767px]:start-0 max-[767px]:top-0 max-[767px]:z-[101] max-[767px]:transition-none max-[576px]:h-full",
719
+ // On mobile the panel is a fixed slide-in over a backdrop; at larger
720
+ // widths it's an in-flow column with no stacking context. Pin the
721
+ // mobile overlay to z-50 (the shared overlay tier), NOT above it:
722
+ // Radix portals (dropdowns/popovers) also render at z-50 and are
723
+ // appended later in the DOM, so they must win. A higher value (even
724
+ // z-[51]) makes the panel swallow every dropdown anchored inside it.
725
+ "relative h-full transition-all duration-150 motion-reduce:transition-none max-[767px]:fixed max-[767px]:start-0 max-[767px]:top-0 max-[767px]:z-50 max-[767px]:transition-none max-[576px]:h-full",
724
726
  // The width utilities live on the open branch so a collapsed panel is
725
727
  // truly zero-width at every breakpoint. Keeping the mobile
726
728
  // full-width utilities (max-[576px]:w-full) unconditional would let
@@ -730,7 +732,7 @@ var ElementsPanel = function ElementsPanel(_ref) {
730
732
  children: [/*#__PURE__*/jsxRuntime.jsx("div", {
731
733
  className: "h-full w-full overflow-hidden",
732
734
  children: /*#__PURE__*/jsxRuntime.jsx("div", {
733
- className: classnames("border-border flex h-full w-[360px] min-w-[360px] flex-col border-e max-[576px]:w-full max-[576px]:min-w-0 max-[576px]:pt-6 min-[768px]:max-[1279px]:w-[288px] min-[768px]:max-[1279px]:min-w-[288px]", visiblePanel === PANEL_TYPES.SUMMARY ? "bg-background" : "bg-muted/40"),
735
+ className: "border-border bg-background flex h-full w-[360px] min-w-[360px] flex-col border-e max-[576px]:w-full max-[576px]:min-w-0 max-[576px]:pt-6 min-[768px]:max-[1279px]:w-[288px] min-[768px]:max-[1279px]:min-w-[288px]",
734
736
  onClick: function onClick(event) {
735
737
  return event.stopPropagation();
736
738
  },
@@ -845,15 +847,17 @@ var PropertiesPanel = function PropertiesPanel(_ref) {
845
847
  };
846
848
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
847
849
  children: [!isPropertiesPanelCollapsed && /*#__PURE__*/jsxRuntime.jsx("div", {
848
- className: "fixed inset-0 z-[101] hidden bg-black/40 max-[1279px]:block",
850
+ className: "fixed inset-0 z-50 hidden bg-black/40 max-[1279px]:block",
849
851
  onClick: handleCollapsePanel
850
852
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
851
853
  className: classnames(
852
- // z-[101] only where the panel is a fixed slide-in over a backdrop
853
- // (below 1280px). As an in-flow column it must not create a stacking
854
- // context, or portaled overlays (dropdowns/popovers at z-50) render
855
- // behind the panel.
856
- "border-border relative h-full border-s transition-all duration-150 motion-reduce:transition-none max-[1279px]:fixed max-[1279px]:end-0 max-[1279px]:top-0 max-[1279px]:z-[101] max-[1279px]:transition-none max-[576px]:h-full",
854
+ // Below 1280px the panel is a fixed slide-in over a backdrop; above
855
+ // it it's an in-flow column with no stacking context. Pin the mobile
856
+ // overlay to z-50 (the shared overlay tier), NOT above it: Radix
857
+ // portals (dropdowns/popovers) also render at z-50 and are appended
858
+ // later in the DOM, so they must win. A higher value (even z-[51])
859
+ // makes the panel swallow every dropdown anchored inside it.
860
+ "border-border relative h-full border-s transition-all duration-150 motion-reduce:transition-none max-[1279px]:fixed max-[1279px]:end-0 max-[1279px]:top-0 max-[1279px]:z-50 max-[1279px]:transition-none max-[576px]:h-full",
857
861
  // The width utilities live on the open branch so a collapsed panel is
858
862
  // truly zero-width at every breakpoint. Keeping the mobile
859
863
  // full-width utilities (max-[576px]:w-full) unconditional would let
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/arrow-down.mjs","../../../node_modules/lucide-react/dist/esm/icons/zap.mjs","../../../src/v2/components/Builder/constants.js","../../../src/v2/components/Builder/ElementsPanel/ElementsList/NoResults.jsx","../../../src/v2/components/Builder/ElementsPanel/ElementsList/Element.jsx","../../../src/v2/components/Builder/ElementsPanel/ElementsList/ElementContainer.jsx","../../../src/v2/components/Builder/ElementsPanel/ElementsList/Section.jsx","../../../src/v2/components/Builder/ElementsPanel/ElementsList/SectionsContainer.jsx","../../../src/v2/components/Builder/ElementsPanel/ElementsList/TitleBar.jsx","../../../src/v2/components/Builder/Body.jsx","../../../src/v2/components/Builder/ElementsPanel/ElementsList/index.jsx","../../../src/v2/components/Builder/ElementsPanel/SelectedElementsList/SelectedElement.jsx","../../../src/v2/components/Builder/ElementsPanel/SelectedElementsList/TitleBar.jsx","../../../src/v2/components/Builder/ElementsPanel/SelectedElementsList/index.jsx","../../../src/v2/components/Builder/ElementsPanel/index.jsx","../../../src/v2/components/Builder/PropertiesPanel/EmptyProperty.jsx","../../../src/v2/components/Builder/PropertiesPanel/Skeleton.jsx","../../../src/v2/components/Builder/PropertiesPanel/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }],\n [\"path\", { d: \"m19 12-7 7-7-7\", key: \"1idqje\" }]\n];\nconst ArrowDown = createLucideIcon(\"arrow-down\", __iconNode);\n\nexport { __iconNode, ArrowDown as default };\n//# sourceMappingURL=arrow-down.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\",\n key: \"1xq2db\"\n }\n ]\n];\nconst Zap = createLucideIcon(\"zap\", __iconNode);\n\nexport { __iconNode, Zap as default };\n//# sourceMappingURL=zap.mjs.map\n","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 { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst NoResults = withT(({ t }) => (\n <Typography\n className=\"flex h-full items-center justify-center text-base\"\n weight=\"bold\"\n >\n {t(\"neetoMolecules.builderSidebar.noElements\")}\n </Typography>\n));\n\nexport default memo(NoResults);\n","import { Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { GripVertical } from \"lucide-react\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\n\nconst Element = ({\n label,\n description,\n tooltip,\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 const tooltipContent = isCreatable\n ? tooltip\n : disabledElementTooltip?.(label);\n\n return (\n <Tooltip\n content={tooltipContent}\n disabled={isDraggingOver || !tooltipContent}\n position=\"top\"\n >\n <div\n data-testid={`add-${joinHyphenCase(label)}-element`}\n className={classnames(\n \"border-border bg-background hover:bg-muted relative mb-2 flex items-center gap-2 rounded-lg border p-3 transition-all duration-300 ease-in-out\",\n {\n \"bg-muted cursor-not-allowed\": !isCreatable,\n \"cursor-pointer\": isCreatable,\n \"opacity-50\": isPlaceholder,\n \"h-10\": !description,\n }\n )}\n onClick={handleClick}\n >\n {!isDragDisabled && (\n <span\n className=\"absolute end-full top-1/2 me-0.5 flex-shrink-0 -translate-y-1/2 cursor-grab\"\n data-testid=\"drag-handle\"\n >\n <GripVertical\n className=\"text-muted-foreground hover:text-foreground transition-all duration-300 ease-in-out\"\n size={16}\n />\n </span>\n )}\n <div className=\"flex flex-grow items-center gap-2\">\n {Icon && (\n <Icon\n className=\"text-muted-foreground size-5\"\n data-testid=\"form-icon\"\n />\n )}\n <div className=\"flex min-w-0 flex-col\">\n <Typography className=\"leading-4\" variant=\"body2\">\n {label}\n </Typography>\n {description && (\n <Typography\n className=\"mt-0.5\"\n color=\"muted\"\n data-testid=\"element-description\"\n variant=\"body3\"\n >\n {description}\n </Typography>\n )}\n </div>\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 setVisiblePanel,\n}) => {\n const isCreatableElement =\n typeof isCreatable === \"function\" ? isCreatable(element.value) : true;\n\n if (isDragDisabled) {\n return (\n <Element\n {...{\n ...element,\n disabledElementTooltip,\n isAddingNewElement,\n isDragDisabled,\n setVisiblePanel,\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 setVisiblePanel,\n }}\n isCreatable={isCreatableElement}\n onClick={() => onSelect(element)}\n />\n </div>\n {snapshot.isDragging && (\n <Element\n disabledElementTooltip={null}\n {...{ ...element, isAddingNewElement, setVisiblePanel }}\n isCreatable={false}\n onClick={noop}\n />\n )}\n </>\n )}\n </Draggable>\n );\n};\n\nexport default ElementContainer;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\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 setVisiblePanel,\n}) => {\n if (isEmpty(elements)) {\n return null;\n }\n\n return (\n <>\n {title && (\n <Typography\n className=\"mt-5 mb-2\"\n color=\"muted\"\n variant=\"body3\"\n weight=\"semibold\"\n >\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 setVisiblePanel,\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\";\nimport { isEmpty } from \"ramda\";\n\nimport NoResults from \"./NoResults\";\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 setVisiblePanel,\n}) => {\n if (isEmpty(filteredSections)) {\n return <NoResults />;\n }\n\n if (isDragElementsDisabled) {\n return (\n <>\n {filteredSections.map(section => (\n <Section\n {...{\n isAddingNewElement,\n isDragElementsDisabled,\n onSelect,\n setVisiblePanel,\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 setVisiblePanel,\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 { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { X } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = withT(({ t, setVisiblePanel }) => (\n <div\n className=\"flex items-center justify-between p-6 pb-1\"\n data-testid=\"elements-panel-title\"\n >\n <Typography\n className=\"leading-normal\"\n data-testid=\"elements-list-title\"\n variant=\"h5\"\n >\n {t(\"neetoMolecules.builderSidebar.addNewElement\")}\n </Typography>\n <Button\n data-testid=\"cancel-button\"\n icon={X}\n size=\"icon\"\n variant=\"ghost\"\n onClick={() => setVisiblePanel(PANEL_TYPES.SUMMARY)}\n />\n </div>\n));\n\nexport default TitleBar;\n","import classnames from \"classnames\";\n\nconst Body = ({ size, ...props }) => (\n <div\n {...props}\n className={classnames(\n \"min-h-0 w-full grow overflow-y-auto px-6 pt-0 pb-2\",\n size === \"small\"\n ? \"h-[calc(100%_-_4.375rem_-_2.5rem)]\"\n : \"h-[calc(100%_-_4.375rem)]\"\n )}\n />\n);\n\nexport default Body;\n","import { useMemo, useState } from \"react\";\n\nimport { Input, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Search } from \"lucide-react\";\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils/general\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SectionsContainer from \"./SectionsContainer\";\nimport TitleBar from \"./TitleBar\";\n\nimport Body from \"../../Body\";\n\nconst ElementList = ({\n setVisiblePanel,\n elementSections = [],\n onSelect,\n isDragElementsDisabled,\n isAddingNewElement,\n}) => {\n const { t } = useTranslation();\n const [searchString, setSearchString] = useState(\"\");\n\n const filteredSections = useMemo(() => {\n let elementIndex = 0;\n const query = searchString.toLowerCase();\n\n const matchesSearch = element => {\n if (!query) return true;\n\n const label = element.label?.toLowerCase() ?? \"\";\n const description = element.description?.toLowerCase() ?? \"\";\n const aliases = (element.aliases ?? []).map(alias => alias.toLowerCase());\n\n return (\n label.includes(query) ||\n description.includes(query) ||\n aliases.some(alias => alias.includes(query))\n );\n };\n\n return elementSections\n .map(section => ({\n ...section,\n elements: section.elements\n .filter(matchesSearch)\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 {...{ setVisiblePanel }} />\n <div className=\"mb-3 px-6\">\n <Typography className=\"mb-3\" color=\"muted\" variant=\"body3\">\n {t(\"neetoMolecules.builderSidebar.addNewElementDescription\")}\n </Typography>\n <Input\n autoFocus\n data-testid=\"elements-panel-search-field\"\n placeholder={t(\"neetoMolecules.builderSidebar.searchElements\")}\n prefix={<Search />}\n type=\"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 setVisiblePanel,\n }}\n />\n </Body>\n </>\n );\n};\n\nexport default ElementList;\n","import { memo, useEffect, useRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { GripVertical } from \"lucide-react\";\nimport { noop, findById, isNotEmpty, hyphenate, isPresent } from \"neetocist\";\nimport { mergeRight } from \"ramda\";\n\nimport MoreDropdown from \"../../../MoreDropdown\";\n\nconst SelectedElement = ({\n element,\n isActive,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\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 \"border-border bg-background hover:bg-muted relative mb-2 flex h-10 cursor-pointer items-center gap-2 rounded-lg border py-3 ps-3 pe-1 transition-all duration-300 ease-in-out\",\n {\n \"border-primary! [outline:0.5px_solid_var(--primary)]\": isActive,\n },\n { \"bg-destructive/10 hover:bg-destructive/10\": error }\n )}\n onClick={isSelectable ? onClick : noop}\n >\n {isDraggable && (\n <span\n className=\"absolute end-full top-1/2 me-0.5 flex-shrink-0 -translate-y-1/2 cursor-grab\"\n data-testid=\"drag-handle\"\n >\n <GripVertical\n className=\"text-muted-foreground hover:text-foreground transition-all duration-300 ease-in-out\"\n size={16}\n />\n </span>\n )}\n <div\n className=\"flex flex-grow items-center gap-2 overflow-hidden\"\n data-testid=\"new-element-field\"\n >\n {Icon && (\n <div className=\"flex-shrink-0\">\n <Icon className=\"text-muted-foreground size-5\" />\n </div>\n )}\n <Typography\n className=\"truncate leading-snug\"\n data-testid={`${hyphenate(element.label, \"new-element\")}-label`}\n variant=\"body2\"\n >\n {element.label}\n </Typography>\n </div>\n {shouldShowDropdown && (\n <MoreDropdown\n {...{ menuItems }}\n dropdownProps={{ className: \"w-max\" }}\n isDisabled={element.isPending || isSelectedElementActionsDisabled}\n dropdownButtonProps={{\n onClick: e => e.stopPropagation(),\n className: \"min-h-0 flex-shrink-0\",\n \"data-testid\": `${hyphenate(element.label)}-more-dropdown`,\n loading: element.isPending,\n ...(isPresent(selectedElementActionsTooltipProps) && {\n tooltipProps: selectedElementActionsTooltipProps,\n }),\n }}\n />\n )}\n </div>\n );\n};\n\nexport default memo(SelectedElement);\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Plus, Zap } from \"lucide-react\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = ({\n setVisiblePanel,\n isLoading,\n showElementsFillButton,\n isAddingAllElements,\n addAllElements,\n isAddingNewElement,\n addNewElement,\n addNewElementLabel,\n}) => {\n const { t } = useTranslation();\n\n const handleAddNewElementClick = () => {\n if (typeof addNewElement === \"function\") addNewElement();\n else setVisiblePanel(PANEL_TYPES.ELEMENTS);\n };\n\n return (\n <div\n className=\"flex items-center justify-between p-6 pb-1\"\n data-testid=\"selected-elements-title\"\n >\n <Typography\n className=\"leading-normal\"\n data-testid=\"elements-title\"\n variant=\"h5\"\n >\n {t(\"neetoMolecules.builderSidebar.element\", PLURAL)}\n </Typography>\n <div className=\"flex items-center justify-between gap-x-2\">\n <Button\n data-testid=\"add-element-button\"\n disabled={isLoading}\n icon={Plus}\n iconPosition=\"left\"\n loading={isAddingNewElement}\n size=\"sm\"\n variant=\"link\"\n label={\n addNewElementLabel ||\n t(\"neetoMolecules.builderSidebar.addNewElement\")\n }\n onClick={handleAddNewElementClick}\n />\n {showElementsFillButton && (\n <Button\n data-testid=\"add-all-elements-button\"\n disabled={isAddingAllElements}\n icon={Zap}\n loading={isAddingAllElements}\n size=\"icon-sm\"\n variant=\"secondary\"\n tooltipProps={{\n content: t(\"neetoMolecules.builderSidebar.addAllElements\"),\n }}\n onClick={addAllElements}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default TitleBar;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Draggable, Droppable } from \"@hello-pangea/dnd\";\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SelectedElement from \"./SelectedElement\";\nimport TitleBar from \"./TitleBar\";\n\nimport Body from \"../../Body\";\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 fixedLastElement,\n fixedFirstElement,\n anchoredElementIds,\n selectedElementActions,\n addAllElements,\n isAddingAllElements,\n showElementsFillButton,\n isAddingNewElement,\n addNewElement,\n addNewElementLabel,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n renderElementsCount,\n}) => {\n const renderSelectedElement = (element, index = 0) => (\n <SelectedElement\n {...{\n element,\n handleSelectElement,\n index,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n }}\n isSelectable\n actions={element.actions}\n isActive={selectedElementId === element.id}\n key={element.id || index}\n data-testid={`welcome-element${\n Array.isArray(fixedFirstElement) ? `-${index + 1}` : \"\"\n }`}\n />\n );\n\n const { t } = useTranslation();\n\n const checkIsVisible = element => isElementVisible?.(element) ?? true;\n const visibleCount =\n typeof renderElementsCount === \"function\"\n ? (selectedElements ?? []).filter(checkIsVisible).length\n : 0;\n\n return (\n <>\n <TitleBar\n {...{\n addAllElements,\n addNewElement,\n addNewElementLabel,\n isAddingAllElements,\n isAddingNewElement,\n setVisiblePanel,\n showElementsFillButton,\n }}\n />\n <Body data-testid=\"selected-elements-container\">\n <Typography className=\"mb-3\" color=\"muted\" variant=\"body3\">\n {t(\"neetoMolecules.builderSidebar.elementsReorderDescription\")}\n </Typography>\n {typeof renderElementsCount === \"function\" &&\n renderElementsCount(visibleCount)}\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\n ?.filter(checkIsVisible)\n .map((element, index) => {\n const isAnchoredElement = anchoredElementIds.includes(\n element.id\n );\n\n const isDragDisabled = isReorderDisabled || isAnchoredElement;\n\n const key =\n element.id ?? `element-${joinHyphenCase(element.label)}`;\n\n return (\n <Draggable\n {...{ index, isDragDisabled }}\n draggableId={element.id ?? `element-${index}`}\n key={key}\n >\n {({ innerRef, draggableProps, dragHandleProps }) => (\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n >\n <SelectedElement\n {...{\n element,\n handleSelectElement,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n }}\n isSelectable\n actions={selectedElementActions}\n isActive={selectedElementId === element.id}\n isDraggable={!isDragDisabled}\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 {...{\n handleSelectElement,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n }}\n isSelectable\n actions={fixedLastElement.actions}\n data-testid=\"submit-button-element\"\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 { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { PanelLeftClose } from \"lucide-react\";\nimport { noop } from \"neetocist\";\nimport useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\n\nimport ElementList from \"./ElementsList\";\nimport SelectedElementsList from \"./SelectedElementsList\";\n\nimport { PANEL_TYPES } from \"../constants\";\n\nconst ElementsPanel = ({\n elementSections,\n selectedElements = [],\n handleAddElement,\n isElementVisible,\n fixedFirstElement,\n fixedLastElement,\n anchoredElementIds = [],\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 addNewElement,\n addNewElementLabel,\n isSelectedElementActionsDisabled = false,\n selectedElementActionsTooltipProps = {},\n renderElementsCount,\n}) => {\n const [visiblePanel, setVisiblePanel] = useState(PANEL_TYPES.SUMMARY);\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] =\n useState(!isLargerScreen);\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"fixed inset-0 z-[101] hidden bg-black/40 max-[767px]:block\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\n // z-[101] only where the panel is a fixed slide-in over a backdrop\n // (mobile). At larger widths it's an in-flow column; keeping z-[101]\n // there creates a stacking context that traps portaled overlays\n // (dropdowns/popovers, which sit at z-50) behind the panel.\n \"relative h-full transition-all duration-150 motion-reduce:transition-none max-[767px]:fixed max-[767px]:start-0 max-[767px]:top-0 max-[767px]:z-[101] max-[767px]:transition-none max-[576px]:h-full\",\n // The width utilities live on the open branch so a collapsed panel is\n // truly zero-width at every breakpoint. Keeping the mobile\n // full-width utilities (max-[576px]:w-full) unconditional would let\n // them override w-0 inside their media query, leaving the collapsed\n // panel as a full-screen fixed overlay on mobile.\n isElementsPanelCollapsed\n ? \"w-0 max-w-0 min-w-0\"\n : \"w-[360px] min-w-[360px] max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0 min-[768px]:max-[1279px]:w-[288px] min-[768px]:max-[1279px]:min-w-[288px]\"\n )}\n >\n <div className=\"h-full w-full overflow-hidden\">\n <div\n className={classnames(\n \"border-border flex h-full w-[360px] min-w-[360px] flex-col border-e max-[576px]:w-full max-[576px]:min-w-0 max-[576px]:pt-6 min-[768px]:max-[1279px]:w-[288px] min-[768px]:max-[1279px]:min-w-[288px]\",\n visiblePanel === PANEL_TYPES.SUMMARY\n ? \"bg-background\"\n : \"bg-muted/40\"\n )}\n onClick={event => event.stopPropagation()}\n >\n {visiblePanel === PANEL_TYPES.SUMMARY ? (\n <SelectedElementsList\n {...{\n addAllElements,\n addNewElement,\n addNewElementLabel,\n anchoredElementIds,\n fixedFirstElement,\n fixedLastElement,\n handleSelectElement,\n isAddingAllElements,\n isAddingNewElement,\n isElementVisible,\n isReorderDisabled,\n isSelectedElementActionsDisabled,\n renderElementsCount,\n selectedElementActions,\n selectedElementActionsTooltipProps,\n selectedElementId,\n selectedElements,\n setVisiblePanel,\n showElementsFillButton,\n }}\n />\n ) : (\n <ElementList\n {...{\n elementSections,\n isAddingNewElement,\n isDragElementsDisabled,\n setVisiblePanel,\n }}\n onSelect={handleAddElement}\n />\n )}\n </div>\n </div>\n <Button\n icon={PanelLeftClose}\n size=\"icon\"\n variant=\"secondary\"\n className={classnames(\n \"absolute start-[calc(100%_+_8px)] top-2 shrink-0 transition-[color] duration-300 motion-reduce:transition-none max-[576px]:start-auto max-[576px]:end-6 min-[1024px]:pointer-events-none min-[1024px]:opacity-0\",\n isElementsPanelCollapsed\n ? \"-scale-x-100 max-[767px]:top-[109px] max-[576px]:start-2 max-[576px]:end-auto rtl:scale-x-100\"\n : \"rtl:-scale-x-100\"\n )}\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 * Optional inline description rendered below the element label.\n * Also considered by the elements-panel search filter.\n */\n description: PropTypes.string,\n /**\n * Optional hover tooltip shown on the element row when it is\n * creatable. Use this when the helper text should not affect\n * card height (descriptions render as a subtitle and can vary\n * row heights across element types).\n */\n tooltip: PropTypes.string,\n /**\n * Optional search aliases. The elements-panel search filter\n * matches these in addition to the label and description, so\n * legacy terms (e.g. \"paragraph\" for an element now called\n * \"Instructions\") continue to surface the correct element.\n */\n aliases: PropTypes.arrayOf(PropTypes.string),\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 * List of ids of elements that cannot be dragged.\n * Some specific elements can be dragged and dropped over them.\n */\n anchoredElementIds: PropTypes.arrayOf(PropTypes.string),\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 customize the label of the \"Add new element\" button.\n */\n addNewElementLabel: PropTypes.string,\n /**\n * Function that will be called when clicking on add new element button. If not provided, will default to showing the elements panel.\n */\n addNewElement: PropTypes.func,\n /**\n * Boolean to disable the selected element actions.\n */\n isSelectedElementActionsDisabled: PropTypes.bool,\n /**\n * Props to be passed to the tooltip component for selected element actions.\n */\n selectedElementActionsTooltipProps: PropTypes.object,\n /**\n * Render prop called with the visible elements count. When provided, its return value is rendered\n * below the reorder description (e.g. (count) => <Typography>{t('key', { count })}</Typography>).\n */\n renderElementsCount: PropTypes.func,\n};\n\nexport default ElementsPanel;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst EmptyProperty = withT(({ t }) => (\n <div className=\"flex flex-col gap-y-4\">\n <div className=\"bg-muted text-muted-foreground flex w-full flex-col items-center justify-center gap-y-2 rounded-lg px-16 py-8\">\n <Typography\n className=\"text-center leading-normal\"\n data-testid=\"build-page-text-label\"\n variant=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.noQuestionProperties\")}\n </Typography>\n </div>\n <div className=\"bg-muted h-40 w-full rounded-lg\" />\n <div className=\"bg-muted h-72 w-full rounded-lg\" />\n </div>\n));\n\nexport default EmptyProperty;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { ArrowDown } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst Skeleton = withT(({ t }) => (\n <div className=\"flex flex-col gap-y-4\">\n <div className=\"bg-muted h-12 w-full rounded-lg\" />\n <div className=\"bg-muted text-muted-foreground flex w-full flex-col items-center justify-center gap-y-2 rounded-lg px-16 py-8\">\n <Typography\n className=\"text-center leading-normal\"\n data-testid=\"build-page-text-label\"\n variant=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.emptyQuestionProperties\")}\n </Typography>\n <ArrowDown />\n </div>\n <div className=\"bg-muted h-40 w-full rounded-lg\" />\n <div className=\"bg-muted h-72 w-full rounded-lg\" />\n </div>\n));\n\nexport default Skeleton;\n","import { useEffect, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { X } from \"lucide-react\";\nimport useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\n\nimport EmptyProperty from \"./EmptyProperty\";\nimport Skeleton from \"./Skeleton\";\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] =\n useState(!isLargerScreen);\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=\"fixed inset-0 z-[101] hidden bg-black/40 max-[1279px]:block\"\n onClick={handleCollapsePanel}\n />\n )}\n <div\n className={classnames(\n // z-[101] only where the panel is a fixed slide-in over a backdrop\n // (below 1280px). As an in-flow column it must not create a stacking\n // context, or portaled overlays (dropdowns/popovers at z-50) render\n // behind the panel.\n \"border-border relative h-full border-s transition-all duration-150 motion-reduce:transition-none max-[1279px]:fixed max-[1279px]:end-0 max-[1279px]:top-0 max-[1279px]:z-[101] max-[1279px]:transition-none max-[576px]:h-full\",\n // The width utilities live on the open branch so a collapsed panel is\n // truly zero-width at every breakpoint. Keeping the mobile\n // full-width utilities (max-[576px]:w-full) unconditional would let\n // them override w-0 inside their media query, leaving the collapsed\n // panel as a full-screen fixed overlay on mobile.\n isPropertiesPanelCollapsed\n ? \"w-0 max-w-0 min-w-0\"\n : \"w-[420px] min-w-[420px] max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0\"\n )}\n >\n <div\n className=\"bg-background flex h-full w-full min-w-0 flex-col overflow-y-auto p-6 max-[1279px]:pt-12\"\n data-testid=\"properties-panel\"\n >\n {children ?? <Skeleton />}\n </div>\n {!isPropertiesPanelCollapsed && (\n <Button\n className=\"pointer-events-none absolute end-2 top-2 opacity-0 max-[1279px]:pointer-events-auto max-[1279px]:opacity-100\"\n icon={X}\n size=\"icon\"\n variant=\"secondary\"\n onClick={handleCollapsePanel}\n />\n )}\n </div>\n </>\n );\n};\n\nPropertiesPanel.EmptyProperty = EmptyProperty;\n\nexport default PropertiesPanel;\n"],"names":["__iconNode","createLucideIcon","PANEL_TYPES","SUMMARY","ELEMENTS","SELECTED_ELEMENTS_LIST_DROPPABLE_ID","ELEMENTS_LIST_DROPPABLE_ID","PREVIEW_CONTAINER_DROPPABLE_ID","DROPPABLE_TYPES","ELEMENT","SELECTED_ELEMENT","NoResults","withT","_ref","t","_jsx","Typography","className","weight","children","memo","Element","label","description","tooltip","Icon","icon","_ref$isCreatable","isCreatable","onClick","_ref$isDragDisabled","isDragDisabled","disabledElementTooltip","isPlaceholder","isDraggingOver","isAddingNewElement","handleClick","event","preventDefault","tooltipContent","Tooltip","content","disabled","position","_jsxs","concat","joinHyphenCase","classnames","GripVertical","size","variant","color","ElementContainer","index","element","onSelect","setVisiblePanel","isCreatableElement","value","_objectSpread","_createElement","Draggable","draggableId","key","provided","snapshot","_Fragment","ref","innerRef","draggableProps","dragHandleProps","style","isDragging","transform","noop","Section","title","elements","isDragElementsDisabled","isEmpty","map","elementIndex","SectionsContainer","filteredSections","section","Droppable","droppableId","type","TitleBar","Button","X","Body","props","_objectWithoutProperties","_excluded","ElementList","_ref$elementSections","elementSections","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","searchString","setSearchString","useMemo","query","toLowerCase","matchesSearch","_element$label$toLowe","_element$label","_element$description$","_element$description","_element$aliases","aliases","alias","includes","some","filter","assoc","isPresent","isNotEmpty","Input","autoFocus","placeholder","prefix","Search","onChange","withEventTargetValue","SelectedElement","isActive","isSelectedElementActionsDisabled","selectedElementActionsTooltipProps","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","dropdownProps","isDisabled","isPending","dropdownButtonProps","e","stopPropagation","loading","tooltipProps","isLoading","showElementsFillButton","isAddingAllElements","addAllElements","addNewElement","addNewElementLabel","handleAddNewElementClick","PLURAL","Plus","iconPosition","Zap","SelectedElementsList","isReorderDisabled","isElementVisible","selectedElementId","selectedElements","fixedLastElement","fixedFirstElement","anchoredElementIds","selectedElementActions","renderElementsCount","renderSelectedElement","arguments","length","undefined","Array","isArray","checkIsVisible","_isElementVisible","visibleCount","_ref2","droppableProps","_element$id","_element$id2","isAnchoredElement","_ref3","_element$id3","ElementsPanel","_ref$selectedElements","handleAddElement","_ref$anchoredElementI","_ref$isReorderDisable","_ref$isDragElementsDi","_ref$addAllElements","_ref$isAddingAllEleme","_ref$showElementsFill","_ref$isAddingNewEleme","_ref$isSelectedElemen","_ref$selectedElementA","visiblePanel","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState3","_useState4","isElementsPanelCollapsed","setIsElementsPanelCollapsed","PanelLeftClose","EmptyProperty","Skeleton","ArrowDown","PropertiesPanel","onClose","window","largeDesktop","innerWidth","isPropertiesPanelCollapsed","setIsPropertiesPanelCollapsed","handleCollapsePanel"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"Builder.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/arrow-down.mjs","../../../node_modules/lucide-react/dist/esm/icons/zap.mjs","../../../src/v2/components/Builder/constants.js","../../../src/v2/components/Builder/ElementsPanel/ElementsList/NoResults.jsx","../../../src/v2/components/Builder/ElementsPanel/ElementsList/Element.jsx","../../../src/v2/components/Builder/ElementsPanel/ElementsList/ElementContainer.jsx","../../../src/v2/components/Builder/ElementsPanel/ElementsList/Section.jsx","../../../src/v2/components/Builder/ElementsPanel/ElementsList/SectionsContainer.jsx","../../../src/v2/components/Builder/ElementsPanel/ElementsList/TitleBar.jsx","../../../src/v2/components/Builder/Body.jsx","../../../src/v2/components/Builder/ElementsPanel/ElementsList/index.jsx","../../../src/v2/components/Builder/ElementsPanel/SelectedElementsList/SelectedElement.jsx","../../../src/v2/components/Builder/ElementsPanel/SelectedElementsList/TitleBar.jsx","../../../src/v2/components/Builder/ElementsPanel/SelectedElementsList/index.jsx","../../../src/v2/components/Builder/ElementsPanel/index.jsx","../../../src/v2/components/Builder/PropertiesPanel/EmptyProperty.jsx","../../../src/v2/components/Builder/PropertiesPanel/Skeleton.jsx","../../../src/v2/components/Builder/PropertiesPanel/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }],\n [\"path\", { d: \"m19 12-7 7-7-7\", key: \"1idqje\" }]\n];\nconst ArrowDown = createLucideIcon(\"arrow-down\", __iconNode);\n\nexport { __iconNode, ArrowDown as default };\n//# sourceMappingURL=arrow-down.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\",\n key: \"1xq2db\"\n }\n ]\n];\nconst Zap = createLucideIcon(\"zap\", __iconNode);\n\nexport { __iconNode, Zap as default };\n//# sourceMappingURL=zap.mjs.map\n","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 { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst NoResults = withT(({ t }) => (\n <Typography\n className=\"flex h-full items-center justify-center text-base\"\n weight=\"bold\"\n >\n {t(\"neetoMolecules.builderSidebar.noElements\")}\n </Typography>\n));\n\nexport default memo(NoResults);\n","import { Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { GripVertical } from \"lucide-react\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\n\nconst Element = ({\n label,\n description,\n tooltip,\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 const tooltipContent = isCreatable\n ? tooltip\n : disabledElementTooltip?.(label);\n\n return (\n <Tooltip\n content={tooltipContent}\n disabled={isDraggingOver || !tooltipContent}\n position=\"top\"\n >\n <div\n data-testid={`add-${joinHyphenCase(label)}-element`}\n className={classnames(\n \"border-border bg-background hover:bg-muted relative mb-2 flex items-center gap-2 rounded-lg border p-3 transition-all duration-300 ease-in-out\",\n {\n \"bg-muted cursor-not-allowed\": !isCreatable,\n \"cursor-pointer\": isCreatable,\n \"opacity-50\": isPlaceholder,\n \"h-10\": !description,\n }\n )}\n onClick={handleClick}\n >\n {!isDragDisabled && (\n <span\n className=\"absolute end-full top-1/2 me-0.5 flex-shrink-0 -translate-y-1/2 cursor-grab\"\n data-testid=\"drag-handle\"\n >\n <GripVertical\n className=\"text-muted-foreground hover:text-foreground transition-all duration-300 ease-in-out\"\n size={16}\n />\n </span>\n )}\n <div className=\"flex flex-grow items-center gap-2\">\n {Icon && (\n <Icon\n className=\"text-muted-foreground size-5\"\n data-testid=\"form-icon\"\n />\n )}\n <div className=\"flex min-w-0 flex-col\">\n <Typography className=\"leading-4\" variant=\"body2\">\n {label}\n </Typography>\n {description && (\n <Typography\n className=\"mt-0.5\"\n color=\"muted\"\n data-testid=\"element-description\"\n variant=\"body3\"\n >\n {description}\n </Typography>\n )}\n </div>\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 setVisiblePanel,\n}) => {\n const isCreatableElement =\n typeof isCreatable === \"function\" ? isCreatable(element.value) : true;\n\n if (isDragDisabled) {\n return (\n <Element\n {...{\n ...element,\n disabledElementTooltip,\n isAddingNewElement,\n isDragDisabled,\n setVisiblePanel,\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 setVisiblePanel,\n }}\n isCreatable={isCreatableElement}\n onClick={() => onSelect(element)}\n />\n </div>\n {snapshot.isDragging && (\n <Element\n disabledElementTooltip={null}\n {...{ ...element, isAddingNewElement, setVisiblePanel }}\n isCreatable={false}\n onClick={noop}\n />\n )}\n </>\n )}\n </Draggable>\n );\n};\n\nexport default ElementContainer;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\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 setVisiblePanel,\n}) => {\n if (isEmpty(elements)) {\n return null;\n }\n\n return (\n <>\n {title && (\n <Typography\n className=\"mt-5 mb-2\"\n color=\"muted\"\n variant=\"body3\"\n weight=\"semibold\"\n >\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 setVisiblePanel,\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\";\nimport { isEmpty } from \"ramda\";\n\nimport NoResults from \"./NoResults\";\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 setVisiblePanel,\n}) => {\n if (isEmpty(filteredSections)) {\n return <NoResults />;\n }\n\n if (isDragElementsDisabled) {\n return (\n <>\n {filteredSections.map(section => (\n <Section\n {...{\n isAddingNewElement,\n isDragElementsDisabled,\n onSelect,\n setVisiblePanel,\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 setVisiblePanel,\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 { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { X } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = withT(({ t, setVisiblePanel }) => (\n <div\n className=\"flex items-center justify-between p-6 pb-1\"\n data-testid=\"elements-panel-title\"\n >\n <Typography\n className=\"leading-normal\"\n data-testid=\"elements-list-title\"\n variant=\"h5\"\n >\n {t(\"neetoMolecules.builderSidebar.addNewElement\")}\n </Typography>\n <Button\n data-testid=\"cancel-button\"\n icon={X}\n size=\"icon\"\n variant=\"ghost\"\n onClick={() => setVisiblePanel(PANEL_TYPES.SUMMARY)}\n />\n </div>\n));\n\nexport default TitleBar;\n","import classnames from \"classnames\";\n\nconst Body = ({ size, ...props }) => (\n <div\n {...props}\n className={classnames(\n \"min-h-0 w-full grow overflow-y-auto px-6 pt-0 pb-2\",\n size === \"small\"\n ? \"h-[calc(100%_-_4.375rem_-_2.5rem)]\"\n : \"h-[calc(100%_-_4.375rem)]\"\n )}\n />\n);\n\nexport default Body;\n","import { useMemo, useState } from \"react\";\n\nimport { Input, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Search } from \"lucide-react\";\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils/general\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SectionsContainer from \"./SectionsContainer\";\nimport TitleBar from \"./TitleBar\";\n\nimport Body from \"../../Body\";\n\nconst ElementList = ({\n setVisiblePanel,\n elementSections = [],\n onSelect,\n isDragElementsDisabled,\n isAddingNewElement,\n}) => {\n const { t } = useTranslation();\n const [searchString, setSearchString] = useState(\"\");\n\n const filteredSections = useMemo(() => {\n let elementIndex = 0;\n const query = searchString.toLowerCase();\n\n const matchesSearch = element => {\n if (!query) return true;\n\n const label = element.label?.toLowerCase() ?? \"\";\n const description = element.description?.toLowerCase() ?? \"\";\n const aliases = (element.aliases ?? []).map(alias => alias.toLowerCase());\n\n return (\n label.includes(query) ||\n description.includes(query) ||\n aliases.some(alias => alias.includes(query))\n );\n };\n\n return elementSections\n .map(section => ({\n ...section,\n elements: section.elements\n .filter(matchesSearch)\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 {...{ setVisiblePanel }} />\n <div className=\"mb-3 px-6\">\n <Typography className=\"mb-3\" color=\"muted\" variant=\"body3\">\n {t(\"neetoMolecules.builderSidebar.addNewElementDescription\")}\n </Typography>\n <Input\n autoFocus\n data-testid=\"elements-panel-search-field\"\n placeholder={t(\"neetoMolecules.builderSidebar.searchElements\")}\n prefix={<Search />}\n type=\"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 setVisiblePanel,\n }}\n />\n </Body>\n </>\n );\n};\n\nexport default ElementList;\n","import { memo, useEffect, useRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { GripVertical } from \"lucide-react\";\nimport { noop, findById, isNotEmpty, hyphenate, isPresent } from \"neetocist\";\nimport { mergeRight } from \"ramda\";\n\nimport MoreDropdown from \"../../../MoreDropdown\";\n\nconst SelectedElement = ({\n element,\n isActive,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\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 \"border-border bg-background hover:bg-muted relative mb-2 flex h-10 cursor-pointer items-center gap-2 rounded-lg border py-3 ps-3 pe-1 transition-all duration-300 ease-in-out\",\n {\n \"border-primary! [outline:0.5px_solid_var(--primary)]\": isActive,\n },\n { \"bg-destructive/10 hover:bg-destructive/10\": error }\n )}\n onClick={isSelectable ? onClick : noop}\n >\n {isDraggable && (\n <span\n className=\"absolute end-full top-1/2 me-0.5 flex-shrink-0 -translate-y-1/2 cursor-grab\"\n data-testid=\"drag-handle\"\n >\n <GripVertical\n className=\"text-muted-foreground hover:text-foreground transition-all duration-300 ease-in-out\"\n size={16}\n />\n </span>\n )}\n <div\n className=\"flex flex-grow items-center gap-2 overflow-hidden\"\n data-testid=\"new-element-field\"\n >\n {Icon && (\n <div className=\"flex-shrink-0\">\n <Icon className=\"text-muted-foreground size-5\" />\n </div>\n )}\n <Typography\n className=\"truncate leading-snug\"\n data-testid={`${hyphenate(element.label, \"new-element\")}-label`}\n variant=\"body2\"\n >\n {element.label}\n </Typography>\n </div>\n {shouldShowDropdown && (\n <MoreDropdown\n {...{ menuItems }}\n dropdownProps={{ className: \"w-max\" }}\n isDisabled={element.isPending || isSelectedElementActionsDisabled}\n dropdownButtonProps={{\n onClick: e => e.stopPropagation(),\n className: \"min-h-0 flex-shrink-0\",\n \"data-testid\": `${hyphenate(element.label)}-more-dropdown`,\n loading: element.isPending,\n ...(isPresent(selectedElementActionsTooltipProps) && {\n tooltipProps: selectedElementActionsTooltipProps,\n }),\n }}\n />\n )}\n </div>\n );\n};\n\nexport default memo(SelectedElement);\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Plus, Zap } from \"lucide-react\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = ({\n setVisiblePanel,\n isLoading,\n showElementsFillButton,\n isAddingAllElements,\n addAllElements,\n isAddingNewElement,\n addNewElement,\n addNewElementLabel,\n}) => {\n const { t } = useTranslation();\n\n const handleAddNewElementClick = () => {\n if (typeof addNewElement === \"function\") addNewElement();\n else setVisiblePanel(PANEL_TYPES.ELEMENTS);\n };\n\n return (\n <div\n className=\"flex items-center justify-between p-6 pb-1\"\n data-testid=\"selected-elements-title\"\n >\n <Typography\n className=\"leading-normal\"\n data-testid=\"elements-title\"\n variant=\"h5\"\n >\n {t(\"neetoMolecules.builderSidebar.element\", PLURAL)}\n </Typography>\n <div className=\"flex items-center justify-between gap-x-2\">\n <Button\n data-testid=\"add-element-button\"\n disabled={isLoading}\n icon={Plus}\n iconPosition=\"left\"\n loading={isAddingNewElement}\n size=\"sm\"\n variant=\"link\"\n label={\n addNewElementLabel ||\n t(\"neetoMolecules.builderSidebar.addNewElement\")\n }\n onClick={handleAddNewElementClick}\n />\n {showElementsFillButton && (\n <Button\n data-testid=\"add-all-elements-button\"\n disabled={isAddingAllElements}\n icon={Zap}\n loading={isAddingAllElements}\n size=\"icon-sm\"\n variant=\"secondary\"\n tooltipProps={{\n content: t(\"neetoMolecules.builderSidebar.addAllElements\"),\n }}\n onClick={addAllElements}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default TitleBar;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Draggable, Droppable } from \"@hello-pangea/dnd\";\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SelectedElement from \"./SelectedElement\";\nimport TitleBar from \"./TitleBar\";\n\nimport Body from \"../../Body\";\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 fixedLastElement,\n fixedFirstElement,\n anchoredElementIds,\n selectedElementActions,\n addAllElements,\n isAddingAllElements,\n showElementsFillButton,\n isAddingNewElement,\n addNewElement,\n addNewElementLabel,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n renderElementsCount,\n}) => {\n const renderSelectedElement = (element, index = 0) => (\n <SelectedElement\n {...{\n element,\n handleSelectElement,\n index,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n }}\n isSelectable\n actions={element.actions}\n isActive={selectedElementId === element.id}\n key={element.id || index}\n data-testid={`welcome-element${\n Array.isArray(fixedFirstElement) ? `-${index + 1}` : \"\"\n }`}\n />\n );\n\n const { t } = useTranslation();\n\n const checkIsVisible = element => isElementVisible?.(element) ?? true;\n const visibleCount =\n typeof renderElementsCount === \"function\"\n ? (selectedElements ?? []).filter(checkIsVisible).length\n : 0;\n\n return (\n <>\n <TitleBar\n {...{\n addAllElements,\n addNewElement,\n addNewElementLabel,\n isAddingAllElements,\n isAddingNewElement,\n setVisiblePanel,\n showElementsFillButton,\n }}\n />\n <Body data-testid=\"selected-elements-container\">\n <Typography className=\"mb-3\" color=\"muted\" variant=\"body3\">\n {t(\"neetoMolecules.builderSidebar.elementsReorderDescription\")}\n </Typography>\n {typeof renderElementsCount === \"function\" &&\n renderElementsCount(visibleCount)}\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\n ?.filter(checkIsVisible)\n .map((element, index) => {\n const isAnchoredElement = anchoredElementIds.includes(\n element.id\n );\n\n const isDragDisabled = isReorderDisabled || isAnchoredElement;\n\n const key =\n element.id ?? `element-${joinHyphenCase(element.label)}`;\n\n return (\n <Draggable\n {...{ index, isDragDisabled }}\n draggableId={element.id ?? `element-${index}`}\n key={key}\n >\n {({ innerRef, draggableProps, dragHandleProps }) => (\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n >\n <SelectedElement\n {...{\n element,\n handleSelectElement,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n }}\n isSelectable\n actions={selectedElementActions}\n isActive={selectedElementId === element.id}\n isDraggable={!isDragDisabled}\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 {...{\n handleSelectElement,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n }}\n isSelectable\n actions={fixedLastElement.actions}\n data-testid=\"submit-button-element\"\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 { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { PanelLeftClose } from \"lucide-react\";\nimport { noop } from \"neetocist\";\nimport useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\n\nimport ElementList from \"./ElementsList\";\nimport SelectedElementsList from \"./SelectedElementsList\";\n\nimport { PANEL_TYPES } from \"../constants\";\n\nconst ElementsPanel = ({\n elementSections,\n selectedElements = [],\n handleAddElement,\n isElementVisible,\n fixedFirstElement,\n fixedLastElement,\n anchoredElementIds = [],\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 addNewElement,\n addNewElementLabel,\n isSelectedElementActionsDisabled = false,\n selectedElementActionsTooltipProps = {},\n renderElementsCount,\n}) => {\n const [visiblePanel, setVisiblePanel] = useState(PANEL_TYPES.SUMMARY);\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] =\n useState(!isLargerScreen);\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"fixed inset-0 z-50 hidden bg-black/40 max-[767px]:block\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\n // On mobile the panel is a fixed slide-in over a backdrop; at larger\n // widths it's an in-flow column with no stacking context. Pin the\n // mobile overlay to z-50 (the shared overlay tier), NOT above it:\n // Radix portals (dropdowns/popovers) also render at z-50 and are\n // appended later in the DOM, so they must win. A higher value (even\n // z-[51]) makes the panel swallow every dropdown anchored inside it.\n \"relative h-full transition-all duration-150 motion-reduce:transition-none max-[767px]:fixed max-[767px]:start-0 max-[767px]:top-0 max-[767px]:z-50 max-[767px]:transition-none max-[576px]:h-full\",\n // The width utilities live on the open branch so a collapsed panel is\n // truly zero-width at every breakpoint. Keeping the mobile\n // full-width utilities (max-[576px]:w-full) unconditional would let\n // them override w-0 inside their media query, leaving the collapsed\n // panel as a full-screen fixed overlay on mobile.\n isElementsPanelCollapsed\n ? \"w-0 max-w-0 min-w-0\"\n : \"w-[360px] min-w-[360px] max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0 min-[768px]:max-[1279px]:w-[288px] min-[768px]:max-[1279px]:min-w-[288px]\"\n )}\n >\n <div className=\"h-full w-full overflow-hidden\">\n <div\n className=\"border-border bg-background flex h-full w-[360px] min-w-[360px] flex-col border-e max-[576px]:w-full max-[576px]:min-w-0 max-[576px]:pt-6 min-[768px]:max-[1279px]:w-[288px] min-[768px]:max-[1279px]:min-w-[288px]\"\n onClick={event => event.stopPropagation()}\n >\n {visiblePanel === PANEL_TYPES.SUMMARY ? (\n <SelectedElementsList\n {...{\n addAllElements,\n addNewElement,\n addNewElementLabel,\n anchoredElementIds,\n fixedFirstElement,\n fixedLastElement,\n handleSelectElement,\n isAddingAllElements,\n isAddingNewElement,\n isElementVisible,\n isReorderDisabled,\n isSelectedElementActionsDisabled,\n renderElementsCount,\n selectedElementActions,\n selectedElementActionsTooltipProps,\n selectedElementId,\n selectedElements,\n setVisiblePanel,\n showElementsFillButton,\n }}\n />\n ) : (\n <ElementList\n {...{\n elementSections,\n isAddingNewElement,\n isDragElementsDisabled,\n setVisiblePanel,\n }}\n onSelect={handleAddElement}\n />\n )}\n </div>\n </div>\n <Button\n icon={PanelLeftClose}\n size=\"icon\"\n variant=\"secondary\"\n className={classnames(\n \"absolute start-[calc(100%_+_8px)] top-2 shrink-0 transition-[color] duration-300 motion-reduce:transition-none max-[576px]:start-auto max-[576px]:end-6 min-[1024px]:pointer-events-none min-[1024px]:opacity-0\",\n isElementsPanelCollapsed\n ? \"-scale-x-100 max-[767px]:top-[109px] max-[576px]:start-2 max-[576px]:end-auto rtl:scale-x-100\"\n : \"rtl:-scale-x-100\"\n )}\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 * Optional inline description rendered below the element label.\n * Also considered by the elements-panel search filter.\n */\n description: PropTypes.string,\n /**\n * Optional hover tooltip shown on the element row when it is\n * creatable. Use this when the helper text should not affect\n * card height (descriptions render as a subtitle and can vary\n * row heights across element types).\n */\n tooltip: PropTypes.string,\n /**\n * Optional search aliases. The elements-panel search filter\n * matches these in addition to the label and description, so\n * legacy terms (e.g. \"paragraph\" for an element now called\n * \"Instructions\") continue to surface the correct element.\n */\n aliases: PropTypes.arrayOf(PropTypes.string),\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 * List of ids of elements that cannot be dragged.\n * Some specific elements can be dragged and dropped over them.\n */\n anchoredElementIds: PropTypes.arrayOf(PropTypes.string),\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 customize the label of the \"Add new element\" button.\n */\n addNewElementLabel: PropTypes.string,\n /**\n * Function that will be called when clicking on add new element button. If not provided, will default to showing the elements panel.\n */\n addNewElement: PropTypes.func,\n /**\n * Boolean to disable the selected element actions.\n */\n isSelectedElementActionsDisabled: PropTypes.bool,\n /**\n * Props to be passed to the tooltip component for selected element actions.\n */\n selectedElementActionsTooltipProps: PropTypes.object,\n /**\n * Render prop called with the visible elements count. When provided, its return value is rendered\n * below the reorder description (e.g. (count) => <Typography>{t('key', { count })}</Typography>).\n */\n renderElementsCount: PropTypes.func,\n};\n\nexport default ElementsPanel;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst EmptyProperty = withT(({ t }) => (\n <div className=\"flex flex-col gap-y-4\">\n <div className=\"bg-muted text-muted-foreground flex w-full flex-col items-center justify-center gap-y-2 rounded-lg px-16 py-8\">\n <Typography\n className=\"text-center leading-normal\"\n data-testid=\"build-page-text-label\"\n variant=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.noQuestionProperties\")}\n </Typography>\n </div>\n <div className=\"bg-muted h-40 w-full rounded-lg\" />\n <div className=\"bg-muted h-72 w-full rounded-lg\" />\n </div>\n));\n\nexport default EmptyProperty;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { ArrowDown } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst Skeleton = withT(({ t }) => (\n <div className=\"flex flex-col gap-y-4\">\n <div className=\"bg-muted h-12 w-full rounded-lg\" />\n <div className=\"bg-muted text-muted-foreground flex w-full flex-col items-center justify-center gap-y-2 rounded-lg px-16 py-8\">\n <Typography\n className=\"text-center leading-normal\"\n data-testid=\"build-page-text-label\"\n variant=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.emptyQuestionProperties\")}\n </Typography>\n <ArrowDown />\n </div>\n <div className=\"bg-muted h-40 w-full rounded-lg\" />\n <div className=\"bg-muted h-72 w-full rounded-lg\" />\n </div>\n));\n\nexport default Skeleton;\n","import { useEffect, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { X } from \"lucide-react\";\nimport useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\n\nimport EmptyProperty from \"./EmptyProperty\";\nimport Skeleton from \"./Skeleton\";\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] =\n useState(!isLargerScreen);\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=\"fixed inset-0 z-50 hidden bg-black/40 max-[1279px]:block\"\n onClick={handleCollapsePanel}\n />\n )}\n <div\n className={classnames(\n // Below 1280px the panel is a fixed slide-in over a backdrop; above\n // it it's an in-flow column with no stacking context. Pin the mobile\n // overlay to z-50 (the shared overlay tier), NOT above it: Radix\n // portals (dropdowns/popovers) also render at z-50 and are appended\n // later in the DOM, so they must win. A higher value (even z-[51])\n // makes the panel swallow every dropdown anchored inside it.\n \"border-border relative h-full border-s transition-all duration-150 motion-reduce:transition-none max-[1279px]:fixed max-[1279px]:end-0 max-[1279px]:top-0 max-[1279px]:z-50 max-[1279px]:transition-none max-[576px]:h-full\",\n // The width utilities live on the open branch so a collapsed panel is\n // truly zero-width at every breakpoint. Keeping the mobile\n // full-width utilities (max-[576px]:w-full) unconditional would let\n // them override w-0 inside their media query, leaving the collapsed\n // panel as a full-screen fixed overlay on mobile.\n isPropertiesPanelCollapsed\n ? \"w-0 max-w-0 min-w-0\"\n : \"w-[420px] min-w-[420px] max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0\"\n )}\n >\n <div\n className=\"bg-background flex h-full w-full min-w-0 flex-col overflow-y-auto p-6 max-[1279px]:pt-12\"\n data-testid=\"properties-panel\"\n >\n {children ?? <Skeleton />}\n </div>\n {!isPropertiesPanelCollapsed && (\n <Button\n className=\"pointer-events-none absolute end-2 top-2 opacity-0 max-[1279px]:pointer-events-auto max-[1279px]:opacity-100\"\n icon={X}\n size=\"icon\"\n variant=\"secondary\"\n onClick={handleCollapsePanel}\n />\n )}\n </div>\n </>\n );\n};\n\nPropertiesPanel.EmptyProperty = EmptyProperty;\n\nexport default PropertiesPanel;\n"],"names":["__iconNode","createLucideIcon","PANEL_TYPES","SUMMARY","ELEMENTS","SELECTED_ELEMENTS_LIST_DROPPABLE_ID","ELEMENTS_LIST_DROPPABLE_ID","PREVIEW_CONTAINER_DROPPABLE_ID","DROPPABLE_TYPES","ELEMENT","SELECTED_ELEMENT","NoResults","withT","_ref","t","_jsx","Typography","className","weight","children","memo","Element","label","description","tooltip","Icon","icon","_ref$isCreatable","isCreatable","onClick","_ref$isDragDisabled","isDragDisabled","disabledElementTooltip","isPlaceholder","isDraggingOver","isAddingNewElement","handleClick","event","preventDefault","tooltipContent","Tooltip","content","disabled","position","_jsxs","concat","joinHyphenCase","classnames","GripVertical","size","variant","color","ElementContainer","index","element","onSelect","setVisiblePanel","isCreatableElement","value","_objectSpread","_createElement","Draggable","draggableId","key","provided","snapshot","_Fragment","ref","innerRef","draggableProps","dragHandleProps","style","isDragging","transform","noop","Section","title","elements","isDragElementsDisabled","isEmpty","map","elementIndex","SectionsContainer","filteredSections","section","Droppable","droppableId","type","TitleBar","Button","X","Body","props","_objectWithoutProperties","_excluded","ElementList","_ref$elementSections","elementSections","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","searchString","setSearchString","useMemo","query","toLowerCase","matchesSearch","_element$label$toLowe","_element$label","_element$description$","_element$description","_element$aliases","aliases","alias","includes","some","filter","assoc","isPresent","isNotEmpty","Input","autoFocus","placeholder","prefix","Search","onChange","withEventTargetValue","SelectedElement","isActive","isSelectedElementActionsDisabled","selectedElementActionsTooltipProps","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","dropdownProps","isDisabled","isPending","dropdownButtonProps","e","stopPropagation","loading","tooltipProps","isLoading","showElementsFillButton","isAddingAllElements","addAllElements","addNewElement","addNewElementLabel","handleAddNewElementClick","PLURAL","Plus","iconPosition","Zap","SelectedElementsList","isReorderDisabled","isElementVisible","selectedElementId","selectedElements","fixedLastElement","fixedFirstElement","anchoredElementIds","selectedElementActions","renderElementsCount","renderSelectedElement","arguments","length","undefined","Array","isArray","checkIsVisible","_isElementVisible","visibleCount","_ref2","droppableProps","_element$id","_element$id2","isAnchoredElement","_ref3","_element$id3","ElementsPanel","_ref$selectedElements","handleAddElement","_ref$anchoredElementI","_ref$isReorderDisable","_ref$isDragElementsDi","_ref$addAllElements","_ref$isAddingAllEleme","_ref$showElementsFill","_ref$isAddingNewEleme","_ref$isSelectedElemen","_ref$selectedElementA","visiblePanel","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState3","_useState4","isElementsPanelCollapsed","setIsElementsPanelCollapsed","PanelLeftClose","EmptyProperty","Skeleton","ArrowDown","PropertiesPanel","onClose","window","largeDesktop","innerWidth","isPropertiesPanelCollapsed","setIsPropertiesPanelCollapsed","handleCollapsePanel"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -88,7 +88,7 @@ var CommentHeader = function CommentHeader(_ref) {
88
88
  }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
89
89
  as: "span",
90
90
  variant: "body3",
91
- weight: "semibold",
91
+ weight: "medium",
92
92
  children: user.name
93
93
  }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
94
94
  as: "span",
@@ -1 +1 @@
1
- {"version":3,"file":"Engagements.js","sources":["../../../src/v2/components/Engagements/Activity/Icon.jsx","../../../src/v2/components/Engagements/Activity/index.jsx","../../../src/v2/components/Engagements/Comment/Header.jsx","../../../src/v2/components/Engagements/Comment/Reactions.jsx","../../../src/v2/components/Engagements/constants.js","../../../src/v2/components/Engagements/utils.js","../../../src/v2/components/Engagements/Comment/index.jsx","../../../src/v2/components/Engagements/index.jsx"],"sourcesContent":["import classNames from \"classnames\";\n\nconst ActivityIcon = ({ icon, unread }) => (\n <div className=\"bg-card relative z-10 mx-0.5 flex-shrink-0 rounded-full\">\n <span\n className={classNames(\n \"nm-activity-node-icon bg-muted text-muted-foreground relative flex h-7 w-7 items-center justify-center rounded-full p-1 [&>svg]:size-4\",\n { \"text-primary bg-primary/10\": unread }\n )}\n >\n {icon}\n {unread && (\n <span className=\"bg-primary absolute -end-0.5 -top-0.5 h-2 w-2 rounded-full\" />\n )}\n </span>\n </div>\n);\n\nexport default ActivityIcon;\n","import { Avatar } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport ActivityIcon from \"./Icon\";\n\nconst Activity = ({\n user,\n icon,\n unread = false,\n className,\n children,\n userIcon,\n}) => (\n <div\n className={classNames(\n \"nm-engagements-node relative -mt-4 flex items-center gap-2 px-4 py-4\",\n \"before:bg-border before:absolute before:start-[31px] before:top-0 before:h-full before:w-0.5 before:content-['']\",\n className\n )}\n >\n <ActivityIcon {...{ icon, unread }} />\n {userIcon || (\n <Avatar\n className=\"!size-[18px] [&_[data-slot=avatar-fallback]]:text-[10px]\"\n size=\"sm\"\n user={{ name: user.name, imageUrl: user.profileImageUrl }}\n />\n )}\n <div className=\"nm-engagements-node__children\">{children}</div>\n </div>\n);\n\nActivity.propTypes = {\n user: PropTypes.shape({ name: PropTypes.string.isRequired }).isRequired,\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n unread: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default Activity;\n","import { Avatar, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent } from \"neetocist\";\n\nimport DateFormat from \"../../DateFormat\";\nimport MoreDropdown from \"../../MoreDropdown\";\n\nconst CommentHeader = ({ user, comment, info, actions }) => {\n const avatar = { name: user.name, imageUrl: user.profileImageUrl };\n\n return (\n <div className=\"bg-muted/40 border-border flex items-center justify-between rounded-t-md border-b py-1 ps-4 pe-1\">\n <div className=\"flex min-w-0 flex-grow flex-wrap items-center gap-2\">\n <Avatar size=\"sm\" user={avatar} />\n <Typography as=\"span\" variant=\"body3\" weight=\"semibold\">\n {user.name}\n </Typography>\n <Typography as=\"span\" color=\"muted\" variant=\"body3\">\n •\n </Typography>\n {info && (\n <>\n <Typography\n as=\"span\"\n className=\"lowercase\"\n color=\"muted\"\n variant=\"body3\"\n >\n {info}\n </Typography>\n <Typography as=\"span\" color=\"muted\" variant=\"body3\">\n •\n </Typography>\n </>\n )}\n {comment.createdAt && (\n <DateFormat.FromNow\n date={comment.createdAt}\n typographyProps={{ color: \"muted\", variant: \"body3\" }}\n />\n )}\n </div>\n {isPresent(actions) && (\n <MoreDropdown\n dropdownButtonProps={{ className: \"self-start flex-shrink-0\" }}\n dropdownProps={{ position: \"bottom-start\" }}\n menuItems={actions}\n />\n )}\n </div>\n );\n};\n\nexport default CommentHeader;\n","import { memo } from \"react\";\n\nimport { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { findIndexBy } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { collectBy, eqProps, pathEq, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmojiPicker from \"../../EmojiPicker\";\n\nconst findOwnIndex = findIndexBy({ userId: globalProps.user.id });\nconst groupReactions = collectBy(prop(\"unified\"));\n\nconst Reactions = ({ reactions, onAdd, onRemove }) => {\n const { t } = useTranslation();\n const groups = groupReactions(reactions);\n\n const onSelect = emoji => {\n const group = groups.find(pathEq(emoji.unified, [0, \"unified\"]));\n if (group && findOwnIndex(group) >= 0) return;\n onAdd({ ...emoji, emoji: emoji.native });\n };\n\n return (\n <div className=\"mt-3 flex flex-wrap items-center gap-1\">\n <div className=\"bg-muted rounded-full\">\n <EmojiPicker {...{ onSelect }} />\n </div>\n {groups.map(reactionsGroup => {\n const ownIndex = findOwnIndex(reactionsGroup);\n const selected = ownIndex >= 0;\n const reaction = selected\n ? reactionsGroup[ownIndex]\n : reactionsGroup[0];\n\n const names = reactionsGroup\n .map(({ reactor }) =>\n typeof reactor === \"string\" ? reactor : reactor?.name\n )\n .filter(Boolean)\n .join(\", \");\n\n return (\n <Tooltip\n content={t(\"neetoMolecules.engagements.namesReacted\", { names })}\n key={reaction.unified}\n position=\"top\"\n >\n <Button\n aria-pressed={selected}\n size=\"xs\"\n variant=\"ghost\"\n className={classNames(\n \"h-7 rounded-full px-2 text-sm font-normal\",\n {\n \"!bg-muted !hover:bg-muted/80\": selected,\n \"!bg-muted/50\": !selected,\n }\n )}\n onClick={() => (selected ? onRemove : onAdd)(reaction)}\n >\n <span>{reaction.emoji}</span>\n <span>{reactionsGroup.length}</span>\n </Button>\n </Tooltip>\n );\n })}\n </div>\n );\n};\n\nexport default memo(Reactions, eqProps(\"reactions\"));\n","export const ACTIVITY_TYPES = {\n TIMELINE: \"Timeline\",\n FIELD_VALUE: \"FieldValue\",\n TASK: \"Task\",\n ASSIGNEE: \"Assignee\",\n CHECKLIST: \"Checklist\",\n FIELD: \"Field\",\n PROJECT: \"Project\",\n COMMENT: \"Comment\",\n DOCUMENT: \"Document\",\n CHAT_MESSAGE: \"ChatMessage\",\n MESSAGE: \"Message\",\n SECTION: \"Section\",\n PROJECT_MEMBER: \"ProjectMember\",\n PULL_REQUEST: \"NeetoGithubEngine::PullRequest\",\n};\n\nexport const ENGAGEMENT_TYPES = {\n COMMENT: \"comment\",\n ACTIVITY: \"activity\",\n};\n","import { ENGAGEMENT_TYPES } from \"./constants\";\n\nexport const createCommentElementId = comment =>\n `nm-engagement-comment--${comment.id}`;\n\nexport const defaultMatchType = engagement => {\n if (engagement.commenter) return ENGAGEMENT_TYPES.COMMENT;\n else if (engagement.creator) return ENGAGEMENT_TYPES.ACTIVITY;\n\n return null;\n};\n","import { forwardRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport CommentHeader from \"./Header\";\nimport Reactions from \"./Reactions\";\n\nimport { createCommentElementId } from \"../utils\";\n\nconst Comment = forwardRef(\n (\n {\n user,\n comment,\n reactions,\n info,\n actions,\n className,\n children,\n onAddReaction,\n onRemoveReaction,\n },\n ref\n ) => (\n <div\n {...{ ref }}\n id={createCommentElementId(comment)}\n className={classNames(\n \"nm-comments-node bg-card border-border relative mb-4 w-full rounded-md border\",\n \"before:bg-border before:absolute before:start-[30px] before:top-[calc(100%+1px)] before:h-4 before:w-0.5 before:content-['']\",\n className\n )}\n >\n <CommentHeader {...{ actions, comment, info, user }} />\n <div className=\"nm-comments-node__inner p-4\">\n {children}\n {reactions !== false && (\n <Reactions\n {...{ reactions }}\n onAdd={onAddReaction}\n onRemove={onRemoveReaction}\n />\n )}\n </div>\n </div>\n )\n);\n\nComment.displayName = \"Comment\";\nComment.propTypes = {\n user: PropTypes.shape({ name: PropTypes.string.isRequired }).isRequired,\n comment: PropTypes.shape({\n id: PropTypes.string.isRequired,\n createdAt: PropTypes.string,\n }).isRequired,\n reactions: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]),\n info: PropTypes.string,\n actions: PropTypes.arrayOf(\n PropTypes.shape({\n isVisible: PropTypes.bool,\n key: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n })\n ),\n className: PropTypes.string,\n onAddReaction: PropTypes.func,\n onRemoveReaction: PropTypes.func,\n};\n\nexport default Comment;\n","import React from \"react\";\n\nimport { noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport Activity from \"./Activity\";\nimport Comment from \"./Comment\";\nimport { ENGAGEMENT_TYPES } from \"./constants\";\nimport { defaultMatchType } from \"./utils\";\n\nconst Engagements = ({\n data,\n isActivitiesEnabled = false,\n matchType = defaultMatchType,\n renderComment,\n renderActivity,\n}) => {\n const rendererHashmap = {\n [ENGAGEMENT_TYPES.COMMENT]: renderComment,\n [ENGAGEMENT_TYPES.ACTIVITY]: isActivitiesEnabled ? renderActivity : noop,\n };\n\n return (\n <>\n {data.map((engagement, index) => {\n const type = matchType(engagement);\n const renderer = rendererHashmap[type];\n if (!renderer) return null;\n\n return (\n <React.Fragment key={engagement.id}>\n {renderer(engagement, index)}\n </React.Fragment>\n );\n })}\n </>\n );\n};\n\nEngagements.displayName = \"Engagements\";\nEngagements.Comment = Comment;\nEngagements.Activity = Activity;\nEngagements.TYPES = ENGAGEMENT_TYPES;\n\nEngagements.propTypes = {\n data: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string.isRequired }))\n .isRequired,\n isActivitiesEnabled: PropTypes.bool,\n matchType: PropTypes.func,\n renderComment: PropTypes.func.isRequired,\n renderActivity: PropTypes.func.isRequired,\n};\n\nexport default Engagements;\n"],"names":["ActivityIcon","_ref","icon","unread","_jsx","className","children","_jsxs","classNames","Activity","user","_ref$unread","userIcon","Avatar","size","name","imageUrl","profileImageUrl","CommentHeader","comment","info","actions","avatar","Typography","as","variant","weight","color","_Fragment","createdAt","DateFormat","FromNow","date","typographyProps","isPresent","MoreDropdown","dropdownButtonProps","dropdownProps","position","menuItems","findOwnIndex","findIndexBy","userId","globalProps","id","groupReactions","collectBy","prop","Reactions","reactions","onAdd","onRemove","_useTranslation","useTranslation","t","groups","onSelect","emoji","group","find","pathEq","unified","_objectSpread","EmojiPicker","map","reactionsGroup","ownIndex","selected","reaction","names","_ref2","reactor","filter","Boolean","join","Tooltip","content","Button","onClick","length","memo","eqProps","ENGAGEMENT_TYPES","COMMENT","ACTIVITY","createCommentElementId","concat","defaultMatchType","engagement","commenter","creator","Comment","forwardRef","ref","onAddReaction","onRemoveReaction","displayName","propTypes","PropTypes","shape","string","isRequired","oneOfType","array","bool","arrayOf","isVisible","key","label","func","Engagements","data","_ref$isActivitiesEnab","isActivitiesEnabled","_ref$matchType","matchType","renderComment","renderActivity","rendererHashmap","_defineProperty","noop","index","type","renderer","React","Fragment","TYPES"],"mappings":"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"}
1
+ {"version":3,"file":"Engagements.js","sources":["../../../src/v2/components/Engagements/Activity/Icon.jsx","../../../src/v2/components/Engagements/Activity/index.jsx","../../../src/v2/components/Engagements/Comment/Header.jsx","../../../src/v2/components/Engagements/Comment/Reactions.jsx","../../../src/v2/components/Engagements/constants.js","../../../src/v2/components/Engagements/utils.js","../../../src/v2/components/Engagements/Comment/index.jsx","../../../src/v2/components/Engagements/index.jsx"],"sourcesContent":["import classNames from \"classnames\";\n\nconst ActivityIcon = ({ icon, unread }) => (\n <div className=\"bg-card relative z-10 mx-0.5 flex-shrink-0 rounded-full\">\n <span\n className={classNames(\n \"nm-activity-node-icon bg-muted text-muted-foreground relative flex h-7 w-7 items-center justify-center rounded-full p-1 [&>svg]:size-4\",\n { \"text-primary bg-primary/10\": unread }\n )}\n >\n {icon}\n {unread && (\n <span className=\"bg-primary absolute -end-0.5 -top-0.5 h-2 w-2 rounded-full\" />\n )}\n </span>\n </div>\n);\n\nexport default ActivityIcon;\n","import { Avatar } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport ActivityIcon from \"./Icon\";\n\nconst Activity = ({\n user,\n icon,\n unread = false,\n className,\n children,\n userIcon,\n}) => (\n <div\n className={classNames(\n \"nm-engagements-node relative -mt-4 flex items-center gap-2 px-4 py-4\",\n \"before:bg-border before:absolute before:start-[31px] before:top-0 before:h-full before:w-0.5 before:content-['']\",\n className\n )}\n >\n <ActivityIcon {...{ icon, unread }} />\n {userIcon || (\n <Avatar\n className=\"!size-[18px] [&_[data-slot=avatar-fallback]]:text-[10px]\"\n size=\"sm\"\n user={{ name: user.name, imageUrl: user.profileImageUrl }}\n />\n )}\n <div className=\"nm-engagements-node__children\">{children}</div>\n </div>\n);\n\nActivity.propTypes = {\n user: PropTypes.shape({ name: PropTypes.string.isRequired }).isRequired,\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n unread: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default Activity;\n","import { Avatar, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent } from \"neetocist\";\n\nimport DateFormat from \"../../DateFormat\";\nimport MoreDropdown from \"../../MoreDropdown\";\n\nconst CommentHeader = ({ user, comment, info, actions }) => {\n const avatar = { name: user.name, imageUrl: user.profileImageUrl };\n\n return (\n <div className=\"bg-muted/40 border-border flex items-center justify-between rounded-t-md border-b py-1 ps-4 pe-1\">\n <div className=\"flex min-w-0 flex-grow flex-wrap items-center gap-2\">\n <Avatar size=\"sm\" user={avatar} />\n <Typography as=\"span\" variant=\"body3\" weight=\"medium\">\n {user.name}\n </Typography>\n <Typography as=\"span\" color=\"muted\" variant=\"body3\">\n •\n </Typography>\n {info && (\n <>\n <Typography\n as=\"span\"\n className=\"lowercase\"\n color=\"muted\"\n variant=\"body3\"\n >\n {info}\n </Typography>\n <Typography as=\"span\" color=\"muted\" variant=\"body3\">\n •\n </Typography>\n </>\n )}\n {comment.createdAt && (\n <DateFormat.FromNow\n date={comment.createdAt}\n typographyProps={{ color: \"muted\", variant: \"body3\" }}\n />\n )}\n </div>\n {isPresent(actions) && (\n <MoreDropdown\n dropdownButtonProps={{ className: \"self-start flex-shrink-0\" }}\n dropdownProps={{ position: \"bottom-start\" }}\n menuItems={actions}\n />\n )}\n </div>\n );\n};\n\nexport default CommentHeader;\n","import { memo } from \"react\";\n\nimport { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { findIndexBy } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { collectBy, eqProps, pathEq, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmojiPicker from \"../../EmojiPicker\";\n\nconst findOwnIndex = findIndexBy({ userId: globalProps.user.id });\nconst groupReactions = collectBy(prop(\"unified\"));\n\nconst Reactions = ({ reactions, onAdd, onRemove }) => {\n const { t } = useTranslation();\n const groups = groupReactions(reactions);\n\n const onSelect = emoji => {\n const group = groups.find(pathEq(emoji.unified, [0, \"unified\"]));\n if (group && findOwnIndex(group) >= 0) return;\n onAdd({ ...emoji, emoji: emoji.native });\n };\n\n return (\n <div className=\"mt-3 flex flex-wrap items-center gap-1\">\n <div className=\"bg-muted rounded-full\">\n <EmojiPicker {...{ onSelect }} />\n </div>\n {groups.map(reactionsGroup => {\n const ownIndex = findOwnIndex(reactionsGroup);\n const selected = ownIndex >= 0;\n const reaction = selected\n ? reactionsGroup[ownIndex]\n : reactionsGroup[0];\n\n const names = reactionsGroup\n .map(({ reactor }) =>\n typeof reactor === \"string\" ? reactor : reactor?.name\n )\n .filter(Boolean)\n .join(\", \");\n\n return (\n <Tooltip\n content={t(\"neetoMolecules.engagements.namesReacted\", { names })}\n key={reaction.unified}\n position=\"top\"\n >\n <Button\n aria-pressed={selected}\n size=\"xs\"\n variant=\"ghost\"\n className={classNames(\n \"h-7 rounded-full px-2 text-sm font-normal\",\n {\n \"!bg-muted !hover:bg-muted/80\": selected,\n \"!bg-muted/50\": !selected,\n }\n )}\n onClick={() => (selected ? onRemove : onAdd)(reaction)}\n >\n <span>{reaction.emoji}</span>\n <span>{reactionsGroup.length}</span>\n </Button>\n </Tooltip>\n );\n })}\n </div>\n );\n};\n\nexport default memo(Reactions, eqProps(\"reactions\"));\n","export const ACTIVITY_TYPES = {\n TIMELINE: \"Timeline\",\n FIELD_VALUE: \"FieldValue\",\n TASK: \"Task\",\n ASSIGNEE: \"Assignee\",\n CHECKLIST: \"Checklist\",\n FIELD: \"Field\",\n PROJECT: \"Project\",\n COMMENT: \"Comment\",\n DOCUMENT: \"Document\",\n CHAT_MESSAGE: \"ChatMessage\",\n MESSAGE: \"Message\",\n SECTION: \"Section\",\n PROJECT_MEMBER: \"ProjectMember\",\n PULL_REQUEST: \"NeetoGithubEngine::PullRequest\",\n};\n\nexport const ENGAGEMENT_TYPES = {\n COMMENT: \"comment\",\n ACTIVITY: \"activity\",\n};\n","import { ENGAGEMENT_TYPES } from \"./constants\";\n\nexport const createCommentElementId = comment =>\n `nm-engagement-comment--${comment.id}`;\n\nexport const defaultMatchType = engagement => {\n if (engagement.commenter) return ENGAGEMENT_TYPES.COMMENT;\n else if (engagement.creator) return ENGAGEMENT_TYPES.ACTIVITY;\n\n return null;\n};\n","import { forwardRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport CommentHeader from \"./Header\";\nimport Reactions from \"./Reactions\";\n\nimport { createCommentElementId } from \"../utils\";\n\nconst Comment = forwardRef(\n (\n {\n user,\n comment,\n reactions,\n info,\n actions,\n className,\n children,\n onAddReaction,\n onRemoveReaction,\n },\n ref\n ) => (\n <div\n {...{ ref }}\n id={createCommentElementId(comment)}\n className={classNames(\n \"nm-comments-node bg-card border-border relative mb-4 w-full rounded-md border\",\n \"before:bg-border before:absolute before:start-[30px] before:top-[calc(100%+1px)] before:h-4 before:w-0.5 before:content-['']\",\n className\n )}\n >\n <CommentHeader {...{ actions, comment, info, user }} />\n <div className=\"nm-comments-node__inner p-4\">\n {children}\n {reactions !== false && (\n <Reactions\n {...{ reactions }}\n onAdd={onAddReaction}\n onRemove={onRemoveReaction}\n />\n )}\n </div>\n </div>\n )\n);\n\nComment.displayName = \"Comment\";\nComment.propTypes = {\n user: PropTypes.shape({ name: PropTypes.string.isRequired }).isRequired,\n comment: PropTypes.shape({\n id: PropTypes.string.isRequired,\n createdAt: PropTypes.string,\n }).isRequired,\n reactions: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]),\n info: PropTypes.string,\n actions: PropTypes.arrayOf(\n PropTypes.shape({\n isVisible: PropTypes.bool,\n key: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n })\n ),\n className: PropTypes.string,\n onAddReaction: PropTypes.func,\n onRemoveReaction: PropTypes.func,\n};\n\nexport default Comment;\n","import React from \"react\";\n\nimport { noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport Activity from \"./Activity\";\nimport Comment from \"./Comment\";\nimport { ENGAGEMENT_TYPES } from \"./constants\";\nimport { defaultMatchType } from \"./utils\";\n\nconst Engagements = ({\n data,\n isActivitiesEnabled = false,\n matchType = defaultMatchType,\n renderComment,\n renderActivity,\n}) => {\n const rendererHashmap = {\n [ENGAGEMENT_TYPES.COMMENT]: renderComment,\n [ENGAGEMENT_TYPES.ACTIVITY]: isActivitiesEnabled ? renderActivity : noop,\n };\n\n return (\n <>\n {data.map((engagement, index) => {\n const type = matchType(engagement);\n const renderer = rendererHashmap[type];\n if (!renderer) return null;\n\n return (\n <React.Fragment key={engagement.id}>\n {renderer(engagement, index)}\n </React.Fragment>\n );\n })}\n </>\n );\n};\n\nEngagements.displayName = \"Engagements\";\nEngagements.Comment = Comment;\nEngagements.Activity = Activity;\nEngagements.TYPES = ENGAGEMENT_TYPES;\n\nEngagements.propTypes = {\n data: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string.isRequired }))\n .isRequired,\n isActivitiesEnabled: PropTypes.bool,\n matchType: PropTypes.func,\n renderComment: PropTypes.func.isRequired,\n renderActivity: PropTypes.func.isRequired,\n};\n\nexport default Engagements;\n"],"names":["ActivityIcon","_ref","icon","unread","_jsx","className","children","_jsxs","classNames","Activity","user","_ref$unread","userIcon","Avatar","size","name","imageUrl","profileImageUrl","CommentHeader","comment","info","actions","avatar","Typography","as","variant","weight","color","_Fragment","createdAt","DateFormat","FromNow","date","typographyProps","isPresent","MoreDropdown","dropdownButtonProps","dropdownProps","position","menuItems","findOwnIndex","findIndexBy","userId","globalProps","id","groupReactions","collectBy","prop","Reactions","reactions","onAdd","onRemove","_useTranslation","useTranslation","t","groups","onSelect","emoji","group","find","pathEq","unified","_objectSpread","EmojiPicker","map","reactionsGroup","ownIndex","selected","reaction","names","_ref2","reactor","filter","Boolean","join","Tooltip","content","Button","onClick","length","memo","eqProps","ENGAGEMENT_TYPES","COMMENT","ACTIVITY","createCommentElementId","concat","defaultMatchType","engagement","commenter","creator","Comment","forwardRef","ref","onAddReaction","onRemoveReaction","displayName","propTypes","PropTypes","shape","string","isRequired","oneOfType","array","bool","arrayOf","isVisible","key","label","func","Engagements","data","_ref$isActivitiesEnab","isActivitiesEnabled","_ref$matchType","matchType","renderComment","renderActivity","rendererHashmap","_defineProperty","noop","index","type","renderer","React","Fragment","TYPES"],"mappings":"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"}