@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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"}
@@ -808,7 +808,7 @@ var CompletedScreen = function CompletedScreen(_ref) {
808
808
  });
809
809
  };
810
810
 
811
- 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)}}";
811
+ 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)}}";
812
812
  n(css,{});
813
813
 
814
814
  var WelcomeScreen = withT(function (_ref) {
@@ -147,13 +147,12 @@ var htmlCodeGenerators = {
147
147
 
148
148
  var camelCasedAppName = globalProps.appName.replace(/^neeto/i, "neeto");
149
149
  var embedFunctionName = "embed".concat(globalProps.appName);
150
- 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");
151
150
  var embedScript = function embedScript(scriptLink) {
152
- return "const embedScript = document.createElement(\"script\");\n embedScript.src = \"".concat(scriptLink, "\";\n embedScript.async = true;\n document.body.appendChild(embedScript);\n");
151
+ return "const embedScript = document.createElement(\"script\");\n embedScript.type = \"module\";\n embedScript.src = \"".concat(scriptLink, "\";\n embedScript.async = true;\n");
153
152
  };
154
- var cleanupFunction = "// Cleanup function\n return () => {\n document.body.removeChild(baseScript);\n document.body.removeChild(embedScript);\n };";
153
+ var cleanupFunction = "\n return () => {\n embedScript.onload = null;\n if(window.".concat(camelCasedAppName, ") window.").concat(camelCasedAppName, ".destroy();\n document.body.removeChild(embedScript);\n };");
155
154
  var embedEnv = function embedEnv() {
156
- return globalProps.railsEnv !== "production" ? "\n".concat(TAB_STRING).concat(TAB_STRING, "env: \"").concat(globalProps.railsEnv, "\",") : "";
155
+ return globalProps.railsEnv !== "production" ? "\n".concat(TAB_STRING).concat(TAB_STRING, " env: \"").concat(globalProps.railsEnv, "\",") : "";
157
156
  };
158
157
  var embedQueryParam = function embedQueryParam(queryParams) {
159
158
  return queryParams ? "\n".concat(TAB_STRING).concat(TAB_STRING, "queryParams: ").concat(queryParams, ",") : "";
@@ -189,7 +188,7 @@ var inlineEmbedCode = function inlineEmbedCode(_ref3) {
189
188
  _customization$height = customization.height,
190
189
  height = _customization$height === void 0 ? 100 : _customization$height,
191
190
  queryParams = customization.queryParams;
192
- 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 };");
191
+ 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 };");
193
192
  };
194
193
  var floatingPopupEmbedCode = function floatingPopupEmbedCode(_ref4) {
195
194
  var customization = _ref4.customization,
@@ -203,7 +202,7 @@ var floatingPopupEmbedCode = function floatingPopupEmbedCode(_ref4) {
203
202
  btnColor = customization.btnColor,
204
203
  icon = customization.icon,
205
204
  queryParams = customization.queryParams;
206
- 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 };");
205
+ 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 };");
207
206
  };
208
207
  var elementPopupEmbedCode = function elementPopupEmbedCode(_ref5) {
209
208
  var customization = _ref5.customization,
@@ -212,7 +211,7 @@ var elementPopupEmbedCode = function elementPopupEmbedCode(_ref5) {
212
211
  extraArgs = _ref5.extraArgs;
213
212
  var elementSelector = customization.elementSelector,
214
213
  queryParams = customization.queryParams;
215
- 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 };");
214
+ 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 };");
216
215
  };
217
216
  var reactCodeGenerators = {
218
217
  inline: inlineEmbedCode,
@@ -1511,7 +1510,7 @@ var EmbedRenderer = function EmbedRenderer(_ref) {
1511
1510
  })
1512
1511
  })]
1513
1512
  }), /*#__PURE__*/jsx("div", {
1514
- 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",
1513
+ 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",
1515
1514
  children: /*#__PURE__*/jsx(Preview, {
1516
1515
  customPreviewIframeUrl: customPreviewIframeUrl,
1517
1516
  customization: customization,