@bigbinary/neeto-molecules 4.3.0 → 4.3.2

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 (201) 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/ar.json +4 -2
  147. package/src/translations/bg.json +4 -2
  148. package/src/translations/ca.json +4 -2
  149. package/src/translations/cs.json +4 -2
  150. package/src/translations/da.json +4 -2
  151. package/src/translations/de.json +4 -2
  152. package/src/translations/en.json +4 -2
  153. package/src/translations/es-MX.json +4 -2
  154. package/src/translations/es.json +4 -2
  155. package/src/translations/et.json +4 -2
  156. package/src/translations/fi.json +4 -2
  157. package/src/translations/fil.json +4 -2
  158. package/src/translations/fr.json +4 -2
  159. package/src/translations/he.json +4 -2
  160. package/src/translations/hi.json +4 -2
  161. package/src/translations/hr.json +4 -2
  162. package/src/translations/hu.json +4 -2
  163. package/src/translations/id.json +4 -2
  164. package/src/translations/it.json +4 -2
  165. package/src/translations/ja.json +4 -2
  166. package/src/translations/ko.json +4 -2
  167. package/src/translations/nl.json +4 -2
  168. package/src/translations/pl.json +4 -2
  169. package/src/translations/pt-BR.json +4 -2
  170. package/src/translations/pt.json +4 -2
  171. package/src/translations/ro.json +4 -2
  172. package/src/translations/ru.json +4 -2
  173. package/src/translations/sk.json +4 -2
  174. package/src/translations/sl.json +4 -2
  175. package/src/translations/sv.json +4 -2
  176. package/src/translations/th.json +4 -2
  177. package/src/translations/tr.json +4 -2
  178. package/src/translations/uk.json +4 -2
  179. package/src/translations/vi.json +4 -2
  180. package/src/translations/zh-CN.json +4 -2
  181. package/src/translations/zh-TW.json +4 -2
  182. package/types/v2/BoardView.d.ts +27 -0
  183. package/types/v2/CalendarView.d.ts +40 -0
  184. package/types/v2/DateFormat.d.ts +19 -0
  185. package/types/v2/DocumentEditor.d.ts +20 -0
  186. package/types/v2/EmojiPicker.d.ts +14 -0
  187. package/types/v2/Engagements.d.ts +50 -0
  188. package/types/v2/FileUpload.d.ts +30 -0
  189. package/types/v2/FinderModal.d.ts +24 -0
  190. package/types/v2/InlineInput.d.ts +28 -0
  191. package/types/v2/NavigationHeader.d.ts +80 -0
  192. package/types/v2/PublishBlock.d.ts +39 -0
  193. package/types/v2/Rename.d.ts +33 -0
  194. package/types/v2/Scrollable.d.ts +15 -0
  195. package/types/v2/TimeFormat.d.ts +17 -0
  196. package/dist/Columns-DpeV3Jzz.js.map +0 -1
  197. package/dist/ConfigureView-B0UvLoJe.js.map +0 -1
  198. package/dist/cjs/Columns-C2ke8N58.js.map +0 -1
  199. package/dist/cjs/ConfigureView-Coy1ViRc.js.map +0 -1
  200. package/dist/cjs/useKeyboardShortcutsPaneState-BG_xVteC.js.map +0 -1
  201. package/dist/useKeyboardShortcutsPaneState-dNIbb_PI.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CopyToClipboardButton.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/check.js","../../../node_modules/lucide-react/dist/esm/icons/copy.js","../../../src/v2/components/CopyToClipboardButton/constants.js","../../../src/v2/components/CopyToClipboardButton/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 = [[\"path\", { d: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]];\nconst Check = createLucideIcon(\"check\", __iconNode);\n\nexport { __iconNode, Check as default };\n//# sourceMappingURL=check.js.map\n","/**\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 [\"rect\", { width: \"14\", height: \"14\", x: \"8\", y: \"8\", rx: \"2\", ry: \"2\", key: \"17jyea\" }],\n [\"path\", { d: \"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\", key: \"zix9uf\" }]\n];\nconst Copy = createLucideIcon(\"copy\", __iconNode);\n\nexport { __iconNode, Copy as default };\n//# sourceMappingURL=copy.js.map\n","const TIME_OUT = 2000;\n\nexport { TIME_OUT };\n","import { useState, useEffect, useLayoutEffect, useRef } from \"react\";\n\nimport { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Copy, Check } from \"lucide-react\";\nimport { copyToClipboard } from \"neetocommons/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TIME_OUT } from \"./constants\";\n\nconst CopyToClipboardButton = ({\n className,\n icon: Icon = Copy,\n label = \"\",\n successLabel,\n tooltipContent,\n successTooltipContent,\n value,\n variant = \"outline\",\n size,\n tooltipProps,\n onClick,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const [isChecked, setIsChecked] = useState(false);\n\n const ref = useRef();\n const timerRef = useRef();\n\n const resolvedSize = size || (label ? \"default\" : \"icon\");\n\n const onHandleClick = event => {\n event.preventDefault();\n event.stopPropagation();\n\n if (onClick) onClick(event);\n else copyToClipboard(value, { showToastr: false });\n\n clearTimeout(timerRef.current);\n setIsChecked(true);\n timerRef.current = setTimeout(() => {\n setIsChecked(false);\n }, TIME_OUT);\n };\n\n useEffect(() => () => clearTimeout(timerRef.current), []);\n\n useLayoutEffect(() => {\n if (!ref.current) return;\n ref.current.style.minWidth = \"\";\n const buttonWidth = ref.current.clientWidth;\n ref.current.style.minWidth = `${buttonWidth}px`;\n }, [resolvedSize, label]);\n\n const currentTooltipContent = isChecked\n ? successTooltipContent || t(\"neetoMolecules.common.copied\")\n : tooltipContent || t(\"neetoMolecules.common.copy\");\n\n const buttonLabel =\n isChecked && label\n ? successLabel || t(\"neetoMolecules.common.copied\")\n : label;\n const ButtonIcon = isChecked ? Check : Icon;\n\n const button = (\n <Button\n {...{ ref }}\n className={classnames(isChecked && \"nv-copy-button-active\", className)}\n data-testid=\"copy-to-clipboard-button\"\n icon={ButtonIcon}\n iconPosition=\"left\"\n label={buttonLabel || undefined}\n size={resolvedSize}\n variant={isChecked ? \"default\" : variant}\n onClick={onHandleClick}\n {...otherProps}\n />\n );\n\n if (label) return button;\n\n return (\n <Tooltip content={currentTooltipContent} position=\"top\" {...tooltipProps}>\n {button}\n </Tooltip>\n );\n};\n\nCopyToClipboardButton.propTypes = {\n className: PropTypes.string,\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n label: PropTypes.string,\n successLabel: PropTypes.string,\n value: PropTypes.string,\n variant: PropTypes.string,\n size: PropTypes.string,\n tooltipContent: PropTypes.string,\n successTooltipContent: PropTypes.string,\n};\n\nexport default CopyToClipboardButton;\n"],"names":["__iconNode","createLucideIcon","TIME_OUT","CopyToClipboardButton","_ref","className","_ref$icon","icon","Icon","Copy","_ref$label","label","successLabel","tooltipContent","successTooltipContent","value","_ref$variant","variant","size","tooltipProps","onClick","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isChecked","setIsChecked","ref","useRef","timerRef","resolvedSize","onHandleClick","event","preventDefault","stopPropagation","copyToClipboard","showToastr","clearTimeout","current","setTimeout","useEffect","useLayoutEffect","style","minWidth","buttonWidth","clientWidth","concat","currentTooltipContent","buttonLabel","ButtonIcon","Check","button","_jsx","Button","_objectSpread","classnames","iconPosition","undefined","Tooltip","content","position","children"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"CopyToClipboardButton.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/copy.js","../../../src/v2/components/CopyToClipboardButton/constants.js","../../../src/v2/components/CopyToClipboardButton/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 [\"rect\", { width: \"14\", height: \"14\", x: \"8\", y: \"8\", rx: \"2\", ry: \"2\", key: \"17jyea\" }],\n [\"path\", { d: \"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\", key: \"zix9uf\" }]\n];\nconst Copy = createLucideIcon(\"copy\", __iconNode);\n\nexport { __iconNode, Copy as default };\n//# sourceMappingURL=copy.js.map\n","const TIME_OUT = 2000;\n\nexport { TIME_OUT };\n","import { useState, useEffect, useLayoutEffect, useRef } from \"react\";\n\nimport { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Copy, Check } from \"lucide-react\";\nimport { copyToClipboard } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TIME_OUT } from \"./constants\";\n\nconst CopyToClipboardButton = ({\n className,\n icon: Icon = Copy,\n label = \"\",\n successLabel,\n tooltipContent,\n successTooltipContent,\n value,\n variant = \"outline\",\n size,\n tooltipProps,\n onClick,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const [isChecked, setIsChecked] = useState(false);\n\n const ref = useRef();\n const timerRef = useRef();\n\n const resolvedSize = size || (label ? \"default\" : \"icon\");\n\n const onHandleClick = event => {\n event.preventDefault();\n event.stopPropagation();\n\n if (onClick) onClick(event);\n else copyToClipboard(value, { showToastr: false });\n\n clearTimeout(timerRef.current);\n setIsChecked(true);\n timerRef.current = setTimeout(() => {\n setIsChecked(false);\n }, TIME_OUT);\n };\n\n useEffect(() => () => clearTimeout(timerRef.current), []);\n\n useLayoutEffect(() => {\n if (!ref.current) return;\n ref.current.style.minWidth = \"\";\n const buttonWidth = ref.current.clientWidth;\n ref.current.style.minWidth = `${buttonWidth}px`;\n }, [resolvedSize, label]);\n\n const currentTooltipContent = isChecked\n ? successTooltipContent || t(\"neetoMolecules.common.copied\")\n : tooltipContent || t(\"neetoMolecules.common.copy\");\n\n const buttonLabel =\n isChecked && label\n ? successLabel || t(\"neetoMolecules.common.copied\")\n : label;\n const ButtonIcon = isChecked ? Check : Icon;\n\n const button = (\n <Button\n {...{ ref }}\n className={classnames(isChecked && \"nv-copy-button-active\", className)}\n data-testid=\"copy-to-clipboard-button\"\n icon={ButtonIcon}\n iconPosition=\"left\"\n label={buttonLabel || undefined}\n size={resolvedSize}\n variant={isChecked ? \"default\" : variant}\n onClick={onHandleClick}\n {...otherProps}\n />\n );\n\n if (label) return button;\n\n return (\n <Tooltip content={currentTooltipContent} position=\"top\" {...tooltipProps}>\n {button}\n </Tooltip>\n );\n};\n\nCopyToClipboardButton.propTypes = {\n className: PropTypes.string,\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n label: PropTypes.string,\n successLabel: PropTypes.string,\n value: PropTypes.string,\n variant: PropTypes.string,\n size: PropTypes.string,\n tooltipContent: PropTypes.string,\n successTooltipContent: PropTypes.string,\n};\n\nexport default CopyToClipboardButton;\n"],"names":["createLucideIcon","TIME_OUT","CopyToClipboardButton","_ref","className","_ref$icon","icon","Icon","Copy","_ref$label","label","successLabel","tooltipContent","successTooltipContent","value","_ref$variant","variant","size","tooltipProps","onClick","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isChecked","setIsChecked","ref","useRef","timerRef","resolvedSize","onHandleClick","event","preventDefault","stopPropagation","copyToClipboard","showToastr","clearTimeout","current","setTimeout","useEffect","useLayoutEffect","style","minWidth","buttonWidth","clientWidth","concat","currentTooltipContent","buttonLabel","ButtonIcon","Check","button","_jsx","Button","_objectSpread","classnames","iconPosition","undefined","Tooltip","content","position","children"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAM,UAAU,GAAG;AACnB,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC1F,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,yDAAyD,EAAE,GAAG,EAAE,QAAQ,EAAE;AAC1F,CAAC;AACD,MAAM,IAAI,GAAGA,iCAAgB,CAAC,MAAM,EAAE,UAAU,CAAC;;ACbjD,IAAMC,QAAQ,GAAG,IAAI;;;;;ACWrB,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,IAAA,EAarB;AAAA,EAAA,IAZJC,SAAS,GAAAD,IAAA,CAATC,SAAS;IAAAC,SAAA,GAAAF,IAAA,CACTG,IAAI;AAAEC,IAAAA,IAAI,GAAAF,SAAA,KAAA,MAAA,GAAGG,IAAI,GAAAH,SAAA;IAAAI,UAAA,GAAAN,IAAA,CACjBO,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,UAAA;IACVE,YAAY,GAAAR,IAAA,CAAZQ,YAAY;IACZC,cAAc,GAAAT,IAAA,CAAdS,cAAc;IACdC,qBAAqB,GAAAV,IAAA,CAArBU,qBAAqB;IACrBC,KAAK,GAAAX,IAAA,CAALW,KAAK;IAAAC,YAAA,GAAAZ,IAAA,CACLa,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,SAAS,GAAAA,YAAA;IACnBE,IAAI,GAAAd,IAAA,CAAJc,IAAI;IACJC,YAAY,GAAAf,IAAA,CAAZe,YAAY;IACZC,OAAO,GAAAhB,IAAA,CAAPgB,OAAO;AACJC,IAAAA,UAAU,GAAAC,wBAAA,CAAAlB,IAAA,EAAAmB,SAAA,CAAA;AAEb,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAAC,SAAA,GAAkCC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA1CI,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,YAAY,GAAAH,UAAA,CAAA,CAAA,CAAA;AAE9B,EAAA,IAAMI,GAAG,GAAGC,YAAM,EAAE;AACpB,EAAA,IAAMC,QAAQ,GAAGD,YAAM,EAAE;EAEzB,IAAME,YAAY,GAAGlB,IAAI,KAAKP,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzD,EAAA,IAAM0B,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,KAAK,EAAI;IAC7BA,KAAK,CAACC,cAAc,EAAE;IACtBD,KAAK,CAACE,eAAe,EAAE;IAEvB,IAAIpB,OAAO,EAAEA,OAAO,CAACkB,KAAK,CAAC,CAAC,KACvBG,uBAAe,CAAC1B,KAAK,EAAE;AAAE2B,MAAAA,UAAU,EAAE;AAAM,KAAC,CAAC;AAElDC,IAAAA,YAAY,CAACR,QAAQ,CAACS,OAAO,CAAC;IAC9BZ,YAAY,CAAC,IAAI,CAAC;AAClBG,IAAAA,QAAQ,CAACS,OAAO,GAAGC,UAAU,CAAC,YAAM;MAClCb,YAAY,CAAC,KAAK,CAAC;IACrB,CAAC,EAAE9B,QAAQ,CAAC;EACd,CAAC;AAED4C,EAAAA,eAAS,CAAC,YAAA;IAAA,OAAM,YAAA;AAAA,MAAA,OAAMH,YAAY,CAACR,QAAQ,CAACS,OAAO,CAAC;AAAA,IAAA,CAAA;AAAA,EAAA,CAAA,EAAE,EAAE,CAAC;AAEzDG,EAAAA,qBAAe,CAAC,YAAM;AACpB,IAAA,IAAI,CAACd,GAAG,CAACW,OAAO,EAAE;AAClBX,IAAAA,GAAG,CAACW,OAAO,CAACI,KAAK,CAACC,QAAQ,GAAG,EAAE;AAC/B,IAAA,IAAMC,WAAW,GAAGjB,GAAG,CAACW,OAAO,CAACO,WAAW;IAC3ClB,GAAG,CAACW,OAAO,CAACI,KAAK,CAACC,QAAQ,GAAA,EAAA,CAAAG,MAAA,CAAMF,WAAW,EAAA,IAAA,CAAI;AACjD,EAAA,CAAC,EAAE,CAACd,YAAY,EAAEzB,KAAK,CAAC,CAAC;AAEzB,EAAA,IAAM0C,qBAAqB,GAAGtB,SAAS,GACnCjB,qBAAqB,IAAIY,CAAC,CAAC,8BAA8B,CAAC,GAC1Db,cAAc,IAAIa,CAAC,CAAC,4BAA4B,CAAC;AAErD,EAAA,IAAM4B,WAAW,GACfvB,SAAS,IAAIpB,KAAK,GACdC,YAAY,IAAIc,CAAC,CAAC,8BAA8B,CAAC,GACjDf,KAAK;AACX,EAAA,IAAM4C,UAAU,GAAGxB,SAAS,GAAGyB,WAAK,GAAGhD,IAAI;AAE3C,EAAA,IAAMiD,MAAM,gBACVC,cAAA,CAACC,iBAAM,EAAAC,aAAA,CAAA;AACC3B,IAAAA,GAAG,EAAHA,GAAG;IACT5B,SAAS,EAAEwD,UAAU,CAAC9B,SAAS,IAAI,uBAAuB,EAAE1B,SAAS,CAAE;AACvE,IAAA,aAAA,EAAY,0BAA0B;AACtCE,IAAAA,IAAI,EAAEgD,UAAW;AACjBO,IAAAA,YAAY,EAAC,MAAM;IACnBnD,KAAK,EAAE2C,WAAW,IAAIS,SAAU;AAChC7C,IAAAA,IAAI,EAAEkB,YAAa;AACnBnB,IAAAA,OAAO,EAAEc,SAAS,GAAG,SAAS,GAAGd,OAAQ;AACzCG,IAAAA,OAAO,EAAEiB;GAAc,EACnBhB,UAAU,CACf,CACF;EAED,IAAIV,KAAK,EAAE,OAAO8C,MAAM;AAExB,EAAA,oBACEC,cAAA,CAACM,kBAAO,EAAAJ,aAAA,CAAAA,aAAA,CAAA;AAACK,IAAAA,OAAO,EAAEZ,qBAAsB;AAACa,IAAAA,QAAQ,EAAC;AAAK,GAAA,EAAK/C,YAAY,CAAA,EAAA,EAAA,EAAA;AAAAgD,IAAAA,QAAA,EACrEV;AAAM,GAAA,CACA,CAAC;AAEd;;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,42 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
5
+ var neetoCist = require('@bigbinary/neeto-cist');
6
+ var useTimer = require('@bigbinary/neeto-commons-frontend/v2/react-utils/useTimer');
7
+ var datetime = require('@bigbinary/neeto-commons-frontend/v2/utils/datetime');
8
+ var ramda = require('ramda');
9
+ var jsxRuntime = require('react/jsx-runtime');
10
+
11
+ 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; }
12
+ 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; }
13
+ var DateFormat = ramda.fromPairs(ramda.keys(datetime.timeFormat).map(function (key) {
14
+ return [neetoCist.capitalize(key), function (_ref) {
15
+ var date = _ref.date,
16
+ _ref$timerInterval = _ref.timerInterval,
17
+ timerInterval = _ref$timerInterval === void 0 ? 60 : _ref$timerInterval,
18
+ _ref$tooltipProps = _ref.tooltipProps,
19
+ tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps,
20
+ _ref$typographyProps = _ref.typographyProps,
21
+ typographyProps = _ref$typographyProps === void 0 ? {} : _ref$typographyProps,
22
+ _ref$tooltipDateForma = _ref.tooltipDateFormat,
23
+ tooltipDateFormat = _ref$tooltipDateForma === void 0 ? "extended" : _ref$tooltipDateForma;
24
+ useTimer(timerInterval);
25
+ return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Tooltip, _objectSpread(_objectSpread({
26
+ interactive: true,
27
+ content: datetime.timeFormat[tooltipDateFormat](date),
28
+ disabled: key === tooltipDateFormat,
29
+ position: "top"
30
+ }, tooltipProps), {}, {
31
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, _objectSpread(_objectSpread({
32
+ as: "span",
33
+ variant: "body3"
34
+ }, typographyProps), {}, {
35
+ children: datetime.timeFormat[key](date)
36
+ }))
37
+ }));
38
+ }];
39
+ }));
40
+
41
+ module.exports = DateFormat;
42
+ //# sourceMappingURL=DateFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateFormat.js","sources":["../../../src/v2/components/DateFormat.jsx"],"sourcesContent":["import { Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport { capitalize } from \"neetocist\";\nimport useTimer from \"neetocommons/v2/react-utils/useTimer\";\nimport { timeFormat } from \"neetocommons/v2/utils/datetime\";\nimport PropTypes from \"prop-types\";\nimport { fromPairs, keys } from \"ramda\";\n\nconst DateFormat = fromPairs(\n keys(timeFormat).map(key => [\n capitalize(key),\n ({\n date,\n timerInterval = 60,\n tooltipProps = {},\n typographyProps = {},\n tooltipDateFormat = \"extended\",\n }) => {\n useTimer(timerInterval);\n\n return (\n <Tooltip\n interactive\n content={timeFormat[tooltipDateFormat](date)}\n disabled={key === tooltipDateFormat}\n position=\"top\"\n {...tooltipProps}\n >\n <Typography as=\"span\" variant=\"body3\" {...typographyProps}>\n {timeFormat[key](date)}\n </Typography>\n </Tooltip>\n );\n },\n ])\n);\n\nDateFormat.propTypes = {\n /**\n * The date object to be formatted.\n */\n date: PropTypes.instanceOf(Date),\n /**\n * This prop will be used to re-render the component in every `timerInterval` seconds to show updated relative time.\n */\n timerInterval: PropTypes.number,\n /**\n * This prop will accept a string to set the format corresponding to\n * [dateFormat](https://github.com/bigbinary/neeto-commons-frontend/blob/main/docs/utils/dateFormat.md)\n * options from `neeto-commons-frontend`.\n */\n tooltipDateFormat: PropTypes.string,\n /**\n * This prop will be forwarded to the atoms Tooltip component. Default position is \"top\".\n */\n tooltipProps: PropTypes.object,\n /**\n * Props forwarded to the atoms `Typography` component (renders as `<span>`\n * with `variant=\"body3\"` by default). Accepts `variant`, `weight`, `color`,\n * `lineClamp`, `className`, `as`, etc.\n */\n typographyProps: PropTypes.object,\n};\n\nexport default DateFormat;\n"],"names":["DateFormat","fromPairs","keys","timeFormat","map","key","capitalize","_ref","date","_ref$timerInterval","timerInterval","_ref$tooltipProps","tooltipProps","_ref$typographyProps","typographyProps","_ref$tooltipDateForma","tooltipDateFormat","useTimer","_jsx","Tooltip","_objectSpread","interactive","content","disabled","position","children","Typography","as","variant"],"mappings":";;;;;;;;;;;;AAOA,IAAMA,UAAU,GAAGC,eAAS,CAC1BC,UAAI,CAACC,mBAAU,CAAC,CAACC,GAAG,CAAC,UAAAC,GAAG,EAAA;EAAA,OAAI,CAC1BC,oBAAU,CAACD,GAAG,CAAC,EACf,UAAAE,IAAA,EAMM;AAAA,IAAA,IALJC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAAC,kBAAA,GAAAF,IAAA,CACJG,aAAa;AAAbA,MAAAA,aAAa,GAAAD,kBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,kBAAA;MAAAE,iBAAA,GAAAJ,IAAA,CAClBK,YAAY;AAAZA,MAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,iBAAA;MAAAE,oBAAA,GAAAN,IAAA,CACjBO,eAAe;AAAfA,MAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,oBAAA;MAAAE,qBAAA,GAAAR,IAAA,CACpBS,iBAAiB;AAAjBA,MAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,UAAU,GAAAA,qBAAA;IAE9BE,QAAQ,CAACP,aAAa,CAAC;AAEvB,IAAA,oBACEQ,cAAA,CAACC,kBAAO,EAAAC,aAAA,CAAAA,aAAA,CAAA;MACNC,WAAW,EAAA,IAAA;AACXC,MAAAA,OAAO,EAAEnB,mBAAU,CAACa,iBAAiB,CAAC,CAACR,IAAI,CAAE;MAC7Ce,QAAQ,EAAElB,GAAG,KAAKW,iBAAkB;AACpCQ,MAAAA,QAAQ,EAAC;AAAK,KAAA,EACVZ,YAAY,CAAA,EAAA,EAAA,EAAA;AAAAa,MAAAA,QAAA,eAEhBP,cAAA,CAACQ,qBAAU,EAAAN,aAAA,CAAAA,aAAA,CAAA;AAACO,QAAAA,EAAE,EAAC,MAAM;AAACC,QAAAA,OAAO,EAAC;AAAO,OAAA,EAAKd,eAAe,CAAA,EAAA,EAAA,EAAA;AAAAW,QAAAA,QAAA,EACtDtB,mBAAU,CAACE,GAAG,CAAC,CAACG,IAAI;OAAC,CACZ;AAAC,KAAA,CACN,CAAC;AAEd,EAAA,CAAC,CACF;AAAA,CAAA,CACH;;;;"}
@@ -0,0 +1,329 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
+ var React = require('react');
6
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
7
+ var formik$1 = require('@bigbinary/neeto-atoms/formik');
8
+ var classnames = require('classnames');
9
+ var formik = require('formik');
10
+ var neetoCist = require('@bigbinary/neeto-cist');
11
+ var FormikEditor = require('@bigbinary/neeto-editor/FormikEditor');
12
+ var ramda = require('ramda');
13
+ var reactI18next = require('react-i18next');
14
+ var injectCss = require('../inject-css-B6qYtOJe.js');
15
+ var useHotkeys = require('@bigbinary/neeto-hotkeys');
16
+ var ImageUploader = require('@bigbinary/neeto-image-uploader-frontend/ImageUploader');
17
+ var jsxRuntime = require('react/jsx-runtime');
18
+ var i18next = require('i18next');
19
+ var createLucideIcon = require('../createLucideIcon-DBDhE7kE.js');
20
+ var ellipsis = require('../ellipsis-BcfLTtl5.js');
21
+
22
+ /**
23
+ * @license lucide-react v1.7.0 - ISC
24
+ *
25
+ * This source code is licensed under the ISC license.
26
+ * See the LICENSE file in the root directory of this source tree.
27
+ */
28
+
29
+
30
+ const __iconNode = [
31
+ ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }],
32
+ ["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }],
33
+ ["path", { d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21", key: "1xmnt7" }]
34
+ ];
35
+ const Image = createLucideIcon.createLucideIcon("image", __iconNode);
36
+
37
+ var EDITOR_ADDONS = ["highlight", "emoji", "video-upload", "code-block", "block-quote", "image-upload", "image-upload-unsplash", "divider", "video-embed", "undo", "redo", "table", "callout"];
38
+ var DEFAULT_EDITOR_PROPS = {
39
+ isMenuIndependent: true,
40
+ addons: [],
41
+ size: "medium"
42
+ };
43
+ var IMAGE_UPLOAD_CONFIG = {
44
+ maxImageSize: 1,
45
+ allowedImageTypes: {
46
+ "image/jpg": [".jpg", ".jpeg"],
47
+ "image/png": [".png"],
48
+ "image/svg": [".svg"]
49
+ }
50
+ };
51
+
52
+ var css = ".nm-document-editor__wrapper{color:var(--foreground);height:100%}@media screen and (max-width:768px){.nm-document-editor__wrapper{width:100%}}.nm-document-editor__container{margin:0 auto;max-width:48rem!important;width:100%}.nm-document-editor__menubar{background-color:var(--background);position:sticky;top:0;width:100%;z-index:20}.nm-document-editor__menubar .neeto-editor-fixed-menu,.nm-document-editor__menubar.neeto-editor-fixed-menu{width:100%}.nm-document-editor__title{margin-top:1.5rem;width:100%}.nm-document-editor__title textarea{background-color:transparent;color:var(--foreground);font-size:2.625rem;font-weight:700;line-height:3rem;max-height:none;padding:0;resize:none}.nm-document-editor__title textarea,.nm-document-editor__title textarea:focus-visible,.nm-document-editor__title textarea[aria-invalid=true],.nm-document-editor__title textarea[aria-invalid=true]:focus-visible{--tw-ring-shadow:0 0 #0000!important;--tw-ring-color:transparent!important;border-color:transparent!important;box-shadow:none!important}.nm-document-editor__title textarea::-moz-placeholder{color:var(--muted-foreground);opacity:.5}.nm-document-editor__title textarea::placeholder{color:var(--muted-foreground);opacity:.5}@media screen and (max-width:1024px){.nm-document-editor__title textarea{font-size:2rem;line-height:1.25}}.nm-document-editor__error{margin:.75rem auto}.nm-document-editor__thumbnail{background-color:var(--muted);border-radius:.5rem;overflow:hidden;padding-bottom:56.25%;position:relative;width:100%}.nm-document-editor__thumbnail img{height:100%;inset-inline-start:0;-o-object-fit:cover;object-fit:cover;position:absolute;top:0;width:100%}.nm-document-editor__wrapper .neeto-editor-fixed-menu{background-color:transparent;border-bottom:1px solid var(--border);border-inline-end:0;border-inline-start:0;border-radius:0;border-top:1px solid var(--border);width:100%}.nm-document-editor__wrapper .neeto-editor-fixed-menu__wrapper{align-items:center;display:flex;gap:2px;margin:0 auto;max-width:46.875rem;padding:.375rem 0;padding-inline-end:0!important;padding-inline-start:0!important;width:100%}.nm-document-editor__wrapper .neeto-editor-fixed-menu__wrapper button.neeto-editor-fixed-menu__item{align-items:center;background-color:transparent;border:0;border-radius:.375rem;color:var(--foreground);cursor:pointer;display:inline-flex;flex-shrink:0;height:1.75rem;justify-content:center;min-width:1.75rem;padding:0 .375rem;transition:background-color .15s ease,color .15s ease}.nm-document-editor__wrapper .neeto-editor-fixed-menu__wrapper button.neeto-editor-fixed-menu__item.is-active,.nm-document-editor__wrapper .neeto-editor-fixed-menu__wrapper button.neeto-editor-fixed-menu__item:hover,.nm-document-editor__wrapper .neeto-editor-fixed-menu__wrapper button.neeto-editor-fixed-menu__item[aria-pressed=true],.nm-document-editor__wrapper .neeto-editor-fixed-menu__wrapper button.neeto-editor-fixed-menu__item[data-active=true]{background-color:var(--accent);color:var(--accent-foreground)}.nm-document-editor__wrapper .neeto-editor-fixed-menu__wrapper button.neeto-editor-fixed-menu__item:disabled{cursor:not-allowed;opacity:.4}.nm-document-editor__wrapper .neeto-editor-fixed-menu__wrapper button.neeto-editor-fixed-menu__item svg{height:1rem;width:1rem}@media screen and (max-width:768px){.nm-document-editor__wrapper .neeto-editor-fixed-menu__wrapper{overflow-x:auto;padding:.375rem .5rem}.nm-document-editor__wrapper button.neeto-editor-fixed-menu__item{padding:0 .25rem}}.nm-document-editor__wrapper .ProseMirror{flex-grow:1;height:auto;max-height:none;outline:none;overflow-y:hidden}.nm-document-editor__wrapper .ProseMirror p.is-editor-empty:first-child:before{color:var(--muted-foreground);content:attr(data-placeholder);float:left;height:0;opacity:.5;pointer-events:none}.nm-document-editor__wrapper .editor-content__wrapper{border:none!important;padding:.75rem 1.5rem 2rem!important;width:100%!important}.nm-document-editor__wrapper .editor-content-attachments{border:none;margin:.75rem auto 0;max-width:48rem!important;padding-inline-end:1rem;padding-inline-start:1rem}.nm-document-editor__wrapper .editor-content-attachments--no-attachments{display:none!important}.nm-document-editor__wrapper .neeto-editor-character-count{color:var(--muted-foreground);font-size:.75rem;margin:0 auto;max-width:48rem!important;padding-inline-end:1rem;padding-inline-start:1rem}.nm-document-editor__wrapper .ne-attachments__wrapper{width:100%}.nm-document-editor__wrapper ins{background-color:#c1f4cb!important;text-decoration:none!important}.nm-document-editor__wrapper del{background-color:#faa!important}";
53
+ injectCss.n(css,{});
54
+
55
+ var useEditor = function useEditor(_ref) {
56
+ var onContentChange = _ref.onContentChange,
57
+ editorContentFieldName = _ref.editorContentFieldName,
58
+ onAttachmentChange = _ref.onAttachmentChange,
59
+ onTitleChange = _ref.onTitleChange,
60
+ titleFieldName = _ref.titleFieldName,
61
+ editorRef = _ref.editorRef,
62
+ titleRef = _ref.titleRef;
63
+ var _useFormikContext = formik.useFormikContext(),
64
+ setFieldValue = _useFormikContext.setFieldValue,
65
+ errors = _useFormikContext.errors;
66
+ var handleContentChange = React.useCallback(function (content) {
67
+ setFieldValue(editorContentFieldName, content);
68
+ onContentChange === null || onContentChange === void 0 || onContentChange(content);
69
+ }, [editorContentFieldName, onContentChange, setFieldValue]);
70
+ var handleAttachmentChange = React.useCallback(function (attachments) {
71
+ setFieldValue("attachments", attachments);
72
+ onAttachmentChange === null || onAttachmentChange === void 0 || onAttachmentChange(attachments);
73
+ }, [onAttachmentChange, setFieldValue]);
74
+ var handleTitleChange = function handleTitleChange(event) {
75
+ var title = event.target.value;
76
+ setFieldValue(titleFieldName, title);
77
+ onTitleChange === null || onTitleChange === void 0 || onTitleChange(title);
78
+ };
79
+ var handleEditorBackspaceKeypress = function handleEditorBackspaceKeypress() {
80
+ var _editorRef$current, _editor$state;
81
+ var editor = (_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 ? void 0 : _editorRef$current.editor;
82
+ var selection = editor === null || editor === void 0 || (_editor$state = editor.state) === null || _editor$state === void 0 ? void 0 : _editor$state.selection;
83
+ if (editor !== null && editor !== void 0 && editor.isFocused && neetoCist.isPresent(titleRef.current) && (selection === null || selection === void 0 ? void 0 : selection.anchor) === 1) {
84
+ var title = titleRef.current.value;
85
+ titleRef.current.focus();
86
+ titleRef.current.setSelectionRange(title === null || title === void 0 ? void 0 : title.length, title === null || title === void 0 ? void 0 : title.length);
87
+ }
88
+ };
89
+ var titleHotkeyRef = useHotkeys("return", function () {
90
+ var _editorRef$current2, _editorRef$current3;
91
+ (_editorRef$current2 = editorRef.current) === null || _editorRef$current2 === void 0 || (_editorRef$current2 = _editorRef$current2.editor) === null || _editorRef$current2 === void 0 || (_editorRef$current2 = _editorRef$current2.commands) === null || _editorRef$current2 === void 0 || _editorRef$current2.insertContentAt(0, "<p />");
92
+ (_editorRef$current3 = editorRef.current) === null || _editorRef$current3 === void 0 || (_editorRef$current3 = _editorRef$current3.editor) === null || _editorRef$current3 === void 0 || (_editorRef$current3 = _editorRef$current3.commands) === null || _editorRef$current3 === void 0 || _editorRef$current3.focus("start");
93
+ }, {
94
+ mode: "scoped"
95
+ });
96
+ var editorHotkeyRef = useHotkeys("backspace", handleEditorBackspaceKeypress, {
97
+ mode: "scoped"
98
+ });
99
+ return {
100
+ handleContentChange: handleContentChange,
101
+ handleAttachmentChange: handleAttachmentChange,
102
+ handleTitleChange: handleTitleChange,
103
+ editorHotkeyRef: editorHotkeyRef,
104
+ titleHotkeyRef: titleHotkeyRef,
105
+ errors: errors
106
+ };
107
+ };
108
+
109
+ var MediaUploader = function MediaUploader(_ref) {
110
+ var setIsThumbnailImageModalOpen = _ref.setIsThumbnailImageModalOpen;
111
+ var _useFormikContext = formik.useFormikContext(),
112
+ thumbnailImageUrl = _useFormikContext.values.thumbnailImageUrl,
113
+ setFieldValue = _useFormikContext.setFieldValue,
114
+ initialValues = _useFormikContext.initialValues,
115
+ submitForm = _useFormikContext.submitForm;
116
+ var handleUpload = function handleUpload(file) {
117
+ var url = file.url,
118
+ signedId = file.signedId;
119
+ setFieldValue("thumbnailImage", signedId);
120
+ setFieldValue("thumbnailImageUrl", url);
121
+ setTimeout(function () {
122
+ setIsThumbnailImageModalOpen(false);
123
+ submitForm();
124
+ });
125
+ };
126
+ if (ramda.isEmpty(initialValues)) {
127
+ return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Spinner, {});
128
+ }
129
+ return /*#__PURE__*/jsxRuntime.jsx(ImageUploader, {
130
+ className: "h-auto w-full",
131
+ src: thumbnailImageUrl,
132
+ uploadConfig: IMAGE_UPLOAD_CONFIG,
133
+ onUploadComplete: handleUpload
134
+ }, thumbnailImageUrl);
135
+ };
136
+
137
+ var getThumbnailAddon = function getThumbnailAddon(command) {
138
+ return {
139
+ label: i18next.t("neetoMolecules.documentEditor.thumbnailImage"),
140
+ optionName: "thumbnail-image",
141
+ command: command,
142
+ icon: Image,
143
+ isEnabled: true,
144
+ "data-testid": "thumbnail-image-addon"
145
+ };
146
+ };
147
+
148
+ 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; }
149
+ 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; }
150
+ var Editor = function Editor(_ref) {
151
+ var attachments = _ref.attachments,
152
+ onContentChange = _ref.onContentChange,
153
+ onAttachmentChange = _ref.onAttachmentChange,
154
+ onTitleChange = _ref.onTitleChange,
155
+ _ref$getTitleRef = _ref.getTitleRef,
156
+ getTitleRef = _ref$getTitleRef === void 0 ? neetoCist.noop : _ref$getTitleRef,
157
+ _ref$getEditorRef = _ref.getEditorRef,
158
+ getEditorRef = _ref$getEditorRef === void 0 ? neetoCist.noop : _ref$getEditorRef,
159
+ menuClassName = _ref.menuClassName,
160
+ _ref$editorContentFie = _ref.editorContentFieldName,
161
+ editorContentFieldName = _ref$editorContentFie === void 0 ? "htmlContent" : _ref$editorContentFie,
162
+ _ref$titleFieldName = _ref.titleFieldName,
163
+ titleFieldName = _ref$titleFieldName === void 0 ? "title" : _ref$titleFieldName,
164
+ _ref$editorProps = _ref.editorProps,
165
+ customEditorProps = _ref$editorProps === void 0 ? {} : _ref$editorProps,
166
+ _ref$titleProps = _ref.titleProps,
167
+ titleProps = _ref$titleProps === void 0 ? {} : _ref$titleProps,
168
+ _ref$hasThumbnailImag = _ref.hasThumbnailImage,
169
+ hasThumbnailImage = _ref$hasThumbnailImag === void 0 ? false : _ref$hasThumbnailImag,
170
+ children = _ref.children;
171
+ var _useTranslation = reactI18next.useTranslation(),
172
+ t = _useTranslation.t;
173
+ var _useFormikContext = formik.useFormikContext(),
174
+ values = _useFormikContext.values,
175
+ setFieldValue = _useFormikContext.setFieldValue,
176
+ submitForm = _useFormikContext.submitForm;
177
+ var thumbnailImageUrl = values.thumbnailImageUrl;
178
+ var titleRef = React.useRef();
179
+ var editorRef = React.useRef();
180
+ var _useState = React.useState(false),
181
+ _useState2 = _slicedToArray(_useState, 2),
182
+ isThumbnailImageModalOpen = _useState2[0],
183
+ setIsThumbnailImageModalOpen = _useState2[1];
184
+ var editorProps = React.useMemo(function () {
185
+ var baseProps = ramda.mergeRight(DEFAULT_EDITOR_PROPS, customEditorProps);
186
+ if (!hasThumbnailImage) return baseProps;
187
+ var thumbnailAddon = getThumbnailAddon(function () {
188
+ return setIsThumbnailImageModalOpen(true);
189
+ });
190
+ return ramda.mergeRight(baseProps, {
191
+ addonCommands: [thumbnailAddon]
192
+ });
193
+ }, [customEditorProps, hasThumbnailImage]);
194
+ var _useEditor = useEditor({
195
+ onContentChange: onContentChange,
196
+ editorContentFieldName: editorContentFieldName,
197
+ onAttachmentChange: onAttachmentChange,
198
+ onTitleChange: onTitleChange,
199
+ titleFieldName: titleFieldName,
200
+ editorRef: editorRef,
201
+ titleRef: titleRef
202
+ }),
203
+ handleContentChange = _useEditor.handleContentChange,
204
+ handleAttachmentChange = _useEditor.handleAttachmentChange,
205
+ handleTitleChange = _useEditor.handleTitleChange,
206
+ editorHotkeyRef = _useEditor.editorHotkeyRef,
207
+ titleHotkeyRef = _useEditor.titleHotkeyRef,
208
+ errors = _useEditor.errors;
209
+ var setTitleRef = function setTitleRef(node) {
210
+ titleHotkeyRef.current = node;
211
+ getTitleRef(node);
212
+ titleRef.current = node;
213
+ };
214
+ var setEditorRef = React.useCallback(function (node) {
215
+ editorRef.current = node;
216
+ getEditorRef(node);
217
+ }, []);
218
+ var addons = React.useMemo(function () {
219
+ return EDITOR_ADDONS.concat(editorProps.addons || []);
220
+ }, [editorProps.addons]);
221
+ var handleTab = function handleTab() {
222
+ var _editorRef$current, _editorRef$current2;
223
+ var isListActive = ((_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 || (_editorRef$current = _editorRef$current.editor) === null || _editorRef$current === void 0 ? void 0 : _editorRef$current.isActive("orderedList")) || ((_editorRef$current2 = editorRef.current) === null || _editorRef$current2 === void 0 || (_editorRef$current2 = _editorRef$current2.editor) === null || _editorRef$current2 === void 0 ? void 0 : _editorRef$current2.isActive("bulletList"));
224
+ if (isListActive) {
225
+ var _editorRef$current3;
226
+ (_editorRef$current3 = editorRef.current) === null || _editorRef$current3 === void 0 || (_editorRef$current3 = _editorRef$current3.editor) === null || _editorRef$current3 === void 0 || (_editorRef$current3 = _editorRef$current3.commands) === null || _editorRef$current3 === void 0 || _editorRef$current3.sinkListItem("listItem");
227
+ return true;
228
+ }
229
+ return true;
230
+ };
231
+ var handleDeleteThumbnail = function handleDeleteThumbnail() {
232
+ setFieldValue("thumbnailImage", "");
233
+ setFieldValue("thumbnailImageUrl", "");
234
+ setTimeout(submitForm);
235
+ };
236
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
237
+ className: "nm-document-editor__wrapper",
238
+ "data-testid": "document-editor-container",
239
+ ref: editorHotkeyRef,
240
+ children: [/*#__PURE__*/jsxRuntime.jsxs(FormikEditor, _objectSpread(_objectSpread({
241
+ attachmentsClassName: "editor-content-attachments w-full flex-shrink-0",
242
+ className: "h-full w-full",
243
+ contentClassName: "editor-content__wrapper nm-document-editor__container",
244
+ "data-testid": "neeto-molecules-document-content-text-area",
245
+ error: undefined,
246
+ errorWrapperClassName: "w-full min-h-full flex flex-col items-center",
247
+ hideSlashCommands: false,
248
+ menuClassName: classnames("nm-document-editor__menubar", menuClassName),
249
+ name: editorContentFieldName,
250
+ ref: setEditorRef
251
+ }, _objectSpread(_objectSpread({
252
+ attachments: attachments
253
+ }, editorProps), {}, {
254
+ addons: addons
255
+ })), {}, {
256
+ contentWrapperClassName: "w-full flex flex-col flex-grow",
257
+ keyboardShortcuts: _objectSpread({
258
+ Tab: handleTab
259
+ }, editorProps.keyboardShortcuts),
260
+ onChange: handleContentChange,
261
+ onChangeAttachments: handleAttachmentChange,
262
+ children: [children, /*#__PURE__*/jsxRuntime.jsxs("div", {
263
+ className: "nm-document-editor__container px-6",
264
+ children: [/*#__PURE__*/jsxRuntime.jsx(formik$1.Textarea, _objectSpread({
265
+ nakedTextarea: true,
266
+ className: "nm-document-editor__title",
267
+ "data-testid": "neeto-molecules-document-title-text-field",
268
+ name: titleFieldName,
269
+ ref: setTitleRef,
270
+ rows: 1,
271
+ placeholder: titleProps.placeholder || t("neetoMolecules.documentEditor.title"),
272
+ onChange: handleTitleChange,
273
+ onKeyDown: function onKeyDown(e) {
274
+ return e.key === "Enter" && !e.shiftKey && e.preventDefault();
275
+ }
276
+ }, titleProps)), thumbnailImageUrl && /*#__PURE__*/jsxRuntime.jsxs("div", {
277
+ className: "group relative mt-4",
278
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
279
+ className: "nm-document-editor__thumbnail",
280
+ children: /*#__PURE__*/jsxRuntime.jsx("img", {
281
+ alt: "Cover",
282
+ src: thumbnailImageUrl
283
+ })
284
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
285
+ className: "absolute end-2 top-2",
286
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu, {
287
+ buttonProps: {
288
+ variant: "secondary",
289
+ size: "icon-sm"
290
+ },
291
+ icon: ellipsis.Ellipsis,
292
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu.MenuItem, {
293
+ onClick: handleDeleteThumbnail,
294
+ children: t("neetoMolecules.documentEditor.delete")
295
+ })
296
+ })
297
+ })]
298
+ }), errors[editorContentFieldName] && /*#__PURE__*/jsxRuntime.jsx("p", {
299
+ className: "text-destructive nm-document-editor__error text-sm font-normal",
300
+ "data-slot": "field-error",
301
+ "data-testid": "articles-content-input-error",
302
+ role: "alert",
303
+ children: errors[editorContentFieldName]
304
+ })]
305
+ })]
306
+ })), /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Dialog, {
307
+ "data-testid": "thumbnail-image-modal",
308
+ isOpen: isThumbnailImageModalOpen,
309
+ size: "medium",
310
+ onClose: function onClose() {
311
+ return setIsThumbnailImageModalOpen(false);
312
+ },
313
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Dialog.Header, {
314
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Dialog.Title, {
315
+ children: t("neetoMolecules.documentEditor.uploadThumbnailImage")
316
+ })
317
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Dialog.Body, {
318
+ children: /*#__PURE__*/jsxRuntime.jsx(MediaUploader, {
319
+ setIsThumbnailImageModalOpen: setIsThumbnailImageModalOpen
320
+ })
321
+ })]
322
+ })]
323
+ });
324
+ };
325
+ Editor.displayName = "DocumentEditor";
326
+ var index = /*#__PURE__*/React.memo(Editor);
327
+
328
+ module.exports = index;
329
+ //# sourceMappingURL=DocumentEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentEditor.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/image.js","../../../src/v2/components/DocumentEditor/constants.js","../../../src/v2/components/DocumentEditor/hooks/useEditor.js","../../../src/v2/components/DocumentEditor/MediaUploader.jsx","../../../src/v2/components/DocumentEditor/utils.js","../../../src/v2/components/DocumentEditor/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 [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", ry: \"2\", key: \"1m3agn\" }],\n [\"circle\", { cx: \"9\", cy: \"9\", r: \"2\", key: \"af1f0g\" }],\n [\"path\", { d: \"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\", key: \"1xmnt7\" }]\n];\nconst Image = createLucideIcon(\"image\", __iconNode);\n\nexport { __iconNode, Image as default };\n//# sourceMappingURL=image.js.map\n","export const EDITOR_ADDONS = [\n \"highlight\",\n \"emoji\",\n \"video-upload\",\n \"code-block\",\n \"block-quote\",\n \"image-upload\",\n \"image-upload-unsplash\",\n \"divider\",\n \"video-embed\",\n \"undo\",\n \"redo\",\n \"table\",\n \"callout\",\n];\n\nexport const DEFAULT_EDITOR_PROPS = {\n isMenuIndependent: true,\n addons: [],\n size: \"medium\",\n};\n\nexport const IMAGE_UPLOAD_CONFIG = {\n maxImageSize: 1,\n allowedImageTypes: {\n \"image/jpg\": [\".jpg\", \".jpeg\"],\n \"image/png\": [\".png\"],\n \"image/svg\": [\".svg\"],\n },\n};\n","import { useCallback } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isPresent } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\n\nconst useEditor = ({\n onContentChange,\n editorContentFieldName,\n onAttachmentChange,\n onTitleChange,\n titleFieldName,\n editorRef,\n titleRef,\n}) => {\n const { setFieldValue, errors } = useFormikContext();\n\n const handleContentChange = useCallback(\n content => {\n setFieldValue(editorContentFieldName, content);\n onContentChange?.(content);\n },\n [editorContentFieldName, onContentChange, setFieldValue]\n );\n\n const handleAttachmentChange = useCallback(\n attachments => {\n setFieldValue(\"attachments\", attachments);\n onAttachmentChange?.(attachments);\n },\n [onAttachmentChange, setFieldValue]\n );\n\n const handleTitleChange = event => {\n const title = event.target.value;\n setFieldValue(titleFieldName, title);\n onTitleChange?.(title);\n };\n\n const handleEditorBackspaceKeypress = () => {\n const editor = editorRef.current?.editor;\n const selection = editor?.state?.selection;\n if (\n editor?.isFocused &&\n isPresent(titleRef.current) &&\n selection?.anchor === 1\n ) {\n const title = titleRef.current.value;\n titleRef.current.focus();\n titleRef.current.setSelectionRange(title?.length, title?.length);\n }\n };\n\n const titleHotkeyRef = useHotkeys(\n \"return\",\n () => {\n editorRef.current?.editor?.commands?.insertContentAt(0, \"<p />\");\n editorRef.current?.editor?.commands?.focus(\"start\");\n },\n { mode: \"scoped\" }\n );\n\n const editorHotkeyRef = useHotkeys(\n \"backspace\",\n handleEditorBackspaceKeypress,\n { mode: \"scoped\" }\n );\n\n return {\n handleContentChange,\n handleAttachmentChange,\n handleTitleChange,\n editorHotkeyRef,\n titleHotkeyRef,\n errors,\n };\n};\n\nexport default useEditor;\n","import { Spinner } from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { ImageUploader } from \"neetoimageuploader\";\nimport { isEmpty } from \"ramda\";\n\nimport { IMAGE_UPLOAD_CONFIG } from \"./constants\";\n\nconst MediaUploader = ({ setIsThumbnailImageModalOpen }) => {\n const {\n values: { thumbnailImageUrl },\n setFieldValue,\n initialValues,\n submitForm,\n } = useFormikContext();\n\n const handleUpload = file => {\n const { url, signedId } = file;\n setFieldValue(\"thumbnailImage\", signedId);\n setFieldValue(\"thumbnailImageUrl\", url);\n setTimeout(() => {\n setIsThumbnailImageModalOpen(false);\n submitForm();\n });\n };\n\n if (isEmpty(initialValues)) {\n return <Spinner />;\n }\n\n return (\n <ImageUploader\n className=\"h-auto w-full\"\n key={thumbnailImageUrl}\n src={thumbnailImageUrl}\n uploadConfig={IMAGE_UPLOAD_CONFIG}\n onUploadComplete={handleUpload}\n />\n );\n};\n\nexport default MediaUploader;\n","import { t } from \"i18next\";\nimport { Image } from \"lucide-react\";\n\nexport const getThumbnailAddon = command => ({\n label: t(\"neetoMolecules.documentEditor.thumbnailImage\"),\n optionName: \"thumbnail-image\",\n command,\n icon: Image,\n isEnabled: true,\n \"data-testid\": \"thumbnail-image-addon\",\n});\n","import { memo, useCallback, useMemo, useRef, useState } from \"react\";\n\nimport { Dialog, DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Textarea as FormikTextarea } from \"@bigbinary/neeto-atoms/formik\";\nimport classNames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Ellipsis } from \"lucide-react\";\nimport { noop } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport PropTypes from \"prop-types\";\nimport { mergeRight } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DEFAULT_EDITOR_PROPS, EDITOR_ADDONS } from \"./constants\";\nimport \"./editor.css\";\nimport useEditor from \"./hooks/useEditor\";\nimport MediaUploader from \"./MediaUploader\";\nimport { getThumbnailAddon } from \"./utils\";\n\nconst Editor = ({\n attachments,\n onContentChange,\n onAttachmentChange,\n onTitleChange,\n getTitleRef = noop,\n getEditorRef = noop,\n menuClassName,\n editorContentFieldName = \"htmlContent\",\n titleFieldName = \"title\",\n editorProps: customEditorProps = {},\n titleProps = {},\n hasThumbnailImage = false,\n children,\n}) => {\n const { t } = useTranslation();\n const { values, setFieldValue, submitForm } = useFormikContext();\n const { thumbnailImageUrl } = values;\n\n const titleRef = useRef();\n const editorRef = useRef();\n const [isThumbnailImageModalOpen, setIsThumbnailImageModalOpen] =\n useState(false);\n\n const editorProps = useMemo(() => {\n const baseProps = mergeRight(DEFAULT_EDITOR_PROPS, customEditorProps);\n\n if (!hasThumbnailImage) return baseProps;\n\n const thumbnailAddon = getThumbnailAddon(() =>\n setIsThumbnailImageModalOpen(true)\n );\n\n return mergeRight(baseProps, { addonCommands: [thumbnailAddon] });\n }, [customEditorProps, hasThumbnailImage]);\n\n const {\n handleContentChange,\n handleAttachmentChange,\n handleTitleChange,\n editorHotkeyRef,\n titleHotkeyRef,\n errors,\n } = useEditor({\n onContentChange,\n editorContentFieldName,\n onAttachmentChange,\n onTitleChange,\n titleFieldName,\n editorRef,\n titleRef,\n });\n\n const setTitleRef = node => {\n titleHotkeyRef.current = node;\n getTitleRef(node);\n titleRef.current = node;\n };\n\n const setEditorRef = useCallback(node => {\n editorRef.current = node;\n getEditorRef(node);\n }, []);\n\n const addons = useMemo(\n () => EDITOR_ADDONS.concat(editorProps.addons || []),\n [editorProps.addons]\n );\n\n const handleTab = () => {\n const isListActive =\n editorRef.current?.editor?.isActive(\"orderedList\") ||\n editorRef.current?.editor?.isActive(\"bulletList\");\n\n if (isListActive) {\n editorRef.current?.editor?.commands?.sinkListItem(\"listItem\");\n\n return true;\n }\n\n return true;\n };\n\n const handleDeleteThumbnail = () => {\n setFieldValue(\"thumbnailImage\", \"\");\n setFieldValue(\"thumbnailImageUrl\", \"\");\n setTimeout(submitForm);\n };\n\n return (\n <div\n className=\"nm-document-editor__wrapper\"\n data-testid=\"document-editor-container\"\n ref={editorHotkeyRef}\n >\n <FormikEditor\n attachmentsClassName=\"editor-content-attachments w-full flex-shrink-0\"\n className=\"h-full w-full\"\n contentClassName=\"editor-content__wrapper nm-document-editor__container\"\n data-testid=\"neeto-molecules-document-content-text-area\"\n error={undefined}\n errorWrapperClassName=\"w-full min-h-full flex flex-col items-center\"\n hideSlashCommands={false}\n menuClassName={classNames(\"nm-document-editor__menubar\", menuClassName)}\n name={editorContentFieldName}\n ref={setEditorRef}\n {...{ attachments, ...editorProps, addons }}\n contentWrapperClassName=\"w-full flex flex-col flex-grow\"\n keyboardShortcuts={{ Tab: handleTab, ...editorProps.keyboardShortcuts }}\n onChange={handleContentChange}\n onChangeAttachments={handleAttachmentChange}\n >\n {children}\n <div className=\"nm-document-editor__container px-6\">\n <FormikTextarea\n nakedTextarea\n className=\"nm-document-editor__title\"\n data-testid=\"neeto-molecules-document-title-text-field\"\n name={titleFieldName}\n ref={setTitleRef}\n rows={1}\n placeholder={\n titleProps.placeholder || t(\"neetoMolecules.documentEditor.title\")\n }\n onChange={handleTitleChange}\n onKeyDown={e =>\n e.key === \"Enter\" && !e.shiftKey && e.preventDefault()\n }\n {...titleProps}\n />\n {thumbnailImageUrl && (\n <div className=\"group relative mt-4\">\n <div className=\"nm-document-editor__thumbnail\">\n <img alt=\"Cover\" src={thumbnailImageUrl} />\n </div>\n <div className=\"absolute end-2 top-2\">\n <DropdownMenu\n buttonProps={{ variant: \"secondary\", size: \"icon-sm\" }}\n icon={Ellipsis}\n >\n <DropdownMenu.MenuItem onClick={handleDeleteThumbnail}>\n {t(\"neetoMolecules.documentEditor.delete\")}\n </DropdownMenu.MenuItem>\n </DropdownMenu>\n </div>\n </div>\n )}\n {errors[editorContentFieldName] && (\n <p\n className=\"text-destructive nm-document-editor__error text-sm font-normal\"\n data-slot=\"field-error\"\n data-testid=\"articles-content-input-error\"\n role=\"alert\"\n >\n {errors[editorContentFieldName]}\n </p>\n )}\n </div>\n </FormikEditor>\n <Dialog\n data-testid=\"thumbnail-image-modal\"\n isOpen={isThumbnailImageModalOpen}\n size=\"medium\"\n onClose={() => setIsThumbnailImageModalOpen(false)}\n >\n <Dialog.Header>\n <Dialog.Title>\n {t(\"neetoMolecules.documentEditor.uploadThumbnailImage\")}\n </Dialog.Title>\n </Dialog.Header>\n <Dialog.Body>\n <MediaUploader {...{ setIsThumbnailImageModalOpen }} />\n </Dialog.Body>\n </Dialog>\n </div>\n );\n};\n\nEditor.propTypes = {\n attachments: PropTypes.arrayOf(\n PropTypes.shape({\n contentType: PropTypes.string,\n filename: PropTypes.string,\n signedId: PropTypes.string,\n url: PropTypes.string,\n })\n ),\n onContentChange: PropTypes.func,\n onAttachmentChange: PropTypes.func,\n onTitleChange: PropTypes.func,\n getTitleRef: PropTypes.func,\n getEditorRef: PropTypes.func,\n editorContentFieldName: PropTypes.string,\n titleFieldName: PropTypes.string,\n editorProps: PropTypes.object,\n titleProps: PropTypes.object,\n menuClassName: PropTypes.string,\n children: PropTypes.node,\n hasThumbnailImage: PropTypes.bool,\n};\n\nEditor.displayName = \"DocumentEditor\";\n\nexport default memo(Editor);\n"],"names":["createLucideIcon","EDITOR_ADDONS","DEFAULT_EDITOR_PROPS","isMenuIndependent","addons","size","IMAGE_UPLOAD_CONFIG","maxImageSize","allowedImageTypes","useEditor","_ref","onContentChange","editorContentFieldName","onAttachmentChange","onTitleChange","titleFieldName","editorRef","titleRef","_useFormikContext","useFormikContext","setFieldValue","errors","handleContentChange","useCallback","content","handleAttachmentChange","attachments","handleTitleChange","event","title","target","value","handleEditorBackspaceKeypress","_editorRef$current","_editor$state","editor","current","selection","state","isFocused","isPresent","anchor","focus","setSelectionRange","length","titleHotkeyRef","useHotkeys","_editorRef$current2","_editorRef$current3","commands","insertContentAt","mode","editorHotkeyRef","MediaUploader","setIsThumbnailImageModalOpen","thumbnailImageUrl","values","initialValues","submitForm","handleUpload","file","url","signedId","setTimeout","isEmpty","_jsx","Spinner","ImageUploader","className","src","uploadConfig","onUploadComplete","getThumbnailAddon","command","label","t","optionName","icon","Image","isEnabled","Editor","_ref$getTitleRef","getTitleRef","noop","_ref$getEditorRef","getEditorRef","menuClassName","_ref$editorContentFie","_ref$titleFieldName","_ref$editorProps","editorProps","customEditorProps","_ref$titleProps","titleProps","_ref$hasThumbnailImag","hasThumbnailImage","children","_useTranslation","useTranslation","useRef","_useState","useState","_useState2","_slicedToArray","isThumbnailImageModalOpen","useMemo","baseProps","mergeRight","thumbnailAddon","addonCommands","_useEditor","setTitleRef","node","setEditorRef","concat","handleTab","isListActive","isActive","sinkListItem","handleDeleteThumbnail","_jsxs","ref","FormikEditor","_objectSpread","attachmentsClassName","contentClassName","error","undefined","errorWrapperClassName","hideSlashCommands","classNames","name","contentWrapperClassName","keyboardShortcuts","Tab","onChange","onChangeAttachments","FormikTextarea","nakedTextarea","rows","placeholder","onKeyDown","e","key","shiftKey","preventDefault","alt","DropdownMenu","buttonProps","variant","Ellipsis","MenuItem","onClick","role","Dialog","isOpen","onClose","Header","Title","Body","displayName","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAM,UAAU,GAAG;AACnB,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC1F,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AACzD,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,2CAA2C,EAAE,GAAG,EAAE,QAAQ,EAAE;AAC5E,CAAC;AACD,MAAM,KAAK,GAAGA,iCAAgB,CAAC,OAAO,EAAE,UAAU,CAAC;;ACd5C,IAAMC,aAAa,GAAG,CAC3B,WAAW,EACX,OAAO,EACP,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,uBAAuB,EACvB,SAAS,EACT,aAAa,EACb,MAAM,EACN,MAAM,EACN,OAAO,EACP,SAAS,CACV;AAEM,IAAMC,oBAAoB,GAAG;AAClCC,EAAAA,iBAAiB,EAAE,IAAI;AACvBC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,IAAI,EAAE;AACR,CAAC;AAEM,IAAMC,mBAAmB,GAAG;AACjCC,EAAAA,YAAY,EAAE,CAAC;AACfC,EAAAA,iBAAiB,EAAE;AACjB,IAAA,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9B,WAAW,EAAE,CAAC,MAAM,CAAC;IACrB,WAAW,EAAE,CAAC,MAAM;AACtB;AACF,CAAC;;;;;ACvBD,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAQT;AAAA,EAAA,IAPJC,eAAe,GAAAD,IAAA,CAAfC,eAAe;IACfC,sBAAsB,GAAAF,IAAA,CAAtBE,sBAAsB;IACtBC,kBAAkB,GAAAH,IAAA,CAAlBG,kBAAkB;IAClBC,aAAa,GAAAJ,IAAA,CAAbI,aAAa;IACbC,cAAc,GAAAL,IAAA,CAAdK,cAAc;IACdC,SAAS,GAAAN,IAAA,CAATM,SAAS;IACTC,QAAQ,GAAAP,IAAA,CAARO,QAAQ;AAER,EAAA,IAAAC,iBAAA,GAAkCC,uBAAgB,EAAE;IAA5CC,aAAa,GAAAF,iBAAA,CAAbE,aAAa;IAAEC,MAAM,GAAAH,iBAAA,CAANG,MAAM;AAE7B,EAAA,IAAMC,mBAAmB,GAAGC,iBAAW,CACrC,UAAAC,OAAO,EAAI;AACTJ,IAAAA,aAAa,CAACR,sBAAsB,EAAEY,OAAO,CAAC;AAC9Cb,IAAAA,eAAe,aAAfA,eAAe,KAAA,MAAA,IAAfA,eAAe,CAAGa,OAAO,CAAC;EAC5B,CAAC,EACD,CAACZ,sBAAsB,EAAED,eAAe,EAAES,aAAa,CACzD,CAAC;AAED,EAAA,IAAMK,sBAAsB,GAAGF,iBAAW,CACxC,UAAAG,WAAW,EAAI;AACbN,IAAAA,aAAa,CAAC,aAAa,EAAEM,WAAW,CAAC;AACzCb,IAAAA,kBAAkB,aAAlBA,kBAAkB,KAAA,MAAA,IAAlBA,kBAAkB,CAAGa,WAAW,CAAC;AACnC,EAAA,CAAC,EACD,CAACb,kBAAkB,EAAEO,aAAa,CACpC,CAAC;AAED,EAAA,IAAMO,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,KAAK,EAAI;AACjC,IAAA,IAAMC,KAAK,GAAGD,KAAK,CAACE,MAAM,CAACC,KAAK;AAChCX,IAAAA,aAAa,CAACL,cAAc,EAAEc,KAAK,CAAC;AACpCf,IAAAA,aAAa,aAAbA,aAAa,KAAA,MAAA,IAAbA,aAAa,CAAGe,KAAK,CAAC;EACxB,CAAC;AAED,EAAA,IAAMG,6BAA6B,GAAG,SAAhCA,6BAA6BA,GAAS;IAAA,IAAAC,kBAAA,EAAAC,aAAA;AAC1C,IAAA,IAAMC,MAAM,GAAA,CAAAF,kBAAA,GAAGjB,SAAS,CAACoB,OAAO,MAAA,IAAA,IAAAH,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAjBA,kBAAA,CAAmBE,MAAM;AACxC,IAAA,IAAME,SAAS,GAAGF,MAAM,KAAA,IAAA,IAANA,MAAM,gBAAAD,aAAA,GAANC,MAAM,CAAEG,KAAK,MAAA,IAAA,IAAAJ,aAAA,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAA,CAAeG,SAAS;IAC1C,IACEF,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAANA,MAAM,CAAEI,SAAS,IACjBC,mBAAS,CAACvB,QAAQ,CAACmB,OAAO,CAAC,IAC3B,CAAAC,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAEI,MAAM,MAAK,CAAC,EACvB;AACA,MAAA,IAAMZ,KAAK,GAAGZ,QAAQ,CAACmB,OAAO,CAACL,KAAK;AACpCd,MAAAA,QAAQ,CAACmB,OAAO,CAACM,KAAK,EAAE;MACxBzB,QAAQ,CAACmB,OAAO,CAACO,iBAAiB,CAACd,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEe,MAAM,EAAEf,KAAK,KAAA,IAAA,IAALA,KAAK,uBAALA,KAAK,CAAEe,MAAM,CAAC;AAClE,IAAA;EACF,CAAC;AAED,EAAA,IAAMC,cAAc,GAAGC,UAAU,CAC/B,QAAQ,EACR,YAAM;IAAA,IAAAC,mBAAA,EAAAC,mBAAA;AACJ,IAAA,CAAAD,mBAAA,GAAA/B,SAAS,CAACoB,OAAO,MAAA,IAAA,IAAAW,mBAAA,KAAA,MAAA,IAAA,CAAAA,mBAAA,GAAjBA,mBAAA,CAAmBZ,MAAM,MAAA,IAAA,IAAAY,mBAAA,KAAA,MAAA,IAAA,CAAAA,mBAAA,GAAzBA,mBAAA,CAA2BE,QAAQ,cAAAF,mBAAA,KAAA,MAAA,IAAnCA,mBAAA,CAAqCG,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC;AAChE,IAAA,CAAAF,mBAAA,GAAAhC,SAAS,CAACoB,OAAO,MAAA,IAAA,IAAAY,mBAAA,KAAA,MAAA,IAAA,CAAAA,mBAAA,GAAjBA,mBAAA,CAAmBb,MAAM,MAAA,IAAA,IAAAa,mBAAA,KAAA,MAAA,IAAA,CAAAA,mBAAA,GAAzBA,mBAAA,CAA2BC,QAAQ,MAAA,IAAA,IAAAD,mBAAA,KAAA,MAAA,IAAnCA,mBAAA,CAAqCN,KAAK,CAAC,OAAO,CAAC;AACrD,EAAA,CAAC,EACD;AAAES,IAAAA,IAAI,EAAE;AAAS,GACnB,CAAC;AAED,EAAA,IAAMC,eAAe,GAAGN,UAAU,CAChC,WAAW,EACXd,6BAA6B,EAC7B;AAAEmB,IAAAA,IAAI,EAAE;AAAS,GACnB,CAAC;EAED,OAAO;AACL7B,IAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBG,IAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBE,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjByB,IAAAA,eAAe,EAAfA,eAAe;AACfP,IAAAA,cAAc,EAAdA,cAAc;AACdxB,IAAAA,MAAM,EAANA;GACD;AACH,CAAC;;ACrED,IAAMgC,aAAa,GAAG,SAAhBA,aAAaA,CAAA3C,IAAA,EAAyC;AAAA,EAAA,IAAnC4C,4BAA4B,GAAA5C,IAAA,CAA5B4C,4BAA4B;AACnD,EAAA,IAAApC,iBAAA,GAKIC,uBAAgB,EAAE;AAJVoC,IAAAA,iBAAiB,GAAArC,iBAAA,CAA3BsC,MAAM,CAAID,iBAAiB;IAC3BnC,aAAa,GAAAF,iBAAA,CAAbE,aAAa;IACbqC,aAAa,GAAAvC,iBAAA,CAAbuC,aAAa;IACbC,UAAU,GAAAxC,iBAAA,CAAVwC,UAAU;AAGZ,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAGC,IAAI,EAAI;AAC3B,IAAA,IAAQC,GAAG,GAAeD,IAAI,CAAtBC,GAAG;MAAEC,QAAQ,GAAKF,IAAI,CAAjBE,QAAQ;AACrB1C,IAAAA,aAAa,CAAC,gBAAgB,EAAE0C,QAAQ,CAAC;AACzC1C,IAAAA,aAAa,CAAC,mBAAmB,EAAEyC,GAAG,CAAC;AACvCE,IAAAA,UAAU,CAAC,YAAM;MACfT,4BAA4B,CAAC,KAAK,CAAC;AACnCI,MAAAA,UAAU,EAAE;AACd,IAAA,CAAC,CAAC;EACJ,CAAC;AAED,EAAA,IAAIM,aAAO,CAACP,aAAa,CAAC,EAAE;AAC1B,IAAA,oBAAOQ,cAAA,CAACC,kBAAO,EAAA,EAAE,CAAC;AACpB,EAAA;EAEA,oBACED,cAAA,CAACE,aAAa,EAAA;AACZC,IAAAA,SAAS,EAAC,eAAe;AAEzBC,IAAAA,GAAG,EAAEd,iBAAkB;AACvBe,IAAAA,YAAY,EAAEhE,mBAAoB;AAClCiE,IAAAA,gBAAgB,EAAEZ;AAAa,GAAA,EAH1BJ,iBAIN,CAAC;AAEN,CAAC;;ACnCM,IAAMiB,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,OAAO,EAAA;EAAA,OAAK;AAC3CC,IAAAA,KAAK,EAAEC,SAAC,CAAC,8CAA8C,CAAC;AACxDC,IAAAA,UAAU,EAAE,iBAAiB;AAC7BH,IAAAA,OAAO,EAAPA,OAAO;AACPI,IAAAA,IAAI,EAAEC,KAAK;AACXC,IAAAA,SAAS,EAAE,IAAI;AACf,IAAA,aAAa,EAAE;GAChB;AAAA,CAAC;;;;ACSF,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAtE,IAAA,EAcN;AAAA,EAAA,IAbJgB,WAAW,GAAAhB,IAAA,CAAXgB,WAAW;IACXf,eAAe,GAAAD,IAAA,CAAfC,eAAe;IACfE,kBAAkB,GAAAH,IAAA,CAAlBG,kBAAkB;IAClBC,aAAa,GAAAJ,IAAA,CAAbI,aAAa;IAAAmE,gBAAA,GAAAvE,IAAA,CACbwE,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAGE,cAAI,GAAAF,gBAAA;IAAAG,iBAAA,GAAA1E,IAAA,CAClB2E,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAGD,cAAI,GAAAC,iBAAA;IACnBE,aAAa,GAAA5E,IAAA,CAAb4E,aAAa;IAAAC,qBAAA,GAAA7E,IAAA,CACbE,sBAAsB;AAAtBA,IAAAA,sBAAsB,GAAA2E,qBAAA,KAAA,MAAA,GAAG,aAAa,GAAAA,qBAAA;IAAAC,mBAAA,GAAA9E,IAAA,CACtCK,cAAc;AAAdA,IAAAA,cAAc,GAAAyE,mBAAA,KAAA,MAAA,GAAG,OAAO,GAAAA,mBAAA;IAAAC,gBAAA,GAAA/E,IAAA,CACxBgF,WAAW;AAAEC,IAAAA,iBAAiB,GAAAF,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAG,eAAA,GAAAlF,IAAA,CACnCmF,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,eAAA;IAAAE,qBAAA,GAAApF,IAAA,CACfqF,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IACzBE,QAAQ,GAAAtF,IAAA,CAARsF,QAAQ;AAER,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBvB,CAAC,GAAAsB,eAAA,CAADtB,CAAC;AACT,EAAA,IAAAzD,iBAAA,GAA8CC,uBAAgB,EAAE;IAAxDqC,MAAM,GAAAtC,iBAAA,CAANsC,MAAM;IAAEpC,aAAa,GAAAF,iBAAA,CAAbE,aAAa;IAAEsC,UAAU,GAAAxC,iBAAA,CAAVwC,UAAU;AACzC,EAAA,IAAQH,iBAAiB,GAAKC,MAAM,CAA5BD,iBAAiB;AAEzB,EAAA,IAAMtC,QAAQ,GAAGkF,YAAM,EAAE;AACzB,EAAA,IAAMnF,SAAS,GAAGmF,YAAM,EAAE;AAC1B,EAAA,IAAAC,SAAA,GACEC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AADVI,IAAAA,yBAAyB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEhD,IAAAA,4BAA4B,GAAAgD,UAAA,CAAA,CAAA,CAAA;AAG9D,EAAA,IAAMZ,WAAW,GAAGe,aAAO,CAAC,YAAM;AAChC,IAAA,IAAMC,SAAS,GAAGC,gBAAU,CAACzG,oBAAoB,EAAEyF,iBAAiB,CAAC;AAErE,IAAA,IAAI,CAACI,iBAAiB,EAAE,OAAOW,SAAS;IAExC,IAAME,cAAc,GAAGpC,iBAAiB,CAAC,YAAA;MAAA,OACvClB,4BAA4B,CAAC,IAAI,CAAC;AAAA,IAAA,CACpC,CAAC;IAED,OAAOqD,gBAAU,CAACD,SAAS,EAAE;MAAEG,aAAa,EAAE,CAACD,cAAc;AAAE,KAAC,CAAC;AACnE,EAAA,CAAC,EAAE,CAACjB,iBAAiB,EAAEI,iBAAiB,CAAC,CAAC;EAE1C,IAAAe,UAAA,GAOIrG,SAAS,CAAC;AACZE,MAAAA,eAAe,EAAfA,eAAe;AACfC,MAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBC,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBC,MAAAA,aAAa,EAAbA,aAAa;AACbC,MAAAA,cAAc,EAAdA,cAAc;AACdC,MAAAA,SAAS,EAATA,SAAS;AACTC,MAAAA,QAAQ,EAARA;AACF,KAAC,CAAC;IAdAK,mBAAmB,GAAAwF,UAAA,CAAnBxF,mBAAmB;IACnBG,sBAAsB,GAAAqF,UAAA,CAAtBrF,sBAAsB;IACtBE,iBAAiB,GAAAmF,UAAA,CAAjBnF,iBAAiB;IACjByB,eAAe,GAAA0D,UAAA,CAAf1D,eAAe;IACfP,cAAc,GAAAiE,UAAA,CAAdjE,cAAc;IACdxB,MAAM,GAAAyF,UAAA,CAANzF,MAAM;AAWR,EAAA,IAAM0F,WAAW,GAAG,SAAdA,WAAWA,CAAGC,IAAI,EAAI;IAC1BnE,cAAc,CAACT,OAAO,GAAG4E,IAAI;IAC7B9B,WAAW,CAAC8B,IAAI,CAAC;IACjB/F,QAAQ,CAACmB,OAAO,GAAG4E,IAAI;EACzB,CAAC;AAED,EAAA,IAAMC,YAAY,GAAG1F,iBAAW,CAAC,UAAAyF,IAAI,EAAI;IACvChG,SAAS,CAACoB,OAAO,GAAG4E,IAAI;IACxB3B,YAAY,CAAC2B,IAAI,CAAC;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,IAAM5G,MAAM,GAAGqG,aAAO,CACpB,YAAA;IAAA,OAAMxG,aAAa,CAACiH,MAAM,CAACxB,WAAW,CAACtF,MAAM,IAAI,EAAE,CAAC;AAAA,EAAA,CAAA,EACpD,CAACsF,WAAW,CAACtF,MAAM,CACrB,CAAC;AAED,EAAA,IAAM+G,SAAS,GAAG,SAAZA,SAASA,GAAS;IAAA,IAAAlF,kBAAA,EAAAc,mBAAA;IACtB,IAAMqE,YAAY,GAChB,CAAA,CAAAnF,kBAAA,GAAAjB,SAAS,CAACoB,OAAO,MAAA,IAAA,IAAAH,kBAAA,gBAAAA,kBAAA,GAAjBA,kBAAA,CAAmBE,MAAM,cAAAF,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAzBA,kBAAA,CAA2BoF,QAAQ,CAAC,aAAa,CAAC,MAAA,CAAAtE,mBAAA,GAClD/B,SAAS,CAACoB,OAAO,MAAA,IAAA,IAAAW,mBAAA,KAAA,MAAA,IAAA,CAAAA,mBAAA,GAAjBA,mBAAA,CAAmBZ,MAAM,cAAAY,mBAAA,KAAA,MAAA,GAAA,MAAA,GAAzBA,mBAAA,CAA2BsE,QAAQ,CAAC,YAAY,CAAC,CAAA;AAEnD,IAAA,IAAID,YAAY,EAAE;AAAA,MAAA,IAAApE,mBAAA;AAChB,MAAA,CAAAA,mBAAA,GAAAhC,SAAS,CAACoB,OAAO,MAAA,IAAA,IAAAY,mBAAA,KAAA,MAAA,IAAA,CAAAA,mBAAA,GAAjBA,mBAAA,CAAmBb,MAAM,MAAA,IAAA,IAAAa,mBAAA,KAAA,MAAA,IAAA,CAAAA,mBAAA,GAAzBA,mBAAA,CAA2BC,QAAQ,MAAA,IAAA,IAAAD,mBAAA,KAAA,MAAA,IAAnCA,mBAAA,CAAqCsE,YAAY,CAAC,UAAU,CAAC;AAE7D,MAAA,OAAO,IAAI;AACb,IAAA;AAEA,IAAA,OAAO,IAAI;EACb,CAAC;AAED,EAAA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,GAAS;AAClCnG,IAAAA,aAAa,CAAC,gBAAgB,EAAE,EAAE,CAAC;AACnCA,IAAAA,aAAa,CAAC,mBAAmB,EAAE,EAAE,CAAC;IACtC2C,UAAU,CAACL,UAAU,CAAC;EACxB,CAAC;AAED,EAAA,oBACE8D,eAAA,CAAA,KAAA,EAAA;AACEpD,IAAAA,SAAS,EAAC,6BAA6B;AACvC,IAAA,aAAA,EAAY,2BAA2B;AACvCqD,IAAAA,GAAG,EAAErE,eAAgB;AAAA4C,IAAAA,QAAA,gBAErBwB,eAAA,CAACE,YAAY,EAAAC,aAAA,CAAAA,aAAA,CAAA;AACXC,MAAAA,oBAAoB,EAAC,iDAAiD;AACtExD,MAAAA,SAAS,EAAC,eAAe;AACzByD,MAAAA,gBAAgB,EAAC,uDAAuD;AACxE,MAAA,aAAA,EAAY,4CAA4C;AACxDC,MAAAA,KAAK,EAAEC,SAAU;AACjBC,MAAAA,qBAAqB,EAAC,8CAA8C;AACpEC,MAAAA,iBAAiB,EAAE,KAAM;AACzB3C,MAAAA,aAAa,EAAE4C,UAAU,CAAC,6BAA6B,EAAE5C,aAAa,CAAE;AACxE6C,MAAAA,IAAI,EAAEvH,sBAAuB;AAC7B6G,MAAAA,GAAG,EAAER;KAAa,EAAAU,aAAA,CAAAA,aAAA,CAAA;AACZjG,MAAAA,WAAW,EAAXA;AAAW,KAAA,EAAKgE,WAAW,CAAA,EAAA,EAAA,EAAA;AAAEtF,MAAAA,MAAM,EAANA;AAAM,KAAA,CAAA,CAAA,EAAA,EAAA,EAAA;AACzCgI,MAAAA,uBAAuB,EAAC,gCAAgC;AACxDC,MAAAA,iBAAiB,EAAAV,aAAA,CAAA;AAAIW,QAAAA,GAAG,EAAEnB;OAAS,EAAKzB,WAAW,CAAC2C,iBAAiB,CAAG;AACxEE,MAAAA,QAAQ,EAAEjH,mBAAoB;AAC9BkH,MAAAA,mBAAmB,EAAE/G,sBAAuB;MAAAuE,QAAA,EAAA,CAE3CA,QAAQ,eACTwB,eAAA,CAAA,KAAA,EAAA;AAAKpD,QAAAA,SAAS,EAAC,oCAAoC;AAAA4B,QAAAA,QAAA,EAAA,cACjD/B,cAAA,CAACwE,iBAAc,EAAAd,aAAA,CAAA;UACbe,aAAa,EAAA,IAAA;AACbtE,UAAAA,SAAS,EAAC,2BAA2B;AACrC,UAAA,aAAA,EAAY,2CAA2C;AACvD+D,UAAAA,IAAI,EAAEpH,cAAe;AACrB0G,UAAAA,GAAG,EAAEV,WAAY;AACjB4B,UAAAA,IAAI,EAAE,CAAE;UACRC,WAAW,EACT/C,UAAU,CAAC+C,WAAW,IAAIjE,CAAC,CAAC,qCAAqC,CAClE;AACD4D,UAAAA,QAAQ,EAAE5G,iBAAkB;AAC5BkH,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEC,CAAC,EAAA;AAAA,YAAA,OACVA,CAAC,CAACC,GAAG,KAAK,OAAO,IAAI,CAACD,CAAC,CAACE,QAAQ,IAAIF,CAAC,CAACG,cAAc,EAAE;AAAA,UAAA;AACvD,SAAA,EACGpD,UAAU,CACf,CAAC,EACDtC,iBAAiB,iBAChBiE,eAAA,CAAA,KAAA,EAAA;AAAKpD,UAAAA,SAAS,EAAC,qBAAqB;AAAA4B,UAAAA,QAAA,gBAClC/B,cAAA,CAAA,KAAA,EAAA;AAAKG,YAAAA,SAAS,EAAC,+BAA+B;AAAA4B,YAAAA,QAAA,eAC5C/B,cAAA,CAAA,KAAA,EAAA;AAAKiF,cAAAA,GAAG,EAAC,OAAO;AAAC7E,cAAAA,GAAG,EAAEd;aAAoB;WACvC,CAAC,eACNU,cAAA,CAAA,KAAA,EAAA;AAAKG,YAAAA,SAAS,EAAC,sBAAsB;YAAA4B,QAAA,eACnC/B,cAAA,CAACkF,uBAAY,EAAA;AACXC,cAAAA,WAAW,EAAE;AAAEC,gBAAAA,OAAO,EAAE,WAAW;AAAEhJ,gBAAAA,IAAI,EAAE;eAAY;AACvDwE,cAAAA,IAAI,EAAEyE,iBAAS;AAAAtD,cAAAA,QAAA,eAEf/B,cAAA,CAACkF,uBAAY,CAACI,QAAQ,EAAA;AAACC,gBAAAA,OAAO,EAAEjC,qBAAsB;gBAAAvB,QAAA,EACnDrB,CAAC,CAAC,sCAAsC;eACpB;aACX;AAAC,WACZ,CAAC;AAAA,SACH,CACN,EACAtD,MAAM,CAACT,sBAAsB,CAAC,iBAC7BqD,cAAA,CAAA,GAAA,EAAA;AACEG,UAAAA,SAAS,EAAC,gEAAgE;AAC1E,UAAA,WAAA,EAAU,aAAa;AACvB,UAAA,aAAA,EAAY,8BAA8B;AAC1CqF,UAAAA,IAAI,EAAC,OAAO;UAAAzD,QAAA,EAEX3E,MAAM,CAACT,sBAAsB;AAAC,SAC9B,CACJ;AAAA,OACE,CAAC;AAAA,KAAA,CACM,CAAC,eACf4G,eAAA,CAACkC,iBAAM,EAAA;AACL,MAAA,aAAA,EAAY,uBAAuB;AACnCC,MAAAA,MAAM,EAAEnD,yBAA0B;AAClCnG,MAAAA,IAAI,EAAC,QAAQ;MACbuJ,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQtG,4BAA4B,CAAC,KAAK,CAAC;MAAA,CAAC;AAAA0C,MAAAA,QAAA,EAAA,cAEnD/B,cAAA,CAACyF,iBAAM,CAACG,MAAM,EAAA;AAAA7D,QAAAA,QAAA,eACZ/B,cAAA,CAACyF,iBAAM,CAACI,KAAK,EAAA;UAAA9D,QAAA,EACVrB,CAAC,CAAC,oDAAoD;SAC3C;AAAC,OACF,CAAC,eAChBV,cAAA,CAACyF,iBAAM,CAACK,IAAI,EAAA;QAAA/D,QAAA,eACV/B,cAAA,CAACZ,aAAa,EAAA;AAAOC,UAAAA,4BAA4B,EAA5BA;SAAiC;AAAC,OAC5C,CAAC;AAAA,KACR,CAAC;AAAA,GACN,CAAC;AAEV,CAAC;AAyBD0B,MAAM,CAACgF,WAAW,GAAG,gBAAgB;AAErC,YAAA,aAAeC,UAAI,CAACjF,MAAM,CAAC;;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,125 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
+ var React = require('react');
6
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
7
+ var primitives = require('@bigbinary/neeto-atoms/primitives');
8
+ var reactI18next = require('react-i18next');
9
+ var emojiMart = require('emoji-mart');
10
+ var reactQuery = require('@tanstack/react-query');
11
+ var axios = require('axios');
12
+ var jsxRuntime = require('react/jsx-runtime');
13
+ var createLucideIcon = require('../createLucideIcon-DBDhE7kE.js');
14
+
15
+ /**
16
+ * @license lucide-react v1.7.0 - ISC
17
+ *
18
+ * This source code is licensed under the ISC license.
19
+ * See the LICENSE file in the root directory of this source tree.
20
+ */
21
+
22
+
23
+ const __iconNode = [
24
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
25
+ ["path", { d: "M8 14s1.5 2 4 2 4-2 4-2", key: "1y1vjs" }],
26
+ ["line", { x1: "9", x2: "9.01", y1: "9", y2: "9", key: "yxxnd0" }],
27
+ ["line", { x1: "15", x2: "15.01", y1: "9", y2: "9", key: "1p4y9e" }]
28
+ ];
29
+ const Smile = createLucideIcon.createLucideIcon("smile", __iconNode);
30
+
31
+ var fetch = function fetch() {
32
+ return axios.get("https://cdn.jsdelivr.net/npm/@emoji-mart/data");
33
+ };
34
+ var emojiPickerApi = {
35
+ fetch: fetch
36
+ };
37
+
38
+ var QUERY_KEYS = {
39
+ EMOJI_DATA: "emoji-data"
40
+ };
41
+
42
+ var useEmojiData = function useEmojiData() {
43
+ return reactQuery.useQuery({
44
+ queryKey: [QUERY_KEYS.EMOJI_DATA],
45
+ queryFn: emojiPickerApi.fetch
46
+ });
47
+ };
48
+
49
+ var EmojiPickerMenu = function EmojiPickerMenu(_ref) {
50
+ var onEmojiSelect = _ref.onEmojiSelect;
51
+ var _useEmojiData = useEmojiData(),
52
+ data = _useEmojiData.data;
53
+ var _useTranslation = reactI18next.useTranslation(),
54
+ t = _useTranslation.t;
55
+ var createPicker = function createPicker(ref) {
56
+ new emojiMart.Picker({
57
+ autoFocus: true,
58
+ data: data,
59
+ "native": true,
60
+ onEmojiSelect: onEmojiSelect,
61
+ previewPosition: "none",
62
+ ref: {
63
+ current: ref
64
+ },
65
+ skinTonePosition: "none",
66
+ style: {
67
+ maxWidth: "100%"
68
+ },
69
+ theme: "light"
70
+ });
71
+ };
72
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
73
+ "aria-label": t("neetoMolecules.common.emojiPicker"),
74
+ ref: createPicker,
75
+ role: "dialog",
76
+ style: {
77
+ minWidth: "350px"
78
+ }
79
+ });
80
+ };
81
+
82
+ 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; }
83
+ 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; }
84
+ var EmojiPicker = function EmojiPicker(_ref) {
85
+ var onSelect = _ref.onSelect,
86
+ dropdownProps = _ref.dropdownProps,
87
+ _ref$defaultOpen = _ref.defaultOpen,
88
+ defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen;
89
+ var _useTranslation = reactI18next.useTranslation(),
90
+ t = _useTranslation.t;
91
+ var _useState = React.useState(defaultOpen),
92
+ _useState2 = _slicedToArray(_useState, 2),
93
+ isOpen = _useState2[0],
94
+ setIsOpen = _useState2[1];
95
+ var onEmojiClick = function onEmojiClick(emoji) {
96
+ setIsOpen(false);
97
+ onSelect(emoji);
98
+ };
99
+ return /*#__PURE__*/jsxRuntime.jsxs(primitives.Popover, {
100
+ open: isOpen,
101
+ onOpenChange: setIsOpen,
102
+ children: [/*#__PURE__*/jsxRuntime.jsx(primitives.PopoverTrigger, {
103
+ asChild: true,
104
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
105
+ "aria-haspopup": "dialog",
106
+ "aria-label": t("neetoMolecules.common.emojiPicker"),
107
+ "data-testid": "emoji-picker-dropdown-icon",
108
+ icon: Smile,
109
+ size: "icon-sm",
110
+ variant: "ghost"
111
+ })
112
+ }), /*#__PURE__*/jsxRuntime.jsx(primitives.PopoverContent, _objectSpread(_objectSpread({
113
+ align: "start",
114
+ className: "w-fit overflow-x-hidden p-0",
115
+ side: "bottom"
116
+ }, dropdownProps), {}, {
117
+ children: /*#__PURE__*/jsxRuntime.jsx(EmojiPickerMenu, {
118
+ onEmojiSelect: onEmojiClick
119
+ })
120
+ }))]
121
+ });
122
+ };
123
+
124
+ module.exports = EmojiPicker;
125
+ //# sourceMappingURL=EmojiPicker.js.map