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 3.29 kB
{"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/Icon/Icon.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { JSX } from \"preact\";\nimport Tooltip from \"../Tooltip/Tooltip\";\nimport { iconComponents } from \"../../icons/CollabIcons\";\nimport classNames from \"classnames\";\nimport { collabStyles } from \"../../../collab.style\";\n\ntype IconName = keyof typeof iconComponents;\n\nexport interface IconProps {\n icon: IconName;\n tooltipContent?: string;\n className?: string;\n withTooltip?: boolean;\n onClick?: JSX.MouseEventHandler<HTMLDivElement>;\n testId?: string;\n disabled?: boolean; \n}\n\nconst IconWrapper = ({\n icon,\n className,\n onClick,\n testId, \n disabled,\n ...otherProps\n}: Omit<IconProps, \"withTooltip\" | \"tooltipContent\">) => {\n const IconComponent = iconComponents[icon];\n\n const handleClick = (e: JSX.TargetedMouseEvent<HTMLDivElement>) => {\n if (disabled) return; \n onClick?.(e);\n };\n\n\n return (\n <div\n className={classNames(\n \"collab-icon-wrapper\",\n collabStyles()[\"collab-icon-wrapper\"]\n )}\n onClick={handleClick}\n data-testid={testId}\n {...otherProps}\n >\n {IconComponent ? (\n <IconComponent\n className={classNames(\n \"collab-icon\",\n collabStyles()[\"collab-icon\"],\n className\n )}\n />\n ) : null}\n </div>\n );\n};\n\nconst withTooltip = (Component: typeof IconWrapper) => ({\n withTooltip = false,\n tooltipContent = \"\",\n testId = \"collab-icon\",\n ...props\n}: IconProps) => {\n return withTooltip && tooltipContent ? (\n <div data-testid={testId}>\n <Tooltip content={tooltipContent} position=\"bottom\" testId=\"collab-icon-tooltip\">\n <Component {...props} />\n </Tooltip>\n </div>\n ) : (\n \n <Component {...props} testId={testId} />\n );\n};\n\nconst Icon = withTooltip(IconWrapper);\n\nexport default Icon;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAoB;AACpB,yBAA+B;AAC/B,wBAAuB;AACvB,oBAA6B;AAyCb;AA3BhB,IAAM,cAAc,CAAC;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAAyD;AACrD,QAAM,gBAAgB,kCAAe,IAAI;AAEzC,QAAM,cAAc,CAAC,MAA8C;AAC/D,QAAI,SAAU;AACd,cAAU,CAAC;AAAA,EACf;AAGA,SACI;AAAA,IAAC;AAAA;AAAA,MACG,eAAW,kBAAAA;AAAA,QACP;AAAA,YACA,4BAAa,EAAE,qBAAqB;AAAA,MACxC;AAAA,MACA,SAAS;AAAA,MACT,eAAa;AAAA,MACZ,GAAG;AAAA,MAEH,0BACG;AAAA,QAAC;AAAA;AAAA,UACG,eAAW,kBAAAA;AAAA,YACP;AAAA,gBACA,4BAAa,EAAE,aAAa;AAAA,YAC5B;AAAA,UACJ;AAAA;AAAA,MACJ,IACA;AAAA;AAAA,EACR;AAER;AAEA,IAAM,cAAc,CAAC,cAAkC,CAAC;AAAA,EACpD,aAAAC,eAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT,GAAG;AACP,MAAiB;AACb,SAAOA,gBAAe,iBAClB,4CAAC,SAAI,eAAa,QACd,sDAAC,eAAAC,SAAA,EAAQ,SAAS,gBAAgB,UAAS,UAAS,QAAO,uBACvD,sDAAC,aAAW,GAAG,OAAQ,GAC3B,GACJ,IAGA,4CAAC,aAAW,GAAG,OAAO,QAAgB;AAE9C;AAEA,IAAM,OAAO,YAAY,WAAW;AAEpC,IAAO,eAAQ;","names":["classNames","withTooltip","Tooltip"]}