@bigbinary/neeto-molecules 3.16.45 → 3.16.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/BrowserSupport.js +1 -1
  2. package/dist/{Chevron-S-aEXf52.js → Chevron-DPCAbFvk.js} +2 -2
  3. package/dist/{Chevron-S-aEXf52.js.map → Chevron-DPCAbFvk.js.map} +1 -1
  4. package/dist/ConfigurePageSidebar.js +1 -1
  5. package/dist/Container.js +1 -1
  6. package/dist/EmailForm.js +1 -1
  7. package/dist/ErrorPage.js +1 -1
  8. package/dist/KeyboardShortcuts.js +1 -1
  9. package/dist/KeyboardShortcuts.js.map +1 -1
  10. package/dist/LoginPage.js +1 -1
  11. package/dist/LoginPage.js.map +1 -1
  12. package/dist/MenuBar.js +1 -1
  13. package/dist/Metadata.js +1 -1
  14. package/dist/Metadata.js.map +1 -1
  15. package/dist/Onboarding.js +1 -1
  16. package/dist/ProductEmbed.js +7 -8
  17. package/dist/ProductEmbed.js.map +1 -1
  18. package/dist/Scrollable.js +1 -1
  19. package/dist/ShareViaEmail.js +1 -1
  20. package/dist/Sidebar.js +1 -1
  21. package/dist/cjs/BrowserSupport.js +1 -1
  22. package/dist/cjs/{Chevron-CnvIlIYi.js → Chevron-BKclhyNs.js} +2 -2
  23. package/dist/cjs/{Chevron-CnvIlIYi.js.map → Chevron-BKclhyNs.js.map} +1 -1
  24. package/dist/cjs/ConfigurePageSidebar.js +1 -1
  25. package/dist/cjs/Container.js +1 -1
  26. package/dist/cjs/EmailForm.js +1 -1
  27. package/dist/cjs/ErrorPage.js +1 -1
  28. package/dist/cjs/KeyboardShortcuts.js +1 -1
  29. package/dist/cjs/KeyboardShortcuts.js.map +1 -1
  30. package/dist/cjs/LoginPage.js +1 -1
  31. package/dist/cjs/LoginPage.js.map +1 -1
  32. package/dist/cjs/MenuBar.js +1 -1
  33. package/dist/cjs/Metadata.js +1 -1
  34. package/dist/cjs/Metadata.js.map +1 -1
  35. package/dist/cjs/Onboarding.js +1 -1
  36. package/dist/cjs/ProductEmbed.js +7 -8
  37. package/dist/cjs/ProductEmbed.js.map +1 -1
  38. package/dist/cjs/Scrollable.js +1 -1
  39. package/dist/cjs/ShareViaEmail.js +1 -1
  40. package/dist/cjs/Sidebar.js +1 -1
  41. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Metadata.js","sources":["../../src/components/Metadata/Block.jsx","../../src/components/Metadata/constants.js","../../src/components/Metadata/DetailsBlock.jsx","../../src/components/Metadata/index.jsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nconst Block = ({ title, actionBlock, children, className = \"\" }) => (\n <div\n className=\"neeto-molecules-metadata__block neeto-ui-border-gray-200 mb-4 w-full border-b pb-4\"\n data-cy=\"neeto-molecules-metadata-block\"\n data-testid=\"metadata-block\"\n >\n {(title || actionBlock) && (\n <div className=\"mb-2 flex w-full items-center justify-between gap-2\">\n {title && (\n <div className=\"flex w-60 items-center gap-2 break-all\">\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-testid=\"metadata-block-title\"\n style=\"h5\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n </div>\n )}\n {actionBlock && <div className=\"ml-auto\">{actionBlock}</div>}\n </div>\n )}\n {!!children && (\n <div\n data-testid=\"metadata-card\"\n className={classnames(\n \"neeto-ui-bg-white neeto-molecules-metadata__card\",\n className\n )}\n >\n {children}\n </div>\n )}\n </div>\n);\n\nBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Block` component.\n */\n className: PropTypes.string,\n};\n\nexport default Block;\n","export const STYLES = { inline: \"inline\", multiline: \"multiline\" };\n\nexport const SIZES = { small: \"small\", medium: \"medium\" };\n\nexport const DEFAULT_TRUNCATE_AT = 3;\n","import { Fragment, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Block from \"./Block\";\nimport { DEFAULT_TRUNCATE_AT, STYLES } from \"./constants\";\n\nconst DetailsBlock = ({\n title,\n actionBlock,\n details = [],\n className,\n style = STYLES.inline,\n truncate = false,\n truncateAt = DEFAULT_TRUNCATE_AT,\n children,\n}) => {\n const [showTruncated, setShowTruncated] = useState(false);\n\n const { t } = useTranslation();\n\n const [visibleDetails, truncatedDetails] = truncate\n ? [details.slice(0, truncateAt), details.slice(truncateAt)]\n : [details];\n\n const renderDetailsValue = value => {\n if (typeof value === \"string\") {\n return (\n <Typography className=\"break-anywhere\" style=\"body2\">\n {value}\n </Typography>\n );\n }\n\n return <span className=\"min-w-0 flex-grow\">{value}</span>;\n };\n\n return (\n <Block\n {...{ actionBlock, className }}\n title={title ?? t(\"neetoMolecules.metadata.detailsTitle\")}\n >\n <div\n className=\"flex flex-col space-y-3\"\n data-cy=\"neeto-molecules-metadata-details-block\"\n >\n {visibleDetails.map(({ label, value, type }, index) => (\n <Fragment key={index}>\n {type === \"divider\" ? (\n <hr className=\"neeto-ui-border-gray-200\" />\n ) : (\n <div\n data-testid=\"details-card-detail-wrapper\"\n className={classnames(\"flex\", {\n \"items-center space-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {label}\n </Typography>\n {renderDetailsValue(value)}\n </div>\n )}\n </Fragment>\n ))}\n {!truncate && children}\n {showTruncated && (\n <>\n {truncatedDetails.map(({ label, value, type }, index) => (\n <Fragment key={index}>\n {type === \"divider\" ? (\n <hr className=\"neeto-ui-border-gray-200\" />\n ) : (\n <div\n className={classnames(\"flex\", {\n \"space-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography\n className=\"neeto-ui-text-gray-600\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {renderDetailsValue(value)}\n </div>\n )}\n </Fragment>\n ))}\n {children}\n </>\n )}\n {truncate && isNotEmpty(truncatedDetails) && (\n <Button\n data-testid=\"expand-button\"\n icon={showTruncated ? Up : Down}\n style=\"link\"\n label={\n showTruncated\n ? t(\"neetoMolecules.metadata.card.viewLess\")\n : t(\"neetoMolecules.metadata.card.viewMore\")\n }\n onClick={() => setShowTruncated(showTruncated => !showTruncated)}\n />\n )}\n </div>\n </Block>\n );\n};\n\nDetailsBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The details to be rendered inside the block.\n */\n details: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.node,\n type: PropTypes.string,\n })\n ),\n /**\n * To specify whether the label and value should be rendered in a single line or in two lines.\n */\n style: PropTypes.oneOf([\"inline\", \"multiline\"]),\n /**\n * To specify whether the visible details should be truncated at a specific point.\n */\n truncate: PropTypes.bool,\n /**\n * To specify the position at which the details should be truncated and `View more` button should be shown.\n */\n truncateAt: PropTypes.number,\n /**\n * To specify external classNames as overrides to the `DetailsBlock` component.\n */\n className: PropTypes.string,\n /**\n * The additional content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n};\n\nexport default DetailsBlock;\n","import { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport { Collapse } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Block from \"./Block\";\nimport { SIZES } from \"./constants\";\nimport DetailsBlock from \"./DetailsBlock\";\nimport \"./metadata.scss\";\n\nconst Metadata = ({\n headerBlock,\n size = SIZES.medium,\n children,\n className = \"\",\n}) => {\n const { isSize } = useBreakpoints();\n const isLargerScreen = isSize(\"desktop\") || isSize(\"largeDesktop\");\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] = useState(\n !isLargerScreen\n );\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"neeto-molecules-metadata-panel__backdrop\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\"neeto-molecules-metadata-list-panel__wrapper\", {\n \"neeto-molecules-metadata-list-panel__wrapper--collapsed\":\n isElementsPanelCollapsed,\n })}\n >\n <div className=\"neeto-molecules-metadata-list-panel__container\">\n <div\n data-cy=\"neeto-molecules-metadata-wrapper\"\n data-testid=\"metadata-wrapper\"\n className={classnames(\n \"neeto-ui-bg-white neeto-molecules-metadata neeto-ui-border-gray-200 h-screen flex-shrink-0 overflow-y-auto overflow-x-hidden border-l\",\n {\n \"neeto-molecules-metadata--size-large\": size === SIZES.medium,\n \"neeto-molecules-metadata--size-small\": size === SIZES.small,\n },\n className\n )}\n >\n {headerBlock && (\n <div\n className=\"neeto-molecules-metadata__header mb-5 flex w-full justify-center\"\n data-cy=\"neeto-molecules-metadata-header\"\n data-testid=\"metadata-header\"\n >\n {headerBlock}\n </div>\n )}\n {children}\n </div>\n </div>\n <Button\n className=\"neeto-molecules-metadata-list-panel__toggler\"\n icon={Collapse}\n style=\"secondary\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n </div>\n </>\n );\n};\n\nMetadata.Block = Block;\nMetadata.DetailsBlock = DetailsBlock;\n\nMetadata.propTypes = {\n /**\n * To specify the content to be rendered as the title of the `Metadata` wrapper.\n */\n headerBlock: PropTypes.node,\n /**\n * The content to be rendered inside the `Metadata` wrapper.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Metadata` component.\n */\n className: PropTypes.string,\n /**\n * To set the size of the `Metadata` wrapper.\n */\n size: PropTypes.oneOf([\"small\", \"medium\"]),\n};\n\nexport default Metadata;\n"],"names":["Block","_ref","title","actionBlock","children","_ref$className","className","_jsxs","_jsx","Typography","style","textTransform","weight","classnames","STYLES","inline","multiline","SIZES","small","medium","DEFAULT_TRUNCATE_AT","DetailsBlock","_ref$details","details","_ref$style","_ref$truncate","truncate","_ref$truncateAt","truncateAt","_useState","useState","_useState2","_slicedToArray","showTruncated","setShowTruncated","_useTranslation","useTranslation","t","_ref2","slice","_ref3","visibleDetails","truncatedDetails","renderDetailsValue","value","map","_ref4","index","label","type","Fragment","_Fragment","_ref5","isNotEmpty","Button","icon","Up","Down","onClick","Metadata","headerBlock","_ref$size","size","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","isElementsPanelCollapsed","setIsElementsPanelCollapsed","useEffect","Collapse"],"mappings":"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"}
