@bigbinary/neeto-molecules 4.2.0 → 4.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/dist/{Columns-DpeV3Jzz.js → Columns-gR00LMKF.js} +2 -2
  2. package/dist/Columns-gR00LMKF.js.map +1 -0
  3. package/dist/{ConfigureView-B0UvLoJe.js → ConfigureView-CG1M2-3b.js} +4 -15
  4. package/dist/ConfigureView-CG1M2-3b.js.map +1 -0
  5. package/dist/check-DvxzqR83.js +15 -0
  6. package/dist/check-DvxzqR83.js.map +1 -0
  7. package/dist/chevron-down-BMerqYpK.js +15 -0
  8. package/dist/chevron-down-BMerqYpK.js.map +1 -0
  9. package/dist/chevron-left-BTVCxPw8.js +15 -0
  10. package/dist/chevron-left-BTVCxPw8.js.map +1 -0
  11. package/dist/cjs/{Columns-C2ke8N58.js → Columns-Brpr2a_M.js} +2 -2
  12. package/dist/cjs/Columns-Brpr2a_M.js.map +1 -0
  13. package/dist/cjs/{ConfigureView-Coy1ViRc.js → ConfigureView-BVRHqVpb.js} +5 -16
  14. package/dist/cjs/ConfigureView-BVRHqVpb.js.map +1 -0
  15. package/dist/cjs/check-VgZf0qTr.js +17 -0
  16. package/dist/cjs/check-VgZf0qTr.js.map +1 -0
  17. package/dist/cjs/chevron-down-DwiliwN1.js +17 -0
  18. package/dist/cjs/chevron-down-DwiliwN1.js.map +1 -0
  19. package/dist/cjs/chevron-left-DWN80ILn.js +17 -0
  20. package/dist/cjs/chevron-left-DWN80ILn.js.map +1 -0
  21. package/dist/cjs/{useKeyboardShortcutsPaneState-BG_xVteC.js → useKeyboardShortcutsPaneState-DZUnpw9v.js} +2 -2
  22. package/dist/cjs/useKeyboardShortcutsPaneState-DZUnpw9v.js.map +1 -0
  23. package/dist/cjs/v2/AuditLogs.js +8 -8
  24. package/dist/cjs/v2/AuditLogs.js.map +1 -1
  25. package/dist/cjs/v2/BoardView.js +427 -0
  26. package/dist/cjs/v2/BoardView.js.map +1 -0
  27. package/dist/cjs/v2/Breadcrumbs.js +2 -2
  28. package/dist/cjs/v2/Breadcrumbs.js.map +1 -1
  29. package/dist/cjs/v2/CalendarView.js +429 -0
  30. package/dist/cjs/v2/CalendarView.js.map +1 -0
  31. package/dist/cjs/v2/Columns.js +2 -2
  32. package/dist/cjs/v2/ConfigurePageSidebar.js +4 -3
  33. package/dist/cjs/v2/ConfigurePageSidebar.js.map +1 -1
  34. package/dist/cjs/v2/CopyToClipboardButton.js +3 -13
  35. package/dist/cjs/v2/CopyToClipboardButton.js.map +1 -1
  36. package/dist/cjs/v2/DateFormat.js +42 -0
  37. package/dist/cjs/v2/DateFormat.js.map +1 -0
  38. package/dist/cjs/v2/DocumentEditor.js +329 -0
  39. package/dist/cjs/v2/DocumentEditor.js.map +1 -0
  40. package/dist/cjs/v2/EmojiPicker.js +125 -0
  41. package/dist/cjs/v2/EmojiPicker.js.map +1 -0
  42. package/dist/cjs/v2/Engagements.js +283 -0
  43. package/dist/cjs/v2/Engagements.js.map +1 -0
  44. package/dist/cjs/v2/ErrorPage.js +1 -1
  45. package/dist/cjs/v2/ErrorPage.js.map +1 -1
  46. package/dist/cjs/v2/FileUpload.js +644 -0
  47. package/dist/cjs/v2/FileUpload.js.map +1 -0
  48. package/dist/cjs/v2/FinderModal.js +253 -0
  49. package/dist/cjs/v2/FinderModal.js.map +1 -0
  50. package/dist/cjs/v2/FloatingActionMenu.js +11 -9
  51. package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
  52. package/dist/cjs/v2/Header.js +6 -6
  53. package/dist/cjs/v2/InlineInput.js +293 -0
  54. package/dist/cjs/v2/InlineInput.js.map +1 -0
  55. package/dist/cjs/v2/KeyboardShortcuts.js +3 -3
  56. package/dist/cjs/v2/KeyboardShortcuts.js.map +1 -1
  57. package/dist/cjs/v2/LoginPage.js +1 -1
  58. package/dist/cjs/v2/LoginPage.js.map +1 -1
  59. package/dist/cjs/v2/MenuBar.js +2 -2
  60. package/dist/cjs/v2/MenuBar.js.map +1 -1
  61. package/dist/cjs/v2/MoreDropdown.js +1 -1
  62. package/dist/cjs/v2/MoreDropdown.js.map +1 -1
  63. package/dist/cjs/v2/NavigationHeader.js +328 -0
  64. package/dist/cjs/v2/NavigationHeader.js.map +1 -0
  65. package/dist/cjs/v2/PublishBlock.js +414 -0
  66. package/dist/cjs/v2/PublishBlock.js.map +1 -0
  67. package/dist/cjs/v2/Rename.js +350 -0
  68. package/dist/cjs/v2/Rename.js.map +1 -0
  69. package/dist/cjs/v2/Scrollable.js +37 -0
  70. package/dist/cjs/v2/Scrollable.js.map +1 -0
  71. package/dist/cjs/v2/Search.js +5 -5
  72. package/dist/cjs/v2/Search.js.map +1 -1
  73. package/dist/cjs/v2/Settings.js +6 -6
  74. package/dist/cjs/v2/Settings.js.map +1 -1
  75. package/dist/cjs/v2/Sidebar.js +8 -7
  76. package/dist/cjs/v2/Sidebar.js.map +1 -1
  77. package/dist/cjs/v2/StickyRibbonsContainer.js +4 -4
  78. package/dist/cjs/v2/StickyRibbonsContainer.js.map +1 -1
  79. package/dist/cjs/v2/SubHeader.js +3 -3
  80. package/dist/cjs/v2/SubHeader.js.map +1 -1
  81. package/dist/cjs/v2/TimeFormat.js +15 -0
  82. package/dist/cjs/v2/TimeFormat.js.map +1 -0
  83. package/dist/{useKeyboardShortcutsPaneState-dNIbb_PI.js → useKeyboardShortcutsPaneState-BlyFMEtW.js} +2 -2
  84. package/dist/useKeyboardShortcutsPaneState-BlyFMEtW.js.map +1 -0
  85. package/dist/v2/AuditLogs.js +8 -8
  86. package/dist/v2/AuditLogs.js.map +1 -1
  87. package/dist/v2/BoardView.js +425 -0
  88. package/dist/v2/BoardView.js.map +1 -0
  89. package/dist/v2/Breadcrumbs.js +2 -2
  90. package/dist/v2/Breadcrumbs.js.map +1 -1
  91. package/dist/v2/CalendarView.js +427 -0
  92. package/dist/v2/CalendarView.js.map +1 -0
  93. package/dist/v2/Columns.js +2 -2
  94. package/dist/v2/ConfigurePageSidebar.js +4 -3
  95. package/dist/v2/ConfigurePageSidebar.js.map +1 -1
  96. package/dist/v2/CopyToClipboardButton.js +2 -12
  97. package/dist/v2/CopyToClipboardButton.js.map +1 -1
  98. package/dist/v2/DateFormat.js +40 -0
  99. package/dist/v2/DateFormat.js.map +1 -0
  100. package/dist/v2/DocumentEditor.js +327 -0
  101. package/dist/v2/DocumentEditor.js.map +1 -0
  102. package/dist/v2/EmojiPicker.js +123 -0
  103. package/dist/v2/EmojiPicker.js.map +1 -0
  104. package/dist/v2/Engagements.js +281 -0
  105. package/dist/v2/Engagements.js.map +1 -0
  106. package/dist/v2/ErrorPage.js +1 -1
  107. package/dist/v2/ErrorPage.js.map +1 -1
  108. package/dist/v2/FileUpload.js +641 -0
  109. package/dist/v2/FileUpload.js.map +1 -0
  110. package/dist/v2/FinderModal.js +251 -0
  111. package/dist/v2/FinderModal.js.map +1 -0
  112. package/dist/v2/FloatingActionMenu.js +11 -9
  113. package/dist/v2/FloatingActionMenu.js.map +1 -1
  114. package/dist/v2/Header.js +6 -6
  115. package/dist/v2/InlineInput.js +290 -0
  116. package/dist/v2/InlineInput.js.map +1 -0
  117. package/dist/v2/KeyboardShortcuts.js +3 -3
  118. package/dist/v2/KeyboardShortcuts.js.map +1 -1
  119. package/dist/v2/LoginPage.js +1 -1
  120. package/dist/v2/LoginPage.js.map +1 -1
  121. package/dist/v2/MenuBar.js +2 -2
  122. package/dist/v2/MenuBar.js.map +1 -1
  123. package/dist/v2/MoreDropdown.js +1 -1
  124. package/dist/v2/MoreDropdown.js.map +1 -1
  125. package/dist/v2/NavigationHeader.js +326 -0
  126. package/dist/v2/NavigationHeader.js.map +1 -0
  127. package/dist/v2/PublishBlock.js +412 -0
  128. package/dist/v2/PublishBlock.js.map +1 -0
  129. package/dist/v2/Rename.js +348 -0
  130. package/dist/v2/Rename.js.map +1 -0
  131. package/dist/v2/Scrollable.js +35 -0
  132. package/dist/v2/Scrollable.js.map +1 -0
  133. package/dist/v2/Search.js +5 -5
  134. package/dist/v2/Search.js.map +1 -1
  135. package/dist/v2/Settings.js +6 -6
  136. package/dist/v2/Settings.js.map +1 -1
  137. package/dist/v2/Sidebar.js +8 -7
  138. package/dist/v2/Sidebar.js.map +1 -1
  139. package/dist/v2/StickyRibbonsContainer.js +4 -4
  140. package/dist/v2/StickyRibbonsContainer.js.map +1 -1
  141. package/dist/v2/SubHeader.js +3 -3
  142. package/dist/v2/SubHeader.js.map +1 -1
  143. package/dist/v2/TimeFormat.js +13 -0
  144. package/dist/v2/TimeFormat.js.map +1 -0
  145. package/package.json +5 -5
  146. package/src/translations/en.json +4 -2
  147. package/types/v2/BoardView.d.ts +27 -0
  148. package/types/v2/CalendarView.d.ts +40 -0
  149. package/types/v2/DateFormat.d.ts +19 -0
  150. package/types/v2/DocumentEditor.d.ts +20 -0
  151. package/types/v2/EmojiPicker.d.ts +14 -0
  152. package/types/v2/Engagements.d.ts +50 -0
  153. package/types/v2/FileUpload.d.ts +30 -0
  154. package/types/v2/FinderModal.d.ts +24 -0
  155. package/types/v2/InlineInput.d.ts +28 -0
  156. package/types/v2/NavigationHeader.d.ts +80 -0
  157. package/types/v2/PublishBlock.d.ts +39 -0
  158. package/types/v2/Rename.d.ts +33 -0
  159. package/types/v2/Scrollable.d.ts +15 -0
  160. package/types/v2/TimeFormat.d.ts +17 -0
  161. package/dist/Columns-DpeV3Jzz.js.map +0 -1
  162. package/dist/ConfigureView-B0UvLoJe.js.map +0 -1
  163. package/dist/cjs/Columns-C2ke8N58.js.map +0 -1
  164. package/dist/cjs/ConfigureView-Coy1ViRc.js.map +0 -1
  165. package/dist/cjs/useKeyboardShortcutsPaneState-BG_xVteC.js.map +0 -1
  166. package/dist/useKeyboardShortcutsPaneState-dNIbb_PI.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmojiPicker.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/smile.js","../../../src/v2/components/EmojiPicker/api.js","../../../src/v2/components/EmojiPicker/constants.js","../../../src/v2/components/EmojiPicker/hooks/useEmojiData.js","../../../src/v2/components/EmojiPicker/EmojiPickerMenu.jsx","../../../src/v2/components/EmojiPicker/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M8 14s1.5 2 4 2 4-2 4-2\", key: \"1y1vjs\" }],\n [\"line\", { x1: \"9\", x2: \"9.01\", y1: \"9\", y2: \"9\", key: \"yxxnd0\" }],\n [\"line\", { x1: \"15\", x2: \"15.01\", y1: \"9\", y2: \"9\", key: \"1p4y9e\" }]\n];\nconst Smile = createLucideIcon(\"smile\", __iconNode);\n\nexport { __iconNode, Smile as default };\n//# sourceMappingURL=smile.js.map\n","import axios from \"axios\";\n\nconst fetch = () => axios.get(\"https://cdn.jsdelivr.net/npm/@emoji-mart/data\");\n\nconst emojiPickerApi = { fetch };\n\nexport default emojiPickerApi;\n","export const QUERY_KEYS = { EMOJI_DATA: \"emoji-data\" };\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport emojiPickerApi from \"../api\";\nimport { QUERY_KEYS } from \"../constants\";\n\nexport const useEmojiData = () =>\n useQuery({\n queryKey: [QUERY_KEYS.EMOJI_DATA],\n queryFn: emojiPickerApi.fetch,\n });\n","import { Picker } from \"emoji-mart\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useEmojiData } from \"./hooks/useEmojiData\";\n\nconst EmojiPickerMenu = ({ onEmojiSelect }) => {\n const { data } = useEmojiData();\n const { t } = useTranslation();\n\n const createPicker = ref => {\n new Picker({\n autoFocus: true,\n data,\n native: true,\n onEmojiSelect,\n previewPosition: \"none\",\n ref: { current: ref },\n skinTonePosition: \"none\",\n style: { maxWidth: \"100%\" },\n theme: \"light\",\n });\n };\n\n return (\n <div\n aria-label={t(\"neetoMolecules.common.emojiPicker\")}\n ref={createPicker}\n role=\"dialog\"\n style={{ minWidth: \"350px\" }}\n />\n );\n};\n\nEmojiPickerMenu.propTypes = { onEmojiSelect: PropTypes.func };\n\nexport default EmojiPickerMenu;\n","import { useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { Smile } from \"lucide-react\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmojiPickerMenu from \"./EmojiPickerMenu\";\n\nconst EmojiPicker = ({ onSelect, dropdownProps, defaultOpen = false }) => {\n const { t } = useTranslation();\n const [isOpen, setIsOpen] = useState(defaultOpen);\n\n const onEmojiClick = emoji => {\n setIsOpen(false);\n onSelect(emoji);\n };\n\n return (\n <Popover open={isOpen} onOpenChange={setIsOpen}>\n <PopoverTrigger asChild>\n <Button\n aria-haspopup=\"dialog\"\n aria-label={t(\"neetoMolecules.common.emojiPicker\")}\n data-testid=\"emoji-picker-dropdown-icon\"\n icon={Smile}\n size=\"icon-sm\"\n variant=\"ghost\"\n />\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className=\"w-fit overflow-x-hidden p-0\"\n side=\"bottom\"\n {...dropdownProps}\n >\n <EmojiPickerMenu onEmojiSelect={onEmojiClick} />\n </PopoverContent>\n </Popover>\n );\n};\n\nEmojiPicker.propTypes = {\n /**\n * Function called when an emoji is selected. Receives the selected\n * emoji-mart object: `{ native, id, name, unified, ... }`.\n */\n onSelect: PropTypes.func.isRequired,\n /**\n * Props forwarded to atoms `PopoverContent` (Radix-based). Accepts\n * `align`, `side`, `sideOffset`, `alignOffset`, `collisionPadding`,\n * `className`, etc. Note: v1's `strategy: \"fixed\"` is no longer\n * supported (Radix manages positioning internally via Floating UI).\n */\n dropdownProps: PropTypes.object,\n /**\n * Initial open state. The component then manages its own open state.\n * For fully controlled behavior, lift state up and re-render with this\n * prop changed (currently treated as initial value only).\n */\n defaultOpen: PropTypes.bool,\n};\n\nexport default EmojiPicker;\n"],"names":["createLucideIcon","fetch","axios","get","emojiPickerApi","QUERY_KEYS","EMOJI_DATA","useEmojiData","useQuery","queryKey","queryFn","EmojiPickerMenu","_ref","onEmojiSelect","_useEmojiData","data","_useTranslation","useTranslation","t","createPicker","ref","Picker","autoFocus","previewPosition","current","skinTonePosition","style","maxWidth","theme","_jsx","role","minWidth","EmojiPicker","onSelect","dropdownProps","_ref$defaultOpen","defaultOpen","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","onEmojiClick","emoji","_jsxs","Popover","open","onOpenChange","children","PopoverTrigger","asChild","Button","icon","Smile","size","variant","PopoverContent","_objectSpread","align","className","side"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,283 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var React = require('react');
5
+ var neetoCist = require('@bigbinary/neeto-cist');
6
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
7
+ var classnames = require('classnames');
8
+ var jsxRuntime = require('react/jsx-runtime');
9
+ var index = require('../index-JY2zVpnv.js');
10
+ var v2_DateFormat = require('./DateFormat.js');
11
+ var v2_MoreDropdown = require('./MoreDropdown.js');
12
+ var initializers = require('@bigbinary/neeto-commons-frontend/v2/initializers');
13
+ var ramda = require('ramda');
14
+ var reactI18next = require('react-i18next');
15
+ var v2_EmojiPicker = require('./EmojiPicker.js');
16
+ require('../_commonjsHelpers-BJu3ubxk.js');
17
+ require('@bigbinary/neeto-commons-frontend/v2/react-utils/useTimer');
18
+ require('@bigbinary/neeto-commons-frontend/v2/utils/datetime');
19
+ require('@babel/runtime/helpers/objectWithoutProperties');
20
+ require('@bigbinary/neeto-commons-frontend/v2/react-utils');
21
+ require('../createLucideIcon-DBDhE7kE.js');
22
+ require('../ellipsis-BcfLTtl5.js');
23
+ require('@babel/runtime/helpers/slicedToArray');
24
+ require('@bigbinary/neeto-atoms/primitives');
25
+ require('emoji-mart');
26
+ require('@tanstack/react-query');
27
+ require('axios');
28
+
29
+ var ActivityIcon = function ActivityIcon(_ref) {
30
+ var icon = _ref.icon,
31
+ unread = _ref.unread;
32
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
33
+ className: "bg-card relative z-10 mx-0.5 flex-shrink-0 rounded-full",
34
+ children: /*#__PURE__*/jsxRuntime.jsxs("span", {
35
+ className: classnames("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", {
36
+ "text-primary bg-primary/10": unread
37
+ }),
38
+ children: [icon, unread && /*#__PURE__*/jsxRuntime.jsx("span", {
39
+ className: "bg-primary absolute -end-0.5 -top-0.5 h-2 w-2 rounded-full"
40
+ })]
41
+ })
42
+ });
43
+ };
44
+
45
+ var Activity = function Activity(_ref) {
46
+ var user = _ref.user,
47
+ icon = _ref.icon,
48
+ _ref$unread = _ref.unread,
49
+ unread = _ref$unread === void 0 ? false : _ref$unread,
50
+ className = _ref.className,
51
+ children = _ref.children,
52
+ userIcon = _ref.userIcon;
53
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
54
+ className: classnames("nm-engagements-node relative -mt-4 flex items-center gap-2 px-4 py-4", "before:bg-border before:absolute before:start-[31px] before:top-0 before:h-full before:w-0.5 before:content-['']", className),
55
+ children: [/*#__PURE__*/jsxRuntime.jsx(ActivityIcon, {
56
+ icon: icon,
57
+ unread: unread
58
+ }), userIcon || /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Avatar, {
59
+ className: "!size-[18px] [&_[data-slot=avatar-fallback]]:text-[10px]",
60
+ size: "sm",
61
+ user: {
62
+ name: user.name,
63
+ imageUrl: user.profileImageUrl
64
+ }
65
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
66
+ className: "nm-engagements-node__children",
67
+ children: children
68
+ })]
69
+ });
70
+ };
71
+
72
+ var CommentHeader = function CommentHeader(_ref) {
73
+ var user = _ref.user,
74
+ comment = _ref.comment,
75
+ info = _ref.info,
76
+ actions = _ref.actions;
77
+ var avatar = {
78
+ name: user.name,
79
+ imageUrl: user.profileImageUrl
80
+ };
81
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
82
+ className: "bg-muted/40 border-border flex items-center justify-between rounded-t-md border-b py-1 ps-4 pe-1",
83
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
84
+ className: "flex min-w-0 flex-grow flex-wrap items-center gap-2",
85
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Avatar, {
86
+ size: "sm",
87
+ user: avatar
88
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
89
+ as: "span",
90
+ variant: "body3",
91
+ weight: "semibold",
92
+ children: user.name
93
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
94
+ as: "span",
95
+ color: "muted",
96
+ variant: "body3",
97
+ children: "\u2022"
98
+ }), info && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
99
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
100
+ as: "span",
101
+ className: "lowercase",
102
+ color: "muted",
103
+ variant: "body3",
104
+ children: info
105
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
106
+ as: "span",
107
+ color: "muted",
108
+ variant: "body3",
109
+ children: "\u2022"
110
+ })]
111
+ }), comment.createdAt && /*#__PURE__*/jsxRuntime.jsx(v2_DateFormat.FromNow, {
112
+ date: comment.createdAt,
113
+ typographyProps: {
114
+ color: "muted",
115
+ variant: "body3"
116
+ }
117
+ })]
118
+ }), neetoCist.isPresent(actions) && /*#__PURE__*/jsxRuntime.jsx(v2_MoreDropdown, {
119
+ dropdownButtonProps: {
120
+ className: "self-start flex-shrink-0"
121
+ },
122
+ dropdownProps: {
123
+ position: "bottom-start"
124
+ },
125
+ menuItems: actions
126
+ })]
127
+ });
128
+ };
129
+
130
+ 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; }
131
+ 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; }
132
+ var findOwnIndex = neetoCist.findIndexBy({
133
+ userId: initializers.globalProps.user.id
134
+ });
135
+ var groupReactions = ramda.collectBy(ramda.prop("unified"));
136
+ var Reactions$1 = function Reactions(_ref) {
137
+ var reactions = _ref.reactions,
138
+ onAdd = _ref.onAdd,
139
+ onRemove = _ref.onRemove;
140
+ var _useTranslation = reactI18next.useTranslation(),
141
+ t = _useTranslation.t;
142
+ var groups = groupReactions(reactions);
143
+ var onSelect = function onSelect(emoji) {
144
+ var group = groups.find(ramda.pathEq(emoji.unified, [0, "unified"]));
145
+ if (group && findOwnIndex(group) >= 0) return;
146
+ onAdd(_objectSpread(_objectSpread({}, emoji), {}, {
147
+ emoji: emoji["native"]
148
+ }));
149
+ };
150
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
151
+ className: "mt-3 flex flex-wrap items-center gap-1",
152
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
153
+ className: "bg-muted rounded-full",
154
+ children: /*#__PURE__*/jsxRuntime.jsx(v2_EmojiPicker, {
155
+ onSelect: onSelect
156
+ })
157
+ }), groups.map(function (reactionsGroup) {
158
+ var ownIndex = findOwnIndex(reactionsGroup);
159
+ var selected = ownIndex >= 0;
160
+ var reaction = selected ? reactionsGroup[ownIndex] : reactionsGroup[0];
161
+ var names = reactionsGroup.map(function (_ref2) {
162
+ var reactor = _ref2.reactor;
163
+ return typeof reactor === "string" ? reactor : reactor === null || reactor === void 0 ? void 0 : reactor.name;
164
+ }).filter(Boolean).join(", ");
165
+ return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Tooltip, {
166
+ content: t("neetoMolecules.engagements.namesReacted", {
167
+ names: names
168
+ }),
169
+ position: "top",
170
+ children: /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Button, {
171
+ "aria-pressed": selected,
172
+ size: "xs",
173
+ variant: "ghost",
174
+ className: classnames("h-7 rounded-full px-2 text-sm font-normal", {
175
+ "!bg-muted !hover:bg-muted/80": selected,
176
+ "!bg-muted/50": !selected
177
+ }),
178
+ onClick: function onClick() {
179
+ return (selected ? onRemove : onAdd)(reaction);
180
+ },
181
+ children: [/*#__PURE__*/jsxRuntime.jsx("span", {
182
+ children: reaction.emoji
183
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
184
+ children: reactionsGroup.length
185
+ })]
186
+ })
187
+ }, reaction.unified);
188
+ })]
189
+ });
190
+ };
191
+ var Reactions = /*#__PURE__*/React.memo(Reactions$1, ramda.eqProps("reactions"));
192
+
193
+ var ENGAGEMENT_TYPES = {
194
+ COMMENT: "comment",
195
+ ACTIVITY: "activity"
196
+ };
197
+
198
+ var createCommentElementId = function createCommentElementId(comment) {
199
+ return "nm-engagement-comment--".concat(comment.id);
200
+ };
201
+ var defaultMatchType = function defaultMatchType(engagement) {
202
+ if (engagement.commenter) return ENGAGEMENT_TYPES.COMMENT;else if (engagement.creator) return ENGAGEMENT_TYPES.ACTIVITY;
203
+ return null;
204
+ };
205
+
206
+ var Comment = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
207
+ var user = _ref.user,
208
+ comment = _ref.comment,
209
+ reactions = _ref.reactions,
210
+ info = _ref.info,
211
+ actions = _ref.actions,
212
+ className = _ref.className,
213
+ children = _ref.children,
214
+ onAddReaction = _ref.onAddReaction,
215
+ onRemoveReaction = _ref.onRemoveReaction;
216
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
217
+ ref: ref,
218
+ id: createCommentElementId(comment),
219
+ className: classnames("nm-comments-node bg-card border-border relative mb-4 w-full rounded-md border", "before:bg-border before:absolute before:start-[30px] before:top-[calc(100%+1px)] before:h-4 before:w-0.5 before:content-['']", className),
220
+ children: [/*#__PURE__*/jsxRuntime.jsx(CommentHeader, {
221
+ actions: actions,
222
+ comment: comment,
223
+ info: info,
224
+ user: user
225
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
226
+ className: "nm-comments-node__inner p-4",
227
+ children: [children, reactions !== false && /*#__PURE__*/jsxRuntime.jsx(Reactions, {
228
+ reactions: reactions,
229
+ onAdd: onAddReaction,
230
+ onRemove: onRemoveReaction
231
+ })]
232
+ })]
233
+ });
234
+ });
235
+ Comment.displayName = "Comment";
236
+ Comment.propTypes = {
237
+ user: index.PropTypes.shape({
238
+ name: index.PropTypes.string.isRequired
239
+ }).isRequired,
240
+ comment: index.PropTypes.shape({
241
+ id: index.PropTypes.string.isRequired,
242
+ createdAt: index.PropTypes.string
243
+ }).isRequired,
244
+ reactions: index.PropTypes.oneOfType([index.PropTypes.array, index.PropTypes.bool]),
245
+ info: index.PropTypes.string,
246
+ actions: index.PropTypes.arrayOf(index.PropTypes.shape({
247
+ isVisible: index.PropTypes.bool,
248
+ key: index.PropTypes.string.isRequired,
249
+ label: index.PropTypes.string.isRequired,
250
+ onClick: index.PropTypes.func.isRequired
251
+ })),
252
+ className: index.PropTypes.string,
253
+ onAddReaction: index.PropTypes.func,
254
+ onRemoveReaction: index.PropTypes.func
255
+ };
256
+
257
+ var Engagements = function Engagements(_ref) {
258
+ var data = _ref.data,
259
+ _ref$isActivitiesEnab = _ref.isActivitiesEnabled,
260
+ isActivitiesEnabled = _ref$isActivitiesEnab === void 0 ? false : _ref$isActivitiesEnab,
261
+ _ref$matchType = _ref.matchType,
262
+ matchType = _ref$matchType === void 0 ? defaultMatchType : _ref$matchType,
263
+ renderComment = _ref.renderComment,
264
+ renderActivity = _ref.renderActivity;
265
+ var rendererHashmap = _defineProperty(_defineProperty({}, ENGAGEMENT_TYPES.COMMENT, renderComment), ENGAGEMENT_TYPES.ACTIVITY, isActivitiesEnabled ? renderActivity : neetoCist.noop);
266
+ return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
267
+ children: data.map(function (engagement, index) {
268
+ var type = matchType(engagement);
269
+ var renderer = rendererHashmap[type];
270
+ if (!renderer) return null;
271
+ return /*#__PURE__*/jsxRuntime.jsx(React.Fragment, {
272
+ children: renderer(engagement, index)
273
+ }, engagement.id);
274
+ })
275
+ });
276
+ };
277
+ Engagements.displayName = "Engagements";
278
+ Engagements.Comment = Comment;
279
+ Engagements.Activity = Activity;
280
+ Engagements.TYPES = ENGAGEMENT_TYPES;
281
+
282
+ module.exports = Engagements;
283
+ //# sourceMappingURL=Engagements.js.map
@@ -0,0 +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=\"semibold\">\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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"}
@@ -5,7 +5,7 @@ var shallow = require('zustand/shallow');
5
5
  var React = require('react');
