>({});\n const trigger = useCallback(\n (args: TEvaluateContainerStyleArgs) => {\n const {\n x,\n y,\n duration = 200,\n displayElement: triggerDisplayElement,\n } = args;\n if (!x || !y) return;\n const evaluatedContainerStyle = evaluateContainerStyle(args);\n const id = window.crypto.randomUUID();\n\n const finalDisplayElement = triggerDisplayElement ?? displayElement;\n\n const items = [\n finalDisplayElement &&\n createPortal(\n \n {finalDisplayElement}\n
,\n document.body\n ),\n showClickBurst &&\n createPortal(\n \n \n
,\n document.body\n ),\n ];\n\n setPortalElements((current) => ({\n ...current,\n ...items.reduce(\n (acc, item, index) => ({\n ...acc,\n [`${id}_${index}`]: item,\n }),\n {}\n ),\n }));\n setTimeout(() => {\n setPortalElements((current) => {\n const newState = { ...current };\n items.forEach((_, index) => {\n delete newState[`${id}_${index}`];\n });\n return newState;\n });\n }, duration);\n },\n [containerStyle, displayElement]\n );\n\n const renderedPortalElements = useMemo(\n () => <>{Object.values(portalElements)}>,\n [portalElements]\n );\n\n return { domElement: renderedPortalElements, trigger };\n};\n",
"type": "registry:ui"
}
],
"type": "registry:ui"
}