1
+ {"version":3,"file":"Metadata.js","sources":["../../src/components/Metadata/Block.jsx","../../src/components/Metadata/constants.js","../../src/components/Metadata/DetailsBlock.jsx","../../src/components/Metadata/index.jsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nconst Block = ({ title, actionBlock, children, className = \"\" }) => (\n <div\n className=\"neeto-molecules-metadata__block neeto-ui-border-gray-200 mb-4 w-full border-b pb-4\"\n data-cy=\"neeto-molecules-metadata-block\"\n data-testid=\"metadata-block\"\n >\n {(title || actionBlock) && (\n <div className=\"mb-2 flex w-full items-center justify-between gap-2\">\n {title && (\n <div className=\"flex w-60 items-center gap-2 break-all\">\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-testid=\"metadata-block-title\"\n style=\"h5\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n </div>\n )}\n {actionBlock && <div className=\"ml-auto\">{actionBlock}</div>}\n </div>\n )}\n {!!children && (\n <div\n data-testid=\"metadata-card\"\n className={classnames(\n \"neeto-ui-bg-white neeto-molecules-metadata__card\",\n className\n )}\n >\n {children}\n </div>\n )}\n </div>\n);\n\nBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Block` component.\n */\n className: PropTypes.string,\n};\n\nexport default Block;\n","export const STYLES = { inline: \"inline\", multiline: \"multiline\" };\n\nexport const SIZES = { small: \"small\", medium: \"medium\" };\n\nexport const DEFAULT_TRUNCATE_AT = 3;\n","import { Fragment, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Block from \"./Block\";\nimport { DEFAULT_TRUNCATE_AT, STYLES } from \"./constants\";\n\nconst DetailsBlock = ({\n title,\n actionBlock,\n details = [],\n className,\n style = STYLES.inline,\n truncate = false,\n truncateAt = DEFAULT_TRUNCATE_AT,\n children,\n}) => {\n const [showTruncated, setShowTruncated] = useState(false);\n\n const { t } = useTranslation();\n\n const [visibleDetails, truncatedDetails] = truncate\n ? [details.slice(0, truncateAt), details.slice(truncateAt)]\n : [details];\n\n const renderDetailsValue = value => {\n if (typeof value === \"string\") {\n return (\n <Typography className=\"break-anywhere\" style=\"body2\">\n {value}\n </Typography>\n );\n }\n\n return <span className=\"min-w-0 flex-grow\">{value}</span>;\n };\n\n return (\n <Block\n {...{ actionBlock, className }}\n title={title ?? t(\"neetoMolecules.metadata.detailsTitle\")}\n >\n <div\n className=\"flex flex-col space-y-3\"\n data-cy=\"neeto-molecules-metadata-details-block\"\n >\n {visibleDetails.map(({ label, value, type }, index) => (\n <Fragment key={index}>\n {type === \"divider\" ? (\n <hr className=\"neeto-ui-border-gray-200\" />\n ) : (\n <div\n data-testid=\"details-card-detail-wrapper\"\n className={classnames(\"flex\", {\n \"items-center space-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {label}\n </Typography>\n {renderDetailsValue(value)}\n </div>\n )}\n </Fragment>\n ))}\n {!truncate && children}\n {showTruncated && (\n <>\n {truncatedDetails.map(({ label, value, type }, index) => (\n <Fragment key={index}>\n {type === \"divider\" ? (\n <hr className=\"neeto-ui-border-gray-200\" />\n ) : (\n <div\n className={classnames(\"flex\", {\n \"space-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography\n className=\"neeto-ui-text-gray-600\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {renderDetailsValue(value)}\n </div>\n )}\n </Fragment>\n ))}\n {children}\n </>\n )}\n {truncate && isNotEmpty(truncatedDetails) && (\n <Button\n data-testid=\"expand-button\"\n icon={showTruncated ? Up : Down}\n style=\"link\"\n label={\n showTruncated\n ? t(\"neetoMolecules.metadata.card.viewLess\")\n : t(\"neetoMolecules.metadata.card.viewMore\")\n }\n onClick={() => setShowTruncated(showTruncated => !showTruncated)}\n />\n )}\n </div>\n </Block>\n );\n};\n\nDetailsBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The details to be rendered inside the block.\n */\n details: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.node,\n type: PropTypes.string,\n })\n ),\n /**\n * To specify whether the label and value should be rendered in a single line or in two lines.\n */\n style: PropTypes.oneOf([\"inline\", \"multiline\"]),\n /**\n * To specify whether the visible details should be truncated at a specific point.\n */\n truncate: PropTypes.bool,\n /**\n * To specify the position at which the details should be truncated and `View more` button should be shown.\n */\n truncateAt: PropTypes.number,\n /**\n * To specify external classNames as overrides to the `DetailsBlock` component.\n */\n className: PropTypes.string,\n /**\n * The additional content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n};\n\nexport default DetailsBlock;\n","import { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport { Collapse } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Block from \"./Block\";\nimport { SIZES } from \"./constants\";\nimport DetailsBlock from \"./DetailsBlock\";\nimport \"./metadata.scss\";\n\nconst Metadata = ({\n headerBlock,\n size = SIZES.medium,\n children,\n className = \"\",\n}) => {\n const { isSize } = useBreakpoints();\n const isLargerScreen = isSize(\"desktop\") || isSize(\"largeDesktop\");\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] = useState(\n !isLargerScreen\n );\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"neeto-molecules-metadata-panel__backdrop\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\"neeto-molecules-metadata-list-panel__wrapper\", {\n \"neeto-molecules-metadata-list-panel__wrapper--collapsed\":\n isElementsPanelCollapsed,\n })}\n >\n <div className=\"neeto-molecules-metadata-list-panel__container\">\n <div\n data-cy=\"neeto-molecules-metadata-wrapper\"\n data-testid=\"metadata-wrapper\"\n className={classnames(\n \"neeto-ui-bg-white neeto-molecules-metadata neeto-ui-border-gray-200 h-dvh flex-shrink-0 overflow-y-auto overflow-x-hidden border-l\",\n {\n \"neeto-molecules-metadata--size-large\": size === SIZES.medium,\n \"neeto-molecules-metadata--size-small\": size === SIZES.small,\n },\n className\n )}\n >\n {headerBlock && (\n <div\n className=\"neeto-molecules-metadata__header mb-5 flex w-full justify-center\"\n data-cy=\"neeto-molecules-metadata-header\"\n data-testid=\"metadata-header\"\n >\n {headerBlock}\n </div>\n )}\n {children}\n </div>\n </div>\n <Button\n className=\"neeto-molecules-metadata-list-panel__toggler\"\n icon={Collapse}\n style=\"secondary\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n </div>\n </>\n );\n};\n\nMetadata.Block = Block;\nMetadata.DetailsBlock = DetailsBlock;\n\nMetadata.propTypes = {\n /**\n * To specify the content to be rendered as the title of the `Metadata` wrapper.\n */\n headerBlock: PropTypes.node,\n /**\n * The content to be rendered inside the `Metadata` wrapper.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Metadata` component.\n */\n className: PropTypes.string,\n /**\n * To set the size of the `Metadata` wrapper.\n */\n size: PropTypes.oneOf([\"small\", \"medium\"]),\n};\n\nexport default Metadata;\n"],"names":["Block","_ref","title","actionBlock","children","_ref$className","className","_jsxs","_jsx","Typography","style","textTransform","weight","classnames","STYLES","inline","multiline","SIZES","small","medium","DEFAULT_TRUNCATE_AT","DetailsBlock","_ref$details","details","_ref$style","_ref$truncate","truncate","_ref$truncateAt","truncateAt","_useState","useState","_useState2","_slicedToArray","showTruncated","setShowTruncated","_useTranslation","useTranslation","t","_ref2","slice","_ref3","visibleDetails","truncatedDetails","renderDetailsValue","value","map","_ref4","index","label","type","Fragment","_Fragment","_ref5","isNotEmpty","Button","icon","Up","Down","onClick","Metadata","headerBlock","_ref$size","size","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","isElementsPanelCollapsed","setIsElementsPanelCollapsed","useEffect","Collapse"],"mappings":"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"}
@@ -810,7 +810,7 @@ var CompletedScreen = function CompletedScreen(_ref) {
810
810
  });
