@bigbinary/neeto-molecules 5.3.6 → 5.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/v2/Builder.js +14 -6
- package/dist/cjs/v2/Builder.js.map +1 -1
- package/dist/cjs/v2/InlineInput.js +3 -2
- package/dist/cjs/v2/InlineInput.js.map +1 -1
- package/dist/v2/Builder.js +14 -6
- package/dist/v2/Builder.js.map +1 -1
- package/dist/v2/InlineInput.js +3 -2
- package/dist/v2/InlineInput.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineInput.js","sources":["../../../src/v2/components/InlineInput/constants.js","../../../src/v2/components/InlineInput/utils.js","../../../src/v2/components/InlineInput/InlineInput.jsx","../../../src/v2/components/InlineInput/FormikInlineInput.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TOOLTIP_PROPS = {\n save: {\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n delay: 300,\n },\n cancel: {\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n delay: 300,\n },\n};\n\nexport const BUTTON_SIZE_BY_INPUT_SIZE = {\n small: \"icon-xs\",\n medium: \"icon-sm\",\n large: \"icon\",\n};\n\n// Used only when `textClassName` is set, to keep size baseline while letting\n// the box grow with bigger fonts. Mirrors atoms Input's h-* per size.\nexport const INPUT_MIN_HEIGHT_BY_SIZE = {\n small: \"min-h-8 md:min-h-7\",\n medium: \"min-h-8\",\n large: \"min-h-10\",\n};\n\n// Descendant selector targeting the inner <textarea> (atoms applies its own\n// min-h-20/28 directly to the element; consumer className lands on outer div).\nexport const TEXTAREA_DESCENDANT_MIN_H_BY_SIZE = {\n small: \"[&_textarea]:!min-h-8 md:[&_textarea]:!min-h-7\",\n medium: \"[&_textarea]:!min-h-8\",\n large: \"[&_textarea]:!min-h-10\",\n};\n","export const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import {\n forwardRef,\n useEffect,\n useLayoutEffect,\n useState,\n useRef,\n} from \"react\";\n\nimport { Button, Input, Textarea, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Check, X } from \"lucide-react\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/v2/react-utils/useOnClickOutside\";\nimport useStateWithDependency from \"neetocommons/v2/react-utils/useStateWithDependency\";\nimport useHotkeys from \"neetohotkeys\";\nimport PropTypes from \"prop-types\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n BUTTON_SIZE_BY_INPUT_SIZE,\n INPUT_MIN_HEIGHT_BY_SIZE,\n TEXTAREA_DESCENDANT_MIN_H_BY_SIZE,\n TOOLTIP_PROPS,\n} from \"./constants\";\nimport { mergeRefs } from \"./utils\";\n\nconst InlineInput = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const {\n saveOnBlur = false,\n clearOnSave = false,\n nullable = false,\n value = \"\",\n isSaving,\n className = \"\",\n handleSubmit = noop,\n handleCancel = noop,\n submitButtonProps = {},\n cancelButtonProps = {},\n dirty,\n onInlineInputBlur = noop,\n size = \"medium\",\n multiline = false,\n textClassName = \"\",\n ...otherProps\n } = props;\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [internalValue, setInternalValue] = useStateWithDependency(\n String(value ?? \"\")\n );\n const inputRef = useRef(null);\n const inputWrapperRef = useRef(null);\n const wasSubmittingRef = useRef(isSubmitting);\n const trimmedValue = internalValue.trim();\n const isValidValue =\n nullable || (isNotEmpty(trimmedValue) && isNotNil(trimmedValue));\n\n const isDirty = internalValue !== value || dirty;\n const saveDisabled =\n !isValidValue ||\n isSubmitting ||\n isSaving ||\n submitButtonProps.disabled ||\n !isDirty;\n\n const buttonSize = BUTTON_SIZE_BY_INPUT_SIZE[size] ?? \"icon\";\n const hasCustomText = isNotEmpty(textClassName);\n const inputMinHeight =\n INPUT_MIN_HEIGHT_BY_SIZE[size] ?? INPUT_MIN_HEIGHT_BY_SIZE.medium;\n\n const textareaDescendantMinH =\n TEXTAREA_DESCENDANT_MIN_H_BY_SIZE[size] ??\n TEXTAREA_DESCENDANT_MIN_H_BY_SIZE.medium;\n\n const handleFocusOut = () => {\n if (!isValidValue || isSubmitting) return;\n\n onInlineInputBlur(trimmedValue);\n\n if (saveOnBlur && isDirty) {\n onSubmit();\n\n return;\n }\n\n onCancel();\n };\n\n useOnClickOutside(inputWrapperRef, handleFocusOut);\n\n const onSubmit = async () => {\n setIsSubmitting(true);\n try {\n await handleSubmit(trimmedValue);\n clearOnSave && setInternalValue(\"\");\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const onCancel = () => {\n handleCancel(trimmedValue);\n };\n\n const closeRef = useHotkeys(\n \"escape\",\n event => {\n event.stopPropagation();\n onCancel();\n },\n { mode: \"scoped\" }\n );\n\n const submitHotkey = multiline\n ? \"command+return\"\n : [\"command+return\", \"return\"];\n\n const submitRef = useHotkeys(submitHotkey, () => onSubmit(), {\n mode: \"scoped\",\n enabled: isValidValue,\n });\n\n useLayoutEffect(() => {\n const selector = multiline ? \"textarea\" : \"input\";\n const inputElement = inputWrapperRef.current?.querySelector(selector);\n mergeRefs(inputRef, closeRef, submitRef)(inputElement);\n }, [multiline]);\n\n useEffect(() => {\n if (wasSubmittingRef.current && !isSubmitting) {\n inputRef.current?.focus();\n }\n wasSubmittingRef.current = isSubmitting;\n }, [isSubmitting]);\n\n const suffixContent = (\n <>\n <Tooltip {...TOOLTIP_PROPS.save}>\n <Button\n aria-label={t(\"neetoMolecules.common.actions.save\")}\n data-testid=\"neeto-molecules-autosave-input-save\"\n icon={Check}\n loading={isSubmitting || isSaving}\n size={buttonSize}\n variant=\"ghost\"\n onClick={onSubmit}\n {...submitButtonProps}\n disabled={saveDisabled}\n />\n </Tooltip>\n <Tooltip {...TOOLTIP_PROPS.cancel}>\n <Button\n {...{ ref }}\n aria-label={t(\"neetoMolecules.common.actions.cancel\")}\n data-testid=\"neeto-molecules-autosave-input-cancel\"\n icon={X}\n size={buttonSize}\n variant=\"ghost\"\n onClick={onCancel}\n {...cancelButtonProps}\n disabled={isSubmitting || isSaving || cancelButtonProps.disabled}\n />\n </Tooltip>\n </>\n );\n\n const wrapperClassName = classnames(\n \"flex flex-grow\",\n \"[&_[data-slot=input-group-addon]>span]:!gap-0.5 [&_[data-slot=input-group-addon]>span]:!text-foreground\",\n {\n [className]: className,\n [textClassName]: hasCustomText,\n \"[&_input]:![font-size:inherit] [&_input]:![font-weight:inherit] [&_input]:![font-family:inherit] [&_input]:![line-height:inherit]\":\n hasCustomText && !multiline,\n \"[&_textarea]:![field-sizing:content] [&_textarea]:![font-size:inherit] [&_textarea]:![font-weight:inherit] [&_textarea]:![font-family:inherit] [&_textarea]:![line-height:inherit]\":\n hasCustomText && multiline,\n },\n hasCustomText && multiline && textareaDescendantMinH\n );\n\n const inputCustomClassName =\n hasCustomText && !multiline\n ? classnames(\"h-auto py-1.5\", inputMinHeight)\n : \"\";\n\n const inheritFontStyle = hasCustomText\n ? {\n fontSize: \"inherit\",\n fontWeight: \"inherit\",\n fontFamily: \"inherit\",\n lineHeight: \"inherit\",\n }\n : undefined;\n\n const sharedProps = {\n \"aria-label\": t(\"neetoMolecules.inlineInput.editableField\"),\n \"data-testid\": \"neeto-molecules-autosave-input\",\n autoFocus: true,\n disabled: isSubmitting,\n disableTrimOnBlur: true,\n size,\n suffix: suffixContent,\n value: internalValue,\n onChange: e => {\n otherProps?.onChange?.(e);\n setInternalValue(e.target.value);\n },\n };\n\n return (\n <div className={wrapperClassName} ref={inputWrapperRef}>\n {multiline ? (\n <Textarea\n {...sharedProps}\n {...otherProps}\n resize=\"none\"\n style={\n inheritFontStyle\n ? { ...inheritFontStyle, ...(otherProps.style || {}) }\n : otherProps.style\n }\n />\n ) : (\n <Input\n {...sharedProps}\n {...otherProps}\n className={classnames(inputCustomClassName, otherProps.className)}\n style={\n inheritFontStyle\n ? { ...inheritFontStyle, ...(otherProps.style || {}) }\n : otherProps.style\n }\n />\n )}\n </div>\n );\n});\n\nInlineInput.displayName = \"InlineInput\";\n\nInlineInput.propTypes = {\n className: PropTypes.string,\n value: PropTypes.string,\n nullable: PropTypes.bool,\n isSaving: PropTypes.bool,\n saveOnBlur: PropTypes.bool,\n clearOnSave: PropTypes.bool,\n submitButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n handleSubmit: PropTypes.func,\n handleCancel: PropTypes.func,\n size: PropTypes.oneOf([\"small\", \"medium\", \"large\"]),\n multiline: PropTypes.bool,\n textClassName: PropTypes.string,\n dirty: PropTypes.bool,\n onInlineInputBlur: PropTypes.func,\n};\n\nexport default InlineInput;\n","import { useField, useFormikContext } from \"formik\";\nimport { omit } from \"ramda\";\n\nimport InlineInput from \"./InlineInput\";\n\nconst FormikInlineInput = ({ name, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n const { submitForm, isSubmitting, resetForm, dirty } = useFormikContext();\n\n const handleSubmit = value => {\n setValue(value);\n\n props.handleSubmit?.(value);\n\n return submitForm();\n };\n\n return (\n <InlineInput\n error={meta.touched ? meta.error : \"\"}\n isSaving={isSubmitting}\n {...props}\n handleCancel={() => {\n resetForm();\n props.handleCancel?.();\n }}\n {...{ handleSubmit, ...omit([\"onBlur\"], field), dirty }}\n onInlineInputBlur={trimmedValue => {\n setValue(trimmedValue);\n setTouched(true);\n }}\n />\n );\n};\n\nexport default FormikInlineInput;\n"],"names":["TOOLTIP_PROPS","save","content","t","position","delay","cancel","BUTTON_SIZE_BY_INPUT_SIZE","small","medium","large","INPUT_MIN_HEIGHT_BY_SIZE","TEXTAREA_DESCENDANT_MIN_H_BY_SIZE","mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","e","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","InlineInput","forwardRef","props","_BUTTON_SIZE_BY_INPUT","_INPUT_MIN_HEIGHT_BY_","_TEXTAREA_DESCENDANT_","_useTranslation","useTranslation","_props$saveOnBlur","saveOnBlur","_props$clearOnSave","clearOnSave","_props$nullable","nullable","_props$value","isSaving","_props$className","className","_props$handleSubmit","handleSubmit","noop","_props$handleCancel","handleCancel","_props$submitButtonPr","submitButtonProps","_props$cancelButtonPr","cancelButtonProps","dirty","_props$onInlineInputB","onInlineInputBlur","_props$size","size","_props$multiline","multiline","_props$textClassName","textClassName","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useStateWithDependen","useStateWithDependency","String","_useStateWithDependen2","internalValue","setInternalValue","inputRef","useRef","inputWrapperRef","wasSubmittingRef","trimmedValue","trim","isValidValue","isNotEmpty","isNotNil","isDirty","saveDisabled","disabled","buttonSize","hasCustomText","inputMinHeight","textareaDescendantMinH","handleFocusOut","onSubmit","onCancel","useOnClickOutside","_ref","_asyncToGenerator","_callee","_context","apply","closeRef","useHotkeys","event","stopPropagation","mode","submitHotkey","submitRef","enabled","useLayoutEffect","_inputWrapperRef$curr","selector","inputElement","querySelector","useEffect","_inputRef$current","focus","suffixContent","_jsxs","_Fragment","children","_jsx","Tooltip","_objectSpread","Button","icon","Check","loading","variant","onClick","X","wrapperClassName","classnames","_defineProperty","inputCustomClassName","inheritFontStyle","fontSize","fontWeight","fontFamily","lineHeight","undefined","sharedProps","autoFocus","disableTrimOnBlur","suffix","onChange","_otherProps$onChange","target","Textarea","resize","style","Input","FormikInlineInput","name","_useField","useField","_useField2","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","submitForm","resetForm","error","touched","omit"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,aAAa,GAAG;AAC3BC,EAAAA,IAAI,EAAE;AACJC,IAAAA,OAAO,EAAEC,SAAC,CAAC,oCAAoC,CAAC;AAChDC,IAAAA,QAAQ,EAAE,KAAK;AACfC,IAAAA,KAAK,EAAE;GACR;AACDC,EAAAA,MAAM,EAAE;AACNJ,IAAAA,OAAO,EAAEC,SAAC,CAAC,sCAAsC,CAAC;AAClDC,IAAAA,QAAQ,EAAE,KAAK;AACfC,IAAAA,KAAK,EAAE;AACT;AACF,CAAC;AAEM,IAAME,yBAAyB,GAAG;AACvCC,EAAAA,KAAK,EAAE,SAAS;AAChBC,EAAAA,MAAM,EAAE,SAAS;AACjBC,EAAAA,KAAK,EAAE;AACT,CAAC;;AAED;AACA;AACO,IAAMC,wBAAwB,GAAG;AACtCH,EAAAA,KAAK,EAAE,oBAAoB;AAC3BC,EAAAA,MAAM,EAAE,SAAS;AACjBC,EAAAA,KAAK,EAAE;AACT,CAAC;;AAED;AACA;AACO,IAAME,iCAAiC,GAAG;AAC/CJ,EAAAA,KAAK,EAAE,gDAAgD;AACvDC,EAAAA,MAAM,EAAE,uBAAuB;AAC/BC,EAAAA,KAAK,EAAE;AACT,CAAC;;ACnCM,IAAMG,SAAS,GACpB,SADWA,SAASA,GAAA;AAAA,EAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAChBC,IAAI,GAAA,IAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAAJF,IAAAA,IAAI,CAAAE,IAAA,CAAA,GAAAJ,SAAA,CAAAI,IAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OACR,UAAAC,IAAI,EAAA;AAAA,IAAA,OACFH,IAAI,CAACI,OAAO,CAAC,UAAAC,GAAG,EAAA;AAAA,MAAA,OACd,OAAOA,GAAG,KAAK,UAAU,GAAGA,GAAG,CAACF,IAAI,CAAC,GAAIE,GAAG,CAACC,OAAO,GAAGH,IAAK;AAAA,IAAA,CAC9D,CAAC;AAAA,EAAA,CAAA;AAAA,CAAA;;;;;ACJL,SAAA,YAAA,GAAA,qKAAA,IAAAI,CAAA,EAAArB,CAAA,EAAAsB,CAAA,GAAA,UAAA,IAAA,OAAAC,MAAA,GAAAA,MAAA,GAAA,EAAA,EAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,IAAA,YAAA,EAAAC,CAAA,GAAAJ,CAAA,CAAAK,WAAA,IAAA,eAAA,CAAA,CAAA,SAAAC,EAAAN,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA,EAAA,IAAAC,CAAA,GAAAL,CAAA,IAAAA,CAAA,CAAAM,SAAA,YAAAC,SAAA,GAAAP,CAAA,GAAAO,SAAA,EAAAC,CAAA,GAAAC,MAAA,CAAAC,MAAA,CAAAL,CAAA,CAAAC,SAAA,CAAA,CAAA,CAAA,OAAAK,mBAAA,CAAAH,CAAA,EAAA,SAAA,EAAA,UAAAV,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA,EAAA,IAAAE,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAI,CAAA,GAAA,CAAA,EAAAC,CAAA,GAAAX,CAAA,IAAA,EAAA,EAAAY,CAAA,GAAA,KAAA,EAAAC,CAAA,GAAA,EAAAF,CAAA,EAAA,CAAA,EAAAb,CAAA,EAAA,CAAA,EAAAgB,CAAA,EAAAnB,CAAA,EAAAoB,CAAA,EAAAC,CAAA,EAAAN,CAAA,EAAAM,CAAA,CAAAC,IAAA,CAAAtB,CAAA,EAAA,CAAA,CAAA,EAAAqB,CAAA,WAAAA,CAAAA,CAAA1C,CAAA,EAAAsB,CAAA,WAAAM,CAAA,GAAA5B,CAAA,EAAA6B,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAAX,CAAA,EAAAkB,CAAA,CAAAf,CAAA,GAAAF,CAAA,EAAAmB,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,SAAAC,EAAApB,CAAA,EAAAE,CAAA,EAAA,EAAA,KAAAK,CAAA,GAAAP,CAAA,EAAAU,CAAA,GAAAR,CAAA,EAAAxB,CAAA,OAAAsC,CAAA,IAAAF,CAAA,IAAA,CAAAV,CAAA,IAAA1B,CAAA,GAAAqC,CAAA,CAAAxB,MAAA,EAAAb,CAAA,UAAA0B,CAAA,EAAAE,CAAA,GAAAS,CAAA,CAAArC,CAAA,CAAA,EAAA0C,CAAA,GAAAH,CAAA,CAAAF,CAAA,EAAAO,CAAA,GAAAhB,CAAA,KAAAN,CAAA,GAAA,CAAA,GAAA,CAAAI,CAAA,GAAAkB,CAAA,KAAApB,CAAA,MAAAQ,CAAA,GAAAJ,CAAA,CAAA,CAAAC,CAAA,GAAAD,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,IAAAC,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAAD,CAAA,CAAA,CAAA,CAAA,GAAAA,CAAA,CAAA,CAAA,CAAA,GAAAP,CAAA,IAAAO,CAAA,CAAA,CAAA,CAAA,IAAAc,CAAA,KAAA,CAAAhB,CAAA,GAAAJ,CAAA,GAAA,CAAA,IAAAoB,CAAA,GAAAd,CAAA,CAAA,CAAA,CAAA,KAAAC,CAAA,MAAAU,CAAA,CAAAC,CAAA,GAAAhB,CAAA,EAAAe,CAAA,CAAAf,CAAA,GAAAI,CAAA,CAAA,CAAA,CAAA,IAAAc,CAAA,GAAAE,CAAA,KAAAlB,CAAA,GAAAJ,CAAA,GAAA,CAAA,IAAAM,CAAA,CAAA,CAAA,CAAA,GAAAJ,CAAA,IAAAA,CAAA,GAAAoB,CAAA,MAAAhB,CAAA,CAAA,CAAA,CAAA,GAAAN,CAAA,EAAAM,CAAA,CAAA,CAAA,CAAA,GAAAJ,CAAA,EAAAe,CAAA,CAAAf,CAAA,GAAAoB,CAAA,EAAAf,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAH,CAAA,IAAAJ,CAAA,GAAA,CAAA,EAAA,OAAAmB,CAAA,CAAA,CAAA,MAAAH,CAAA,GAAA,IAAA,EAAAd,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,UAAAE,CAAA,EAAAW,CAAA,EAAAO,CAAA,EAAA,EAAA,IAAAR,CAAA,GAAA,CAAA,EAAA,MAAAS,SAAA,CAAA,8BAAA,CAAA,CAAA,CAAA,KAAAP,CAAA,UAAAD,CAAA,IAAAK,CAAA,CAAAL,CAAA,EAAAO,CAAA,CAAA,EAAAf,CAAA,GAAAQ,CAAA,EAAAL,CAAA,GAAAY,CAAA,EAAA,CAAA5C,CAAA,GAAA6B,CAAA,GAAA,CAAA,GAAAR,CAAA,GAAAW,CAAA,KAAA,CAAAM,CAAA,GAAA,EAAAV,CAAA,KAAAC,CAAA,GAAAA,CAAA,GAAA,CAAA,IAAAA,CAAA,GAAA,CAAA,KAAAU,CAAA,CAAAf,CAAA,GAAA,EAAA,CAAA,EAAAkB,CAAA,CAAAb,CAAA,EAAAG,CAAA,CAAA,IAAAO,CAAA,CAAAf,CAAA,GAAAQ,CAAA,GAAAO,CAAA,CAAAC,CAAA,GAAAR,CAAA,aAAAI,CAAA,GAAA,CAAA,EAAAR,CAAA,EAAA,EAAA,IAAAC,CAAA,KAAAH,CAAA,GAAA,MAAA,CAAA,EAAA1B,CAAA,GAAA4B,CAAA,CAAAF,CAAA,WAAA1B,CAAA,GAAAA,CAAA,CAAA8C,IAAA,CAAAlB,CAAA,EAAAI,CAAA,CAAA,CAAA,EAAA,MAAAa,SAAA,CAAA,kCAAA,CAAA,CAAA,CAAA,IAAA,CAAA7C,CAAA,CAAA+C,IAAA,EAAA,OAAA/C,CAAA,CAAA,CAAAgC,CAAA,GAAAhC,CAAA,CAAAgD,KAAA,EAAAnB,CAAA,GAAA,CAAA,KAAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,KAAAA,CAAA,KAAA7B,CAAA,GAAA4B,CAAA,CAAA,QAAA,CAAA,CAAA,IAAA5B,CAAA,CAAA8C,IAAA,CAAAlB,CAAA,CAAA,EAAAC,CAAA,SAAAG,CAAA,GAAAa,SAAA,CAAA,mCAAA,GAAAnB,CAAA,GAAA,UAAA,CAAA,EAAAG,CAAA,GAAA,CAAA,CAAA,CAAA,CAAAD,CAAA,GAAAP,CAAA,CAAA,CAAA,CAAA,MAAA,IAAA,CAAArB,CAAA,IAAAsC,CAAA,GAAAC,CAAA,CAAAf,CAAA,GAAA,CAAA,IAAAQ,CAAA,GAAAV,CAAA,CAAAwB,IAAA,CAAAtB,CAAA,EAAAe,CAAA,CAAA,MAAAE,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,OAAAzC,CAAA,EAAA,EAAA4B,CAAA,GAAAP,CAAA,EAAAQ,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAAhC,CAAA,CAAA,CAAA,CAAA,SAAA,EAAAoC,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAAY,KAAA,EAAAhD,CAAA,EAAA+C,IAAA,EAAAT,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAhB,CAAA,EAAAI,CAAA,EAAAE,CAAA,CAAA,EAAA,IAAA,CAAA,EAAAI,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAS,CAAA,GAAA,EAAA,CAAA,CAAA,SAAAV,SAAAA,eAAAkB,iBAAAA,GAAA,CAAA,CAAA,CAAA,SAAAC,0BAAAA,GAAA,CAAA,CAAA,CAAAlD,CAAA,GAAAiC,MAAA,CAAAkB,cAAA,CAAA,CAAA,IAAAtB,CAAA,GAAA,EAAA,CAAAL,CAAA,CAAA,GAAAxB,CAAA,CAAAA,CAAA,IAAAwB,CAAA,CAAA,EAAA,CAAA,CAAA,IAAAW,mBAAA,CAAAnC,CAAA,GAAA,EAAA,EAAAwB,CAAA,EAAA,YAAA,EAAA,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAAxB,CAAA,GAAAgC,CAAA,GAAAkB,0BAAA,CAAApB,SAAA,GAAAC,SAAA,CAAAD,SAAA,GAAAG,MAAA,CAAAC,MAAA,CAAAL,CAAA,CAAA,CAAA,CAAA,SAAAO,CAAAA,CAAAf,CAAA,WAAAY,MAAA,CAAAmB,cAAA,GAAAnB,MAAA,CAAAmB,cAAA,CAAA/B,CAAA,EAAA6B,0BAAA,CAAA,IAAA7B,CAAA,CAAAgC,SAAA,GAAAH,0BAAA,EAAAf,mBAAA,CAAAd,CAAA,EAAAK,CAAA,EAAA,mBAAA,CAAA,CAAA,EAAAL,CAAA,CAAAS,SAAA,GAAAG,MAAA,CAAAC,MAAA,CAAAF,CAAA,CAAA,EAAAX,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA4B,iBAAA,CAAAnB,SAAA,GAAAoB,0BAAA,EAAAf,mBAAA,CAAAH,CAAA,iBAAAkB,0BAAA,CAAA,EAAAf,mBAAA,CAAAe,0BAAA,EAAA,aAAA,EAAAD,iBAAA,CAAA,EAAAA,iBAAA,CAAAK,WAAA,GAAA,mBAAA,EAAAnB,mBAAA,CAAAe,0BAAA,EAAAxB,CAAA,EAAA,mBAAA,CAAA,EAAAS,mBAAA,CAAAH,CAAA,CAAA,EAAAG,mBAAA,CAAAH,CAAA,EAAAN,CAAA,EAAA,WAAA,CAAA,EAAAS,mBAAA,CAAAH,CAAA,EAAAR,CAAA,EAAA,YAAA,EAAA,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAAW,mBAAA,CAAAH,CAAA,8DAAAuB,YAAA,GAAA,SAAAA,YAAAA,GAAA,EAAA,OAAA,EAAAC,CAAA,EAAA5B,CAAA,EAAA6B,CAAA,EAAArB,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,SAAAD,mBAAAA,CAAAd,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAxB,CAAA,EAAA,EAAA,IAAA4B,CAAA,GAAAK,MAAA,CAAAyB,cAAA,CAAA,CAAA,IAAA,EAAA9B,CAAA,uBAAAP,CAAA,EAAA,EAAAO,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAAO,mBAAA,GAAA,SAAAwB,mBAAAtC,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAxB,CAAA,EAAA,EAAA,SAAA0B,CAAAA,CAAAJ,CAAA,EAAAE,CAAA,IAAAW,mBAAA,CAAAd,CAAA,EAAAC,CAAA,YAAAD,CAAA,EAAA,EAAA,OAAA,IAAA,CAAAuC,OAAA,CAAAtC,CAAA,EAAAE,CAAA,EAAAH,CAAA,SAAAC,CAAA,GAAAM,CAAA,GAAAA,CAAA,CAAAP,CAAA,EAAAC,CAAA,IAAA0B,KAAA,EAAAxB,CAAA,EAAAqC,UAAA,GAAA7D,CAAA,EAAA8D,YAAA,EAAA,CAAA9D,CAAA,EAAA+D,QAAA,EAAA,CAAA/D,CAAA,MAAAqB,CAAA,CAAAC,CAAA,CAAA,GAAAE,CAAA,IAAAE,CAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAAA,CAAA,cAAAA,CAAA,CAAA,QAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAAS,mBAAA,CAAAd,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAxB,CAAA,CAAA,CAAA,CAAA;AA0BA,IAAMgE,WAAW,gBAAGC,gBAAU,CAAC,UAACC,KAAK,EAAE/C,GAAG,EAAK;AAAA,EAAA,IAAAgD,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;AAC7C,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBvE,CAAC,GAAAsE,eAAA,CAADtE,CAAC;AACT,EAAA,IAAAwE,iBAAA,GAiBIN,KAAK,CAhBPO,UAAU;AAAVA,IAAAA,UAAU,GAAAD,iBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,iBAAA;IAAAE,kBAAA,GAgBhBR,KAAK,CAfPS,WAAW;AAAXA,IAAAA,WAAW,GAAAD,kBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,kBAAA;IAAAE,eAAA,GAejBV,KAAK,CAdPW,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;IAAAE,YAAA,GAcdZ,KAAK,CAbPlB,KAAK;AAALA,IAAAA,KAAK,GAAA8B,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;IACVC,QAAQ,GAYNb,KAAK,CAZPa,QAAQ;IAAAC,gBAAA,GAYNd,KAAK,CAXPe,SAAS;AAATA,IAAAA,SAAS,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,mBAAA,GAWZhB,KAAK,CAVPiB,YAAY;AAAZA,IAAAA,YAAY,GAAAD,mBAAA,KAAA,MAAA,GAAGE,cAAI,GAAAF,mBAAA;IAAAG,mBAAA,GAUjBnB,KAAK,CATPoB,YAAY;AAAZA,IAAAA,YAAY,GAAAD,mBAAA,KAAA,MAAA,GAAGD,cAAI,GAAAC,mBAAA;IAAAE,qBAAA,GASjBrB,KAAK,CARPsB,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAQpBvB,KAAK,CAPPwB,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IACtBE,KAAK,GAMHzB,KAAK,CANPyB,KAAK;IAAAC,qBAAA,GAMH1B,KAAK,CALP2B,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAGR,cAAI,GAAAQ,qBAAA;IAAAE,WAAA,GAKtB5B,KAAK,CAJP6B,IAAI;AAAJA,IAAAA,IAAI,GAAAD,WAAA,KAAA,MAAA,GAAG,QAAQ,GAAAA,WAAA;IAAAE,gBAAA,GAIb9B,KAAK,CAHP+B,SAAS;AAATA,IAAAA,SAAS,GAAAD,gBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,gBAAA;IAAAE,oBAAA,GAGfhC,KAAK,CAFPiC,aAAa;AAAbA,IAAAA,aAAa,GAAAD,oBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,oBAAA;AACfE,IAAAA,UAAU,GAAAC,wBAAA,CACXnC,KAAK,EAAAoC,WAAA,CAAA;AAET,EAAA,IAAAC,SAAA,GAAwCC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAhDI,IAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,eAAe,GAAAH,UAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAI,qBAAA,GAA0CC,sBAAsB,CAC9DC,MAAM,CAAC/D,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAALA,KAAK,GAAI,EAAE,CACpB,CAAC;IAAAgE,sBAAA,GAAAN,cAAA,CAAAG,qBAAA,EAAA,CAAA,CAAA;AAFMI,IAAAA,aAAa,GAAAD,sBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,gBAAgB,GAAAF,sBAAA,CAAA,CAAA,CAAA;AAGtC,EAAA,IAAMG,QAAQ,GAAGC,YAAM,CAAC,IAAI,CAAC;AAC7B,EAAA,IAAMC,eAAe,GAAGD,YAAM,CAAC,IAAI,CAAC;AACpC,EAAA,IAAME,gBAAgB,GAAGF,YAAM,CAACT,YAAY,CAAC;AAC7C,EAAA,IAAMY,YAAY,GAAGN,aAAa,CAACO,IAAI,EAAE;AACzC,EAAA,IAAMC,YAAY,GAChB5C,QAAQ,IAAK6C,oBAAU,CAACH,YAAY,CAAC,IAAII,cAAQ,CAACJ,YAAY,CAAE;AAElE,EAAA,IAAMK,OAAO,GAAGX,aAAa,KAAKjE,KAAK,IAAI2C,KAAK;AAChD,EAAA,IAAMkC,YAAY,GAChB,CAACJ,YAAY,IACbd,YAAY,IACZ5B,QAAQ,IACRS,iBAAiB,CAACsC,QAAQ,IAC1B,CAACF,OAAO;AAEV,EAAA,IAAMG,UAAU,GAAA,CAAA5D,qBAAA,GAAG/D,yBAAyB,CAAC2F,IAAI,CAAC,MAAA,IAAA,IAAA5B,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,MAAM;AAC5D,EAAA,IAAM6D,aAAa,GAAGN,oBAAU,CAACvB,aAAa,CAAC;AAC/C,EAAA,IAAM8B,cAAc,GAAA,CAAA7D,qBAAA,GAClB5D,wBAAwB,CAACuF,IAAI,CAAC,MAAA,IAAA,IAAA3B,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI5D,wBAAwB,CAACF,MAAM;AAEnE,EAAA,IAAM4H,sBAAsB,GAAA,CAAA7D,qBAAA,GAC1B5D,iCAAiC,CAACsF,IAAI,CAAC,MAAA,IAAA,IAAA1B,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GACvC5D,iCAAiC,CAACH,MAAM;AAE1C,EAAA,IAAM6H,cAAc,GAAG,SAAjBA,cAAcA,GAAS;AAC3B,IAAA,IAAI,CAACV,YAAY,IAAId,YAAY,EAAE;IAEnCd,iBAAiB,CAAC0B,YAAY,CAAC;IAE/B,IAAI9C,UAAU,IAAImD,OAAO,EAAE;AACzBQ,MAAAA,QAAQ,EAAE;AAEV,MAAA;AACF,IAAA;AAEAC,IAAAA,QAAQ,EAAE;EACZ,CAAC;AAEDC,EAAAA,iBAAiB,CAACjB,eAAe,EAAEc,cAAc,CAAC;AAElD,EAAA,IAAMC,QAAQ,gBAAA,YAAA;IAAA,IAAAG,IAAA,GAAAC,iBAAA,cAAAjF,YAAA,EAAA,CAAAE,CAAA,CAAG,SAAAgF,OAAAA,GAAA;AAAA,MAAA,OAAAlF,YAAA,EAAA,CAAAC,CAAA,CAAA,UAAAkF,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAArG,CAAA,GAAAqG,QAAA,CAAAlH,CAAA;AAAA,UAAA,KAAA,CAAA;YACfoF,eAAe,CAAC,IAAI,CAAC;AAAC8B,YAAAA,QAAA,CAAArG,CAAA,GAAA,CAAA;AAAAqG,YAAAA,QAAA,CAAAlH,CAAA,GAAA,CAAA;YAAA,OAEd2D,YAAY,CAACoC,YAAY,CAAC;AAAA,UAAA,KAAA,CAAA;AAChC5C,YAAAA,WAAW,IAAIuC,gBAAgB,CAAC,EAAE,CAAC;AAAC,UAAA,KAAA,CAAA;AAAAwB,YAAAA,QAAA,CAAArG,CAAA,GAAA,CAAA;YAEpCuE,eAAe,CAAC,KAAK,CAAC;YAAC,OAAA8B,QAAA,CAAAtG,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;YAAA,OAAAsG,QAAA,CAAAjG,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAgG,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;IAAA,CAE1B,CAAA,CAAA;AAAA,IAAA,OAAA,SARKL,QAAQA,GAAA;AAAA,MAAA,OAAAG,IAAA,CAAAI,KAAA,CAAA,IAAA,EAAA/H,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAQb;AAED,EAAA,IAAMyH,QAAQ,GAAG,SAAXA,QAAQA,GAAS;IACrB/C,YAAY,CAACiC,YAAY,CAAC;EAC5B,CAAC;EAED,IAAMqB,QAAQ,GAAGC,UAAU,CACzB,QAAQ,EACR,UAAAC,KAAK,EAAI;IACPA,KAAK,CAACC,eAAe,EAAE;AACvBV,IAAAA,QAAQ,EAAE;AACZ,EAAA,CAAC,EACD;AAAEW,IAAAA,IAAI,EAAE;AAAS,GACnB,CAAC;EAED,IAAMC,YAAY,GAAGhD,SAAS,GAC1B,gBAAgB,GAChB,CAAC,gBAAgB,EAAE,QAAQ,CAAC;AAEhC,EAAA,IAAMiD,SAAS,GAAGL,UAAU,CAACI,YAAY,EAAE,YAAA;IAAA,OAAMb,QAAQ,EAAE;EAAA,CAAA,EAAE;AAC3DY,IAAAA,IAAI,EAAE,QAAQ;AACdG,IAAAA,OAAO,EAAE1B;AACX,GAAC,CAAC;AAEF2B,EAAAA,qBAAe,CAAC,YAAM;AAAA,IAAA,IAAAC,qBAAA;AACpB,IAAA,IAAMC,QAAQ,GAAGrD,SAAS,GAAG,UAAU,GAAG,OAAO;AACjD,IAAA,IAAMsD,YAAY,GAAA,CAAAF,qBAAA,GAAGhC,eAAe,CAACjG,OAAO,MAAA,IAAA,IAAAiI,qBAAA,uBAAvBA,qBAAA,CAAyBG,aAAa,CAACF,QAAQ,CAAC;IACrE5I,SAAS,CAACyG,QAAQ,EAAEyB,QAAQ,EAAEM,SAAS,CAAC,CAACK,YAAY,CAAC;AACxD,EAAA,CAAC,EAAE,CAACtD,SAAS,CAAC,CAAC;AAEfwD,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAInC,gBAAgB,CAAClG,OAAO,IAAI,CAACuF,YAAY,EAAE;AAAA,MAAA,IAAA+C,iBAAA;AAC7C,MAAA,CAAAA,iBAAA,GAAAvC,QAAQ,CAAC/F,OAAO,MAAA,IAAA,IAAAsI,iBAAA,KAAA,MAAA,IAAhBA,iBAAA,CAAkBC,KAAK,EAAE;AAC3B,IAAA;IACArC,gBAAgB,CAAClG,OAAO,GAAGuF,YAAY;AACzC,EAAA,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;AAElB,EAAA,IAAMiD,aAAa,gBACjBC,eAAA,CAAAC,mBAAA,EAAA;IAAAC,QAAA,EAAA,cACEC,cAAA,CAACC,kBAAO,EAAAC,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAKrK,aAAa,CAACC,IAAI,CAAA,EAAA,EAAA,EAAA;AAAAiK,MAAAA,QAAA,eAC7BC,cAAA,CAACG,iBAAM,EAAAD,eAAA,CAAAA,eAAA,CAAA;QACL,YAAA,EAAYlK,CAAC,CAAC,oCAAoC,CAAE;AACpD,QAAA,aAAA,EAAY,qCAAqC;AACjDoK,QAAAA,IAAI,EAAEC,WAAM;QACZC,OAAO,EAAE3D,YAAY,IAAI5B,QAAS;AAClCgB,QAAAA,IAAI,EAAEgC,UAAW;AACjBwC,QAAAA,OAAO,EAAC,OAAO;AACfC,QAAAA,OAAO,EAAEpC;AAAS,OAAA,EACd5C,iBAAiB,CAAA,EAAA,EAAA,EAAA;AACrBsC,QAAAA,QAAQ,EAAED;OAAa,CACxB;AAAC,KAAA,CACK,CAAC,eACVmC,cAAA,CAACC,kBAAO,EAAAC,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAKrK,aAAa,CAACM,MAAM,CAAA,EAAA,EAAA,EAAA;AAAA4J,MAAAA,QAAA,eAC/BC,cAAA,CAACG,iBAAM,EAAAD,eAAA,CAAAA,eAAA,CAAA;AACC/I,QAAAA,GAAG,EAAHA,GAAG;QACT,YAAA,EAAYnB,CAAC,CAAC,sCAAsC,CAAE;AACtD,QAAA,aAAA,EAAY,uCAAuC;AACnDoK,QAAAA,IAAI,EAAEK,GAAE;AACR1E,QAAAA,IAAI,EAAEgC,UAAW;AACjBwC,QAAAA,OAAO,EAAC,OAAO;AACfC,QAAAA,OAAO,EAAEnC;AAAS,OAAA,EACd3C,iBAAiB,CAAA,EAAA,EAAA,EAAA;AACrBoC,QAAAA,QAAQ,EAAEnB,YAAY,IAAI5B,QAAQ,IAAIW,iBAAiB,CAACoC;OAAS,CAClE;AAAC,KAAA,CACK,CAAC;AAAA,GACV,CACH;AAED,EAAA,IAAM4C,gBAAgB,GAAGC,UAAU,CACjC,gBAAgB,EAChB,yGAAyG,EAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,KAEtG3F,SAAS,EAAGA,SAAS,CAAA,EACrBkB,aAAa,EAAG6B,aAAa,GAC9B,mIAAmI,EACjIA,aAAa,IAAI,CAAC/B,SAAS,CAAA,EAC7B,oLAAoL,EAClL+B,aAAa,IAAI/B,SAAS,CAAA,EAE9B+B,aAAa,IAAI/B,SAAS,IAAIiC,sBAChC,CAAC;AAED,EAAA,IAAM2C,oBAAoB,GACxB7C,aAAa,IAAI,CAAC/B,SAAS,GACvB0E,UAAU,CAAC,eAAe,EAAE1C,cAAc,CAAC,GAC3C,EAAE;EAER,IAAM6C,gBAAgB,GAAG9C,aAAa,GAClC;AACE+C,IAAAA,QAAQ,EAAE,SAAS;AACnBC,IAAAA,UAAU,EAAE,SAAS;AACrBC,IAAAA,UAAU,EAAE,SAAS;AACrBC,IAAAA,UAAU,EAAE;AACd,GAAC,GACDC,SAAS;AAEb,EAAA,IAAMC,WAAW,GAAG;AAClB,IAAA,YAAY,EAAEpL,CAAC,CAAC,0CAA0C,CAAC;AAC3D,IAAA,aAAa,EAAE,gCAAgC;AAC/CqL,IAAAA,SAAS,EAAE,IAAI;AACfvD,IAAAA,QAAQ,EAAEnB,YAAY;AACtB2E,IAAAA,iBAAiB,EAAE,IAAI;AACvBvF,IAAAA,IAAI,EAAJA,IAAI;AACJwF,IAAAA,MAAM,EAAE3B,aAAa;AACrB5G,IAAAA,KAAK,EAAEiE,aAAa;AACpBuE,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEnK,CAAC,EAAI;AAAA,MAAA,IAAAoK,oBAAA;AACbrF,MAAAA,UAAU,aAAVA,UAAU,KAAA,MAAA,IAAA,CAAAqF,oBAAA,GAAVrF,UAAU,CAAEoF,QAAQ,MAAA,IAAA,IAAAC,oBAAA,KAAA,MAAA,IAApBA,oBAAA,CAAA3I,IAAA,CAAAsD,UAAU,EAAa/E,CAAC,CAAC;AACzB6F,MAAAA,gBAAgB,CAAC7F,CAAC,CAACqK,MAAM,CAAC1I,KAAK,CAAC;AAClC,IAAA;GACD;AAED,EAAA,oBACEgH,cAAA,CAAA,KAAA,EAAA;AAAK/E,IAAAA,SAAS,EAAEyF,gBAAiB;AAACvJ,IAAAA,GAAG,EAAEkG,eAAgB;AAAA0C,IAAAA,QAAA,EACpD9D,SAAS,gBACR+D,cAAA,CAAC2B,mBAAQ,EAAAzB,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACHkB,WAAW,GACXhF,UAAU,CAAA,EAAA,EAAA,EAAA;AACdwF,MAAAA,MAAM,EAAC,MAAM;AACbC,MAAAA,KAAK,EACHf,gBAAgB,GAAAZ,eAAA,CAAAA,eAAA,CAAA,EAAA,EACPY,gBAAgB,CAAA,EAAM1E,UAAU,CAACyF,KAAK,IAAI,EAAE,CAAA,GACjDzF,UAAU,CAACyF;AAChB,KAAA,CACF,CAAC,gBAEF7B,cAAA,CAAC8B,gBAAK,EAAA5B,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACAkB,WAAW,GACXhF,UAAU,CAAA,EAAA,EAAA,EAAA;MACdnB,SAAS,EAAE0F,UAAU,CAACE,oBAAoB,EAAEzE,UAAU,CAACnB,SAAS,CAAE;AAClE4G,MAAAA,KAAK,EACHf,gBAAgB,GAAAZ,eAAA,CAAAA,eAAA,CAAA,EAAA,EACPY,gBAAgB,CAAA,EAAM1E,UAAU,CAACyF,KAAK,IAAI,EAAE,CAAA,GACjDzF,UAAU,CAACyF;KAChB,CACF;AACF,GACE,CAAC;AAEV,CAAC;AAED7H,WAAW,CAACV,WAAW,GAAG,aAAa;;;;;AC3OvC,IAAMyI,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAxD,IAAA,EAA2B;AAAA,EAAA,IAArByD,IAAI,GAAAzD,IAAA,CAAJyD,IAAI;AAAK9H,IAAAA,KAAK,GAAAmC,wBAAA,CAAAkC,IAAA,EAAAjC,SAAA,CAAA;AACzC,EAAA,IAAA2F,SAAA,GAAgDC,eAAQ,CAACF,IAAI,CAAC;IAAAG,UAAA,GAAAzF,cAAA,CAAAuF,SAAA,EAAA,CAAA,CAAA;AAAvDG,IAAAA,KAAK,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,IAAI,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAAG,IAAAA,WAAA,GAAAH,UAAA,CAAA,CAAA,CAAA;IAAII,QAAQ,GAAAD,WAAA,CAARC,QAAQ;IAAEC,UAAU,GAAAF,WAAA,CAAVE,UAAU;AAE1C,EAAA,IAAAC,iBAAA,GAAuDC,uBAAgB,EAAE;IAAjEC,UAAU,GAAAF,iBAAA,CAAVE,UAAU;IAAEhG,YAAY,GAAA8F,iBAAA,CAAZ9F,YAAY;IAAEiG,SAAS,GAAAH,iBAAA,CAATG,SAAS;IAAEjH,KAAK,GAAA8G,iBAAA,CAAL9G,KAAK;AAElD,EAAA,IAAMR,YAAY,GAAG,SAAfA,YAAYA,CAAGnC,KAAK,EAAI;AAAA,IAAA,IAAAkC,mBAAA;IAC5BqH,QAAQ,CAACvJ,KAAK,CAAC;AAEf,IAAA,CAAAkC,mBAAA,GAAAhB,KAAK,CAACiB,YAAY,MAAA,IAAA,IAAAD,mBAAA,KAAA,MAAA,IAAlBA,mBAAA,CAAApC,IAAA,CAAAoB,KAAK,EAAgBlB,KAAK,CAAC;IAE3B,OAAO2J,UAAU,EAAE;EACrB,CAAC;EAED,oBACE3C,cAAA,CAAChG,WAAW,EAAAkG,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;IACV2C,KAAK,EAAER,IAAI,CAACS,OAAO,GAAGT,IAAI,CAACQ,KAAK,GAAG,EAAG;AACtC9H,IAAAA,QAAQ,EAAE4B;AAAa,GAAA,EACnBzC,KAAK,CAAA,EAAA,EAAA,EAAA;AACToB,IAAAA,YAAY,EAAE,SAAdA,YAAYA,GAAQ;AAAA,MAAA,IAAAD,mBAAA;AAClBuH,MAAAA,SAAS,EAAE;AACX,MAAA,CAAAvH,mBAAA,GAAAnB,KAAK,CAACoB,YAAY,MAAA,IAAA,IAAAD,mBAAA,KAAA,MAAA,IAAlBA,mBAAA,CAAAvC,IAAA,CAAAoB,KAAqB,CAAC;AACxB,IAAA;GAAE,EAAAgG,aAAA,CAAAA,aAAA,CAAA;AACI/E,IAAAA,YAAY,EAAZA;AAAY,GAAA,EAAK4H,UAAI,CAAC,CAAC,QAAQ,CAAC,EAAEX,KAAK,CAAC,CAAA,EAAA,EAAA,EAAA;AAAEzG,IAAAA,KAAK,EAALA;AAAK,GAAA,CAAA,CAAA,EAAA,EAAA,EAAA;AACrDE,IAAAA,iBAAiB,EAAE,SAAnBA,iBAAiBA,CAAE0B,YAAY,EAAI;MACjCgF,QAAQ,CAAChF,YAAY,CAAC;MACtBiF,UAAU,CAAC,IAAI,CAAC;AAClB,IAAA;AAAE,GAAA,CACH,CAAC;AAEN;;;;;"}
|
|
1
|
+
{"version":3,"file":"InlineInput.js","sources":["../../../src/v2/components/InlineInput/constants.js","../../../src/v2/components/InlineInput/utils.js","../../../src/v2/components/InlineInput/InlineInput.jsx","../../../src/v2/components/InlineInput/FormikInlineInput.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TOOLTIP_PROPS = {\n save: {\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n delay: 300,\n },\n cancel: {\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n delay: 300,\n },\n};\n\nexport const BUTTON_SIZE_BY_INPUT_SIZE = {\n small: \"icon-xs\",\n medium: \"icon-sm\",\n large: \"icon\",\n};\n\n// Used only when `textClassName` is set, to keep size baseline while letting\n// the box grow with bigger fonts. Mirrors atoms Input's h-* per size.\nexport const INPUT_MIN_HEIGHT_BY_SIZE = {\n small: \"min-h-8 md:min-h-7\",\n medium: \"min-h-8\",\n large: \"min-h-10\",\n};\n\n// Descendant selector targeting the inner <textarea> (atoms applies its own\n// min-h-20/28 directly to the element; consumer className lands on outer div).\nexport const TEXTAREA_DESCENDANT_MIN_H_BY_SIZE = {\n small: \"[&_textarea]:!min-h-8 md:[&_textarea]:!min-h-7\",\n medium: \"[&_textarea]:!min-h-8\",\n large: \"[&_textarea]:!min-h-10\",\n};\n","export const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import {\n forwardRef,\n useEffect,\n useLayoutEffect,\n useState,\n useRef,\n} from \"react\";\n\nimport { Button, Input, Textarea, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Check, X } from \"lucide-react\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/v2/react-utils/useOnClickOutside\";\nimport useStateWithDependency from \"neetocommons/v2/react-utils/useStateWithDependency\";\nimport useHotkeys from \"neetohotkeys\";\nimport PropTypes from \"prop-types\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n BUTTON_SIZE_BY_INPUT_SIZE,\n INPUT_MIN_HEIGHT_BY_SIZE,\n TEXTAREA_DESCENDANT_MIN_H_BY_SIZE,\n TOOLTIP_PROPS,\n} from \"./constants\";\nimport { mergeRefs } from \"./utils\";\n\nconst InlineInput = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const {\n saveOnBlur = false,\n clearOnSave = false,\n nullable = false,\n value = \"\",\n isSaving,\n className = \"\",\n handleSubmit = noop,\n handleCancel = noop,\n submitButtonProps = {},\n cancelButtonProps = {},\n dirty,\n onInlineInputBlur = noop,\n size = \"medium\",\n multiline = false,\n textClassName = \"\",\n ...otherProps\n } = props;\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [internalValue, setInternalValue] = useStateWithDependency(\n String(value ?? \"\")\n );\n const inputRef = useRef(null);\n const inputWrapperRef = useRef(null);\n const wasSubmittingRef = useRef(isSubmitting);\n const trimmedValue = internalValue.trim();\n const isValidValue =\n nullable || (isNotEmpty(trimmedValue) && isNotNil(trimmedValue));\n\n const isDirty = internalValue !== value || dirty;\n const saveDisabled =\n !isValidValue ||\n isSubmitting ||\n isSaving ||\n submitButtonProps.disabled ||\n !isDirty;\n\n const buttonSize = BUTTON_SIZE_BY_INPUT_SIZE[size] ?? \"icon\";\n const hasCustomText = isNotEmpty(textClassName);\n const inputMinHeight =\n INPUT_MIN_HEIGHT_BY_SIZE[size] ?? INPUT_MIN_HEIGHT_BY_SIZE.medium;\n\n const textareaDescendantMinH =\n TEXTAREA_DESCENDANT_MIN_H_BY_SIZE[size] ??\n TEXTAREA_DESCENDANT_MIN_H_BY_SIZE.medium;\n\n const handleFocusOut = () => {\n if (!isValidValue || isSubmitting) return;\n\n onInlineInputBlur(trimmedValue);\n\n if (saveOnBlur && isDirty) {\n onSubmit();\n\n return;\n }\n\n onCancel();\n };\n\n useOnClickOutside(inputWrapperRef, handleFocusOut);\n\n const onSubmit = async () => {\n setIsSubmitting(true);\n try {\n await handleSubmit(trimmedValue);\n clearOnSave && setInternalValue(\"\");\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const onCancel = () => {\n handleCancel(trimmedValue);\n };\n\n const closeRef = useHotkeys(\n \"escape\",\n event => {\n event.stopPropagation();\n onCancel();\n },\n { mode: \"scoped\" }\n );\n\n const submitHotkey = multiline\n ? \"command+return\"\n : [\"command+return\", \"return\"];\n\n const submitRef = useHotkeys(submitHotkey, () => onSubmit(), {\n mode: \"scoped\",\n enabled: isValidValue,\n });\n\n useLayoutEffect(() => {\n const selector = multiline ? \"textarea\" : \"input\";\n const inputElement = inputWrapperRef.current?.querySelector(selector);\n mergeRefs(inputRef, closeRef, submitRef)(inputElement);\n }, [multiline]);\n\n useEffect(() => {\n if (wasSubmittingRef.current && !isSubmitting) {\n inputRef.current?.focus();\n }\n wasSubmittingRef.current = isSubmitting;\n }, [isSubmitting]);\n\n const suffixContent = (\n <>\n <Tooltip {...TOOLTIP_PROPS.save}>\n <Button\n aria-label={t(\"neetoMolecules.common.actions.save\")}\n data-testid=\"neeto-molecules-autosave-input-save\"\n icon={Check}\n loading={isSubmitting || isSaving}\n size={buttonSize}\n variant=\"ghost\"\n onClick={onSubmit}\n {...submitButtonProps}\n disabled={saveDisabled}\n />\n </Tooltip>\n <Tooltip {...TOOLTIP_PROPS.cancel}>\n <Button\n {...{ ref }}\n aria-label={t(\"neetoMolecules.common.actions.cancel\")}\n data-testid=\"neeto-molecules-autosave-input-cancel\"\n icon={X}\n size={buttonSize}\n variant=\"ghost\"\n onClick={onCancel}\n {...cancelButtonProps}\n disabled={isSubmitting || isSaving || cancelButtonProps.disabled}\n />\n </Tooltip>\n </>\n );\n\n const enabledUnlessControlDisabled =\n \"[&_[data-slot=input-group]:not(:has([data-slot=input-group-control]:disabled))]:!opacity-100 \" +\n \"[&_[data-slot=input-group]:not(:has([data-slot=input-group-control]:disabled))]:!bg-transparent \" +\n \"dark:[&_[data-slot=input-group]:not(:has([data-slot=input-group-control]:disabled))]:!bg-input/30\";\n\n const wrapperClassName = classnames(\n \"flex flex-grow\",\n \"[&_[data-slot=input-group-addon]>span]:!gap-0.5 [&_[data-slot=input-group-addon]>span]:!text-foreground\",\n enabledUnlessControlDisabled,\n {\n [className]: className,\n [textClassName]: hasCustomText,\n \"[&_input]:![font-size:inherit] [&_input]:![font-weight:inherit] [&_input]:![font-family:inherit] [&_input]:![line-height:inherit]\":\n hasCustomText && !multiline,\n \"[&_textarea]:![field-sizing:content] [&_textarea]:![font-size:inherit] [&_textarea]:![font-weight:inherit] [&_textarea]:![font-family:inherit] [&_textarea]:![line-height:inherit]\":\n hasCustomText && multiline,\n },\n hasCustomText && multiline && textareaDescendantMinH\n );\n\n const inputCustomClassName =\n hasCustomText && !multiline\n ? classnames(\"h-auto py-1.5\", inputMinHeight)\n : \"\";\n\n const inheritFontStyle = hasCustomText\n ? {\n fontSize: \"inherit\",\n fontWeight: \"inherit\",\n fontFamily: \"inherit\",\n lineHeight: \"inherit\",\n }\n : undefined;\n\n const sharedProps = {\n \"aria-label\": t(\"neetoMolecules.inlineInput.editableField\"),\n \"data-testid\": \"neeto-molecules-autosave-input\",\n autoFocus: true,\n disabled: isSubmitting || isSaving,\n disableTrimOnBlur: true,\n size,\n suffix: suffixContent,\n value: internalValue,\n onChange: e => {\n otherProps?.onChange?.(e);\n setInternalValue(e.target.value);\n },\n };\n\n return (\n <div className={wrapperClassName} ref={inputWrapperRef}>\n {multiline ? (\n <Textarea\n {...sharedProps}\n {...otherProps}\n resize=\"none\"\n style={\n inheritFontStyle\n ? { ...inheritFontStyle, ...(otherProps.style || {}) }\n : otherProps.style\n }\n />\n ) : (\n <Input\n {...sharedProps}\n {...otherProps}\n className={classnames(inputCustomClassName, otherProps.className)}\n style={\n inheritFontStyle\n ? { ...inheritFontStyle, ...(otherProps.style || {}) }\n : otherProps.style\n }\n />\n )}\n </div>\n );\n});\n\nInlineInput.displayName = \"InlineInput\";\n\nInlineInput.propTypes = {\n className: PropTypes.string,\n value: PropTypes.string,\n nullable: PropTypes.bool,\n isSaving: PropTypes.bool,\n saveOnBlur: PropTypes.bool,\n clearOnSave: PropTypes.bool,\n submitButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n handleSubmit: PropTypes.func,\n handleCancel: PropTypes.func,\n size: PropTypes.oneOf([\"small\", \"medium\", \"large\"]),\n multiline: PropTypes.bool,\n textClassName: PropTypes.string,\n dirty: PropTypes.bool,\n onInlineInputBlur: PropTypes.func,\n};\n\nexport default InlineInput;\n","import { useField, useFormikContext } from \"formik\";\nimport { omit } from \"ramda\";\n\nimport InlineInput from \"./InlineInput\";\n\nconst FormikInlineInput = ({ name, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n const { submitForm, isSubmitting, resetForm, dirty } = useFormikContext();\n\n const handleSubmit = value => {\n setValue(value);\n\n props.handleSubmit?.(value);\n\n return submitForm();\n };\n\n return (\n <InlineInput\n error={meta.touched ? meta.error : \"\"}\n isSaving={isSubmitting}\n {...props}\n handleCancel={() => {\n resetForm();\n props.handleCancel?.();\n }}\n {...{ handleSubmit, ...omit([\"onBlur\"], field), dirty }}\n onInlineInputBlur={trimmedValue => {\n setValue(trimmedValue);\n setTouched(true);\n }}\n />\n );\n};\n\nexport default FormikInlineInput;\n"],"names":["TOOLTIP_PROPS","save","content","t","position","delay","cancel","BUTTON_SIZE_BY_INPUT_SIZE","small","medium","large","INPUT_MIN_HEIGHT_BY_SIZE","TEXTAREA_DESCENDANT_MIN_H_BY_SIZE","mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","e","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","InlineInput","forwardRef","props","_BUTTON_SIZE_BY_INPUT","_INPUT_MIN_HEIGHT_BY_","_TEXTAREA_DESCENDANT_","_useTranslation","useTranslation","_props$saveOnBlur","saveOnBlur","_props$clearOnSave","clearOnSave","_props$nullable","nullable","_props$value","isSaving","_props$className","className","_props$handleSubmit","handleSubmit","noop","_props$handleCancel","handleCancel","_props$submitButtonPr","submitButtonProps","_props$cancelButtonPr","cancelButtonProps","dirty","_props$onInlineInputB","onInlineInputBlur","_props$size","size","_props$multiline","multiline","_props$textClassName","textClassName","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useStateWithDependen","useStateWithDependency","String","_useStateWithDependen2","internalValue","setInternalValue","inputRef","useRef","inputWrapperRef","wasSubmittingRef","trimmedValue","trim","isValidValue","isNotEmpty","isNotNil","isDirty","saveDisabled","disabled","buttonSize","hasCustomText","inputMinHeight","textareaDescendantMinH","handleFocusOut","onSubmit","onCancel","useOnClickOutside","_ref","_asyncToGenerator","_callee","_context","apply","closeRef","useHotkeys","event","stopPropagation","mode","submitHotkey","submitRef","enabled","useLayoutEffect","_inputWrapperRef$curr","selector","inputElement","querySelector","useEffect","_inputRef$current","focus","suffixContent","_jsxs","_Fragment","children","_jsx","Tooltip","_objectSpread","Button","icon","Check","loading","variant","onClick","X","enabledUnlessControlDisabled","wrapperClassName","classnames","_defineProperty","inputCustomClassName","inheritFontStyle","fontSize","fontWeight","fontFamily","lineHeight","undefined","sharedProps","autoFocus","disableTrimOnBlur","suffix","onChange","_otherProps$onChange","target","Textarea","resize","style","Input","FormikInlineInput","name","_useField","useField","_useField2","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","submitForm","resetForm","error","touched","omit"],"mappings":"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"}
|
package/dist/v2/Builder.js
CHANGED
|
@@ -718,9 +718,13 @@ var ElementsPanel = function ElementsPanel(_ref) {
|
|
|
718
718
|
// (mobile). At larger widths it's an in-flow column; keeping z-[101]
|
|
719
719
|
// there creates a stacking context that traps portaled overlays
|
|
720
720
|
// (dropdowns/popovers, which sit at z-50) behind the panel.
|
|
721
|
-
"relative h-full
|
|
722
|
-
|
|
723
|
-
|
|
721
|
+
"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",
|
|
722
|
+
// The width utilities live on the open branch so a collapsed panel is
|
|
723
|
+
// truly zero-width at every breakpoint. Keeping the mobile
|
|
724
|
+
// full-width utilities (max-[576px]:w-full) unconditional would let
|
|
725
|
+
// them override w-0 inside their media query, leaving the collapsed
|
|
726
|
+
// panel as a full-screen fixed overlay on mobile.
|
|
727
|
+
isElementsPanelCollapsed ? "w-0 max-w-0 min-w-0" : "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]"),
|
|
724
728
|
children: [/*#__PURE__*/jsx("div", {
|
|
725
729
|
className: "h-full w-full overflow-hidden",
|
|
726
730
|
children: /*#__PURE__*/jsx("div", {
|
|
@@ -847,9 +851,13 @@ var PropertiesPanel = function PropertiesPanel(_ref) {
|
|
|
847
851
|
// (below 1280px). As an in-flow column it must not create a stacking
|
|
848
852
|
// context, or portaled overlays (dropdowns/popovers at z-50) render
|
|
849
853
|
// behind the panel.
|
|
850
|
-
"border-border relative h-full
|
|
851
|
-
|
|
852
|
-
|
|
854
|
+
"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",
|
|
855
|
+
// The width utilities live on the open branch so a collapsed panel is
|
|
856
|
+
// truly zero-width at every breakpoint. Keeping the mobile
|
|
857
|
+
// full-width utilities (max-[576px]:w-full) unconditional would let
|
|
858
|
+
// them override w-0 inside their media query, leaving the collapsed
|
|
859
|
+
// panel as a full-screen fixed overlay on mobile.
|
|
860
|
+
isPropertiesPanelCollapsed ? "w-0 max-w-0 min-w-0" : "w-[420px] min-w-[420px] max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0"),
|
|
853
861
|
children: [/*#__PURE__*/jsx("div", {
|
|
854
862
|
className: "bg-background flex h-full w-full min-w-0 flex-col overflow-y-auto p-6 max-[1279px]:pt-12",
|
|
855
863
|
"data-testid": "properties-panel",
|
package/dist/v2/Builder.js.map
CHANGED
|
@@ -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 w-[360px] min-w-[360px] 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 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 { \"w-0 max-w-0 min-w-0\": isElementsPanelCollapsed }\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 w-[420px] min-w-[420px] 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 max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0\",\n { \"w-0 max-w-0 min-w-0\": isPropertiesPanelCollapsed }\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","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-[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","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]}
|