6
6
  var neetoAtoms = require('@bigbinary/neeto-atoms');
7
7
  var unauthorized = require('../unauthorized-CI14HDQo.js');
8
- var useDisplayErrorPage = require('@bigbinary/neeto-commons-frontend/react-utils/useDisplayErrorPage');
8
+ var useDisplayErrorPage = require('@bigbinary/neeto-commons-frontend/v2/react-utils/useDisplayErrorPage');
9
9
  var reactHelmet = require('react-helmet');
10
10
  var reactI18next = require('react-i18next');
11
11
  var jsxRuntime = require('react/jsx-runtime');
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorPage.js","sources":["../../../src/v2/components/ErrorPage/constants.js","../../../src/v2/components/ErrorPage/index.jsx"],"sourcesContent":["import InternalServerErrorImage from \"assets/images/internal-server-error\";\nimport PageNotFoundImage from \"assets/images/page-not-found\";\nimport UnauthorizedImage from \"assets/images/unauthorized\";\n\nexport const ERRORS = {\n 404: {\n Image: PageNotFoundImage,\n errorKey: \"neetoMolecules.errorPage.cantBeFound\",\n titleKey: \"neetoMolecules.errorPage.title.cantBeFound\",\n },\n 403: {\n Image: UnauthorizedImage,\n errorKey: \"neetoMolecules.errorPage.unauthorized\",\n titleKey: \"neetoMolecules.errorPage.title.unauthorized\",\n },\n 500: {\n Image: InternalServerErrorImage,\n errorKey: \"neetoMolecules.errorPage.internalServerError\",\n titleKey: \"neetoMolecules.errorPage.title.internalServerError\",\n },\n};\n","import { useEffect } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport DOMPurify from \"dompurify\";\nimport { useErrorDisplayStore } from \"neetocommons/react-utils/useDisplayErrorPage\";\nimport PropTypes from \"prop-types\";\nimport { Helmet } from \"react-helmet\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { ERRORS } from \"./constants\";\n\nconst sanitize = DOMPurify.sanitize;\n\nconst ErrorPage = ({\n homeUrl = \"/\",\n status,\n backToHomeButtonProps,\n children,\n showNeetoChatWidget = true,\n description,\n title,\n hideBackToHomeButton = false,\n}) => {\n const { t } = useTranslation();\n const { statusCode: storeStatusCode, showErrorPage } =\n useErrorDisplayStore.pick();\n\n status = status || storeStatusCode;\n const { Image, errorKey, titleKey } = ERRORS[status] || ERRORS[404];\n\n useEffect(() => {\n const pageLoader = document.getElementById(\"neeto-page-loader\");\n if (pageLoader) pageLoader.remove();\n\n const onBackButtonPress = () => {\n if (!showErrorPage) return;\n useErrorDisplayStore.setState({ showErrorPage: false });\n };\n\n window.addEventListener(\"popstate\", onBackButtonPress);\n\n return () => {\n window.removeEventListener(\"popstate\", onBackButtonPress);\n };\n }, []);\n\n const openChatWidget = () => {\n window.NeetoChat?.contextualHelp?.maximizeWidget();\n window.NeetoChat?.contextualHelp?.openWidget();\n };\n\n return (\n <div\n className=\"@container/error-page flex min-h-dvh w-full flex-col items-center justify-center\"\n data-testid=\"error-page-container\"\n >\n <div className=\"flex w-[768px] max-w-full flex-col gap-8 p-4 @[768px]/error-page:flex-row @[768px]/error-page:gap-12 @[768px]/error-page:p-6\">\n <Image\n className=\"dark:[&_path]:fill-foreground w-full max-w-[180px] shrink-0 @[768px]/error-page:max-w-[240px]\"\n data-testid=\"error-image\"\n />\n <div className=\"flex flex-col justify-center md:min-w-0 md:flex-grow\">\n <Helmet>\n <title>{t(titleKey)}</title>\n </Helmet>\n <Typography\n className=\"mb-4\"\n data-testid=\"title\"\n variant=\"h3\"\n weight=\"semibold\"\n >\n {title || <Trans i18nKey={errorKey} />}\n </Typography>\n {!!description && (\n <Typography\n className=\"mb-4\"\n dangerouslySetInnerHTML={{ __html: sanitize(description) }}\n data-testid=\"description\"\n variant=\"body1\"\n />\n )}\n {showNeetoChatWidget && (\n <Typography className=\"mb-6\" data-testid=\"title\" variant=\"body1\">\n <Trans\n i18nKey=\"neetoMolecules.errorPage.contactUs\"\n components={{\n button: (\n <Button\n className=\"h-auto p-0 text-[inherit]\"\n variant=\"link\"\n onClick={openChatWidget}\n />\n ),\n }}\n />\n </Typography>\n )}\n <div className=\"flex flex-col items-start gap-3 [&_a]:no-underline\">\n {!hideBackToHomeButton && (\n <Button\n asChild\n size=\"lg\"\n variant=\"default\"\n {...backToHomeButtonProps}\n >\n <a href={homeUrl}>{t(\"neetoMolecules.errorPage.backToHome\")}</a>\n </Button>\n )}\n {children}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nErrorPage.propTypes = {\n /**\n * The URL to which the user will be taken to when user clicks on back to home button.\n */\n homeUrl: PropTypes.string,\n /**\n * The status code of the error.\n */\n status: PropTypes.oneOf([403, 404, 500]),\n /**\n * Decides whether 'contact us' link should be displayed or not.\n */\n showNeetoChatWidget: PropTypes.bool,\n /**\n * Description about the error.\n */\n description: PropTypes.string,\n /**\n * Decides whether 'back to home' button should be displayed or not.\n */\n hideBackToHomeButton: PropTypes.bool,\n /**\n * The title of the error page.\n */\n title: PropTypes.string,\n};\n\nexport default ErrorPage;\n"],"names":["ERRORS","Image","PageNotFoundImage","errorKey","titleKey","UnauthorizedImage","InternalServerErrorImage","sanitize","DOMPurify","ErrorPage","_ref","_ref$homeUrl","homeUrl","status","backToHomeButtonProps","children","_ref$showNeetoChatWid","showNeetoChatWidget","description","title","_ref$hideBackToHomeBu","hideBackToHomeButton","_useTranslation","useTranslation","t","_useErrorDisplayStore","useErrorDisplayStore","useShallow","store","statusCode","showErrorPage","storeStatusCode","_ref2","useEffect","pageLoader","document","getElementById","remove","onBackButtonPress","setState","window","addEventListener","removeEventListener","openChatWidget","_window$NeetoChat","_window$NeetoChat2","NeetoChat","contextualHelp","maximizeWidget","openWidget","_jsx","className","_jsxs","Helmet","Typography","variant","weight","Trans","i18nKey","dangerouslySetInnerHTML","__html","components","button","Button","onClick","_objectSpread","asChild","size","href"],"mappings":"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"}
1
+ {"version":3,"file":"ErrorPage.js","sources":["../../../src/v2/components/ErrorPage/constants.js","../../../src/v2/components/ErrorPage/index.jsx"],"sourcesContent":["import InternalServerErrorImage from \"assets/images/internal-server-error\";\nimport PageNotFoundImage from \"assets/images/page-not-found\";\nimport UnauthorizedImage from \"assets/images/unauthorized\";\n\nexport const ERRORS = {\n 404: {\n Image: PageNotFoundImage,\n errorKey: \"neetoMolecules.errorPage.cantBeFound\",\n titleKey: \"neetoMolecules.errorPage.title.cantBeFound\",\n },\n 403: {\n Image: UnauthorizedImage,\n errorKey: \"neetoMolecules.errorPage.unauthorized\",\n titleKey: \"neetoMolecules.errorPage.title.unauthorized\",\n },\n 500: {\n Image: InternalServerErrorImage,\n errorKey: \"neetoMolecules.errorPage.internalServerError\",\n titleKey: \"neetoMolecules.errorPage.title.internalServerError\",\n },\n};\n","import { useEffect } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport DOMPurify from \"dompurify\";\nimport { useErrorDisplayStore } from \"neetocommons/v2/react-utils/useDisplayErrorPage\";\nimport PropTypes from \"prop-types\";\nimport { Helmet } from \"react-helmet\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { ERRORS } from \"./constants\";\n\nconst sanitize = DOMPurify.sanitize;\n\nconst ErrorPage = ({\n homeUrl = \"/\",\n status,\n backToHomeButtonProps,\n children,\n showNeetoChatWidget = true,\n description,\n title,\n hideBackToHomeButton = false,\n}) => {\n const { t } = useTranslation();\n const { statusCode: storeStatusCode, showErrorPage } =\n useErrorDisplayStore.pick();\n\n status = status || storeStatusCode;\n const { Image, errorKey, titleKey } = ERRORS[status] || ERRORS[404];\n\n useEffect(() => {\n const pageLoader = document.getElementById(\"neeto-page-loader\");\n if (pageLoader) pageLoader.remove();\n\n const onBackButtonPress = () => {\n if (!showErrorPage) return;\n useErrorDisplayStore.setState({ showErrorPage: false });\n };\n\n window.addEventListener(\"popstate\", onBackButtonPress);\n\n return () => {\n window.removeEventListener(\"popstate\", onBackButtonPress);\n };\n }, []);\n\n const openChatWidget = () => {\n window.NeetoChat?.contextualHelp?.maximizeWidget();\n window.NeetoChat?.contextualHelp?.openWidget();\n };\n\n return (\n <div\n className=\"@container/error-page flex min-h-dvh w-full flex-col items-center justify-center\"\n data-testid=\"error-page-container\"\n >\n <div className=\"flex w-[768px] max-w-full flex-col gap-8 p-4 @[768px]/error-page:flex-row @[768px]/error-page:gap-12 @[768px]/error-page:p-6\">\n <Image\n className=\"dark:[&_path]:fill-foreground w-full max-w-[180px] shrink-0 @[768px]/error-page:max-w-[240px]\"\n data-testid=\"error-image\"\n />\n <div className=\"flex flex-col justify-center md:min-w-0 md:flex-grow\">\n <Helmet>\n <title>{t(titleKey)}</title>\n </Helmet>\n <Typography\n className=\"mb-4\"\n data-testid=\"title\"\n variant=\"h3\"\n weight=\"semibold\"\n >\n {title || <Trans i18nKey={errorKey} />}\n </Typography>\n {!!description && (\n <Typography\n className=\"mb-4\"\n dangerouslySetInnerHTML={{ __html: sanitize(description) }}\n data-testid=\"description\"\n variant=\"body1\"\n />\n )}\n {showNeetoChatWidget && (\n <Typography className=\"mb-6\" data-testid=\"title\" variant=\"body1\">\n <Trans\n i18nKey=\"neetoMolecules.errorPage.contactUs\"\n components={{\n button: (\n <Button\n className=\"h-auto p-0 text-[inherit]\"\n variant=\"link\"\n onClick={openChatWidget}\n />\n ),\n }}\n />\n </Typography>\n )}\n <div className=\"flex flex-col items-start gap-3 [&_a]:no-underline\">\n {!hideBackToHomeButton && (\n <Button\n asChild\n size=\"lg\"\n variant=\"default\"\n {...backToHomeButtonProps}\n >\n <a href={homeUrl}>{t(\"neetoMolecules.errorPage.backToHome\")}</a>\n </Button>\n )}\n {children}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nErrorPage.propTypes = {\n /**\n * The URL to which the user will be taken to when user clicks on back to home button.\n */\n homeUrl: PropTypes.string,\n /**\n * The status code of the error.\n */\n status: PropTypes.oneOf([403, 404, 500]),\n /**\n * Decides whether 'contact us' link should be displayed or not.\n */\n showNeetoChatWidget: PropTypes.bool,\n /**\n * Description about the error.\n */\n description: PropTypes.string,\n /**\n * Decides whether 'back to home' button should be displayed or not.\n */\n hideBackToHomeButton: PropTypes.bool,\n /**\n * The title of the error page.\n */\n title: PropTypes.string,\n};\n\nexport default ErrorPage;\n"],"names":["ERRORS","Image","PageNotFoundImage","errorKey","titleKey","UnauthorizedImage","InternalServerErrorImage","sanitize","DOMPurify","ErrorPage","_ref","_ref$homeUrl","homeUrl","status","backToHomeButtonProps","children","_ref$showNeetoChatWid","showNeetoChatWidget","description","title","_ref$hideBackToHomeBu","hideBackToHomeButton","_useTranslation","useTranslation","t","_useErrorDisplayStore","useErrorDisplayStore","useShallow","store","statusCode","showErrorPage","storeStatusCode","_ref2","useEffect","pageLoader","document","getElementById","remove","onBackButtonPress","setState","window","addEventListener","removeEventListener","openChatWidget","_window$NeetoChat","_window$NeetoChat2","NeetoChat","contextualHelp","maximizeWidget","openWidget","_jsx","className","_jsxs","Helmet","Typography","variant","weight","Trans","i18nKey","dangerouslySetInnerHTML","__html","components","button","Button","onClick","_objectSpread","asChild","size","href"],"mappings":"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"}