811
811
  };
812
812
 
813
- var css = ".neeto-molecules-onboarding__wrapper{align-items:center;display:flex;flex-direction:column;flex-grow:1;height:100vh;overflow-y:auto;padding:0;width:100%}.neeto-molecules-onboarding__container{display:flex;flex-direction:column;height:100vh;overflow-y:auto;position:relative;width:100%}.neeto-molecules-onboarding__stepper-wrapper{background-color:rgb(var(--neeto-ui-white));border-bottom:1px solid rgb(var(--neeto-ui-gray-200));display:flex;flex-shrink:0;padding:.5rem 1rem;width:100%}@media (min-width:1024px){.neeto-molecules-onboarding__stepper-wrapper{justify-content:center}}.neeto-molecules-onboarding__content{flex-grow:1;min-height:0;overflow-y:auto;width:100%}.neeto-molecules-onboarding__content--forward{animation:slideInRight .4s ease backwards}.neeto-molecules-onboarding__content--backward{animation:slideInLeft .4s ease backwards}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}";
813
+ var css = ".neeto-molecules-onboarding__wrapper{align-items:center;flex-grow:1;padding:0}.neeto-molecules-onboarding__container,.neeto-molecules-onboarding__wrapper{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow-y:auto;width:100%}.neeto-molecules-onboarding__container{position:relative}.neeto-molecules-onboarding__stepper-wrapper{background-color:rgb(var(--neeto-ui-white));border-bottom:1px solid rgb(var(--neeto-ui-gray-200));display:flex;flex-shrink:0;padding:.5rem 1rem;width:100%}@media (min-width:1024px){.neeto-molecules-onboarding__stepper-wrapper{justify-content:center}}.neeto-molecules-onboarding__content{flex-grow:1;min-height:0;overflow-y:auto;width:100%}.neeto-molecules-onboarding__content--forward{animation:slideInRight .4s ease backwards}.neeto-molecules-onboarding__content--backward{animation:slideInLeft .4s ease backwards}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}";
814
814
  injectCss.n(css,{});
