UNPKG

@contentstack/live-preview-utils

Version:

Contentstack provides the Live Preview SDK to establish a communication channel between the various Contentstack SDKs and your website, transmitting live changes to the preview pane.

1 lines 4.92 kB
{"version":3,"sources":["../../../../src/visualBuilder/components/FieldLocationIcon.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { visualBuilderStyles } from \"../visualBuilder.style\";\nimport { EmptyAppIcon } from \"./icons/EmptyAppIcon\";\nimport { MoreIcon } from \"./icons\";\nimport React, { useRef } from \"preact/compat\";\nimport { LoadingIcon } from \"./icons/loading\";\nimport { VisualBuilderPostMessageEvents } from \"../utils/types/postMessage.types\";\nimport visualBuilderPostMessage from \"../utils/visualBuilderPostMessage\";\nimport { CslpData } from \"../../utils/cslpdata\";\n\nexport const FieldLocationIcon = ({\n fieldLocationData,\n multipleFieldToolbarButtonClasses,\n handleMoreIconClick,\n moreButtonRef,\n toolbarRef,\n domEditStack\n}: {\n fieldLocationData: any;\n multipleFieldToolbarButtonClasses: any;\n handleMoreIconClick: () => void;\n moreButtonRef: any;\n toolbarRef: any;\n domEditStack:CslpData[]\n}) => {\n\n\n\n if (!fieldLocationData?.apps || fieldLocationData?.apps?.length === 0) {\n return null;\n }\n\n const handleAppClick = (app: any) => {\n if(!toolbarRef.current) return\n visualBuilderPostMessage?.send(VisualBuilderPostMessageEvents.FIELD_LOCATION_SELECTED_APP, {\n app,\n position: toolbarRef.current?.getBoundingClientRect(),\n DomEditStack:domEditStack\n });\n };\n\n return (\n <div\n ref={toolbarRef}\n className={classNames(\n visualBuilderStyles()[\n \"visual-builder__field-location-icons-container\"\n ]\n )}\n >\n <hr\n className={visualBuilderStyles()[\"visual-builder__field-location-icons-container__divider\"]}\n />\n <button\n key={`${fieldLocationData.apps[0].uid}`}\n title={fieldLocationData.apps[0].title}\n className={multipleFieldToolbarButtonClasses}\n data-tooltip={fieldLocationData.apps[0].title}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n handleAppClick(fieldLocationData.apps[0]);\n }}\n data-testid=\"field-location-icon\"\n >\n {fieldLocationData.apps[0].icon ? (\n <img\n src={fieldLocationData.apps[0].icon}\n alt={fieldLocationData.apps[0].title}\n className={visualBuilderStyles()[\"visual-builder__field-location-icons-container__app-icon\"]}\n />\n ) : (\n <EmptyAppIcon\n id={fieldLocationData.apps[0].app_installation_uid}\n />\n )}\n </button>\n\n \n {\n fieldLocationData.apps.length > 1 && (\n <button\n ref={moreButtonRef}\n className={multipleFieldToolbarButtonClasses}\n data-tooltip={\"More\"}\n onClick={handleMoreIconClick}\n data-testid=\"field-location-more-button\"\n >\n <MoreIcon />\n </button>\n )\n }\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAuB;AACvB,2BAAoC;AACpC,0BAA6B;AAC7B,mBAAyB;AAGzB,yBAA+C;AAC/C,sCAAqC;AAmC7B;AAhCD,IAAM,oBAAoB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAOM;AAIF,MAAI,CAAC,mBAAmB,QAAQ,mBAAmB,MAAM,WAAW,GAAG;AACnE,WAAO;AAAA,EACX;AAEA,QAAM,iBAAiB,CAAC,QAAa;AACjC,QAAG,CAAC,WAAW,QAAS;AACxB,oCAAAA,SAA0B,KAAK,kDAA+B,6BAA6B;AAAA,MACvF;AAAA,MACA,UAAU,WAAW,SAAS,sBAAsB;AAAA,MACpD,cAAa;AAAA,IACjB,CAAC;AAAA,EACL;AAEA,SACI;AAAA,IAAC;AAAA;AAAA,MACG,KAAK;AAAA,MACL,eAAW,kBAAAC;AAAA,YACP,0CAAoB,EAChB,gDACJ;AAAA,MACJ;AAAA,MAEA;AAAA;AAAA,UAAC;AAAA;AAAA,YACG,eAAW,0CAAoB,EAAE,yDAAyD;AAAA;AAAA,QAC9F;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YAEG,OAAO,kBAAkB,KAAK,CAAC,EAAE;AAAA,YACjC,WAAW;AAAA,YACX,gBAAc,kBAAkB,KAAK,CAAC,EAAE;AAAA,YACxC,SAAS,CAAC,MAAM;AACb,gBAAE,eAAe;AACjB,gBAAE,gBAAgB;AAClB,6BAAe,kBAAkB,KAAK,CAAC,CAAC;AAAA,YAC3C;AAAA,YACA,eAAY;AAAA,YAEX,4BAAkB,KAAK,CAAC,EAAE,OACvB;AAAA,cAAC;AAAA;AAAA,gBACG,KAAK,kBAAkB,KAAK,CAAC,EAAE;AAAA,gBAC/B,KAAK,kBAAkB,KAAK,CAAC,EAAE;AAAA,gBAC/B,eAAW,0CAAoB,EAAE,0DAA0D;AAAA;AAAA,YAC/F,IAEA;AAAA,cAAC;AAAA;AAAA,gBACG,IAAI,kBAAkB,KAAK,CAAC,EAAE;AAAA;AAAA,YAClC;AAAA;AAAA,UApBC,GAAG,kBAAkB,KAAK,CAAC,EAAE,GAAG;AAAA,QAsBzC;AAAA,QAIA,kBAAkB,KAAK,SAAS,KAC5B;AAAA,UAAC;AAAA;AAAA,YACG,KAAK;AAAA,YACL,WAAW;AAAA,YACX,gBAAc;AAAA,YACd,SAAS;AAAA,YACT,eAAY;AAAA,YAEZ,sDAAC,yBAAS;AAAA;AAAA,QACd;AAAA;AAAA;AAAA,EAGR;AAER;","names":["visualBuilderPostMessage","classNames"]}