@bigbinary/neeto-molecules 5.3.15 → 5.3.17
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.
- package/dist/cjs/v2/Engagements.js +9 -6
- package/dist/cjs/v2/Engagements.js.map +1 -1
- package/dist/cjs/v2/MadeWith.js +5 -3
- package/dist/cjs/v2/MadeWith.js.map +1 -1
- package/dist/v2/Engagements.js +9 -6
- package/dist/v2/Engagements.js.map +1 -1
- package/dist/v2/MadeWith.js +5 -3
- package/dist/v2/MadeWith.js.map +1 -1
- package/package.json +1 -1
|
@@ -167,7 +167,7 @@ var Reactions$1 = function Reactions(_ref) {
|
|
|
167
167
|
names: names
|
|
168
168
|
}),
|
|
169
169
|
position: "top",
|
|
170
|
-
children: /*#__PURE__*/jsxRuntime.
|
|
170
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
171
171
|
"aria-pressed": selected,
|
|
172
172
|
size: "xs",
|
|
173
173
|
variant: "ghost",
|
|
@@ -178,11 +178,14 @@ var Reactions$1 = function Reactions(_ref) {
|
|
|
178
178
|
onClick: function onClick() {
|
|
179
179
|
return (selected ? onRemove : onAdd)(reaction);
|
|
180
180
|
},
|
|
181
|
-
children:
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
181
|
+
children: /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
182
|
+
className: "flex items-center gap-x-1",
|
|
183
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
184
|
+
children: reaction.emoji
|
|
185
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
186
|
+
children: reactionsGroup.length
|
|
187
|
+
})]
|
|
188
|
+
})
|
|
186
189
|
})
|
|
187
190
|
}, reaction.unified);
|
|
188
191
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Engagements.js","sources":["../../../src/v2/components/Engagements/Activity/Icon.jsx","../../../src/v2/components/Engagements/Activity/index.jsx","../../../src/v2/components/Engagements/Comment/Header.jsx","../../../src/v2/components/Engagements/Comment/Reactions.jsx","../../../src/v2/components/Engagements/constants.js","../../../src/v2/components/Engagements/utils.js","../../../src/v2/components/Engagements/Comment/index.jsx","../../../src/v2/components/Engagements/index.jsx"],"sourcesContent":["import classNames from \"classnames\";\n\nconst ActivityIcon = ({ icon, unread }) => (\n <div className=\"bg-card relative z-10 mx-0.5 flex-shrink-0 rounded-full\">\n <span\n className={classNames(\n \"nm-activity-node-icon bg-muted text-muted-foreground relative flex h-7 w-7 items-center justify-center rounded-full p-1 [&>svg]:size-4\",\n { \"text-primary bg-primary/10\": unread }\n )}\n >\n {icon}\n {unread && (\n <span className=\"bg-primary absolute -end-0.5 -top-0.5 h-2 w-2 rounded-full\" />\n )}\n </span>\n </div>\n);\n\nexport default ActivityIcon;\n","import { Avatar } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\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 \"nm-engagements-node relative -mt-4 flex items-center gap-2 px-4 py-4\",\n \"before:bg-border before:absolute before:start-[31px] before:top-0 before:h-full before:w-0.5 before:content-['']\",\n className\n )}\n >\n <ActivityIcon {...{ icon, unread }} />\n {userIcon || (\n <Avatar\n className=\"!size-[18px] [&_[data-slot=avatar-fallback]]:text-[10px]\"\n size=\"sm\"\n user={{ name: user.name, imageUrl: user.profileImageUrl }}\n />\n )}\n <div className=\"nm-engagements-node__children\">{children}</div>\n </div>\n);\n\nActivity.propTypes = {\n user: PropTypes.shape({ name: PropTypes.string.isRequired }).isRequired,\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n unread: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default Activity;\n","import { Avatar, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent } from \"neetocist\";\n\nimport DateFormat from \"../../DateFormat\";\nimport MoreDropdown from \"../../MoreDropdown\";\n\nconst CommentHeader = ({ user, comment, info, actions }) => {\n const avatar = { name: user.name, imageUrl: user.profileImageUrl };\n\n return (\n <div className=\"bg-muted/40 border-border flex items-center justify-between rounded-t-md border-b py-1 ps-4 pe-1\">\n <div className=\"flex min-w-0 flex-grow flex-wrap items-center gap-2\">\n <Avatar size=\"sm\" user={avatar} />\n <Typography as=\"span\" variant=\"body3\" weight=\"medium\">\n {user.name}\n </Typography>\n <Typography as=\"span\" color=\"muted\" variant=\"body3\">\n •\n </Typography>\n {info && (\n <>\n <Typography\n as=\"span\"\n className=\"lowercase\"\n color=\"muted\"\n variant=\"body3\"\n >\n {info}\n </Typography>\n <Typography as=\"span\" color=\"muted\" variant=\"body3\">\n •\n </Typography>\n </>\n )}\n {comment.createdAt && (\n <DateFormat.FromNow\n date={comment.createdAt}\n typographyProps={{ color: \"muted\", variant: \"body3\" }}\n />\n )}\n </div>\n {isPresent(actions) && (\n <MoreDropdown\n dropdownButtonProps={{ className: \"self-start flex-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 { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { findIndexBy } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { collectBy, eqProps, pathEq, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmojiPicker from \"../../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 const group = groups.find(pathEq(emoji.unified, [0, \"unified\"]));\n if (group && findOwnIndex(group) >= 0) return;\n onAdd({ ...emoji, emoji: emoji.native });\n };\n\n return (\n <div className=\"mt-3 flex flex-wrap items-center gap-1\">\n <div className=\"bg-muted rounded-full\">\n <EmojiPicker {...{ onSelect }} />\n </div>\n {groups.map(reactionsGroup => {\n const ownIndex = findOwnIndex(reactionsGroup);\n const selected = ownIndex >= 0;\n const reaction = selected\n ? reactionsGroup[ownIndex]\n : reactionsGroup[0];\n\n const names = reactionsGroup\n .map(({ reactor }) =>\n typeof reactor === \"string\" ? reactor : reactor?.name\n )\n .filter(Boolean)\n .join(\", \");\n\n return (\n <Tooltip\n content={t(\"neetoMolecules.engagements.namesReacted\", { names })}\n key={reaction.unified}\n position=\"top\"\n >\n <Button\n aria-pressed={selected}\n size=\"xs\"\n variant=\"ghost\"\n className={classNames(\n \"h-7 rounded-full px-2 text-sm font-normal\",\n {\n \"!bg-muted !hover:bg-muted/80\": selected,\n \"!bg-muted/50\": !selected,\n }\n )}\n onClick={() => (selected ? onRemove : onAdd)(reaction)}\n >\n <span>{reaction.emoji}</span>\n <span>{reactionsGroup.length}</span>\n </Button>\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 `nm-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 \"nm-comments-node bg-card border-border relative mb-4 w-full rounded-md border\",\n \"before:bg-border before:absolute before:start-[30px] before:top-[calc(100%+1px)] before:h-4 before:w-0.5 before:content-['']\",\n className\n )}\n >\n <CommentHeader {...{ actions, comment, info, user }} />\n <div className=\"nm-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 user: PropTypes.shape({ name: PropTypes.string.isRequired }).isRequired,\n comment: PropTypes.shape({\n id: PropTypes.string.isRequired,\n createdAt: PropTypes.string,\n }).isRequired,\n reactions: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]),\n info: PropTypes.string,\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 className: PropTypes.string,\n onAddReaction: PropTypes.func,\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 { 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 data: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string.isRequired }))\n .isRequired,\n isActivitiesEnabled: PropTypes.bool,\n matchType: PropTypes.func,\n renderComment: PropTypes.func.isRequired,\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","as","variant","weight","color","_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","reactionsGroup","ownIndex","selected","reaction","names","_ref2","reactor","filter","Boolean","join","Tooltip","content","Button","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/v2/components/Engagements/Activity/Icon.jsx","../../../src/v2/components/Engagements/Activity/index.jsx","../../../src/v2/components/Engagements/Comment/Header.jsx","../../../src/v2/components/Engagements/Comment/Reactions.jsx","../../../src/v2/components/Engagements/constants.js","../../../src/v2/components/Engagements/utils.js","../../../src/v2/components/Engagements/Comment/index.jsx","../../../src/v2/components/Engagements/index.jsx"],"sourcesContent":["import classNames from \"classnames\";\n\nconst ActivityIcon = ({ icon, unread }) => (\n <div className=\"bg-card relative z-10 mx-0.5 flex-shrink-0 rounded-full\">\n <span\n className={classNames(\n \"nm-activity-node-icon bg-muted text-muted-foreground relative flex h-7 w-7 items-center justify-center rounded-full p-1 [&>svg]:size-4\",\n { \"text-primary bg-primary/10\": unread }\n )}\n >\n {icon}\n {unread && (\n <span className=\"bg-primary absolute -end-0.5 -top-0.5 h-2 w-2 rounded-full\" />\n )}\n </span>\n </div>\n);\n\nexport default ActivityIcon;\n","import { Avatar } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\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 \"nm-engagements-node relative -mt-4 flex items-center gap-2 px-4 py-4\",\n \"before:bg-border before:absolute before:start-[31px] before:top-0 before:h-full before:w-0.5 before:content-['']\",\n className\n )}\n >\n <ActivityIcon {...{ icon, unread }} />\n {userIcon || (\n <Avatar\n className=\"!size-[18px] [&_[data-slot=avatar-fallback]]:text-[10px]\"\n size=\"sm\"\n user={{ name: user.name, imageUrl: user.profileImageUrl }}\n />\n )}\n <div className=\"nm-engagements-node__children\">{children}</div>\n </div>\n);\n\nActivity.propTypes = {\n user: PropTypes.shape({ name: PropTypes.string.isRequired }).isRequired,\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n unread: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default Activity;\n","import { Avatar, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent } from \"neetocist\";\n\nimport DateFormat from \"../../DateFormat\";\nimport MoreDropdown from \"../../MoreDropdown\";\n\nconst CommentHeader = ({ user, comment, info, actions }) => {\n const avatar = { name: user.name, imageUrl: user.profileImageUrl };\n\n return (\n <div className=\"bg-muted/40 border-border flex items-center justify-between rounded-t-md border-b py-1 ps-4 pe-1\">\n <div className=\"flex min-w-0 flex-grow flex-wrap items-center gap-2\">\n <Avatar size=\"sm\" user={avatar} />\n <Typography as=\"span\" variant=\"body3\" weight=\"medium\">\n {user.name}\n </Typography>\n <Typography as=\"span\" color=\"muted\" variant=\"body3\">\n •\n </Typography>\n {info && (\n <>\n <Typography\n as=\"span\"\n className=\"lowercase\"\n color=\"muted\"\n variant=\"body3\"\n >\n {info}\n </Typography>\n <Typography as=\"span\" color=\"muted\" variant=\"body3\">\n •\n </Typography>\n </>\n )}\n {comment.createdAt && (\n <DateFormat.FromNow\n date={comment.createdAt}\n typographyProps={{ color: \"muted\", variant: \"body3\" }}\n />\n )}\n </div>\n {isPresent(actions) && (\n <MoreDropdown\n dropdownButtonProps={{ className: \"self-start flex-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 { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { findIndexBy } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { collectBy, eqProps, pathEq, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmojiPicker from \"../../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 const group = groups.find(pathEq(emoji.unified, [0, \"unified\"]));\n if (group && findOwnIndex(group) >= 0) return;\n onAdd({ ...emoji, emoji: emoji.native });\n };\n\n return (\n <div className=\"mt-3 flex flex-wrap items-center gap-1\">\n <div className=\"bg-muted rounded-full\">\n <EmojiPicker {...{ onSelect }} />\n </div>\n {groups.map(reactionsGroup => {\n const ownIndex = findOwnIndex(reactionsGroup);\n const selected = ownIndex >= 0;\n const reaction = selected\n ? reactionsGroup[ownIndex]\n : reactionsGroup[0];\n\n const names = reactionsGroup\n .map(({ reactor }) =>\n typeof reactor === \"string\" ? reactor : reactor?.name\n )\n .filter(Boolean)\n .join(\", \");\n\n return (\n <Tooltip\n content={t(\"neetoMolecules.engagements.namesReacted\", { names })}\n key={reaction.unified}\n position=\"top\"\n >\n <Button\n aria-pressed={selected}\n size=\"xs\"\n variant=\"ghost\"\n className={classNames(\n \"h-7 rounded-full px-2 text-sm font-normal\",\n {\n \"!bg-muted !hover:bg-muted/80\": selected,\n \"!bg-muted/50\": !selected,\n }\n )}\n onClick={() => (selected ? onRemove : onAdd)(reaction)}\n >\n <span className=\"flex items-center gap-x-1\">\n <span>{reaction.emoji}</span>\n <span>{reactionsGroup.length}</span>\n </span>\n </Button>\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 `nm-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 \"nm-comments-node bg-card border-border relative mb-4 w-full rounded-md border\",\n \"before:bg-border before:absolute before:start-[30px] before:top-[calc(100%+1px)] before:h-4 before:w-0.5 before:content-['']\",\n className\n )}\n >\n <CommentHeader {...{ actions, comment, info, user }} />\n <div className=\"nm-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 user: PropTypes.shape({ name: PropTypes.string.isRequired }).isRequired,\n comment: PropTypes.shape({\n id: PropTypes.string.isRequired,\n createdAt: PropTypes.string,\n }).isRequired,\n reactions: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]),\n info: PropTypes.string,\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 className: PropTypes.string,\n onAddReaction: PropTypes.func,\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 { 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 data: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string.isRequired }))\n .isRequired,\n isActivitiesEnabled: PropTypes.bool,\n matchType: PropTypes.func,\n renderComment: PropTypes.func.isRequired,\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","as","variant","weight","color","_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","reactionsGroup","ownIndex","selected","reaction","names","_ref2","reactor","filter","Boolean","join","Tooltip","content","Button","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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"}
|
package/dist/cjs/v2/MadeWith.js
CHANGED
|
@@ -4,6 +4,7 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
|
4
4
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
7
|
+
var classnames = require('classnames');
|
|
7
8
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
8
9
|
var initializers = require('@bigbinary/neeto-commons-frontend/v2/initializers');
|
|
9
10
|
var Icons = require('@bigbinary/neeto-icons/logos');
|
|
@@ -31,24 +32,25 @@ function _interopNamespaceDefault(e) {
|
|
|
31
32
|
|
|
32
33
|
var Icons__namespace = /*#__PURE__*/_interopNamespaceDefault(Icons);
|
|
33
34
|
|
|
34
|
-
var _excluded = ["productName", "productIcon"];
|
|
35
|
+
var _excluded = ["productName", "productIcon", "className"];
|
|
35
36
|
function ownKeys(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; }
|
|
36
37
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
37
38
|
var MadeWith = function MadeWith(_ref) {
|
|
38
39
|
var _globalProps$organiza;
|
|
39
40
|
var productName = _ref.productName,
|
|
40
41
|
ProductIcon = _ref.productIcon,
|
|
42
|
+
className = _ref.className,
|
|
41
43
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
42
44
|
var name = neetoCist.capitalize(productName || initializers.globalProps.appName || "Neeto");
|
|
43
45
|
var subdomain = (_globalProps$organiza = initializers.globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.subdomain;
|
|
44
46
|
var utmParams = "utm_source=madewith".concat(subdomain ? "&utm_campaign=".concat(subdomain) : "");
|
|
45
47
|
var IconComponent = ProductIcon || Icons__namespace[index$1.uppercamelcase(name)];
|
|
46
48
|
return /*#__PURE__*/jsxRuntime.jsxs("a", _objectSpread(_objectSpread({
|
|
47
|
-
className: "bg-background text-foreground border-border hover:ring-border inline-flex items-center gap-1.5 rounded-md border px-2 py-1.5 text-sm font-normal no-underline transition-all duration-300 select-none hover:ring-1 hover:ring-inset motion-reduce:transition-none",
|
|
48
49
|
"data-testid": "made-with-".concat(name.toLowerCase()),
|
|
49
50
|
href: "https://www.neeto.com/".concat(name.toLowerCase(), "?").concat(utmParams),
|
|
50
51
|
rel: "noreferrer",
|
|
51
|
-
target: "_blank"
|
|
52
|
+
target: "_blank",
|
|
53
|
+
className: classnames("neeto-molecules-made-with__wrapper", "bg-background text-foreground border-border hover:ring-border inline-flex items-center gap-1.5 rounded-md border px-2 py-1.5 text-sm font-normal no-underline transition-all duration-300 select-none hover:ring-1 hover:ring-inset motion-reduce:transition-none", className)
|
|
52
54
|
}, otherProps), {}, {
|
|
53
55
|
children: [IconComponent && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
54
56
|
"data-testid": "made-with-".concat(name.toLowerCase(), "-icon"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MadeWith.js","sources":["../../../src/v2/components/MadeWith/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport * as Icons from \"neetoicons/logos\";\nimport PropTypes from \"prop-types\";\nimport { Trans } from \"react-i18next\";\nimport uppercamelcase from \"uppercamelcase\";\n\nconst MadeWith = ({
|
|
1
|
+
{"version":3,"file":"MadeWith.js","sources":["../../../src/v2/components/MadeWith/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport * as Icons from \"neetoicons/logos\";\nimport PropTypes from \"prop-types\";\nimport { Trans } from \"react-i18next\";\nimport uppercamelcase from \"uppercamelcase\";\n\nconst MadeWith = ({\n productName,\n productIcon: ProductIcon,\n className,\n ...otherProps\n}) => {\n const name = capitalize(productName || globalProps.appName || \"Neeto\");\n const subdomain = globalProps.organization?.subdomain;\n const utmParams = `utm_source=madewith${\n subdomain ? `&utm_campaign=${subdomain}` : \"\"\n }`;\n\n const IconComponent = ProductIcon || Icons[uppercamelcase(name)];\n\n return (\n <a\n data-testid={`made-with-${name.toLowerCase()}`}\n href={`https://www.neeto.com/${name.toLowerCase()}?${utmParams}`}\n rel=\"noreferrer\"\n target=\"_blank\"\n className={classnames(\n \"neeto-molecules-made-with__wrapper\",\n \"bg-background text-foreground border-border hover:ring-border inline-flex items-center gap-1.5 rounded-md border px-2 py-1.5 text-sm font-normal no-underline transition-all duration-300 select-none hover:ring-1 hover:ring-inset motion-reduce:transition-none\",\n className\n )}\n {...otherProps}\n >\n {IconComponent && (\n <span data-testid={`made-with-${name.toLowerCase()}-icon`}>\n <IconComponent size={14} />\n </span>\n )}\n <Typography className=\"leading-snug\" variant=\"body2\">\n <Trans\n i18nKey=\"neetoMolecules.common.madeWith\"\n values={{ productName: name }}\n />\n </Typography>\n </a>\n );\n};\n\nMadeWith.propTypes = {\n /**\n * Product name to be displayed on the component (optional).\n */\n productName: PropTypes.string,\n\n /**\n * Product icon component to be displayed on the badge (optional).\n */\n productIcon: PropTypes.elementType,\n\n /**\n * Additional class names to merge onto the badge root (optional).\n */\n className: PropTypes.string,\n};\n\nexport default memo(MadeWith);\n"],"names":["MadeWith","_ref","_globalProps$organiza","productName","ProductIcon","productIcon","className","otherProps","_objectWithoutProperties","_excluded","name","capitalize","globalProps","appName","subdomain","organization","utmParams","concat","IconComponent","Icons","uppercamelcase","_jsxs","_objectSpread","toLowerCase","href","rel","target","classnames","children","_jsx","size","Typography","variant","Trans","i18nKey","values","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,IAAMA,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EAKR;AAAA,EAAA,IAAAC,qBAAA;AAAA,EAAA,IAJJC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACEC,WAAW,GAAAH,IAAA,CAAxBI,WAAW;IACXC,SAAS,GAAAL,IAAA,CAATK,SAAS;AACNC,IAAAA,UAAU,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA,CAAA;EAEb,IAAMC,IAAI,GAAGC,oBAAU,CAACR,WAAW,IAAIS,wBAAW,CAACC,OAAO,IAAI,OAAO,CAAC;AACtE,EAAA,IAAMC,SAAS,GAAA,CAAAZ,qBAAA,GAAGU,wBAAW,CAACG,YAAY,MAAA,IAAA,IAAAb,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAxBA,qBAAA,CAA0BY,SAAS;EACrD,IAAME,SAAS,GAAA,qBAAA,CAAAC,MAAA,CACbH,SAAS,GAAA,gBAAA,CAAAG,MAAA,CAAoBH,SAAS,CAAA,GAAK,EAAE,CAC7C;EAEF,IAAMI,aAAa,GAAGd,WAAW,IAAIe,gBAAK,CAACC,sBAAc,CAACV,IAAI,CAAC,CAAC;AAEhE,EAAA,oBACEW,eAAA,CAAA,GAAA,EAAAC,aAAA,CAAAA,aAAA,CAAA;AACE,IAAA,aAAA,EAAA,YAAA,CAAAL,MAAA,CAA0BP,IAAI,CAACa,WAAW,EAAE,CAAG;AAC/CC,IAAAA,IAAI,EAAA,wBAAA,CAAAP,MAAA,CAA2BP,IAAI,CAACa,WAAW,EAAE,EAAA,GAAA,CAAA,CAAAN,MAAA,CAAID,SAAS,CAAG;AACjES,IAAAA,GAAG,EAAC,YAAY;AAChBC,IAAAA,MAAM,EAAC,QAAQ;AACfpB,IAAAA,SAAS,EAAEqB,UAAU,CACnB,oCAAoC,EACpC,mQAAmQ,EACnQrB,SACF;AAAE,GAAA,EACEC,UAAU,CAAA,EAAA,EAAA,EAAA;IAAAqB,QAAA,EAAA,CAEbV,aAAa,iBACZW,cAAA,CAAA,MAAA,EAAA;AAAM,MAAA,aAAA,EAAA,YAAA,CAAAZ,MAAA,CAA0BP,IAAI,CAACa,WAAW,EAAE,EAAA,OAAA,CAAQ;MAAAK,QAAA,eACxDC,cAAA,CAACX,aAAa,EAAA;AAACY,QAAAA,IAAI,EAAE;OAAK;AAAC,KACvB,CACP,eACDD,cAAA,CAACE,qBAAU,EAAA;AAACzB,MAAAA,SAAS,EAAC,cAAc;AAAC0B,MAAAA,OAAO,EAAC,OAAO;MAAAJ,QAAA,eAClDC,cAAA,CAACI,kBAAK,EAAA;AACJC,QAAAA,OAAO,EAAC,gCAAgC;AACxCC,QAAAA,MAAM,EAAE;AAAEhC,UAAAA,WAAW,EAAEO;AAAK;OAC7B;AAAC,KACQ,CAAC;AAAA,GAAA,CACZ,CAAC;AAER,CAAC;AAmBD,YAAA,aAAe0B,UAAI,CAACpC,QAAQ,CAAC;;;;"}
|
package/dist/v2/Engagements.js
CHANGED
|
@@ -165,7 +165,7 @@ var Reactions = function Reactions(_ref) {
|
|
|
165
165
|
names: names
|
|
166
166
|
}),
|
|
167
167
|
position: "top",
|
|
168
|
-
children: /*#__PURE__*/
|
|
168
|
+
children: /*#__PURE__*/jsx(Button, {
|
|
169
169
|
"aria-pressed": selected,
|
|
170
170
|
size: "xs",
|
|
171
171
|
variant: "ghost",
|
|
@@ -176,11 +176,14 @@ var Reactions = function Reactions(_ref) {
|
|
|
176
176
|
onClick: function onClick() {
|
|
177
177
|
return (selected ? onRemove : onAdd)(reaction);
|
|
178
178
|
},
|
|
179
|
-
children:
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
179
|
+
children: /*#__PURE__*/jsxs("span", {
|
|
180
|
+
className: "flex items-center gap-x-1",
|
|
181
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
182
|
+
children: reaction.emoji
|
|
183
|
+
}), /*#__PURE__*/jsx("span", {
|
|
184
|
+
children: reactionsGroup.length
|
|
185
|
+
})]
|
|
186
|
+
})
|
|
184
187
|
})
|
|
185
188
|
}, reaction.unified);
|
|
186
189
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Engagements.js","sources":["../../src/v2/components/Engagements/Activity/Icon.jsx","../../src/v2/components/Engagements/Activity/index.jsx","../../src/v2/components/Engagements/Comment/Header.jsx","../../src/v2/components/Engagements/Comment/Reactions.jsx","../../src/v2/components/Engagements/constants.js","../../src/v2/components/Engagements/utils.js","../../src/v2/components/Engagements/Comment/index.jsx","../../src/v2/components/Engagements/index.jsx"],"sourcesContent":["import classNames from \"classnames\";\n\nconst ActivityIcon = ({ icon, unread }) => (\n <div className=\"bg-card relative z-10 mx-0.5 flex-shrink-0 rounded-full\">\n <span\n className={classNames(\n \"nm-activity-node-icon bg-muted text-muted-foreground relative flex h-7 w-7 items-center justify-center rounded-full p-1 [&>svg]:size-4\",\n { \"text-primary bg-primary/10\": unread }\n )}\n >\n {icon}\n {unread && (\n <span className=\"bg-primary absolute -end-0.5 -top-0.5 h-2 w-2 rounded-full\" />\n )}\n </span>\n </div>\n);\n\nexport default ActivityIcon;\n","import { Avatar } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\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 \"nm-engagements-node relative -mt-4 flex items-center gap-2 px-4 py-4\",\n \"before:bg-border before:absolute before:start-[31px] before:top-0 before:h-full before:w-0.5 before:content-['']\",\n className\n )}\n >\n <ActivityIcon {...{ icon, unread }} />\n {userIcon || (\n <Avatar\n className=\"!size-[18px] [&_[data-slot=avatar-fallback]]:text-[10px]\"\n size=\"sm\"\n user={{ name: user.name, imageUrl: user.profileImageUrl }}\n />\n )}\n <div className=\"nm-engagements-node__children\">{children}</div>\n </div>\n);\n\nActivity.propTypes = {\n user: PropTypes.shape({ name: PropTypes.string.isRequired }).isRequired,\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n unread: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default Activity;\n","import { Avatar, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent } from \"neetocist\";\n\nimport DateFormat from \"../../DateFormat\";\nimport MoreDropdown from \"../../MoreDropdown\";\n\nconst CommentHeader = ({ user, comment, info, actions }) => {\n const avatar = { name: user.name, imageUrl: user.profileImageUrl };\n\n return (\n <div className=\"bg-muted/40 border-border flex items-center justify-between rounded-t-md border-b py-1 ps-4 pe-1\">\n <div className=\"flex min-w-0 flex-grow flex-wrap items-center gap-2\">\n <Avatar size=\"sm\" user={avatar} />\n <Typography as=\"span\" variant=\"body3\" weight=\"medium\">\n {user.name}\n </Typography>\n <Typography as=\"span\" color=\"muted\" variant=\"body3\">\n •\n </Typography>\n {info && (\n <>\n <Typography\n as=\"span\"\n className=\"lowercase\"\n color=\"muted\"\n variant=\"body3\"\n >\n {info}\n </Typography>\n <Typography as=\"span\" color=\"muted\" variant=\"body3\">\n •\n </Typography>\n </>\n )}\n {comment.createdAt && (\n <DateFormat.FromNow\n date={comment.createdAt}\n typographyProps={{ color: \"muted\", variant: \"body3\" }}\n />\n )}\n </div>\n {isPresent(actions) && (\n <MoreDropdown\n dropdownButtonProps={{ className: \"self-start flex-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 { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { findIndexBy } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { collectBy, eqProps, pathEq, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmojiPicker from \"../../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 const group = groups.find(pathEq(emoji.unified, [0, \"unified\"]));\n if (group && findOwnIndex(group) >= 0) return;\n onAdd({ ...emoji, emoji: emoji.native });\n };\n\n return (\n <div className=\"mt-3 flex flex-wrap items-center gap-1\">\n <div className=\"bg-muted rounded-full\">\n <EmojiPicker {...{ onSelect }} />\n </div>\n {groups.map(reactionsGroup => {\n const ownIndex = findOwnIndex(reactionsGroup);\n const selected = ownIndex >= 0;\n const reaction = selected\n ? reactionsGroup[ownIndex]\n : reactionsGroup[0];\n\n const names = reactionsGroup\n .map(({ reactor }) =>\n typeof reactor === \"string\" ? reactor : reactor?.name\n )\n .filter(Boolean)\n .join(\", \");\n\n return (\n <Tooltip\n content={t(\"neetoMolecules.engagements.namesReacted\", { names })}\n key={reaction.unified}\n position=\"top\"\n >\n <Button\n aria-pressed={selected}\n size=\"xs\"\n variant=\"ghost\"\n className={classNames(\n \"h-7 rounded-full px-2 text-sm font-normal\",\n {\n \"!bg-muted !hover:bg-muted/80\": selected,\n \"!bg-muted/50\": !selected,\n }\n )}\n onClick={() => (selected ? onRemove : onAdd)(reaction)}\n >\n <span>{reaction.emoji}</span>\n <span>{reactionsGroup.length}</span>\n </Button>\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 `nm-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 \"nm-comments-node bg-card border-border relative mb-4 w-full rounded-md border\",\n \"before:bg-border before:absolute before:start-[30px] before:top-[calc(100%+1px)] before:h-4 before:w-0.5 before:content-['']\",\n className\n )}\n >\n <CommentHeader {...{ actions, comment, info, user }} />\n <div className=\"nm-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 user: PropTypes.shape({ name: PropTypes.string.isRequired }).isRequired,\n comment: PropTypes.shape({\n id: PropTypes.string.isRequired,\n createdAt: PropTypes.string,\n }).isRequired,\n reactions: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]),\n info: PropTypes.string,\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 className: PropTypes.string,\n onAddReaction: PropTypes.func,\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 { 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 data: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string.isRequired }))\n .isRequired,\n isActivitiesEnabled: PropTypes.bool,\n matchType: PropTypes.func,\n renderComment: PropTypes.func.isRequired,\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","as","variant","weight","color","_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","reactionsGroup","ownIndex","selected","reaction","names","_ref2","reactor","filter","Boolean","join","Tooltip","content","Button","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/v2/components/Engagements/Activity/Icon.jsx","../../src/v2/components/Engagements/Activity/index.jsx","../../src/v2/components/Engagements/Comment/Header.jsx","../../src/v2/components/Engagements/Comment/Reactions.jsx","../../src/v2/components/Engagements/constants.js","../../src/v2/components/Engagements/utils.js","../../src/v2/components/Engagements/Comment/index.jsx","../../src/v2/components/Engagements/index.jsx"],"sourcesContent":["import classNames from \"classnames\";\n\nconst ActivityIcon = ({ icon, unread }) => (\n <div className=\"bg-card relative z-10 mx-0.5 flex-shrink-0 rounded-full\">\n <span\n className={classNames(\n \"nm-activity-node-icon bg-muted text-muted-foreground relative flex h-7 w-7 items-center justify-center rounded-full p-1 [&>svg]:size-4\",\n { \"text-primary bg-primary/10\": unread }\n )}\n >\n {icon}\n {unread && (\n <span className=\"bg-primary absolute -end-0.5 -top-0.5 h-2 w-2 rounded-full\" />\n )}\n </span>\n </div>\n);\n\nexport default ActivityIcon;\n","import { Avatar } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\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 \"nm-engagements-node relative -mt-4 flex items-center gap-2 px-4 py-4\",\n \"before:bg-border before:absolute before:start-[31px] before:top-0 before:h-full before:w-0.5 before:content-['']\",\n className\n )}\n >\n <ActivityIcon {...{ icon, unread }} />\n {userIcon || (\n <Avatar\n className=\"!size-[18px] [&_[data-slot=avatar-fallback]]:text-[10px]\"\n size=\"sm\"\n user={{ name: user.name, imageUrl: user.profileImageUrl }}\n />\n )}\n <div className=\"nm-engagements-node__children\">{children}</div>\n </div>\n);\n\nActivity.propTypes = {\n user: PropTypes.shape({ name: PropTypes.string.isRequired }).isRequired,\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n unread: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default Activity;\n","import { Avatar, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent } from \"neetocist\";\n\nimport DateFormat from \"../../DateFormat\";\nimport MoreDropdown from \"../../MoreDropdown\";\n\nconst CommentHeader = ({ user, comment, info, actions }) => {\n const avatar = { name: user.name, imageUrl: user.profileImageUrl };\n\n return (\n <div className=\"bg-muted/40 border-border flex items-center justify-between rounded-t-md border-b py-1 ps-4 pe-1\">\n <div className=\"flex min-w-0 flex-grow flex-wrap items-center gap-2\">\n <Avatar size=\"sm\" user={avatar} />\n <Typography as=\"span\" variant=\"body3\" weight=\"medium\">\n {user.name}\n </Typography>\n <Typography as=\"span\" color=\"muted\" variant=\"body3\">\n •\n </Typography>\n {info && (\n <>\n <Typography\n as=\"span\"\n className=\"lowercase\"\n color=\"muted\"\n variant=\"body3\"\n >\n {info}\n </Typography>\n <Typography as=\"span\" color=\"muted\" variant=\"body3\">\n •\n </Typography>\n </>\n )}\n {comment.createdAt && (\n <DateFormat.FromNow\n date={comment.createdAt}\n typographyProps={{ color: \"muted\", variant: \"body3\" }}\n />\n )}\n </div>\n {isPresent(actions) && (\n <MoreDropdown\n dropdownButtonProps={{ className: \"self-start flex-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 { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { findIndexBy } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { collectBy, eqProps, pathEq, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmojiPicker from \"../../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 const group = groups.find(pathEq(emoji.unified, [0, \"unified\"]));\n if (group && findOwnIndex(group) >= 0) return;\n onAdd({ ...emoji, emoji: emoji.native });\n };\n\n return (\n <div className=\"mt-3 flex flex-wrap items-center gap-1\">\n <div className=\"bg-muted rounded-full\">\n <EmojiPicker {...{ onSelect }} />\n </div>\n {groups.map(reactionsGroup => {\n const ownIndex = findOwnIndex(reactionsGroup);\n const selected = ownIndex >= 0;\n const reaction = selected\n ? reactionsGroup[ownIndex]\n : reactionsGroup[0];\n\n const names = reactionsGroup\n .map(({ reactor }) =>\n typeof reactor === \"string\" ? reactor : reactor?.name\n )\n .filter(Boolean)\n .join(\", \");\n\n return (\n <Tooltip\n content={t(\"neetoMolecules.engagements.namesReacted\", { names })}\n key={reaction.unified}\n position=\"top\"\n >\n <Button\n aria-pressed={selected}\n size=\"xs\"\n variant=\"ghost\"\n className={classNames(\n \"h-7 rounded-full px-2 text-sm font-normal\",\n {\n \"!bg-muted !hover:bg-muted/80\": selected,\n \"!bg-muted/50\": !selected,\n }\n )}\n onClick={() => (selected ? onRemove : onAdd)(reaction)}\n >\n <span className=\"flex items-center gap-x-1\">\n <span>{reaction.emoji}</span>\n <span>{reactionsGroup.length}</span>\n </span>\n </Button>\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 `nm-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 \"nm-comments-node bg-card border-border relative mb-4 w-full rounded-md border\",\n \"before:bg-border before:absolute before:start-[30px] before:top-[calc(100%+1px)] before:h-4 before:w-0.5 before:content-['']\",\n className\n )}\n >\n <CommentHeader {...{ actions, comment, info, user }} />\n <div className=\"nm-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 user: PropTypes.shape({ name: PropTypes.string.isRequired }).isRequired,\n comment: PropTypes.shape({\n id: PropTypes.string.isRequired,\n createdAt: PropTypes.string,\n }).isRequired,\n reactions: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]),\n info: PropTypes.string,\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 className: PropTypes.string,\n onAddReaction: PropTypes.func,\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 { 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 data: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string.isRequired }))\n .isRequired,\n isActivitiesEnabled: PropTypes.bool,\n matchType: PropTypes.func,\n renderComment: PropTypes.func.isRequired,\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","as","variant","weight","color","_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","reactionsGroup","ownIndex","selected","reaction","names","_ref2","reactor","filter","Boolean","join","Tooltip","content","Button","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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"}
|
package/dist/v2/MadeWith.js
CHANGED
|
@@ -2,6 +2,7 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
|
2
2
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
3
|
import { memo } from 'react';
|
|
4
4
|
import { Typography } from '@bigbinary/neeto-atoms';
|
|
5
|
+
import classnames from 'classnames';
|
|
5
6
|
import { capitalize } from '@bigbinary/neeto-cist';
|
|
6
7
|
import { globalProps } from '@bigbinary/neeto-commons-frontend/v2/initializers';
|
|
7
8
|
import * as Icons from '@bigbinary/neeto-icons/logos';
|
|
@@ -10,24 +11,25 @@ import { u as uppercamelcase } from '../index-DF5MKxql.js';
|
|
|
10
11
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
11
12
|
import '../_commonjsHelpers-BFTU3MAI.js';
|
|
12
13
|
|
|
13
|
-
var _excluded = ["productName", "productIcon"];
|
|
14
|
+
var _excluded = ["productName", "productIcon", "className"];
|
|
14
15
|
function ownKeys(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; }
|
|
15
16
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16
17
|
var MadeWith = function MadeWith(_ref) {
|
|
17
18
|
var _globalProps$organiza;
|
|
18
19
|
var productName = _ref.productName,
|
|
19
20
|
ProductIcon = _ref.productIcon,
|
|
21
|
+
className = _ref.className,
|
|
20
22
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
21
23
|
var name = capitalize(productName || globalProps.appName || "Neeto");
|
|
22
24
|
var subdomain = (_globalProps$organiza = globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.subdomain;
|
|
23
25
|
var utmParams = "utm_source=madewith".concat(subdomain ? "&utm_campaign=".concat(subdomain) : "");
|
|
24
26
|
var IconComponent = ProductIcon || Icons[uppercamelcase(name)];
|
|
25
27
|
return /*#__PURE__*/jsxs("a", _objectSpread(_objectSpread({
|
|
26
|
-
className: "bg-background text-foreground border-border hover:ring-border inline-flex items-center gap-1.5 rounded-md border px-2 py-1.5 text-sm font-normal no-underline transition-all duration-300 select-none hover:ring-1 hover:ring-inset motion-reduce:transition-none",
|
|
27
28
|
"data-testid": "made-with-".concat(name.toLowerCase()),
|
|
28
29
|
href: "https://www.neeto.com/".concat(name.toLowerCase(), "?").concat(utmParams),
|
|
29
30
|
rel: "noreferrer",
|
|
30
|
-
target: "_blank"
|
|
31
|
+
target: "_blank",
|
|
32
|
+
className: classnames("neeto-molecules-made-with__wrapper", "bg-background text-foreground border-border hover:ring-border inline-flex items-center gap-1.5 rounded-md border px-2 py-1.5 text-sm font-normal no-underline transition-all duration-300 select-none hover:ring-1 hover:ring-inset motion-reduce:transition-none", className)
|
|
31
33
|
}, otherProps), {}, {
|
|
32
34
|
children: [IconComponent && /*#__PURE__*/jsx("span", {
|
|
33
35
|
"data-testid": "made-with-".concat(name.toLowerCase(), "-icon"),
|
package/dist/v2/MadeWith.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MadeWith.js","sources":["../../src/v2/components/MadeWith/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport * as Icons from \"neetoicons/logos\";\nimport PropTypes from \"prop-types\";\nimport { Trans } from \"react-i18next\";\nimport uppercamelcase from \"uppercamelcase\";\n\nconst MadeWith = ({
|
|
1
|
+
{"version":3,"file":"MadeWith.js","sources":["../../src/v2/components/MadeWith/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport * as Icons from \"neetoicons/logos\";\nimport PropTypes from \"prop-types\";\nimport { Trans } from \"react-i18next\";\nimport uppercamelcase from \"uppercamelcase\";\n\nconst MadeWith = ({\n productName,\n productIcon: ProductIcon,\n className,\n ...otherProps\n}) => {\n const name = capitalize(productName || globalProps.appName || \"Neeto\");\n const subdomain = globalProps.organization?.subdomain;\n const utmParams = `utm_source=madewith${\n subdomain ? `&utm_campaign=${subdomain}` : \"\"\n }`;\n\n const IconComponent = ProductIcon || Icons[uppercamelcase(name)];\n\n return (\n <a\n data-testid={`made-with-${name.toLowerCase()}`}\n href={`https://www.neeto.com/${name.toLowerCase()}?${utmParams}`}\n rel=\"noreferrer\"\n target=\"_blank\"\n className={classnames(\n \"neeto-molecules-made-with__wrapper\",\n \"bg-background text-foreground border-border hover:ring-border inline-flex items-center gap-1.5 rounded-md border px-2 py-1.5 text-sm font-normal no-underline transition-all duration-300 select-none hover:ring-1 hover:ring-inset motion-reduce:transition-none\",\n className\n )}\n {...otherProps}\n >\n {IconComponent && (\n <span data-testid={`made-with-${name.toLowerCase()}-icon`}>\n <IconComponent size={14} />\n </span>\n )}\n <Typography className=\"leading-snug\" variant=\"body2\">\n <Trans\n i18nKey=\"neetoMolecules.common.madeWith\"\n values={{ productName: name }}\n />\n </Typography>\n </a>\n );\n};\n\nMadeWith.propTypes = {\n /**\n * Product name to be displayed on the component (optional).\n */\n productName: PropTypes.string,\n\n /**\n * Product icon component to be displayed on the badge (optional).\n */\n productIcon: PropTypes.elementType,\n\n /**\n * Additional class names to merge onto the badge root (optional).\n */\n className: PropTypes.string,\n};\n\nexport default memo(MadeWith);\n"],"names":["MadeWith","_ref","_globalProps$organiza","productName","ProductIcon","productIcon","className","otherProps","_objectWithoutProperties","_excluded","name","capitalize","globalProps","appName","subdomain","organization","utmParams","concat","IconComponent","Icons","uppercamelcase","_jsxs","_objectSpread","toLowerCase","href","rel","target","classnames","children","_jsx","size","Typography","variant","Trans","i18nKey","values","memo"],"mappings":";;;;;;;;;;;;;;;;AAWA,IAAMA,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EAKR;AAAA,EAAA,IAAAC,qBAAA;AAAA,EAAA,IAJJC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACEC,WAAW,GAAAH,IAAA,CAAxBI,WAAW;IACXC,SAAS,GAAAL,IAAA,CAATK,SAAS;AACNC,IAAAA,UAAU,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA,CAAA;EAEb,IAAMC,IAAI,GAAGC,UAAU,CAACR,WAAW,IAAIS,WAAW,CAACC,OAAO,IAAI,OAAO,CAAC;AACtE,EAAA,IAAMC,SAAS,GAAA,CAAAZ,qBAAA,GAAGU,WAAW,CAACG,YAAY,MAAA,IAAA,IAAAb,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAxBA,qBAAA,CAA0BY,SAAS;EACrD,IAAME,SAAS,GAAA,qBAAA,CAAAC,MAAA,CACbH,SAAS,GAAA,gBAAA,CAAAG,MAAA,CAAoBH,SAAS,CAAA,GAAK,EAAE,CAC7C;EAEF,IAAMI,aAAa,GAAGd,WAAW,IAAIe,KAAK,CAACC,cAAc,CAACV,IAAI,CAAC,CAAC;AAEhE,EAAA,oBACEW,IAAA,CAAA,GAAA,EAAAC,aAAA,CAAAA,aAAA,CAAA;AACE,IAAA,aAAA,EAAA,YAAA,CAAAL,MAAA,CAA0BP,IAAI,CAACa,WAAW,EAAE,CAAG;AAC/CC,IAAAA,IAAI,EAAA,wBAAA,CAAAP,MAAA,CAA2BP,IAAI,CAACa,WAAW,EAAE,EAAA,GAAA,CAAA,CAAAN,MAAA,CAAID,SAAS,CAAG;AACjES,IAAAA,GAAG,EAAC,YAAY;AAChBC,IAAAA,MAAM,EAAC,QAAQ;AACfpB,IAAAA,SAAS,EAAEqB,UAAU,CACnB,oCAAoC,EACpC,mQAAmQ,EACnQrB,SACF;AAAE,GAAA,EACEC,UAAU,CAAA,EAAA,EAAA,EAAA;IAAAqB,QAAA,EAAA,CAEbV,aAAa,iBACZW,GAAA,CAAA,MAAA,EAAA;AAAM,MAAA,aAAA,EAAA,YAAA,CAAAZ,MAAA,CAA0BP,IAAI,CAACa,WAAW,EAAE,EAAA,OAAA,CAAQ;MAAAK,QAAA,eACxDC,GAAA,CAACX,aAAa,EAAA;AAACY,QAAAA,IAAI,EAAE;OAAK;AAAC,KACvB,CACP,eACDD,GAAA,CAACE,UAAU,EAAA;AAACzB,MAAAA,SAAS,EAAC,cAAc;AAAC0B,MAAAA,OAAO,EAAC,OAAO;MAAAJ,QAAA,eAClDC,GAAA,CAACI,KAAK,EAAA;AACJC,QAAAA,OAAO,EAAC,gCAAgC;AACxCC,QAAAA,MAAM,EAAE;AAAEhC,UAAAA,WAAW,EAAEO;AAAK;OAC7B;AAAC,KACQ,CAAC;AAAA,GAAA,CACZ,CAAC;AAER,CAAC;AAmBD,YAAA,aAAe0B,IAAI,CAACpC,QAAQ,CAAC;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "5.3.
|
|
3
|
+
"version": "5.3.17",
|
|
4
4
|
"description": "A package of reusable molecular components for neeto products.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-molecules.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|