815
815
 
816
816
  var WelcomeScreen = withT(function (_ref) {
@@ -149,13 +149,12 @@ var htmlCodeGenerators = {
149
149
 
150
150
  var camelCasedAppName = globalProps.appName.replace(/^neeto/i, "neeto");
151
151
  var embedFunctionName = "embed".concat(globalProps.appName);
152
- var baseScript = "const baseScript = document.createElement(\"script\");\n baseScript.innerHTML = `window.".concat(camelCasedAppName, " = window.").concat(camelCasedAppName, " || { embed: function(){(").concat(camelCasedAppName, ".q=").concat(camelCasedAppName, ".q||[]).push(arguments)} };`\n document.body.appendChild(baseScript);\n");
153
152
  var embedScript = function embedScript(scriptLink) {
154
- return "const embedScript = document.createElement(\"script\");\n embedScript.src = \"".concat(scriptLink, "\";\n embedScript.async = true;\n document.body.appendChild(embedScript);\n");
153
+ return "const embedScript = document.createElement(\"script\");\n embedScript.type = \"module\";\n embedScript.src = \"".concat(scriptLink, "\";\n embedScript.async = true;\n");
155
154
  };
156
- var cleanupFunction = "// Cleanup function\n return () => {\n document.body.removeChild(baseScript);\n document.body.removeChild(embedScript);\n };";
155
+ var cleanupFunction = "\n return () => {\n embedScript.onload = null;\n if(window.".concat(camelCasedAppName, ") window.").concat(camelCasedAppName, ".destroy();\n document.body.removeChild(embedScript);\n };");
157
156
  var embedEnv = function embedEnv() {
158
- return globalProps.railsEnv !== "production" ? "\n".concat(TAB_STRING).concat(TAB_STRING, "env: \"").concat(globalProps.railsEnv, "\",") : "";
157
+ return globalProps.railsEnv !== "production" ? "\n".concat(TAB_STRING).concat(TAB_STRING, " env: \"").concat(globalProps.railsEnv, "\",") : "";
159
158
  };
160
159
  var embedQueryParam = function embedQueryParam(queryParams) {
161
160
  return queryParams ? "\n".concat(TAB_STRING).concat(TAB_STRING, "queryParams: ").concat(queryParams, ",") : "";
@@ -191,7 +190,7 @@ var inlineEmbedCode = function inlineEmbedCode(_ref3) {
191
190
  _customization$height = customization.height,
192
191
  height = _customization$height === void 0 ? 100 : _customization$height,
193
192
  queryParams = customization.queryParams;
194
- return "\n import { useEffect } from \"react\";\n\n const App = () => {\n const ".concat(embedFunctionName, " = () => {\n ").concat(baseScript, "\n ").concat(embedScript(embedScriptLink), "\n ").concat(camelCasedAppName, ".embed({\n type: \"inline\",\n id: \"").concat(id, "\",\n organization: \"").concat(globalProps.organization.subdomain, "\",\n elementSelector: \"#").concat(elementSelector, "\",\n styles: { height: \"").concat(height, "%\", width: \"").concat(width, "%\" },").concat(embedQueryParam(queryParams)).concat(embedEnv()).concat(parseExtraArgs(extraArgs), "\n });\n\n ").concat(cleanupFunction, "\n };\n\n useEffect(() => ").concat(embedFunctionName, "(), []);\n\n return (\n <div\n id=\"inline-embed-container\"\n style={{ ").concat(parseInlineStyle(inlineWrapperStyle), " }}\n />\n );\n };");
193
+ return "\n import { useEffect } from \"react\";\n\n const App = () => {\n const ".concat(embedFunctionName, " = () => {\n ").concat(embedScript(embedScriptLink), "\n embedScript.onload = () => {\n window.").concat(camelCasedAppName, ".embed({\n type: \"inline\",\n id: \"").concat(id, "\",\n organization: \"").concat(globalProps.organization.subdomain, "\",\n elementSelector: \"#").concat(elementSelector, "\",\n styles: { height: \"").concat(height, "%\", width: \"").concat(width, "%\" },").concat(embedQueryParam(queryParams)).concat(embedEnv()).concat(parseExtraArgs(extraArgs), "\n });\n };\n\n document.body.appendChild(embedScript);\n ").concat(cleanupFunction, "\n };\n\n useEffect(() => ").concat(embedFunctionName, "(), []);\n\n return (\n <div\n id=\"inline-embed-container\"\n style={{ ").concat(parseInlineStyle(inlineWrapperStyle), " }}\n />\n );\n };");
195
194
  };
196
195
  var floatingPopupEmbedCode = function floatingPopupEmbedCode(_ref4) {
197
196
  var customization = _ref4.customization,
@@ -205,7 +204,7 @@ var floatingPopupEmbedCode = function floatingPopupEmbedCode(_ref4) {
205
204
  btnColor = customization.btnColor,
206
205
  icon = customization.icon,
207
206
  queryParams = customization.queryParams;
208
- return "\n import { useEffect } from \"react\";\n\n const App = () => {\n const ".concat(embedFunctionName, " = () => {\n ").concat(baseScript, "\n ").concat(embedScript(embedScriptLink), "\n ").concat(camelCasedAppName, ".embed({\n type: \"floatingPopup\",\n id: \"").concat(id, "\",\n organization: \"").concat(globalProps.organization.subdomain, "\",\n styles: {\n btnTextColor: \"").concat(btnTextColor, "\",\n btnPosition: \"").concat(btnPosition, "\",\n btnColor: \"").concat(btnColor, "\",\n btnText: \"").concat(btnText, "\",").concat(icon ? "\n".concat(TAB_STRING).concat(TAB_STRING, " showIcon: ").concat(showIcon, ",") : "", "\n },").concat(embedQueryParam(queryParams)).concat(embedEnv()).concat(parseExtraArgs(extraArgs), "\n });\n\n ").concat(cleanupFunction, "\n };\n\n useEffect(() => ").concat(embedFunctionName, "(), []);\n\n return <div />;\n };");
207
+ return "\n import { useEffect } from \"react\";\n\n const App = () => {\n const ".concat(embedFunctionName, " = () => {\n ").concat(embedScript(embedScriptLink), "\n embedScript.onload = () => {\n window.").concat(camelCasedAppName, ".embed({\n type: \"floatingPopup\",\n id: \"").concat(id, "\",\n organization: \"").concat(globalProps.organization.subdomain, "\",\n styles: {\n btnTextColor: \"").concat(btnTextColor, "\",\n btnPosition: \"").concat(btnPosition, "\",\n btnColor: \"").concat(btnColor, "\",\n btnText: \"").concat(btnText, "\",").concat(icon ? "\n".concat(TAB_STRING).concat(TAB_STRING, " showIcon: ").concat(showIcon, ",") : "", "\n },").concat(embedQueryParam(queryParams)).concat(embedEnv()).concat(parseExtraArgs(extraArgs), "\n });\n };\n\n document.body.appendChild(embedScript);\n ").concat(cleanupFunction, "\n };\n\n useEffect(() => ").concat(embedFunctionName, "(), []);\n\n return <div />;\n };");
209
208
  };
210
209
  var elementPopupEmbedCode = function elementPopupEmbedCode(_ref5) {
211
210
  var customization = _ref5.customization,
@@ -214,7 +213,7 @@ var elementPopupEmbedCode = function elementPopupEmbedCode(_ref5) {
214
213
  extraArgs = _ref5.extraArgs;
215
214
  var elementSelector = customization.elementSelector,
216
215
  queryParams = customization.queryParams;
217
- return "\n import { useEffect } from \"react\";\n\n const App = () => {\n const ".concat(embedFunctionName, " = () => {\n ").concat(baseScript, "\n ").concat(embedScript(embedScriptLink), "\n ").concat(camelCasedAppName, ".embed({\n type: \"elementClick\",\n id: \"").concat(id, "\",\n organization: \"").concat(globalProps.organization.subdomain, "\",\n elementSelector: \"#").concat(elementSelector, "\",").concat(embedQueryParam(queryParams)).concat(embedEnv()).concat(parseExtraArgs(extraArgs), "\n });\n\n ").concat(cleanupFunction, "\n };\n\n useEffect(() => ").concat(embedFunctionName, "(), []);\n\n return <button id=\"").concat(elementSelector, "\">Click to open popup</button>;\n };");
216
+ return "\n import { useEffect } from \"react\";\n\n const App = () => {\n const ".concat(embedFunctionName, " = () => {\n ").concat(embedScript(embedScriptLink), "\n embedScript.onload = () => {\n window.").concat(camelCasedAppName, ".embed({\n type: \"elementClick\",\n id: \"").concat(id, "\",\n organization: \"").concat(globalProps.organization.subdomain, "\",\n elementSelector: \"#").concat(elementSelector, "\",").concat(embedQueryParam(queryParams)).concat(embedEnv()).concat(parseExtraArgs(extraArgs), "\n });\n };\n\n document.body.appendChild(embedScript);\n ").concat(cleanupFunction, "\n };\n\n useEffect(() => ").concat(embedFunctionName, "(), []);\n\n return <button id=\"").concat(elementSelector, "\">Click to open popup</button>;\n };");
218
217
  };
219
218
  var reactCodeGenerators = {
220
219
  inline: inlineEmbedCode,
@@ -1513,7 +1512,7 @@ var EmbedRenderer = function EmbedRenderer(_ref) {
1513
1512
  })
1514
1513
  })]
1515
1514
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
1516
- className: "neeto-molecules-embed__preview neeto-ui-bg-gray-50 flex min-h-screen w-full min-w-0 flex-col gap-3 overflow-y-auto p-6 md:h-full md:min-h-0 md:flex-grow",
1515
+ className: "neeto-molecules-embed__preview neeto-ui-bg-gray-50 flex min-h-dvh w-full min-w-0 flex-col gap-3 overflow-y-auto p-6 md:h-full md:min-h-0 md:flex-grow",
1517
1516
  children: /*#__PURE__*/jsxRuntime.jsx(Preview, {
1518
1517
  customPreviewIframeUrl: customPreviewIframeUrl,
1519
1518
  customization: customization,