@bigbinary/neeto-molecules 3.16.16 → 3.16.18

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.
@@ -32,7 +32,7 @@ var ActivityIcon = function ActivityIcon(_ref) {
32
32
  var icon = _ref.icon,
33
33
  unread = _ref.unread;
34
34
  return /*#__PURE__*/jsx("div", {
35
- className: "flex-shrink-0",
35
+ className: "mx-0.5 flex-shrink-0",
36
36
  children: /*#__PURE__*/jsxs("span", {
37
37
  className: classnames("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", {
38
38
  "neeto-ui-text-primary-600 neeto-ui-bg-primary-100": unread
@@ -56,7 +56,7 @@ var Activity = function Activity(_ref) {
56
56
  imageUrl: user.profileImageUrl
57
57
  };
58
58
  return /*#__PURE__*/jsxs("div", {
59
- className: classnames("neeto-molecules-engagements-node relative -mt-4 flex items-center gap-2 py-4", className),
59
+ className: classnames("neeto-molecules-engagements-node relative -mt-4 flex items-center gap-2 px-4 py-4", className),
60
60
  children: [/*#__PURE__*/jsx(ActivityIcon, {
61
61
  icon: icon,
62
62
  unread: unread
@@ -64,7 +64,7 @@ var Activity = function Activity(_ref) {
64
64
  size: "small",
65
65
  user: avatar
66
66
  }), /*#__PURE__*/jsx("div", {
67
- className: "pt-0.5",
67
+ className: "neeto-molecules-engagements-node__children",
68
68
  children: children
69
69
  })]
70
70
  });
@@ -80,7 +80,7 @@ var CommentHeader = function CommentHeader(_ref) {
80
80
  imageUrl: user.profileImageUrl
81
81
  };
82
82
  return /*#__PURE__*/jsxs("div", {
83
- className: "neeto-ui-bg-gray-100 neeto-ui-border-gray-300 flex items-center justify-between rounded-t-md border-b py-2 pl-4 pr-2",
83
+ 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",
84
84
  children: [/*#__PURE__*/jsxs("div", {
85
85
  className: "flex min-w-0 flex-grow flex-wrap items-center gap-2",
86
86
  children: [/*#__PURE__*/jsx(Avatar, {
@@ -263,7 +263,7 @@ Comment.propTypes = {
263
263
  onRemoveReaction: PropTypes.func
264
264
  };
265
265
 
266
- var css = ".neeto-molecules-comments-node{position:relative}.neeto-molecules-comments-node:before{background-color:rgb(var(--neeto-ui-gray-200));content:\"\";height:1rem;left:13px;position:absolute;top:calc(100% + 1px);transform:translateX(-50%);width:2px}.neeto-molecules-comments-node:last-child:before{display:none}.neeto-molecules-engagements-node{position:relative}.neeto-molecules-engagements-node:before{background-color:rgb(var(--neeto-ui-gray-200));content:\"\";height:100%;left:14px;position:absolute;top:0;transform:translateX(-50%);width:2px}.neeto-molecules-activity-node-icon svg{height:16px;width:16px}";
266
+ var css = ".neeto-molecules-comments-node{position:relative}.neeto-molecules-comments-node:before{background-color:rgb(var(--neeto-ui-gray-200));content:\"\";height:1rem;left:31px;position:absolute;top:calc(100% + 1px);transform:translateX(-50%);width:2px}.neeto-molecules-engagements-node{position:relative}.neeto-molecules-engagements-node .neeto-ui-avatar__container{--neeto-ui-avatar-container-width:1.125rem;--neeto-ui-avatar-container-height:1.125rem;--neeto-ui-avatar-width:1.125rem;--neeto-ui-avatar-height:1.125rem}.neeto-molecules-engagements-node .neeto-ui-avatar__container>div{height:1.125rem;width:1.125rem}.neeto-molecules-engagements-node:before{background-color:rgb(var(--neeto-ui-gray-200));content:\"\";height:100%;left:32px;position:absolute;top:0;transform:translateX(-50%);width:2px}.neeto-molecules-activity-node-icon svg{height:16px;width:16px}";
267
267
  n(css,{});
268
268
 
269
269
  var Engagements = function Engagements(_ref) {
@@ -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=\"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 py-4\",\n className\n )}\n >\n <ActivityIcon {...{ icon, unread }} />\n <Avatar size=\"small\" user={avatar} />\n <div className=\"pt-0.5\">{children}</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-2 pl-4 pr-2\">\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 className=\"space-x-1 text-sm\" style=\"body2\">\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 = ({ 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 className=\"space-x-1 text-sm\" style=\"body2\">\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,4 +1,4 @@
1
- import { filterBy, hyphenate, noop } from '@bigbinary/neeto-cist';
1
+ import { isPresent, filterBy, hyphenate, noop } from '@bigbinary/neeto-cist';
2
2
  import { useLocation, useHistory } from 'react-router-dom';
3
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
4
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
@@ -20,6 +20,7 @@ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
20
20
  import Delete from '@bigbinary/neeto-icons/Delete';
21
21
  import Plus from '@bigbinary/neeto-icons/Plus';
22
22
  import Label from '@bigbinary/neetoui/Label';
23
+ import HelpPopover from './HelpPopover.js';
23
24
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
24
25
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
25
26
  import Checkbox from '@bigbinary/neetoui/Checkbox';
@@ -33,9 +34,6 @@ import './index-DAYCJu79.js';
33
34
  import './_commonjsHelpers-BFTU3MAI.js';
34
35
  import './Breadcrumbs.js';
35
36
  import '@bigbinary/neeto-commons-frontend/utils/general';
36
- import './HelpPopover.js';
37
- import '@bigbinary/neeto-icons/Help';
38
- import '@bigbinary/neetoui/Popover';
39
37
  import './MoreDropdown.js';
40
38
  import '@bigbinary/neeto-icons/MenuHorizontal';
41
39
  import '@bigbinary/neeto-icons/MenuVertical';
@@ -47,6 +45,8 @@ import '@bigbinary/neeto-commons-frontend/react-utils/useQueryParams';
47
45
  import '@bigbinary/neeto-commons-frontend/react-utils/useUpdateEffect';
48
46
  import '@bigbinary/neeto-icons/Search';
49
47
  import '@bigbinary/neeto-commons-frontend/utils';
48
+ import '@bigbinary/neeto-icons/Help';
49
+ import '@bigbinary/neetoui/Popover';
50
50
  import 'react-syntax-highlighter/dist/esm/prism-light.js';
51
51
  import 'react-syntax-highlighter/dist/esm/styles/prism';
52
52
  import './CopyToClipboardButton.js';
@@ -237,7 +237,8 @@ var toCamelCasedString = function toCamelCasedString(string) {
237
237
  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; }
238
238
  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), !0).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; }
239
239
  var DynamicQueryParams = function DynamicQueryParams(_ref) {
240
- var updateCustomization = _ref.updateCustomization;
240
+ var updateCustomization = _ref.updateCustomization,
241
+ queryParamsProps = _ref.queryParamsProps;
241
242
  var _useTranslation = useTranslation(),
242
243
  t = _useTranslation.t;
243
244
  var _useState = useState([INITIAL_QUERY_PARAM]),
@@ -265,10 +266,15 @@ var DynamicQueryParams = function DynamicQueryParams(_ref) {
265
266
  });
266
267
  }, [queryParams]);
267
268
  return /*#__PURE__*/jsxs("div", {
268
- children: [/*#__PURE__*/jsx(Label, {
269
- className: "mb-2",
270
- "data-cy": "dynamic-query-params-label",
271
- children: t("neetoMolecules.productEmbed.queryParam.label")
269
+ children: [/*#__PURE__*/jsxs("div", {
270
+ className: "mb-2 flex",
271
+ children: [/*#__PURE__*/jsx(Label, {
272
+ "data-cy": "dynamic-query-params-label",
273
+ "data-testid": "dynamic-query-params-label",
274
+ children: queryParamsProps.label || t("neetoMolecules.productEmbed.queryParam.label")
275
+ }), isPresent(queryParamsProps.helpPopoverProps) && /*#__PURE__*/jsx(HelpPopover, _objectSpread$3({
276
+ className: "ml-1"
277
+ }, queryParamsProps.helpPopoverProps))]
272
278
  }), queryParams.map(function (param, index) {
273
279
  return /*#__PURE__*/jsxs("div", {
274
280
  className: "mb-2 flex gap-1",
@@ -315,6 +321,7 @@ var ElementPopup$1 = function ElementPopup(_ref) {
315
321
  var customization = _ref.customization,
316
322
  updateCustomization = _ref.updateCustomization,
317
323
  isQueryParamsEnabled = _ref.isQueryParamsEnabled,
324
+ queryParamsProps = _ref.queryParamsProps,
318
325
  otherCustomizations = _ref.otherCustomizations;
319
326
  var elementSelector = customization.elementSelector;
320
327
  var _useTranslation = useTranslation(),
@@ -342,6 +349,7 @@ var ElementPopup$1 = function ElementPopup(_ref) {
342
349
  });
343
350
  }
344
351
  }), otherCustomizations(), isQueryParamsEnabled && /*#__PURE__*/jsx(DynamicQueryParams, {
352
+ queryParamsProps: queryParamsProps,
345
353
  updateCustomization: updateCustomization
346
354
  })]
347
355
  });
@@ -351,6 +359,7 @@ var FloatingPopup$1 = function FloatingPopup(_ref) {
351
359
  var customization = _ref.customization,
352
360
  updateCustomization = _ref.updateCustomization,
353
361
  isQueryParamsEnabled = _ref.isQueryParamsEnabled,
362
+ queryParamsProps = _ref.queryParamsProps,
354
363
  otherCustomizations = _ref.otherCustomizations;
355
364
  var _useTranslation = useTranslation(),
356
365
  t = _useTranslation.t;
@@ -437,6 +446,7 @@ var FloatingPopup$1 = function FloatingPopup(_ref) {
437
446
  });
438
447
  }
439
448
  }), otherCustomizations(), isQueryParamsEnabled && /*#__PURE__*/jsx(DynamicQueryParams, {
449
+ queryParamsProps: queryParamsProps,
440
450
  updateCustomization: updateCustomization
441
451
  })]
442
452
  });
@@ -446,6 +456,7 @@ var Inline$1 = function Inline(_ref) {
446
456
  var customization = _ref.customization,
447
457
  updateCustomization = _ref.updateCustomization,
448
458
  isQueryParamsEnabled = _ref.isQueryParamsEnabled,
459
+ queryParamsProps = _ref.queryParamsProps,
449
460
  otherCustomizations = _ref.otherCustomizations;
450
461
  var height = customization.height,
451
462
  width = customization.width,
@@ -512,6 +523,7 @@ var Inline$1 = function Inline(_ref) {
512
523
  }
513
524
  })]
514
525
  }), otherCustomizations(), isQueryParamsEnabled && /*#__PURE__*/jsx(DynamicQueryParams, {
526
+ queryParamsProps: queryParamsProps,
515
527
  updateCustomization: updateCustomization
516
528
  })]
517
529
  });
@@ -1351,6 +1363,7 @@ var EmbedRenderer = function EmbedRenderer(_ref) {
1351
1363
  customEmbedScriptPath = _ref.customEmbedScriptPath,
1352
1364
  customPreviewIframeUrl = _ref.customPreviewIframeUrl,
1353
1365
  id = _ref.id,
1366
+ queryParamsProps = _ref.queryParamsProps,
1354
1367
  isQueryParamsEnabled = _ref.isQueryParamsEnabled,
1355
1368
  options = _ref.options,
1356
1369
  extraArgs = _ref.extraArgs,
@@ -1431,6 +1444,7 @@ var EmbedRenderer = function EmbedRenderer(_ref) {
1431
1444
  customization: customization,
1432
1445
  isQueryParamsEnabled: isQueryParamsEnabled,
1433
1446
  otherCustomizations: otherCustomizations,
1447
+ queryParamsProps: queryParamsProps,
1434
1448
  updateCustomization: updateCustomization
1435
1449
  })]
1436
1450
  })
