@bigbinary/neeto-molecules 4.0.57 → 4.0.59

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.
@@ -51,19 +51,19 @@ var Activity = function Activity(_ref) {
51
51
  _ref$unread = _ref.unread,
52
52
  unread = _ref$unread === void 0 ? false : _ref$unread,
53
53
  className = _ref.className,
54
- children = _ref.children;
55
- var avatar = {
56
- name: user.name,
57
- imageUrl: user.profileImageUrl
58
- };
54
+ children = _ref.children,
55
+ userIcon = _ref.userIcon;
59
56
  return /*#__PURE__*/jsxs("div", {
60
57
  className: classnames("neeto-molecules-engagements-node relative -mt-4 flex items-center gap-2 px-4 py-4", className),
61
58
  children: [/*#__PURE__*/jsx(ActivityIcon, {
62
59
  icon: icon,
63
60
  unread: unread
64
- }), /*#__PURE__*/jsx(Avatar, {
61
+ }), userIcon || /*#__PURE__*/jsx(Avatar, {
65
62
  size: "small",
66
- user: avatar
63
+ user: {
64
+ name: user.name,
65
+ imageUrl: user.profileImageUrl
66
+ }
67
67
  }), /*#__PURE__*/jsx("div", {
68
68
  className: "neeto-molecules-engagements-node__children",
69
69
  children: children
@@ -1 +1 @@
1
- {"version":3,"file":"Engagements.js","sources":["../src/components/Engagements/Activity/Icon.jsx","../src/components/Engagements/Activity/index.jsx","../src/components/Engagements/Comment/Header.jsx","../src/components/Engagements/Comment/Reactions.jsx","../src/components/Engagements/constants.js","../src/components/Engagements/utils.js","../src/components/Engagements/Comment/index.jsx","../src/components/Engagements/index.jsx"],"sourcesContent":["import classNames from \"classnames\";\n\nconst ActivityIcon = ({ icon, unread }) => (\n <div className=\"mx-0.5 flex-shrink-0\">\n <span\n className={classNames(\n \"neeto-ui-bg-gray-200 neeto-ui-text-gray-600 neeto-ui-rounded-full neeto-molecules-activity-node-icon relative z-10 flex h-7 w-7 items-center justify-center p-1\",\n {\n \"neeto-ui-text-primary-600 neeto-ui-bg-primary-100\": unread,\n }\n )}\n >\n {icon}\n {unread && (\n <span className=\"neeto-ui-rounded-full neeto-ui-bg-primary-800 absolute -right-0.5 -top-0.5 h-2 w-2\" />\n )}\n </span>\n </div>\n);\n\nexport default ActivityIcon;\n","import classNames from \"classnames\";\nimport { Avatar } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport ActivityIcon from \"./Icon\";\n\nconst Activity = ({ user, icon, unread = false, className, children }) => {\n const avatar = { name: user.name, imageUrl: user.profileImageUrl };\n\n return (\n <div\n className={classNames(\n \"neeto-molecules-engagements-node relative -mt-4 flex items-center gap-2 px-4 py-4\",\n className\n )}\n >\n <ActivityIcon {...{ icon, unread }} />\n <Avatar size=\"small\" user={avatar} />\n <div className=\"neeto-molecules-engagements-node__children\">\n {children}\n </div>\n </div>\n );\n};\n\nActivity.propTypes = {\n /** Object representing the user information */\n user: PropTypes.shape({ name: PropTypes.string.isRequired }).isRequired,\n\n /** Element to render as the icon */\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n\n /** Boolean indicating if the activity is unread to show unread badge */\n unread: PropTypes.bool,\n\n /** Additional classes passed on to the board view. */\n className: PropTypes.string,\n};\n\nexport default Activity;\n","import { isPresent } from \"neetocist\";\nimport { Avatar, Typography } from \"neetoui\";\n\nimport DateFormat from \"components/DateFormat\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst CommentHeader = ({ user, comment, info, actions }) => {\n const avatar = { name: user.name, imageUrl: user.profileImageUrl };\n\n return (\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-border-gray-300 flex items-center justify-between rounded-t-md border-b py-1 pl-4 pr-1\">\n <div className=\"flex min-w-0 flex-grow flex-wrap items-center gap-2\">\n <Avatar size=\"medium\" user={avatar} />\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {user.name}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-700\" style=\"body2\">\n •\n </Typography>\n {info && (\n <>\n <Typography\n className=\"neeto-ui-text-gray-500 lowercase\"\n style=\"body2\"\n >\n {info}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-700\" style=\"body2\">\n •\n </Typography>\n </>\n )}\n {comment.createdAt && (\n <DateFormat.FromNow\n date={comment.createdAt}\n typographyProps={{\n style: \"body2\",\n className: \"neeto-ui-text-gray-500\",\n }}\n />\n )}\n </div>\n {isPresent(actions) && (\n <MoreDropdown\n dropdownButtonProps={{ className: \"self-start fles-shrink-0\" }}\n dropdownProps={{ position: \"bottom-start\" }}\n menuItems={actions}\n />\n )}\n </div>\n );\n};\n\nexport default CommentHeader;\n","import { memo } from \"react\";\n\nimport classNames from \"classnames\";\nimport { findIndexBy } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { collectBy, eqProps, pathEq, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmojiPicker from \"components/EmojiPicker\";\n\nconst findOwnIndex = findIndexBy({ userId: globalProps.user.id });\nconst groupReactions = collectBy(prop(\"unified\"));\n\nconst Reactions = ({ reactions, onAdd, onRemove }) => {\n const { t } = useTranslation();\n const groups = groupReactions(reactions);\n\n const onSelect = emoji => {\n // Try to find group to which emoji belongs in existing reactions.\n const group = groups.find(pathEq(emoji.unified, [0, \"unified\"]));\n if (group && findOwnIndex(group) >= 0) return; // User already reacted with same emoji.\n onAdd({ ...emoji, emoji: emoji.native });\n };\n\n return (\n <div className=\"mt-2 flex flex-wrap gap-0.5\">\n <div className=\"neeto-ui-rounded-full neeto-ui-bg-gray-200 mr-2\">\n <EmojiPicker {...{ onSelect }} />\n </div>\n {groups.map(reactions => {\n const ownIndex = findOwnIndex(reactions);\n const selected = ownIndex >= 0;\n const reaction = selected ? reactions[ownIndex] : reactions[0];\n const names = pluck(\"reactor\", reactions).join(\", \");\n\n return (\n <Tooltip\n key={reaction.unified}\n position=\"top\"\n content={\n <p className=\"text-center text-xs\">\n {t(\"neetoMolecules.engagements.namesReacted\", { names })}\n </p>\n }\n >\n <div\n className={classNames(\n \"neeto-ui-rounded-full mx-1 flex cursor-pointer items-center justify-center px-2 py-1\",\n {\n \"neeto-ui-bg-accent-100\": selected,\n \"neeto-ui-bg-gray-100\": !selected,\n }\n )}\n onClick={() => (selected ? onRemove : onAdd)(reaction)}\n >\n <Typography\n className=\"flex items-center gap-x-1 text-sm\"\n style=\"body2\"\n >\n <span className=\"text-sm\">{reaction.emoji}</span>\n <span className=\"text-sm\">{reactions.length}</span>\n </Typography>\n </div>\n </Tooltip>\n );\n })}\n </div>\n );\n};\n\nexport default memo(Reactions, eqProps(\"reactions\"));\n","export const ACTIVITY_TYPES = {\n TIMELINE: \"Timeline\",\n FIELD_VALUE: \"FieldValue\",\n TASK: \"Task\",\n ASSIGNEE: \"Assignee\",\n CHECKLIST: \"Checklist\",\n FIELD: \"Field\",\n PROJECT: \"Project\",\n COMMENT: \"Comment\",\n DOCUMENT: \"Document\",\n CHAT_MESSAGE: \"ChatMessage\",\n MESSAGE: \"Message\",\n SECTION: \"Section\",\n PROJECT_MEMBER: \"ProjectMember\",\n PULL_REQUEST: \"NeetoGithubEngine::PullRequest\",\n};\n\nexport const ENGAGEMENT_TYPES = {\n COMMENT: \"comment\",\n ACTIVITY: \"activity\",\n};\n","import { ENGAGEMENT_TYPES } from \"./constants\";\n\nexport const createCommentElementId = comment =>\n `neeto-molecules-engagement-comment--${comment.id}`;\n\nexport const defaultMatchType = engagement => {\n if (engagement.commenter) return ENGAGEMENT_TYPES.COMMENT;\n else if (engagement.creator) return ENGAGEMENT_TYPES.ACTIVITY;\n\n return null;\n};\n","import { forwardRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport CommentHeader from \"./Header\";\nimport Reactions from \"./Reactions\";\n\nimport { createCommentElementId } from \"../utils\";\n\nconst Comment = forwardRef(\n (\n {\n user,\n comment,\n reactions,\n info,\n actions,\n className,\n children,\n onAddReaction,\n onRemoveReaction,\n },\n ref\n ) => (\n <div\n {...{ ref }}\n id={createCommentElementId(comment)}\n className={classNames(\n \"neeto-ui-bg-white neeto-ui-rounded-md neeto-ui-border-gray-300 neeto-molecules-comments-node mb-4 w-full border\",\n className\n )}\n >\n <CommentHeader {...{ actions, comment, info, user }} />\n <div className=\"neeto-molecules-comments-node__inner p-4\">\n {children}\n {reactions !== false && (\n <Reactions\n {...{ reactions }}\n onAdd={onAddReaction}\n onRemove={onRemoveReaction}\n />\n )}\n </div>\n </div>\n )\n);\n\nComment.displayName = \"Comment\";\nComment.propTypes = {\n /** Object representing the user information */\n user: PropTypes.shape({ name: PropTypes.string.isRequired }).isRequired,\n\n /** Object representing the comment item. */\n comment: PropTypes.shape({\n id: PropTypes.string.isRequired,\n createdAt: PropTypes.string.isRequired,\n }).isRequired,\n\n /** Array of reactions. Settings this to `false` will disable reactions for the item */\n reactions: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]),\n\n /** Optional text label to be displayed in the header. */\n info: PropTypes.string,\n\n /** Optional action items to be passed to the menuItems prop of the actions dropdown */\n actions: PropTypes.arrayOf(\n PropTypes.shape({\n isVisible: PropTypes.bool,\n key: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n })\n ),\n\n /** Additional classes passed on to the board view. */\n className: PropTypes.string,\n\n /** Callback function triggered when a reaction (emoji) is added */\n onAddReaction: PropTypes.func,\n\n /** Callback function triggered when a reaction (emoji) is removed*/\n onRemoveReaction: PropTypes.func,\n};\n\nexport default Comment;\n","import React from \"react\";\n\nimport { noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport Activity from \"./Activity\";\nimport Comment from \"./Comment\";\nimport { ENGAGEMENT_TYPES } from \"./constants\";\nimport \"./engagements.scss\";\nimport { defaultMatchType } from \"./utils\";\n\nconst Engagements = ({\n data,\n isActivitiesEnabled = false,\n matchType = defaultMatchType,\n renderComment,\n renderActivity,\n}) => {\n const rendererHashmap = {\n [ENGAGEMENT_TYPES.COMMENT]: renderComment,\n [ENGAGEMENT_TYPES.ACTIVITY]: isActivitiesEnabled ? renderActivity : noop,\n };\n\n return (\n <>\n {data.map((engagement, index) => {\n const type = matchType(engagement);\n const renderer = rendererHashmap[type];\n if (!renderer) return null;\n\n return (\n <React.Fragment key={engagement.id}>\n {renderer(engagement, index)}\n </React.Fragment>\n );\n })}\n </>\n );\n};\n\nEngagements.displayName = \"Engagements\";\nEngagements.Comment = Comment;\nEngagements.Activity = Activity;\nEngagements.TYPES = ENGAGEMENT_TYPES;\n\nEngagements.propTypes = {\n /** An array of engagement items */\n data: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string.isRequired }))\n .isRequired,\n\n /** Boolean, determines whether activities are rendered. Defaults to false */\n isActivitiesEnabled: PropTypes.bool,\n\n /** Optional function to match the item type. Receives item as argument and should return one of Engagements.TYPES.*/\n matchType: PropTypes.func,\n\n /** A function to render individual comment item. Receives comment and index as arguments */\n renderComment: PropTypes.func.isRequired,\n\n /** A function to render individual activity item. Receives comment and index as arguments */\n renderActivity: PropTypes.func.isRequired,\n};\n\nexport default Engagements;\n"],"names":["ActivityIcon","_ref","icon","unread","_jsx","className","children","_jsxs","classNames","Activity","user","_ref$unread","avatar","name","imageUrl","profileImageUrl","Avatar","size","CommentHeader","comment","info","actions","Typography","style","weight","_Fragment","createdAt","DateFormat","FromNow","date","typographyProps","isPresent","MoreDropdown","dropdownButtonProps","dropdownProps","position","menuItems","findOwnIndex","findIndexBy","userId","globalProps","id","groupReactions","collectBy","prop","Reactions","reactions","onAdd","onRemove","_useTranslation","useTranslation","t","groups","onSelect","emoji","group","find","pathEq","unified","_objectSpread","EmojiPicker","map","ownIndex","selected","reaction","names","pluck","join","Tooltip","content","onClick","length","memo","eqProps","ENGAGEMENT_TYPES","COMMENT","ACTIVITY","createCommentElementId","concat","defaultMatchType","engagement","commenter","creator","Comment","forwardRef","ref","onAddReaction","onRemoveReaction","displayName","propTypes","PropTypes","shape","string","isRequired","oneOfType","array","bool","arrayOf","isVisible","key","label","func","Engagements","data","_ref$isActivitiesEnab","isActivitiesEnabled","_ref$matchType","matchType","renderComment","renderActivity","rendererHashmap","_defineProperty","noop","index","type","renderer","React","Fragment","TYPES"],"mappings":"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"}
1
+ {"version":3,"file":"Engagements.js","sources":["../src/components/Engagements/Activity/Icon.jsx","../src/components/Engagements/Activity/index.jsx","../src/components/Engagements/Comment/Header.jsx","../src/components/Engagements/Comment/Reactions.jsx","../src/components/Engagements/constants.js","../src/components/Engagements/utils.js","../src/components/Engagements/Comment/index.jsx","../src/components/Engagements/index.jsx"],"sourcesContent":["import classNames from \"classnames\";\n\nconst ActivityIcon = ({ icon, unread }) => (\n <div className=\"mx-0.5 flex-shrink-0\">\n <span\n className={classNames(\n \"neeto-ui-bg-gray-200 neeto-ui-text-gray-600 neeto-ui-rounded-full neeto-molecules-activity-node-icon relative z-10 flex h-7 w-7 items-center justify-center p-1\",\n {\n \"neeto-ui-text-primary-600 neeto-ui-bg-primary-100\": unread,\n }\n )}\n >\n {icon}\n {unread && (\n <span className=\"neeto-ui-rounded-full neeto-ui-bg-primary-800 absolute -right-0.5 -top-0.5 h-2 w-2\" />\n )}\n </span>\n </div>\n);\n\nexport default ActivityIcon;\n","import classNames from \"classnames\";\nimport { Avatar } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport ActivityIcon from \"./Icon\";\n\nconst Activity = ({\n user,\n icon,\n unread = false,\n className,\n children,\n userIcon,\n}) => (\n <div\n className={classNames(\n \"neeto-molecules-engagements-node relative -mt-4 flex items-center gap-2 px-4 py-4\",\n className\n )}\n >\n <ActivityIcon {...{ icon, unread }} />\n {userIcon || (\n <Avatar\n size=\"small\"\n user={{ name: user.name, imageUrl: user.profileImageUrl }}\n />\n )}\n <div className=\"neeto-molecules-engagements-node__children\">{children}</div>\n </div>\n);\n\nActivity.propTypes = {\n /** Object representing the user information */\n user: PropTypes.shape({ name: PropTypes.string.isRequired }).isRequired,\n\n /** Element to render as the icon */\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n\n /** Boolean indicating if the activity is unread to show unread badge */\n unread: PropTypes.bool,\n\n /** Additional classes passed on to the board view. */\n className: PropTypes.string,\n};\n\nexport default Activity;\n","import { isPresent } from \"neetocist\";\nimport { Avatar, Typography } from \"neetoui\";\n\nimport DateFormat from \"components/DateFormat\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst CommentHeader = ({ user, comment, info, actions }) => {\n const avatar = { name: user.name, imageUrl: user.profileImageUrl };\n\n return (\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-border-gray-300 flex items-center justify-between rounded-t-md border-b py-1 pl-4 pr-1\">\n <div className=\"flex min-w-0 flex-grow flex-wrap items-center gap-2\">\n <Avatar size=\"medium\" user={avatar} />\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {user.name}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-700\" style=\"body2\">\n •\n </Typography>\n {info && (\n <>\n <Typography\n className=\"neeto-ui-text-gray-500 lowercase\"\n style=\"body2\"\n >\n {info}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-700\" style=\"body2\">\n •\n </Typography>\n </>\n )}\n {comment.createdAt && (\n <DateFormat.FromNow\n date={comment.createdAt}\n typographyProps={{\n style: \"body2\",\n className: \"neeto-ui-text-gray-500\",\n }}\n />\n )}\n </div>\n {isPresent(actions) && (\n <MoreDropdown\n dropdownButtonProps={{ className: \"self-start fles-shrink-0\" }}\n dropdownProps={{ position: \"bottom-start\" }}\n menuItems={actions}\n />\n )}\n </div>\n );\n};\n\nexport default CommentHeader;\n","import { memo } from \"react\";\n\nimport classNames from \"classnames\";\nimport { findIndexBy } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { collectBy, eqProps, pathEq, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmojiPicker from \"components/EmojiPicker\";\n\nconst findOwnIndex = findIndexBy({ userId: globalProps.user.id });\nconst groupReactions = collectBy(prop(\"unified\"));\n\nconst Reactions = ({ reactions, onAdd, onRemove }) => {\n const { t } = useTranslation();\n const groups = groupReactions(reactions);\n\n const onSelect = emoji => {\n // Try to find group to which emoji belongs in existing reactions.\n const group = groups.find(pathEq(emoji.unified, [0, \"unified\"]));\n if (group && findOwnIndex(group) >= 0) return; // User already reacted with same emoji.\n onAdd({ ...emoji, emoji: emoji.native });\n };\n\n return (\n <div className=\"mt-2 flex flex-wrap gap-0.5\">\n <div className=\"neeto-ui-rounded-full neeto-ui-bg-gray-200 mr-2\">\n <EmojiPicker {...{ onSelect }} />\n </div>\n {groups.map(reactions => {\n const ownIndex = findOwnIndex(reactions);\n const selected = ownIndex >= 0;\n const reaction = selected ? reactions[ownIndex] : reactions[0];\n const names = pluck(\"reactor\", reactions).join(\", \");\n\n return (\n <Tooltip\n key={reaction.unified}\n position=\"top\"\n content={\n <p className=\"text-center text-xs\">\n {t(\"neetoMolecules.engagements.namesReacted\", { names })}\n </p>\n }\n >\n <div\n className={classNames(\n \"neeto-ui-rounded-full mx-1 flex cursor-pointer items-center justify-center px-2 py-1\",\n {\n \"neeto-ui-bg-accent-100\": selected,\n \"neeto-ui-bg-gray-100\": !selected,\n }\n )}\n onClick={() => (selected ? onRemove : onAdd)(reaction)}\n >\n <Typography\n className=\"flex items-center gap-x-1 text-sm\"\n style=\"body2\"\n >\n <span className=\"text-sm\">{reaction.emoji}</span>\n <span className=\"text-sm\">{reactions.length}</span>\n </Typography>\n </div>\n </Tooltip>\n );\n })}\n </div>\n );\n};\n\nexport default memo(Reactions, eqProps(\"reactions\"));\n","export const ACTIVITY_TYPES = {\n TIMELINE: \"Timeline\",\n FIELD_VALUE: \"FieldValue\",\n TASK: \"Task\",\n ASSIGNEE: \"Assignee\",\n CHECKLIST: \"Checklist\",\n FIELD: \"Field\",\n PROJECT: \"Project\",\n COMMENT: \"Comment\",\n DOCUMENT: \"Document\",\n CHAT_MESSAGE: \"ChatMessage\",\n MESSAGE: \"Message\",\n SECTION: \"Section\",\n PROJECT_MEMBER: \"ProjectMember\",\n PULL_REQUEST: \"NeetoGithubEngine::PullRequest\",\n};\n\nexport const ENGAGEMENT_TYPES = {\n COMMENT: \"comment\",\n ACTIVITY: \"activity\",\n};\n","import { ENGAGEMENT_TYPES } from \"./constants\";\n\nexport const createCommentElementId = comment =>\n `neeto-molecules-engagement-comment--${comment.id}`;\n\nexport const defaultMatchType = engagement => {\n if (engagement.commenter) return ENGAGEMENT_TYPES.COMMENT;\n else if (engagement.creator) return ENGAGEMENT_TYPES.ACTIVITY;\n\n return null;\n};\n","import { forwardRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport CommentHeader from \"./Header\";\nimport Reactions from \"./Reactions\";\n\nimport { createCommentElementId } from \"../utils\";\n\nconst Comment = forwardRef(\n (\n {\n user,\n comment,\n reactions,\n info,\n actions,\n className,\n children,\n onAddReaction,\n onRemoveReaction,\n },\n ref\n ) => (\n <div\n {...{ ref }}\n id={createCommentElementId(comment)}\n className={classNames(\n \"neeto-ui-bg-white neeto-ui-rounded-md neeto-ui-border-gray-300 neeto-molecules-comments-node mb-4 w-full border\",\n className\n )}\n >\n <CommentHeader {...{ actions, comment, info, user }} />\n <div className=\"neeto-molecules-comments-node__inner p-4\">\n {children}\n {reactions !== false && (\n <Reactions\n {...{ reactions }}\n onAdd={onAddReaction}\n onRemove={onRemoveReaction}\n />\n )}\n </div>\n </div>\n )\n);\n\nComment.displayName = \"Comment\";\nComment.propTypes = {\n /** Object representing the user information */\n user: PropTypes.shape({ name: PropTypes.string.isRequired }).isRequired,\n\n /** Object representing the comment item. */\n comment: PropTypes.shape({\n id: PropTypes.string.isRequired,\n createdAt: PropTypes.string.isRequired,\n }).isRequired,\n\n /** Array of reactions. Settings this to `false` will disable reactions for the item */\n reactions: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]),\n\n /** Optional text label to be displayed in the header. */\n info: PropTypes.string,\n\n /** Optional action items to be passed to the menuItems prop of the actions dropdown */\n actions: PropTypes.arrayOf(\n PropTypes.shape({\n isVisible: PropTypes.bool,\n key: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n })\n ),\n\n /** Additional classes passed on to the board view. */\n className: PropTypes.string,\n\n /** Callback function triggered when a reaction (emoji) is added */\n onAddReaction: PropTypes.func,\n\n /** Callback function triggered when a reaction (emoji) is removed*/\n onRemoveReaction: PropTypes.func,\n};\n\nexport default Comment;\n","import React from \"react\";\n\nimport { noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport Activity from \"./Activity\";\nimport Comment from \"./Comment\";\nimport { ENGAGEMENT_TYPES } from \"./constants\";\nimport \"./engagements.scss\";\nimport { defaultMatchType } from \"./utils\";\n\nconst Engagements = ({\n data,\n isActivitiesEnabled = false,\n matchType = defaultMatchType,\n renderComment,\n renderActivity,\n}) => {\n const rendererHashmap = {\n [ENGAGEMENT_TYPES.COMMENT]: renderComment,\n [ENGAGEMENT_TYPES.ACTIVITY]: isActivitiesEnabled ? renderActivity : noop,\n };\n\n return (\n <>\n {data.map((engagement, index) => {\n const type = matchType(engagement);\n const renderer = rendererHashmap[type];\n if (!renderer) return null;\n\n return (\n <React.Fragment key={engagement.id}>\n {renderer(engagement, index)}\n </React.Fragment>\n );\n })}\n </>\n );\n};\n\nEngagements.displayName = \"Engagements\";\nEngagements.Comment = Comment;\nEngagements.Activity = Activity;\nEngagements.TYPES = ENGAGEMENT_TYPES;\n\nEngagements.propTypes = {\n /** An array of engagement items */\n data: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string.isRequired }))\n .isRequired,\n\n /** Boolean, determines whether activities are rendered. Defaults to false */\n isActivitiesEnabled: PropTypes.bool,\n\n /** Optional function to match the item type. Receives item as argument and should return one of Engagements.TYPES.*/\n matchType: PropTypes.func,\n\n /** A function to render individual comment item. Receives comment and index as arguments */\n renderComment: PropTypes.func.isRequired,\n\n /** A function to render individual activity item. Receives comment and index as arguments */\n renderActivity: PropTypes.func.isRequired,\n};\n\nexport default Engagements;\n"],"names":["ActivityIcon","_ref","icon","unread","_jsx","className","children","_jsxs","classNames","Activity","user","_ref$unread","userIcon","Avatar","size","name","imageUrl","profileImageUrl","CommentHeader","comment","info","actions","avatar","Typography","style","weight","_Fragment","createdAt","DateFormat","FromNow","date","typographyProps","isPresent","MoreDropdown","dropdownButtonProps","dropdownProps","position","menuItems","findOwnIndex","findIndexBy","userId","globalProps","id","groupReactions","collectBy","prop","Reactions","reactions","onAdd","onRemove","_useTranslation","useTranslation","t","groups","onSelect","emoji","group","find","pathEq","unified","_objectSpread","EmojiPicker","map","ownIndex","selected","reaction","names","pluck","join","Tooltip","content","onClick","length","memo","eqProps","ENGAGEMENT_TYPES","COMMENT","ACTIVITY","createCommentElementId","concat","defaultMatchType","engagement","commenter","creator","Comment","forwardRef","ref","onAddReaction","onRemoveReaction","displayName","propTypes","PropTypes","shape","string","isRequired","oneOfType","array","bool","arrayOf","isVisible","key","label","func","Engagements","data","_ref$isActivitiesEnab","isActivitiesEnabled","_ref$matchType","matchType","renderComment","renderActivity","rendererHashmap","_defineProperty","noop","index","type","renderer","React","Fragment","TYPES"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { shallow } from 'zustand/shallow';
2
- import { useEffect, createElement, useState, useMemo } from 'react';
2
+ import { useEffect, useState, useMemo } from 'react';
3
3
  import { isPresent, filterBy, hyphenate, noop } from '@bigbinary/neeto-cist';
4
4
  import { useLocation, useHistory } from 'react-router-dom';
5
5
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
@@ -9,7 +9,7 @@ import useStateWithDependency from '@bigbinary/neeto-commons-frontend/react-util
9
9
  import LeftArrow from '@bigbinary/neeto-icons/LeftArrow';
10
10
  import Button from '@bigbinary/neetoui/Button';
11
11
  import Typography from '@bigbinary/neetoui/Typography';
12
- import { toPairs, mergeDeepLeft, pick, isEmpty, mergeLeft } from 'ramda';
12
+ import { toPairs, mergeDeepLeft, isEmpty, mergeLeft } from 'ramda';
13
13
  import { useTranslation } from 'react-i18next';
14
14
  import Container from './Container.js';
15
15
  import Header from './Header.js';
@@ -115,8 +115,10 @@ var inlineEmbedCode$1 = function inlineEmbedCode(_ref3) {
115
115
  inlineWrapperStyle = _ref3.inlineWrapperStyle,
116
116
  iframeStyle = _ref3.iframeStyle,
117
117
  queryParams = _ref3.queryParams;
118
- var elementSelector = customization.elementSelector;
119
- return "\n <!-- ".concat(globalProps.appName, " inline embed code begins -->\n <div style=\"").concat(inlineWrapperStyle, "\" id=\"").concat(elementSelector, "\">\n <!-- ").concat(globalProps.appName, " widget will be added here -->\n </div>\n ").concat(embedBaseScript(embedScriptLink), "\n <script>\n ").concat(camelCasedAppName$1, ".embed({\n type: \"inline\",\n id: \"").concat(id, "\",\n organization: \"").concat(globalProps.organization.subdomain, "\",\n elementSelector: \"#").concat(elementSelector, "\",\n styles: \"").concat(iframeStyle, "\", ").concat(embedQueryParam$1(queryParams)).concat(embedEnv$1()).concat(parseExtraArgs$1(extraArgs), "\n });\n </script>\n <!-- ").concat(globalProps.appName, " inline embed code ends -->");
118
+ var elementSelector = customization.elementSelector,
119
+ dynamicHeight = customization.dynamicHeight;
120
+ var processedInlineWrapperStyle = dynamicHeight !== null && dynamicHeight !== void 0 && dynamicHeight.value ? removeHeightFromStyle(inlineWrapperStyle) : inlineWrapperStyle;
121
+ return "\n <!-- ".concat(globalProps.appName, " inline embed code begins -->\n <div style=\"").concat(processedInlineWrapperStyle, "\" id=\"").concat(elementSelector, "\">\n <!-- ").concat(globalProps.appName, " widget will be added here -->\n </div>\n ").concat(embedBaseScript(embedScriptLink), "\n <script>\n ").concat(camelCasedAppName$1, ".embed({\n type: \"inline\",\n id: \"").concat(id, "\",\n organization: \"").concat(globalProps.organization.subdomain, "\",\n elementSelector: \"#").concat(elementSelector, "\",\n styles: \"").concat(iframeStyle, "\", ").concat(embedQueryParam$1(queryParams)).concat(embedEnv$1()).concat(parseExtraArgs$1(extraArgs), "\n });\n </script>\n <!-- ").concat(globalProps.appName, " inline embed code ends -->");
120
122
  };
121
123
  var floatingPopupEmbedCode$1 = function floatingPopupEmbedCode(_ref4) {
122
124
  var customization = _ref4.customization,
@@ -148,13 +150,15 @@ var iframeEmbedCode$1 = function iframeEmbedCode(_ref6) {
148
150
  var height = customization.height,
149
151
  width = customization.width,
150
152
  iframeTitle = customization.iframeTitle,
151
- iframeUrl = customization.iframeUrl;
153
+ iframeUrl = customization.iframeUrl,
154
+ dynamicHeight = customization.dynamicHeight;
152
155
  var iframeSrc = buildIframeURL$1({
153
156
  id: id,
154
157
  iframeUrl: iframeUrl,
155
158
  queryParams: queryParams
156
159
  });
157
- return "\n <!-- ".concat(globalProps.appName, " iframe embed code begins -->\n <iframe\n allowfullscreen\n height=\"").concat(height, "\"\n width=\"").concat(width, "\"\n frameborder=\"0\"\n title=\"").concat(iframeTitle, "\"\n src=\"").concat(iframeSrc, "\"\n ></iframe>\n <!-- ").concat(globalProps.appName, " iframe embed code ends -->");
160
+ var heightAttribute = dynamicHeight !== null && dynamicHeight !== void 0 && dynamicHeight.value ? "" : "\n".concat(TAB_STRING, "height=\"").concat(height, "\"");
161
+ return "\n <!-- ".concat(globalProps.appName, " iframe embed code begins -->\n <iframe\n allowfullscreen").concat(heightAttribute, "\n width=\"").concat(width, "\"\n frameborder=\"0\"\n title=\"").concat(iframeTitle, "\"\n src=\"").concat(iframeSrc, "\"\n ></iframe>\n <!-- ").concat(globalProps.appName, " iframe embed code ends -->");
158
162
  };
159
163
  var htmlCodeGenerators = {
160
164
  inline: inlineEmbedCode$1,
@@ -173,7 +177,7 @@ var embedEnv = function embedEnv() {
173
177
  return globalProps.railsEnv !== "production" ? "\n".concat(TAB_STRING).concat(TAB_STRING, " env: \"").concat(globalProps.railsEnv, "\",") : "";
174
178
  };
175
179
  var embedQueryParam = function embedQueryParam(queryParams) {
176
- return queryParams ? "\n".concat(TAB_STRING).concat(TAB_STRING, "queryParams: ").concat(queryParams, ",") : "";
180
+ return queryParams ? "\n".concat(TAB_STRING).concat(TAB_STRING, " queryParams: ").concat(queryParams, ",") : "";
177
181
  };
178
182
  var parseExtraArgs = function parseExtraArgs(extraArgs) {
179
183
  return toPairs(extraArgs).map(function (_ref) {
@@ -202,8 +206,10 @@ var inlineEmbedCode = function inlineEmbedCode(_ref3) {
202
206
  inlineWrapperStyle = _ref3.inlineWrapperStyle,
203
207
  iframeStyle = _ref3.iframeStyle,
204
208
  queryParams = _ref3.queryParams;
205
- var elementSelector = customization.elementSelector;
206
- 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: \"").concat(iframeStyle, "\",").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 };");
209
+ var elementSelector = customization.elementSelector,
210
+ dynamicHeight = customization.dynamicHeight;
211
+ var processedInlineWrapperStyle = dynamicHeight !== null && dynamicHeight !== void 0 && dynamicHeight.value ? removeHeightFromStyle(inlineWrapperStyle) : inlineWrapperStyle;
212
+ 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: \"").concat(iframeStyle, "\",").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(processedInlineWrapperStyle), " }}\n />\n );\n };");
207
213
  };
208
214
  var floatingPopupEmbedCode = function floatingPopupEmbedCode(_ref4) {
209
215
  var customization = _ref4.customization,
@@ -235,13 +241,15 @@ var iframeEmbedCode = function iframeEmbedCode(_ref6) {
235
241
  var height = customization.height,
236
242
  width = customization.width,
237
243
  iframeTitle = customization.iframeTitle,
238
- iframeUrl = customization.iframeUrl;
244
+ iframeUrl = customization.iframeUrl,
245
+ dynamicHeight = customization.dynamicHeight;
239
246
  var iframeSrc = buildIframeURL$1({
240
247
  id: id,
241
248
  iframeUrl: iframeUrl,
242
249
  queryParams: queryParams
243
250
  });
244
- return "\n const App = () => {\n return (\n <>\n {/* ".concat(globalProps.appName, " iframe embed code begins */}\n <iframe\n allowFullScreen\n height=\"").concat(height, "\"\n width=\"").concat(width, "\"\n frameBorder=\"0\"\n title=\"").concat(iframeTitle, "\"\n src=\"").concat(iframeSrc, "\"\n ></iframe>\n {/* ").concat(globalProps.appName, " iframe embed code ends */}\n </>\n );\n };\n");
251
+ var heightAttribute = dynamicHeight !== null && dynamicHeight !== void 0 && dynamicHeight.value ? "" : "\n".concat(TAB_STRING).concat(TAB_STRING, " height=\"").concat(height, "\"");
252
+ return "\n const App = () => {\n return (\n <>\n {/* ".concat(globalProps.appName, " iframe embed code begins */}\n <iframe\n allowFullScreen").concat(heightAttribute, "\n width=\"").concat(width, "\"\n frameBorder=\"0\"\n title=\"").concat(iframeTitle, "\"\n src=\"").concat(iframeSrc, "\"\n ></iframe>\n {/* ").concat(globalProps.appName, " iframe embed code ends */}\n </>\n );\n };\n");
245
253
  };
246
254
  var reactCodeGenerators = {
247
255
  inline: inlineEmbedCode,
@@ -250,17 +258,19 @@ var reactCodeGenerators = {
250
258
  iframe: iframeEmbedCode
251
259
  };
252
260
 
253
- var _excluded = ["selectedLanguage", "type"];
254
- function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
255
- function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
256
- var buildQueryParams = function buildQueryParams() {
261
+ var _excluded$1 = ["selectedLanguage", "type"];
262
+ function ownKeys$6(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
263
+ function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
264
+ var buildQueryParams$1 = function buildQueryParams() {
257
265
  var customization = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
258
266
  var existingQueryParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
259
- var activeKeys = Object.keys(SWITCH_OPTIONS).filter(function (key) {
260
- return customization[key];
261
- });
262
- var activeOptions = pick(activeKeys, customization);
263
- var mergedQueryParams = _objectSpread$4(_objectSpread$4({}, existingQueryParams), activeOptions);
267
+ var activeOptions = Object.keys(SWITCH_OPTIONS).reduce(function (acc, key) {
268
+ var _customization$key;
269
+ var value = (_customization$key = customization[key]) === null || _customization$key === void 0 ? void 0 : _customization$key.value;
270
+ if (value) acc[key] = value;
271
+ return acc;
272
+ }, {});
273
+ var mergedQueryParams = _objectSpread$6(_objectSpread$6({}, existingQueryParams), activeOptions);
264
274
  if (isEmpty(mergedQueryParams)) return "";
265
275
  return JSON.stringify(mergedQueryParams, null, 2).replace(/\n/g, " ").replace(/\s\s+/g, " ");
266
276
  };
@@ -268,11 +278,11 @@ var generateCode = function generateCode(options) {
268
278
  var _embeddedCodeOptions$, _reactCodeGenerators$, _htmlCodeGenerators$t;
269
279
  var selectedLanguage = options.selectedLanguage,
270
280
  type = options.type,
271
- embeddedCodeOptions = _objectWithoutProperties(options, _excluded);
281
+ embeddedCodeOptions = _objectWithoutProperties(options, _excluded$1);
272
282
  var queryParams = ((_embeddedCodeOptions$ = embeddedCodeOptions.customization) === null || _embeddedCodeOptions$ === void 0 ? void 0 : _embeddedCodeOptions$.queryParams) || {};
273
283
  var customization = embeddedCodeOptions.customization || {};
274
- var codeOptions = _objectSpread$4(_objectSpread$4({}, embeddedCodeOptions), {}, {
275
- queryParams: buildQueryParams(customization, queryParams)
284
+ var codeOptions = _objectSpread$6(_objectSpread$6({}, embeddedCodeOptions), {}, {
285
+ queryParams: buildQueryParams$1(customization, queryParams)
276
286
  });
277
287
  return selectedLanguage === "react" ? (_reactCodeGenerators$ = reactCodeGenerators[type]) === null || _reactCodeGenerators$ === void 0 ? void 0 : _reactCodeGenerators$.call(reactCodeGenerators, codeOptions) : (_htmlCodeGenerators$t = htmlCodeGenerators[type]) === null || _htmlCodeGenerators$t === void 0 ? void 0 : _htmlCodeGenerators$t.call(htmlCodeGenerators, codeOptions);
278
288
  };
@@ -312,9 +322,12 @@ var buildIframeURL$1 = function buildIframeURL(_ref3) {
312
322
  });
313
323
  return url.toString();
314
324
  };
325
+ var removeHeightFromStyle = function removeHeightFromStyle(style) {
326
+ return style.replace(/height\s*:\s*[^;]+;?\s*/g, "").trim();
327
+ };
315
328
 
316
- function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
317
- function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
329
+ function ownKeys$5(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
330
+ function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
318
331
  var DynamicQueryParams = function DynamicQueryParams(_ref) {
319
332
  var updateCustomization = _ref.updateCustomization;
320
333
  var _useTranslation = useTranslation(),
@@ -340,7 +353,7 @@ var DynamicQueryParams = function DynamicQueryParams(_ref) {
340
353
  };
341
354
  var handleInputChange = function handleInputChange(index, field, value) {
342
355
  var newQueryParams = queryParams.map(function (param, i) {
343
- return i === index ? _objectSpread$3(_objectSpread$3({}, param), {}, _defineProperty({}, field, value)) : param;
356
+ return i === index ? _objectSpread$5(_objectSpread$5({}, param), {}, _defineProperty({}, field, value)) : param;
344
357
  });
345
358
  setQueryParams(newQueryParams);
346
359
  };
@@ -356,7 +369,7 @@ var DynamicQueryParams = function DynamicQueryParams(_ref) {
356
369
  "data-cy": "dynamic-query-params-label",
357
370
  "data-testid": "dynamic-query-params-label",
358
371
  children: queryParamsProps.label || t("neetoMolecules.productEmbed.queryParam.label")
359
- }), isPresent(queryParamsProps.helpPopoverProps) && /*#__PURE__*/jsx(HelpPopover, _objectSpread$3({
372
+ }), isPresent(queryParamsProps.helpPopoverProps) && /*#__PURE__*/jsx(HelpPopover, _objectSpread$5({
360
373
  className: "ml-1"
361
374
  }, queryParamsProps.helpPopoverProps))]
362
375
  }), queryParams.map(function (param, index) {
@@ -542,6 +555,9 @@ var FloatingPopup$1 = function FloatingPopup(_ref) {
542
555
  });
543
556
  };
544
557
 
558
+ var _excluded = ["value", "label", "helpIconProps"];
559
+ function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
560
+ function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
545
561
  var SwitchOptions = function SwitchOptions(_ref) {
546
562
  var _ref$customization = _ref.customization,
547
563
  customization = _ref$customization === void 0 ? {} : _ref$customization,
@@ -556,25 +572,28 @@ var SwitchOptions = function SwitchOptions(_ref) {
556
572
  className: "flex flex-col gap-4",
557
573
  children: visibleOptions.map(function (_ref2) {
558
574
  var _ref3 = _slicedToArray(_ref2, 2),
559
- key = _ref3[0],
560
- value = _ref3[1];
561
- var helpText = SWITCH_OPTIONS[key].helpText;
562
- var labelProps = helpText ? {
563
- helpIconProps: {
564
- tooltipProps: {
565
- content: helpText
566
- }
567
- }
568
- } : undefined;
569
- return /*#__PURE__*/createElement(Switch, {
570
- labelProps: labelProps,
575
+ option = _ref3[0],
576
+ _ref3$ = _ref3[1],
577
+ value = _ref3$.value,
578
+ label = _ref3$.label,
579
+ helpIconProps = _ref3$.helpIconProps,
580
+ rest = _objectWithoutProperties(_ref3$, _excluded);
581
+ return /*#__PURE__*/jsx(Switch, {
571
582
  checked: value,
572
- key: key,
573
- label: SWITCH_OPTIONS[key].label,
583
+ label: label || SWITCH_OPTIONS[option].label,
584
+ labelProps: helpIconProps && {
585
+ helpIconProps: _objectSpread$4({
586
+ "data-testid": "help-icon-button"
587
+ }, helpIconProps)
588
+ },
574
589
  onChange: function onChange(e) {
575
- return updateCustomization(_defineProperty({}, key, e.target.checked));
590
+ return updateCustomization(_defineProperty({}, option, _objectSpread$4(_objectSpread$4({}, rest), {}, {
591
+ label: label,
592
+ helpIconProps: helpIconProps,
593
+ value: e.target.checked
594
+ })));
576
595
  }
577
- });
596
+ }, option);
578
597
  })
579
598
  });
580
599
  };
@@ -652,11 +671,11 @@ var Inline$1 = function Inline(_ref) {
652
671
  });
653
672
  };
654
673
 
655
- function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
656
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
674
+ function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
675
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
657
676
  var InlineEmbedIcon = function InlineEmbedIcon(_ref) {
658
677
  var other = Object.assign({}, (_objectDestructuringEmpty(_ref), _ref));
659
- return /*#__PURE__*/jsxs("svg", _objectSpread$2(_objectSpread$2({
678
+ return /*#__PURE__*/jsxs("svg", _objectSpread$3(_objectSpread$3({
660
679
  fill: "none",
661
680
  height: "163",
662
681
  viewBox: "0 0 278 163",
@@ -905,7 +924,7 @@ var InlineEmbedIcon = function InlineEmbedIcon(_ref) {
905
924
  };
906
925
  var FloatingPopupIcon = function FloatingPopupIcon(_ref2) {
907
926
  var other = Object.assign({}, (_objectDestructuringEmpty(_ref2), _ref2));
908
- return /*#__PURE__*/jsxs("svg", _objectSpread$2(_objectSpread$2({
927
+ return /*#__PURE__*/jsxs("svg", _objectSpread$3(_objectSpread$3({
909
928
  fill: "none",
910
929
  height: "163",
911
930
  viewBox: "0 0 278 163",
@@ -1049,7 +1068,7 @@ var FloatingPopupIcon = function FloatingPopupIcon(_ref2) {
1049
1068
  };
1050
1069
  var ElementPopupIcon = function ElementPopupIcon(_ref3) {
1051
1070
  var other = Object.assign({}, (_objectDestructuringEmpty(_ref3), _ref3));
1052
- return /*#__PURE__*/jsxs("svg", _objectSpread$2(_objectSpread$2({
1071
+ return /*#__PURE__*/jsxs("svg", _objectSpread$3(_objectSpread$3({
1053
1072
  fill: "none",
1054
1073
  height: "163",
1055
1074
  viewBox: "0 0 278 163",
@@ -1200,8 +1219,7 @@ var SCRIPT_ID = "embed-script";
1200
1219
  var TAB_STRING = " ";
1201
1220
  var SWITCH_OPTIONS = {
1202
1221
  dynamicHeight: {
1203
- label: t("neetoMolecules.productEmbed.dynamicHeight"),
1204
- helpText: t("neetoMolecules.productEmbed.dynamicHeightHelpText")
1222
+ label: t("neetoMolecules.productEmbed.dynamicHeight")
1205
1223
  },
1206
1224
  hideTitle: {
1207
1225
  label: t("neetoMolecules.productEmbed.hideTitle")
@@ -1277,11 +1295,11 @@ var Code = function Code(_ref) {
1277
1295
  });
1278
1296
  };
1279
1297
 
1280
- function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1281
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1298
+ function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1299
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1282
1300
  var FloatingPopupPlaceholderImage = function FloatingPopupPlaceholderImage(_ref) {
1283
1301
  var other = Object.assign({}, (_objectDestructuringEmpty(_ref), _ref));
1284
- return /*#__PURE__*/jsxs("svg", _objectSpread$1(_objectSpread$1({
1302
+ return /*#__PURE__*/jsxs("svg", _objectSpread$2(_objectSpread$2({
1285
1303
  fill: "none",
1286
1304
  height: "518",
1287
1305
  viewBox: "0 0 796 518",
@@ -1341,7 +1359,7 @@ var FloatingPopupPlaceholderImage = function FloatingPopupPlaceholderImage(_ref)
1341
1359
  };
1342
1360
  var ElementPopupPlaceholderImage = function ElementPopupPlaceholderImage(_ref2) {
1343
1361
  var other = Object.assign({}, (_objectDestructuringEmpty(_ref2), _ref2));
1344
- return /*#__PURE__*/jsxs("svg", _objectSpread$1(_objectSpread$1({
1362
+ return /*#__PURE__*/jsxs("svg", _objectSpread$2(_objectSpread$2({
1345
1363
  fill: "none",
1346
1364
  height: "518",
1347
1365
  viewBox: "0 0 748 518",
@@ -1507,10 +1525,27 @@ var Inline = function Inline(_ref) {
1507
1525
  });
1508
1526
  };
1509
1527
 
1510
- var buildIframeURL = function buildIframeURL(iframeURL, queryParams) {
1528
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1529
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1530
+ var buildQueryParams = function buildQueryParams() {
1531
+ var customization = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1532
+ var existingQueryParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1533
+ var activeOptions = Object.keys(SWITCH_OPTIONS).reduce(function (acc, key) {
1534
+ var _customization$key;
1535
+ var value = (_customization$key = customization[key]) === null || _customization$key === void 0 ? void 0 : _customization$key.value;
1536
+ if (value) acc[key] = value;
1537
+ return acc;
1538
+ }, {});
1539
+ return _objectSpread$1(_objectSpread$1({}, existingQueryParams), activeOptions);
1540
+ };
1541
+ var buildIframeURL = function buildIframeURL(iframeURL, queryParams, customization) {
1511
1542
  var url = new URL(iframeURL);
1512
- queryParams.forEach(function (param) {
1513
- url.searchParams.append(param.name, param.value);
1543
+ var params = buildQueryParams(customization, queryParams);
1544
+ Object.entries(params).forEach(function (_ref) {
1545
+ var _ref2 = _slicedToArray(_ref, 2),
1546
+ name = _ref2[0],
1547
+ value = _ref2[1];
1548
+ url.searchParams.append(name, value);
1514
1549
  });
1515
1550
  return url.toString();
1516
1551
  };
@@ -1529,7 +1564,8 @@ var Preview = function Preview(_ref) {
1529
1564
  }, shallow),
1530
1565
  queryParams = _useProductEmbedStore.queryParams;
1531
1566
  var preview = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, EMBED_OPTIONS.INLINE, Inline), EMBED_OPTIONS.FLOATING_POPUP, FloatingPopup), EMBED_OPTIONS.ELEMENT_POPUP, ElementPopup), EMBED_OPTIONS.IFRAME, Iframe);
1532
- var iframeURL = buildIframeURL(customPreviewIframeUrl || "".concat(location.origin, "/embed/").concat(id), queryParams);
1567
+ var previewURL = customPreviewIframeUrl || "".concat(location.origin, "/embed/").concat(id);
1568
+ var iframeURL = buildIframeURL(previewURL, queryParams, customization);
1533
1569
  var Component = preview[selectedEmbed];
1534
1570
  if (isScriptLoading) {
1535
1571
  return /*#__PURE__*/jsx("div", {