@@ -1531,6 +1545,11 @@ var ProductEmbed = function ProductEmbed(_ref) {
1531
1545
  id = _ref.id,
1532
1546
  _ref$isQueryParamsEna = _ref.isQueryParamsEnabled,
1533
1547
  isQueryParamsEnabled = _ref$isQueryParamsEna === void 0 ? false : _ref$isQueryParamsEna,
1548
+ _ref$queryParamsProps = _ref.queryParamsProps,
1549
+ queryParamsProps = _ref$queryParamsProps === void 0 ? {
1550
+ helpPopoverProps: {},
1551
+ label: ""
1552
+ } : _ref$queryParamsProps,
1534
1553
  _ref$options = _ref.options,
1535
1554
  options = _ref$options === void 0 ? {} : _ref$options,
1536
1555
  _ref$extraArgs = _ref.extraArgs,
@@ -1555,6 +1574,7 @@ var ProductEmbed = function ProductEmbed(_ref) {
1555
1574
  isQueryParamsEnabled: isQueryParamsEnabled,
1556
1575
  options: options,
1557
1576
  otherCustomizations: otherCustomizations,
1577
+ queryParamsProps: queryParamsProps,
1558
1578
  selectedEmbed: selectedEmbed,
1559
1579
  supportedLanguages: supportedLanguages
1560
1580
  }) : /*#__PURE__*/jsx(EmbedSelector, {